您现在的位置: 网站首页 >  新闻资讯 > 技术文章

基于VB的MCGS和涡轮流量计间的通信具有良好的实时性和稳定性

基于VB的MCGS和涡轮流量计间的通信具有良好的实时性和稳定性,计算机测控系统通常需要上位计算机与工业现场各种仪器仪表进行通信,及时了-解现场仪器仪表的运行情况,实现对现场状态的实时监控。MCGS组态软件作为工业过程茬制和实时监浏领域的通用计算机系统软件,由于其具有功能完善、操作简便、可视性好、可维护性强、采用开放式结构可与广泛的数据源交换数据等特点而得蓟越来越广泛的应用。硼七s为数据采集和控制提供了底层设备驱动程序,允许它直接与大多数智能瑷备进行通信。然而。McGs提供的设备驱动程序主要是针对目前市场上一些主流控制器或其他智能设备,在实际应用中,或因为所羁设备的特殊性,或因为实际工程需要,其设备驱动功能总会有些不尽人意,甚至没有提供某种智能设备的驱动程序,这给用户使用该软件实现与某些智能设备通信带来诸多不便。
为了解决上述问题,常厢的方涪有2种:向厂家购买MCGS高级开发工具包,按照MCGS提供的规范设备驱动程序接口,用户根据自己的需求开发设备驱动程序;采用MCGS提供的OLE技术,用户利用其他支持OLE技术的通用较件诸如VB、VC、Delphi等开发应用程序操作MCGS中的对象,利用这些通用软件提供的数据通讯羁处理功能编写数据通讯程序茹嵌人到MCGS控系统中.实现教据交换。
VB是一款简单、易用的可视化编程语言,开发者可以方便地使用其提供的组件快速建立应用程序。利用VB支持的OLE技术可以方便地开发出Windows环境下的OLE通信程序。因此文中给出了一种基于VB和OLE技术的上位计算机与流量计通信方法,解决了MCGS与流量计通信时存在的问题,实现了MCGS对流量计的实耐监控。
系统的基本结构
基于McGs和vB的涡轮流量计实时监控系统主要由工控机、Rs-232通信电缆、Rs-485/RS-232适配器、流量计、打印机、投影仪等组成。
系统流量计选用QWLJ系列气体祸轮流量计。QWLJ系列流量计集流量传感器、温度传感器、匿力传感器和智能流量积算识于一体,可实现流量的温压补偿和压缩因子修正,直接显示标准状态下的体积流量。多台流量计通过Rs一485接口总线连接灌RS-485/Rs-2,2适配器连接烈上位机的COM口。QWLJ系列流量计支持厂家自定义通信锛议和MODBUS通信协议,考虑到将来的扩展开发和组网通信,系统选用MODBUS协议实现上位机与流量计湮信。上位机通过发送命令帧对流量计指定寄存器的读写袤得流量、压力、温度等信息,这里只涉及到功能码03(读取保持寄存器)和功能码16(预置多寄存器)。
系统酌工惟原理
MCGS组态软件与涡轮流量计的系统通信包括2部分;McGs与vB程序的OLE通信;VB程序通过RS-232/RS-485与现场流量统计的通信。
MCGS与Ⅶ的OLE通信
实时数据库是McGs的核心,MCGS把整个实时数据库作为一个对象封装起来,提供一系列的方法和属性,外部程序通过这些方法和属性对MCGS进行各种操作。MCGS运行起来后,实时数据库对象被暴露出来,通过OLE自动化操作可以取得实时数据库对象,再利用实时数据库对象的SetValueFrom—Nane方法,即可实现外部程序直接刷新MCGS实时数据库。以下为MCCS与VB实现OLE通信的部分程序。
VB与流量计通信
该系统采用一主多从通信方式,其中上位计算机作为主机,各流量计作为从机。主机采用查询方式接收从机发送过来的数据。为了实现多机无冲突可靠通信,每台从机必须有唯一的地址,可以通过流量计面板的菜单模式下进行地址设置。在VB环境下编制的通信程序,主要用到了Mscomm控件,其提供了非常丰富的属性和方法,已将通信的大部分底层操作封装在控件内部,为实现VB与各种设备进行通信提供了一种有效途径。文中采用模块化编程方法编写数据通讯程序,实现VB与流量计间的通信。由于篇幅所限,只介绍VB与l#流量计通信的主要程序模块:
(1)程序初始化模块。主要完成串口的选择、波特率、数据位、校验位设置、打开串口等工作。
(2)发送数据模块。有手动发送和自动发送命令帧2种方式。手动发送方式功能主要实现预置多寄存器的值,主要是设置参数上、下限值及报警值,功能码为16;自动发送方式功能主要实现读取保持寄存器的值,主要是读取压力、温度、流量等信息,功能码为03。自动发送方式下程序的实现采用定时触发方式。当上位机发送完命令帧,延时等待,如在规定的时间内,流量计没有应答,上位机重发此命令帧,这里设置为3次呼叫,若都无应答则给出报警提示。
(3)接收数据模块。通过查询方式来完成数据的接收,即在程序中定时查询Mscomm控件的InBufferCoumt属性是否发生变化。如果串口接收到数据,且数据缓冲区的内容等于设定的字节数时,取出完整的通讯数据帧。在数据处理过程中,首先进行CRC校验,若不正确,丢弃本帧应答数据,上位机重发命令帧。否则对数据进行处理,并将处理结果与MCGS实时数据库对象进行OLE数据交换。
通过MCGS与VB间的OLE通信及VB与涡轮流量计闻的串口通信,利用VB提供的强大的数据通讯和处理功能实现数据采集、处理及控制,并利用MCGS组态软件丰富的图形化来实现界面设计,将阿种方法结合起来则是一种很好的选择。目前该方法已应用于天然气气化输配监控系统中.运行结果表明,基于VB的MCGS和涡轮流量计间的通信具有良好的实时性、稳定性私可靠性。饵决了MC(甚与华陆HLLWQ系烈涡轮流量计的通信问题,实现了MCGS对涡轮流量计的实时监控。 
点击次数:  更新时间:2017-12-05 18:06:04  【打印此页】  【关闭