广西南宁市华星电子衡器有限责任公司

免费会员

收藏

输煤系统和智能仪表串行通讯中Mscomm控件的使用

时间:2010-12-20      阅读:1103

     这篇文章讨论了在WinCC构筑的上位监控输煤系统中,从另一个利用8051单片机构成的现场智能仪表中采集数据的一种实现方法。首先,使用VisualBasic的通讯控件Mscomm,通过RS232串口定时将称重控制智能仪表中的数据读入装有WinCC上位监控软件的上位机,并存入某个二进制文件;而后利用WinCC软件内嵌的C编译器编程,将二进制文件中相应的数据一一赋值给WinCC中的internaltag(内部标签);这样,在上位监控部分设计中,即可随时读取这些来自于现场智能仪表的实时数据,zui终实现将智能仪表中的数据纳入上位监控输煤系统中统一使用。 本文所涉及到的通讯任务来自于某热电厂的输煤自动控制系统。该输煤系统的下位自动采集和监控任务由SIEMENSS7300来实现,上位监控部分是用SI2EMENSWinCC开发设计的。其中涉及到的一个通讯要求是:为实现生产过程的集中监测,需要利用一台8051单片机实现的智能称重仪表XK2105,将有关上煤量的数据(整型或浮点型)传送给上位监控系统,进行统一监视。该智能称重仪表提供的是一个RS232的串行接口,且它使用8051主从式多站通讯方式,即主机主动查询从站,从站根据不同指令分别响应不同信息。
    1,输煤系统整体方案设计
    自动控制输煤系统设计中,上位监控部分主要是用于动态流程画面监视、报警报表输出、趋势图分析等。在这个输煤控制系统中,利用WinCC对整个上位系统进行组态设计,且系统在正常工作时,上位机中始终处于WinCC的运行环境中。WinCC中带有一个Globalscript(全局脚本编辑器),它为开发人员提供一个功能强大的工具,用于生成用户的C脚本,生成的脚本可使用于任何地方。这里,就依据Globalscript,编制一个从智能仪表采集数据的通讯程序。上位机工作时,通过运行这个程序即可实现上位监控系统从智能仪表采集数据的通讯任务。整个程序主要分为二部分:调用从智能仪表中取数据的可执行程序,将采集的数据写入二进制文件;将数据从二进制文件中一一取出,赋给WinCC中相应的内部变量标签。由于可执行程序采集到的数据在WinCC内需要应用,数据不方便直接传递,因而二进制文件是可执行程序与WinCC之间数据传输的一种较为有效的方式。
    2,利用Mscomm控件编写可执行程-Mscomm控件的使用
    实现上位机与智能仪表的通讯一般串行通信的开发主要有两种方法:
    (1)利用WindowsAPI使用程序接口函数
    WindowsAPI主要提供了三个动态连接库KER2NEL.EXE、USER.EXE、GDI.EXE,供开发人员调用,其中KERNEL.EXE主要包括一些底层操作,完成一些资源管理、任务、内存等操作;USER.EXE包含了一些底层操作函数,完成一些与Windows管理有关的函数,如通讯、菜单、消息、光标、插入符、计时器及大多数非显示函数;GDI.EXE为图形设备接口库,主要内容为与设备输出有关的函数。依据编写的串行通信程序功能更强大、更丰富,但编写较为复杂。
    (2)采用通信控件实现
    VB控件工具箱内提供了一个串行通讯控件Mscomm.ocx,它全面地使用RS232串行通讯上层开发的所有细则,它既可以应用查询方式,又可以应用事件驱动方式来完成通讯,且用VB控件的方法来实现简单串口通讯更为方便、快捷[1]。
    2.1,Mscomm控件使用的主要属性
    Mscomm.ocx提供了27个关于通讯控件方面的属性。其主要属性如下:(1)Commport属性:设置串行端口号,取值范围1~99,缺省默认值为1。设置方式:mport=2;设置串行端口号为2。(2)Settings属性:设置串行端口的波特率、奇偶数校验位、数位、停止位。如:Mscomm1.setting=’9600,N,8,1’即波特率为9600,N为无奇偶数校验位,8位数据位,1位停止位。(3)Portopen属性:设置端口状态(打开或关闭)。如:Mscomm1.portopen:=TRUE,即为打开端口(FALSE为关闭端口)。(4)Input属性:接收缓冲区。如:str1:=Mscomm1.input(接收缓冲区的内容赋给字符串变量str1)。(5)Output属性:发送缓冲区。如:Mscomm1.output:=str2(将变量str2中的字符写入发送缓冲区)。(6)Commevent属性:设置激发通信事件的常数。

 

上一篇: 荷重传感器与716称重显示仪表的连接 下一篇: 面粉自动定量称重控制器设计
提示

请选择您要拨打的电话: