• 0769-81105095
  • 0769-22400804

547326503

  • 邮箱:zhenghang@vip.126.com
  • 网址:http://www.zgyqcp.cn/
您当前位置:主页 > 行业新闻 >

微机化仪器仪表软件设计

 

 
 
 
 
任何形式的微机都离不开软件。软件设计是微机化仪器仪表设计的重要内容之一。事实上,总体方案设计时就应该对软件设计有所考虑,以便对目标系统的硬、软件相互协调,并筹备好开发、调试工具。当系统硬件方案大致拟定以后,软件设计便可相继展开。通常软件编制可独立进行。编奸的程序有些可完全脱离硬件运行和测试,有些可以在局部硬件支持下完成粗调,有时还可以拿到开发系统上模拟运行。软件开发这一相对独立的特性使得针对同一硬件系统设计的应用程序,其结构、风格可以相差很远,有时甚至很难进行优劣的评价与比较。然而在应用软件设计中,一些基本的要求和基本的方法是大家公认的。这里就几个主要方面加以说明。
(1)应用程序的基本要求可靠性
对应用程序的基本要求是工作可靠。如果程序本身运行不可靠,那么无论结构多么精巧.功能如何齐全,都是毫无意义的。软件的可靠与硬件不同,它不取决于器件和外部运行环境,而主要由程序本身是否正确无误所决定。应用程序编制完成后,必须认真校核,纠正一切语句错误和所发现的逻辑错误。遗憾的是有些软件错误即使经过干百次运行也未必能够暴露,而且一旦与硬件潜在的故障搅在一起,就更加难以查找和判别,在软件设计时除了在结构上采取相应措施以外,还必须紧紧抓住那些偶然出现的异常现象,反复运行和测试,顺藤模瓜地确定错误的大致范围、发生条件,尽量把它排除在样机试制阶段。

微机化仪器仪表
(2)精度
应用软件大多含有各种计算程序,有些还包括复杂的函数运算和数据处理。软件的精度是指数据进入计算机以后经过计算与处理所能保持的精度。它取决于两个方面。首先是算法的精度。由于各种数据滤波方法、函数的近似计算、线性化校正、闭环控制算法等都不同程度地存在着误差,从根本上制约了软件的精度。其次是程序本身的精度。它主要指计算机由于长不足,通过程序进行操作时产生的附加误差。算法误差己超出软件设计范畴,而程序计算的精度完全可以在设计过程中加以控制。微机化仪器仪表对整机精度往往都规定了具体指标,设计时要酌情进行误差分配。一般来说,软件的精度如果比实现模/数转换和数/模转换的精度高一个数量级以上,通常认为能够满足精度要求,产生的附加误差可以忽略不计。设计多字节运算或浮点运算程序、建立高精度数据表格等是提高程序精度的主要途径。对于选定的CPLI来说,这通常意味着计算速度放慢、内存容量增加、程序设计难度增大。因此软件的精度只需控制在满足精度要求范围即可。
(3)速度
通用计算机的应用软件主要用于科学计算数据处理(非实时性的)与事物管理。对PI及其程序的执行速度不像微机化仪器仪表要求那样严格。微机化仪器仪表大多是一个实时测控系统。在每一工作周期,要按照时间节拍一步步完成多路信号的采集、滤波及统计分析等处理,有时还要求进行闭环控制计算。通常微机化仪器仪表有一个实时监控系统,它负责对各种外部事件的响应按照轻重缓急的原则作出相应的处理。如果程序执行速度太慢,在每一个工作周期里来不及完成对每个事件的服务,就可能丢失一些数据或者耽误必要的操作处理,导测量结果与控制动作的错误或延缓。当CPU主要的执行程序以实时中断方式调用时.还有可能陷入无休止的中断申请使人误以为是程序错误。提高程序执行速度的基本方法是改进程序设计。如考查程序结构是否合理,能否把某些延时等待操作改为中断申请服务;某些循环结构与循环指令的使用是否恰当,能否以较少的循环次数或较快的指令代替;某些计算方法和查表技术是否过于繁琐,能否适当简化“—般来说用汇编语言编写的程序经过适当改进和排除错误,其速度会有明显提高。如果程序使用的是高级语言,可以把某些实时性要求高或者反复调用的程序用汇编语言编写,生成机器码子程序后供高级程序调用。当确认改进软件设计己不能奏效时,那就只好求助于采用硬件措施来提高速度了。
(4)效率
软件的效率有两层含义,其一是指开发过程中所投入的人力和时间的效率,其二是指作
开发成果的程序的运行效率。对于某一特定功能的软件来说,开发过程中耗费的人力和时间越省则开发效率越高;程序执行速度越快,占用内存空间越少,则运行效率越高。通常,用高级语言开发,开发放率高但运行效率低,用汇编语言开发刚好相反,运行效率高而开发效率低。如果用手工汇编方法开发机器语言程序,则效率更低。以往由于集成芯片和开发设备等微机硬件价格过高,人们往往不得己而采用低效率、低成本的开发工具。近年来由于硬件价格持续下降,软件开发耗费的人力和时间逐渐成为不容忽视的问题,人们开始像重视硬件成本一样重视软件的生产成本。为了提高软件的综合效率,在设计中应注意以下几点:①当运行效率满足要求时,应优先使用各种高级语言编制应用程序。⑥在条件允许时尽量使用各种编辑、汇编程序及其它软件开发、调试工具。球意硬、软件协调,必要时适当增加硬件投入以换取软件的简化。当执行速度与程序长度发生矛盾时,应以速度为先,不必过分计较占用了内存空间。不必过分纠缠于程序的设计技巧而浪费时间。

