基于MCGS组态技术的主动上报数据采集
扫描二维码
随时随地手机看文章
引 言
在工业物联网(IIoT)高速发展的今天,设备的数据采集离不开数据采集协议。PLC(Programmable Logic ControllerPLC)控制系统中数据需被服务器采集,需 PLC 控制器的通信协议,比如西门子的 MPI(Multi Point Interface,MPI)和莫迪康的 Modbus 等,这些标准的通信协议通常采用 RS 485通讯总线实现主一从或一主多从的组网方式。在 RS 485 通讯总线方式中,大多采用主机先发送请求命令给从机,从机再应答返回数据的方式。但现实中某些厂家生产的仪表采用的通信协议却是从机定时主动上报数据的通讯方式,为了不影响其他设备采集数据,在系统通讯组网时,需为该类仪表单独设计一条通讯链路。为了将该仪表接入一主多从的通讯链路,笔者采用触摸屏及 MCGS(Monitor and Control Generated System,MCGS)组态技术,对从机定时主动上报的数据解析、存储,再转成标准的 Modbus 通讯协议后,即可将其接入到一主多从的 RS 485 网络中。
1 整体解决方案
某公司生产的靶式流量计就是一种主动上报数据的从机,流量计每隔 0.5 s上报一次数据,主动上报帧内容见表 1 所列。
对于数据主动上报的从机,笔者通过使用 MCGSE(Monitor and Control Generated System for Embedded,MCGSE)嵌入式组态软件、MCGS 脚本驱动开发工具和TPC7062Hi 触摸屏实现主动上报数据帧的解析及显示,再把触摸屏采集到的数据通过标准 Modbus 协议转出,然后接入 RS 485 总线中供其他主机读取。
1.1 数据采集
首先用 MCGS 脚本驱动开发工具建立一个自定义驱动程序,命名为“主动上报数据设备”,在驱动程序中定义两个字节数组,分别为 RecByteArr(接收数据数组)和DataByteArr(解析数据临时数组)。其中,RecByteArr 用以存放接收串口命令数据,DataByteArr 用以存放解析数据时临时存放的数据。驱动程序数据采集流程如图 1 所示。
1.2 数据解析
在表 1 的数据域中,有 2 位 BCD 码、4 位 BCD 码、6BCD 码和 8 位 BCD 码的数据,为方便解析数据,本文采用 4 位 BCD 码进行解析,共解析七个 4 位 BCD 码,再通过运算得到流量计实际上报数据。解析数据示意如图 2 所示。
按上述方法把流量计主动上报数据的驱动编译并保存,然后放入 MCGSE 嵌入式组态软件安装目录的自定义驱动文件夹中,方便调用。
1.3 触摸屏组态程序设计
1.3.1 新建工程
启动 MCGSE 嵌 入 式组 态 软件, 进 入 MCGS 组态环境,新建一个工程,命名为“主动上报数据采集”,选择TPC7062Hi 型触摸屏,其他为默认设置。
1.3.2 增加实时数据库数据
在系统工作台界面中的实时数据库窗口,新增与流量计通讯需要采集的数据变量,流量计中的数据均为数值型变量,因此本工程需建立累积流量、瞬时流量、温度等共计 6 个数值型变量,新建变量见表 2 所列。
1.3.3 设备组态
进入系统工作台界面中的设备组态窗口,增加通用串口父设备 0,并对通用串口父设备 0 进行基本属性设置,选择COM2 作为串口端口号,波特率设置为 9 600 bps,数据位数为 8,停止位数为 1,数据校验方式设置为无校验。再增加通用串口父设备 1,选择 COM4 作为串口端口号,其他设置同通用串口父设备 0。然后在通用串口父设备 0 下添加主动上报数据设备,在通用串口父设备 1 下添加 Modbus 串口数据转发设备。设备组态窗口如图 3 所示。最后在主动上报数据设备和Modbus 串口数据转发设备的属性设置中,参照表 2 增加设备通道与通道连接。
1.3.4 触摸屏界面组态
在系统工作台界面中的用户窗口新建流量计数据显示的用户窗口,然后在窗口中动画连接组态流量计所有实时数据。最后把组态好的人机交互数据下载到 TPC7062Hi 触摸屏中,让触摸屏与流量计连机运行。在人机界面中看到流量计的实时数据与现场流量计表显示数据一致,实现了本次设计的目的。触摸屏显示流量计的实时数据界面如图 4 所示。
2 结 语
MCGS 脚本驱动开发工具为主动上报数据的流量计开发对应驱动,通过 MCGSE 嵌入式组态软件进行组态,最后把组态好的工程下载到 TPC7062Hi 触摸屏中,从而将流量计主动上报的数据转换成标准的 Modbus 协议,接入一主多从的RS 485 网络,供主站设备读取。通过测试运行,本次实验采集的数据准确,系统运行可靠,类似主动上报数据的仪表接入一主多从网络链路时,可参考该设计方案