随着计算机技术的快速发展,计算机图形显示在各种控制系统中得到了广泛的应用,除组态软件的应用外,应用编程开发工具,例如VB、VC、Delphi进行监控程序的开发也在工程应用中占了很大一部分,尤其在中小规模的控制系统之中,使用上述开发工具不仅具有巨大的灵活性,同时,开发周期由于模块、控件及组件的使用也大大的缩短了。本文以VB为例,阐述一下在监控程序开发中的一些共性的问题。VB已经成为了一种非常流行的开发语言,一方面因为它的易学易用,她使用的编程语言和我们通常使用的自然语言相差不大,简单易懂;另一方面也
在于它的强大的功能以及良好的界面特性,VB除了操作系统不能开发之外,没有甚末程序VB做不出来的,鉴于此,自控系统中VB的使用就是理所当然的事情了,但vb应用在工业控制系统时,又提出了一系列的新的问题。一般而言,监控程序的特点要求或者说任务有如下几点,这里分别加以说明。 1. 要求程序能够直观的显示各个工艺参数的状态,比如,模拟量可以在屏幕上采用形象的模拟表盘的形式加以显示,进一步讲,液位可以用罐体的形象图显示,温度可以用温度计的形式显示,转速可以用转速表的形式等等。数字量类似,一般采用颜色的变化来表示,比如泵的启停采用绿色和红色来表示。 动画的的实现有多种方法, ① 改变控件的top、left属性,通过控件的长度的改变来指示参数,或者使用move方法来显示。 ② 利用动画控件(Animateion控件),可以显示多帧图像。 ③ 用图像资源技术。 建议多使用 ① 提供的方法,他更快捷方便。开关量的显示可以利用Image控件,在程序运行时根据开关量值加载相应的图像。 2.画面的数据必须充分反映出工艺的状态,即保证数据的完整性,这一点也可以引申为关键的监控数据必须一目了然。画面的转换要快捷,画面之间的联系要直接,尽量从操作者的角度进行设计。一般通过加载工艺图片的方式,先使用绘图软件把工艺流程画好,达到想实现的效果,然后保存为bmp格式的图片,加载到程序中。 3. 要有相应的趋势图,鉴于工业控制的特点,要能在画面之上直观的看出工艺参数的趋势走向,便于进行分析,比如PID参数的调整和工作性能的判断几乎就是完全根据趋势线来进行的,这一点应该做到。趋势图可以使用功能强大的Mschart控件,它可以提供棒图、折线图等方式,另外,还可以使用本站提供的相关技术来实现。 4. 要有历史数据库,这是从企业管理者的角度提出的要求,能够进行数据的回漱,这在工艺出现问题时尤其重要。一般的应用使用VB自带的mdb格式的数据库就可以了,但比较重要的可以使用SQL server,VB和他也有较好的接口。 5. 一般而言,应该有数据报警,对主要的工艺参数进行报警监控,这在无人化工厂中比较有用,可以及时处理工艺中出现的问题。这个可以通过语句指示、声音提示、弹出对话框来实现,对话框应使用API的MessageBox实现,他不会中断线程。 6. 要使数据采集的时延尽量的小,这在小型控制系统中还不成为问题,但在有几千甚至上万的变量的控制系统中就不是小问题了,需要有合适的策略和较好的算法。VB中可以把数据的采集和处理放在DO…LOOP中。7. 对资源的占用,一般来说,监控程序是连续运行的,要保证在长期运行时能够不因为资源耗尽而死机。比如,在工艺画面中有大量的文本数据要显示,建议使用label控件,尽量不要使用testbox控件,因为后者占用更多的资源。并且最好使用控件数组。 8. 打印功能。可以使用OLE自动化技术,操纵execel自动化对象,将数据写到表格中,打印输出,但建议使用printer对象进行打印。 9. 相对而言,上述虽然是监控程序的重要部分,但我们应该更偏重于功能的实现,图形的开发毕竟属于“小技”。通讯功能的实现是最重要的,一般可以使用Mscomm控件来进行串口通讯,它包含了RS232通讯的全部细节。另外,现在也可以通过DDE、NetDDE和OPC技术来获取数据。再就是PID的调节功能可能也需要在程序中实现,这些可以参阅本网站的相关文章。总而言之,vb的确有非常强大的功能,但开发人员还应该多注意运用智慧,使用平凡的技术创造出令人称奇的效果,实际上,客户需要的不是先进的技术,而是解决问题的方案,这才是我们追求的目标。(www.eengineerarea.com)
|