应用HMI实现多通道温场计量的数据采集

2022-02-18 02:13谈太良
仪器仪表用户 2022年2期
关键词:屏保寄存器组态

谈太良

(湖北大峪口化工有限责任公司,湖北 钟祥 431910)

JJF1101-2003《环境试验设备温度、湿度校准规范》中详细阐述了环境试验设备的测量过程及要求。应用工业触摸屏HMI 与前端温度RTD 传感器和湿度HC2 传感器采集模块,通过RS485(自定义协议)进行连接,可以稳定高效地实现多通道温场的温度和湿度数据采集,用户可以根据现场测试要求,灵活地配置传感器通道,并实时进行记录、曲线监控及数据存储,满足了JJF1101 校准规范的测试技术要求[1]。

1 功能描述

1.1 首页

主界面包括显示窗口和设置按钮,以6 通道温湿度计量系统为例,通道可以根据系统的设置针对性地显示通道温度(℃)值或相对湿度(%RH)值。系统的RTC 时钟由HMI 的锂电池供电以保证断电后仍能正确计时,如显示2021-02-02(TUE)08:34:39。计量系统可以针对实时通道数据进行USB 截图(扩展可实现截图热敏打印),U 盘scr*.bmp 是截图文件的完整路径。整体HMI 的图像分辨率为长800×宽400,外观尺寸4.3 寸的显示屏可以用较高的清晰度显示内容[2]。

1.2 曲线

HMI 调用趋势图元件对6 通道的温湿度数据进行实时曲线显示,各个通道的寄存器上限分别对应RW1、RW5、RW9、RW13、RW17 和RW21。调用LB501 位寄存器可以实现曲线的数据清屏,以满足调试的数据查看。如果想针对性地显示曲线数据,可以点击“CH1”~“CH6”按钮(分别对应LB101.0~LB101.5),针对性地隐藏和显示通道曲线。6 个通道的实时数值保存在寄存器LW301、LW303、LW305、LW307、LW309 和LW311 中。

1.3 报表

调用历史数据显示元件可以实现6 通道温湿度数据的报表记录功能,曲线和报表周期(秒)可以通过RW200 寄存器设置。用户应用历史数据显示元件配置LW301 开始的6 个单精度浮点数数据寄存器,通过LB500 位进行暂停清除,历史数据以CSV 表格的形式保存至USB DISK1 外部存储设备的table 子目录中,为了便于用于查看,将标题栏名称分别设置为:日期、时间、CH1、CH2、CH3、CH4、CH5 和CH6。

1.4 设置

用户可以对HMI 触摸屏的硬件参数进行设置,RTC 年(LW10005 寄存器)、RTC 月(LW10004 寄存器)、RTC 日(LW10003 寄存器)、RTC 时(LW10002 寄存器)、RTC 分(LW10001 寄存器)、RTC 秒(LW10000 寄存器)。HMI 背光休眠时间(LW10011 寄存器),背光亮度调节(LW9140寄存器),HMI 蜂鸣器启停(LW10012 寄存器)。由于温场的曲线纵轴数值范围不同,温度RTD 范围-200℃~850℃,湿度HC2 范围0%RH~100%RH,纵轴标尺过大或过小都不能合适地呈现出通道数据的变化情况。因此,将CH1~CH6 通道的纵轴标尺分别设置,如:CH1 通道使用RW1 寄存器(下限值)、RW3 寄存器(上限值)。针对外置U 盘数据存储和导出,详细路径如下[3]:

U 盘export able*.csv 是存CSV 的导出文件。

U 盘 rendHistory Trend*.csv 是曲线数据。

U 盘 rendHistory Data*.csv 是报表数据。

U 盘scr*.bmp 是截图文件。

图1 首页界面Fig.1 Home page interface

图2 曲线界面Fig.2 Curve interface

图3 报表界面Fig.3 Report interface

2 自定义协议

2.1 底层驱动