微机化仪器仪表软件设计
(5)用户界面
与通用计算机一样,微机化仪器仪表的应用程序应提供良好的用户界面。所谓用户界面.通俗地讲就是指人机对话的方便程度,好用的程序比难用的程序受人欢迎,因此用户界面的优劣往往直接影响到微机化仪器仪表的推广与普及。在硬件设计定型以后,软件设计者应该从用户角度来考虑和安排各种操作与对话功能,要充分照顾到使用者的文化程度、心理因素及操作习惯,避免使用各种繁琐的定义、复杂的数据格式、似是而非的标志与信息。通常在键盘和CRT显示器支持下易于设计良好的用户界面,菜单形式的对话方式便于熟悉和掌握如能适当提供汉字信息和图形界面,将更加有助于操作使用。当然不是任何微机化仪器仪表都有必要和可能采用这类方法的。良好的用户界面还应包括各种必要的容错技术,如外界条件异常或者操作者操作不当时,应能以某种合理的方式作出反映,使操作人员可以在不停机的情况下,查找原因并作出相应的处理。
(6)可读性和可扩展性
可读性是指程序结构合理、脉络清晰、易于阅读和理解;可扩展性则指程序结构标准化、便于修改和扩充。用汇编语言编写的源程序由于与微机硬件直接相关,不大容易理解和记忆。有时常有这种情况,阅读自己以前编写的程序如同出自他人之手、从未见过一样。如程序本身可读性差,要作出修改与扩充所花费的力气不亚于重新编写。如何才能使程序具有良好的可读性和可扩展性呢?采用结构化程序设计是一种基本方法。除此以外,在具体设计中还应注意:虾要将子程序分得过细以至反复出现子程序嵌套。③不宣过多使用编程技巧而使程序显得生涩费解。萨累注意在程序区和数据区留出适当空间以便在功能扩展时可以不打乱整个程序结构。励及时将程序形成文件,包括各种流程图、程序注释、存储器地址分配表、参数与定义表,等等。
综上所述,在微机化仪器仪表应用软件的设计中,可靠性与效率是最重要的指标。所要达到的目的,在于利用合理的经费和较短的时间研制出可供实用的程序。其它指标在满足基本要求以后可以逐步改进和提高。近年来由于软件价格相对于硬件价格不断上升,为了减少程序设计耗费的人力与时间,不少难于解决的问题趋向于用硬件承担,这是一个值得设计人员注意的发展动向。(本文来源:正航仪器)http://www.zgyqcp.cn 
 
 

网站首页 | 关于我们 | 技术文章 | 行业新闻 | 联系我们

联系电话:0769—1105095 传真:0769—22400804 本站关键词:粘度计,斯托默粘度计,旋转粘度计,在线粘度计,布氏粘度计

电邮:zhenghang@vip.126.com 地址:广东省东莞市寮步镇石龙坑金园新路53号 备案号: 湘14000784号 版权所有 正航检测设备

推荐网站:氙灯老化箱 恒温恒湿试验箱