北京起重运输设计研究院随着现代工业自动化程度的不断提高,现场的各类数据和指令必须实时显示并及时处理,因此组态软件在工业生产中被越来越广泛地使用。组态软件必须具备稳定可靠的性能,在运行、维护状态下实现可视化监控和报警,数据信息的采集、保存和管理,以及报表的打印功能。通过为首钢京唐滚筒取料机设计人机界面,本文提出了一种实现组态软件监控、通信及信息管理要求的实用方法。
1 系统简介
该人机界面通过图形文字显示可以让使用者浏览生产的过程数据,并根据不同的数据信号,通过界面颜色和显示内容的变化,动态监视生产过程中设备的运行状态,并提供交互式的人机界面,以实现可视化控制和管理功能。界面报警管理系统将各传感器的状态实时呈现,可以为维护人员提供较为明确的维修指导和历史记录。
本系统的设备控制是基于ControlLogix L61型PLC完成的,PLC通过ControlNET网络与触摸屏和变频器进行通信。工控机与PLC通过Ethernet网络进行通信,和电力仪表之间采用RS485进行通信,示意图见图1。
图1 系统示意图
滚筒取料机所有机械设备的检测信号都通过开关量、模拟量和总线通信方式反馈到PLC中,通过可视化的人机界面,操作和维护人员可以选择工作模式,对行走、料耙、滚筒、带式输送机、电缆卷筒等主要机构进行监控,根据报警信息有针对性地处理故障,通过串口实现对供电系统的遥测,从数据库中选择不同时段生成工作日志和报警报表。
2 功能实现
在工程中需要使用RSView SE和RSView ME开发2套人机界面,分别安装在工控机和触摸屏上。二者功能基本一致,其中工控机用界面功能比触摸屏界面略多,本文以RSView SE开发的工控机界面为例,介绍人机界面的开发构思和方法。
2.1 图形设计
人机界面主要以按钮、图形和文字的形式实现人机交互。通过设置按钮、图形和文字的动态显示功能,将各机构状态直观显示在人机界面中。
根据滚筒取料机的功能要求,人机界面应实现的主要功能包括:选择工作模式,设定各机构运行速度,电源投入,启动/停止设备(自动或手动操作),显示各机构状态,显示电力仪表电流、电压值,显示报警信息,打印各种报表。通过在开发环境中添加其自带的按钮、图形、文字和报警等控件就可以实现基本的功能要求。
图形画面应集成各机构的运行状态、使用状态、控制方式和各机构概况。例如当正常运行与故障或停止时,应有较为明显的视觉差别,并且需要显示当前工作模式等。
2.2 报警数据管理
RSView SE中自带报警日志功能,用户可以通过Mann Log Setup工具进行设定,报警日志文件默认存储为.DAT格式。这种自带的报警日志可以实现打印、存档的功能。
此外RsView SE还提供了一种使用中央数据库保存报警日志的功能。支持将.DAT格式的日志文件导入ODBC数据库,或直接将报警记录写入ODBC数据库中。利用数据库对报警日志进行管理,可以对历史数据进行高效的统计汇总,为信息管理软件的开发提供了必要条件。
本文采用了将报警日志直接在运行时写入ODBC数据库的方案,并将数据库命名为ODBCAlarmLog。该方案较第1种功能有以下优点:(1)便于维护管理,即使在没有安装RSView Studio的情况下,也可以通过数据库软件查看数据文件,进行导入/导出;(2)通过联网可以在中控室进行远程数据管理;(3)数据库软件能够生成自定义时段的日志报表,满足用户的不同需求。
2.2.1 数据环境简介
本文所使用的是VB 6.0 DataEnvironment创建的数据工程,所使用的数据库为Access。DataEnvironment包括1个图形化的设计窗口—数据环境设计器DED,开发人员可以将ADO对象的Connection和Command对象集成到1个DataEnvironmerit对象中,可以通过访问DataEnvironment对象的属性、方法和事件来动态地对数据库进行连接及其他操作。数据工程中配有报表设计器,可以根据要求进行不同版式的报表设计。
2.2.2 访问数据库
创建数据环境DataEnv之后,会自动产生1个对应的Connection,本文将其重命名为Conn。在DED窗口中选中Conn单击右键设置属性,在“提供程序”选项卡中选择Microsoft OLE DB Provider for ODBC Drivers,设置“连接”选项卡,在“使用数据源名称”中选择RSView SE建立ODBC数据库—ODBCAlarmLog。测试连接成功就说明数据环境已经与数据库建立好了连接。并在Conn下添加命令“cmAlarm”。
在程序中只要添加如下语句即可实现按时间段对数据库的查询:
strSQL="SELECT TimeStmp,Dscrptn FROM ODBCAlarmLog WHERE((TimeStmp BETWEEN #" &Me.txtDay1. Text &" # AND #" & Me.txtDay2.Text & "#) AND (AlarmType=1)) ORDER BY TimeStmp DESC"
With DataEnv.rscmAlarm
DataEnv.rsemAlarm.Open strSQL
DataEnv.rscmAlarm.Requery
DataEnv.rscmAlarm.Close
End With
2.2.3 查询界面
报警信息管理功能是将所有报警记录写入数据库,并根据用户要求生成日志报表。为满足现场生产管理的需要,报表的生成、打印界面要求尽可能实用、简单、易于操作,并具备自定义时段的报表生成功能。
在查询界面中,可供选择的有年、月、周、日以及自定义时段的报表。在单击“查询”按钮后,相应时段的记录就显示在报警表格当中。单击“打印报表”按钮后,就会出现查询记录的报表打印预览并可以在确认后打印报表。
2.2.4 嵌入RSView SE
在RSView SE的命令按钮中添加“AppStart”命令可以启动查询程序。因为该程序并非集成在RSView SE中,所以也可以直接运行查询程序进行操作。
需要说明的是本程序与人机界面的内部属性并不存在联系,所以可以通过将程序代码封装为VB ActiveX控件,经过RSView SE加载后显示在人机界面上。
2.3 串口通信
随着现代生产中智能化、自动化程度的提高,现场智能仪表基本都带有RS232/485串行通信接口,通过标准化的通信协议将测试、采集的数据传输到上位工控机,以满足各种形式后续数据处理的要求。
本文所用到的ACR320E型网络/测控电力仪表,是针对电力系统、工矿企业、公用设施、智能大厦的电力监控需求而设计的智能化电力仪表,适用于实时电力监控系统。该仪表采用异步半双工RS485通信接口和MODBUS-RTU通信协议。
2.3.1 传输方式
传输方式指的是1个数据帧内一系列独立数据结构以及用于传输数据的有限规则。该型号仪表定义的数据帧格式见表1。
表1 数据帧格式
地址域在帧的开始部分,由1个字节组成,用于指定与工控机进行通信的终端仪表。功能域负责通知被寻址到的终端进行何种功能,本文主要实现查询功能,因此功能域代码为03。数据域包含了终端执行特定功能所需数据。为保证数据传输的可靠性,数据处理采用了16位循环冗余方法。
2.3.2 串口通信编程
由于RSView SE中没有用于串口通信的模块,因此本文采用了在人机界面中加载VB ActiveX控件的方法实现与智能仪表的串口通信。
首先建立VB ActiveX控件工程,并添加MSComm(Microsoft Communications Control)控件。通常加载MSComm控件时不必修改其默认属性,可以根据实际情况在程序中使用代码重新设定。
根据传输方式的描述,数据帧是以十六进制的方式发送的。因此发送命令和读取数据的时候,必须进行文本格式和十六进制数据的转换,然后使用MSComm控件对Output命令发送二迸制数据。读取串口收到的数据时,需要在OnComm事件中进行编程处理。首先将串口数据读入二进制类型的内置动态数组bytInput(),再将数组内二进制数据转换为对应的十六进制码。代码如下:
Select Case frmDataEnv.ctrMSComm.CommEvent
Case comEvReceive
MSComm.InputMode=comlnputModeBinary
intInputLen=MSComm.InBufferCount
ReDim byInput(intlnputLen)
bytInput=MSComm.Input
在此处添加进行数据类型转换代码
End Select
2.3.3 CRC16冗余校验
循环冗余码CRC检验技术广泛应用于测控及通信领域。接收方将接收到的二进制序列数(包括信息码和CRC码)除以多项式,如果余数为0,则说明传输中无错误发生,否则说明传输有误(原理这里不再赘述)。用软件计算CRC码时,接收方可以将接收到的信息码求CRC码,比较结果和接收到的CRC码是否相同。
16位的CRC码产生的规则是先将要发送的二进制序列数左移16位(即乘以216)后,再除以1个多项式,所得到的余数既是CRC码,如式(1)所示,其中B(X)表示n位的二进制序列数,G(X)为多项式,Q(x)为整数,R(x)是余数(即CRC码)。
在与智能仪表通信时,工控机所发出的指令必须有正确的校验位,否则智能仪表在接收到指令后,会因校验位错误而无法发送用户需要的数据。
3 结束语
本系统的设计以RSView Studio为开发平台,结合VB控件,通过人机界面实现对大型堆/取料设备的可视化监控管理。目前,滚筒取料机已投入运行。实践证明基于上述方法开发的监控管理系统运行可靠,功能和各项技术指标都达到了预期设计要求。
[1]. PLC datasheet https://www.dzsc.com/datasheet/PLC_1248813.html.
[2]. RS485 datasheet https://www.dzsc.com/datasheet/RS485_585289.html.
[3]. DAT datasheet https://www.dzsc.com/datasheet/DAT_1869419.html.
[4]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。