触摸屏HMI 自定义协议的串口驱动,目前可以支持3 个串口同时定制非标自由口协议,分别为:Customized UART protocol-1,Customized UART protocol-2,Customized UART protocol-3,可对应3 个串口。组态编辑的使用方式同其他的PLC 组态方式一样,直接连接屏即可,通过LW 和LB 寄存器进行数据的交换[4,5]。Cusomized UART Protocolx 目录中的COMx.c 由用户编写,应用C 语言编写代码至void ProcessComx(int fd)函数中,编写好程序后,只需运行“build.bat”批处理文件即可生成驱动文件,生成的驱动文件位于目录下安装目录libplc 中,名称为“Customized UART protocolx.so”和“Customized UART protocolx.ge”。目前,串口支持的波特率为4800,9600,19200,38400,57600 和115200,HMI 的3 个串口模式为COM0:232/485/422,COM1:232/485/422,COM2:232。

2.2 调试

HMI 通过自定义协议的寄存器LW10、LW20、LW30、LW40、LW50、LW60 读取RTD 的原始电阻(Ω)值。由于前段硬件采集模块的低温漂采样电阻自身存在偏差,需要逐个将通道接入标准电阻箱的固定阻值,RTD 为Pt100时,选用100Ω。此时调整各个通道的修正值,依次存入寄存器R19、R29、R39、R49、R59 和R69,以实现各个RTD 采集通道的准确度要求。此外,由于前端多功能采集模块的传感器类型需要人工设置,如RTD 时采集电阻值,HC2 时采集电压值,在HMI 界面上逐个通道都添加了设置按钮,如1 通道使用LB1(设置RTD 类型)、LB2(设置HC2 类型),其它通道类似。JJF1101-2003《环境试验设备温度、湿度校准规范》中既有温度通道,又有湿度通道。设置RB 寄存器中的位标识,来决定通道内的数值类型,如:RB.1 是1 通道,RB.2 是2 通道,以此类推。为了实现HMI 的数据联调和扩展,在网络设备配置处,设置IP 地址192.168.0.7,端口号502,通讯协议Modbus TCP Slave,站号1。这样远端PC 或者PLC 可以通过modbus tcp 协议对HMI 温场数据采集设备进行实时数据交互,以实现设备的灵活应用。

2.3 自定义函数

用全功能版的cygwin 覆盖EV5000 中文件,在cygwin 所在目录新建一个名为customized_driver 文件夹,在custmoized_driver 目录下是3 个文件夹,分别代表可自定义的3 种自由协议,Cusomized UART Protocolx 目录中COMx.c 由用户编写。COMx.c 编写好后,运行build.bat 批处理文件,即可在libplc目录生成Customized UART protocolx.so 驱动,Customized UART protocolx.ge 是与该驱动配套的文件,固定不变。串口自定义协议的驱动,目前可以支持3 个串口同时定制自由协议,分别为Customized UART protocol1,Customized UART protocol2,Customized UART protocol3,可对应3 个串口。组态的使用方式同其他的PLC 组态方式一样,直接连接屏即可,通过LW 和LB 寄存器进行数据的交换。需要用户实现的函数void ProcessComx(int fd)调用方式:周期执行,间隔可调用Delay 函数来加大循环周期,fd 为串口句柄功能:用户程序的“main 函数”。13 个自定义调用的API 函数包括:

图4 设置界面Fig.4 Setting interface

图5 调试界面Fig.5 Debug interface

1)void Delay(int ms)功 能:用于延 迟ProcessComx 的运行周期,防止频繁读写,减轻控制器的压力。

2)int ReadData(int fd,unsigned char*read_buff,int count,int m)功能:从串口读取count 个数据,存放在red_buff 中,ms 是读数据超时时间。

3)int WriteData(int fd,unsigned char*read_buff,int count)功能:从串口发送count个数据,发送数据存放在read_buff 中。

4)unsigned short Read_LW(unsigned int n)功能:读取LWn 的寄存器的值。

5)void Write_LW(unsigned int n,unsigned short val)功能:将val 写入LWn 的寄存器。

6)void CopyToLW(unsigned int offset,const void *src,int n)功能:由src 所指的内存区域复制n 个字节到Lw_offset 所在的内存区域。

7)void CopyFromLW(unsigned int offset,const void *src,int n)功能:由Lw_offset 所在的内存区域到src 所指的内存区域复制n 个字节。

8)void SetLBON(unsigned int n)功能:设置LBn 寄存器为1。

9)void SetLBOFF(unsigned int n)功能:设置LBn 寄存器为0。

10)int GetLB(unsigned int n)功能:读取LBn 寄存器的状态。

11)int SetLWBON(unsigned int n,unsigned int offset)功能:设置LW.b 寄存器为1,如设置LW5.4,则n=5,offset=4。

12)int SetLWBOFF(unsigned int n,unsigned int offset)功能:设置LW.b 寄存器为0,如设置LW5.4,则n=5,offset=4。

13)int GetLWB(unsigned int n,unsigned int offset)功能:读取LW.b 寄存器的状态,如设置LW5.4,则n=5,offset=4。

3 系统参数

在拓扑结构窗口双击HMI 图标或在HMI 图标上右击,选择右键中的“属性”,均可打开【HMI 属性】,以配置HMI 相关的系统参数以及部分元件的辅助参数设置。当未触控HMI 屏幕的持续时间等于此设置值时,HMI 自动关闭屏幕背光灯进入节能状态;当HMI 屏幕再次有触控操作时,可结束节能状态点亮屏幕背光灯。设定时间的单位为分钟,初始默认值为10min。报警/事件发生时自动打开背光灯,HMI 进入节能状态后,如有用户报警或事件触发,则自动将HMI 屏幕背光点亮。当未触控HMI 屏幕的持续时间等于此设置值时,屏幕画面可切换至设定的【屏保使用窗口】;HMI 进入屏保状态后,当HMI 屏幕再次有触控操作时,可结束屏保状态。设定时间的单位为分钟,初始默认值为10min。屏保使用窗口指定HMI 进入屏保状态后要切换的目的窗口,屏保结束时返回原窗口是设置HMI 结束屏保状态后是否将画面切换至进入屏保状态前的窗口画面;如未勾选,则当HMI 结束屏保状态时会继续停留在屏保窗口。设置是否允许将HMI 中的组态工程上传至PC 机或外部存储器指定位置,初始默认密码为:888888。注意:上传密码不能为空或0。设置是否允许将从HMI 中上传上来的组态工程文件即pkg 文件反编译成Kinco HMIware 可编辑的wpj 文件,初始默认密码为:888888。HMI 的系统参数多采用默认设置。

图6 HMI Manager设置界面Fig.6 HMI Manager setting interface

4 版本升级

KHManager 包含7 个处理模块:【下载处理】【上传处理】【系统处理】【获取版本】【反编译处理】【串口穿透通讯】【虚拟串口穿透通讯】。【通讯参数设置】:显示当前KHManager 使用的下载方式。点击【设置】可修改当前下载方式。【上页】/【下页】:点击【上/下页】在7 个处理模块之间跳转。【退出】:退出KHManager 界面。打开KHManager 的方法有很多种,包括:从PC 的【开始】菜单打开,双击桌面KHManager 快捷方式打开,从Kinco HMIware 软件【工具】菜单打开,单击【工具】菜单—单击【系统处理】/【HMI 版本信息】/【上传配方】/【下载配方】/【上传启动画面】/【下载启动画面】/【上传工程】/【反编译】均可打开【KHManager】界面。在Kinco HMIware 安装目录下双击【KHManager.exe】打开。

5 结论

本文阐述了工业触摸屏HMI 通过自定义协议与硬件采集模块连接,实现多通道温场计量数据采集的实现过程。以6 通道采集为例,依据JJF1101-2003《环境试验设备温度、湿度校准规范》,通过HMI 组态软件配置温场计量的首页、曲线页、报表页、设置页、采集页和调试页界面。应用C 语言在COMx.c 文件的循环进程中编写协议栈完成串口驱动,实现工业HMI 与前端硬件采集模块的连接。经应用测试,所研发的触摸屏HMI 温场计量设备可以稳定可靠地实现温湿度数据采集,实现多通道温场计量的自动化,减少了现场计量的劳动强度,同时保证了测试的准确性。

猜你喜欢
屏保寄存器组态
浅谈力控ForceControl V7.2组态软件在自动化控制工程中的应用
基于PLC及组态技术的恒温控制系统开发探讨
屏保
Lite寄存器模型的设计与实现
二进制翻译中动静结合的寄存器分配优化方法
Rh XIII—Cd XVI 离子4s24p3—4s4p4 能级与跃迁的理论计算*
组态软件技术现状与发展
移位寄存器及算术运算应用
Lx5280模拟器移植设计及实施
热键屏保