基于MODBUS协议的电源监控系统设计与实现
2020-11-26陈春燕
陈春燕
(武汉软件工程职业学院,湖北 武汉 430205)
1 系统功能分析
能量反馈电源需要指定光的频率和出光波形。在一些不适合使用工控机的工业应用现场,为了实现对电源的控制,需要设计使用触摸屏的监控系统,便于对电源输出电流进行控制。因此,需要在触摸屏上完成电源信息显示、报警显示、输出电流大小、频率、峰值的设置和输出电流曲线显示。
能量反馈电源监控系统由MCGS触摸屏和电源控制板组成,控制板和触摸屏之间通过RS232串口进行连接,选用工业标准协议MODBUS协议进行通信。系统组成结构如图1所示。
图1 监控系统组成结构图
2 通信协议设计
MODBUS协议有ASCII和RTU两种传输模式[1],本系统选择RTU传输模式,以提升数据的传输效率和处理效率。
根据系统中的功能需求和MODBUS协议中的功能码(如表1所示)定义,选用0x03和0x06两个功能码完成信息显示和参数设置功能[2]。
表1 MODBUS协议功能码
MODBUS协议规定了控制器可以识别的一种消息结构[3],如图2所示。
图2 MODBUS协议消息结构
依据选定的功能码,系统中需要使用读取信息帧和设置信息帧。
2.1 读取信息帧——功能码0x03
该命令由主控制器(系统中为MCGS触摸屏)发出,可以读取从控制器(电源控制板)单个或者多个保持寄存器的内容和从控制器返回主控制器查询的寄存器内容。
主控制器发送帧格式如图3所示。
图3 读取命令中主控制器发送帧格式
从控制器响应帧格式如图4所示。
图4 读取命令中从控制器响应帧格式
响应信息帧中的数据长度占用“返回字节数”规定的字节长度,是发送信息中指定的连续寄存器内的内容。
2.2 设置信息帧——功能码0x06
该命令由主控制器(本系统中为MCGS触摸屏)发出,只能设置从控制器(电源控制板)单个寄存器的值。
主控制器发送帧和从控制器响应帧格式相同,如图5所示。
图5 设置命令中帧格式
3 监控系统设计
3.1 显示界面设计
组态监控监控界面显示当前的电流、频率、幅值信息以及曲线绘制[4],设计界面图6所示。
图6 监控界面设计
3.2 设备连接
MCGS支持标准的MODBUSRTU协议,在设备窗口中新增ModbusRTU设备即可。
3.3 读取与设置功能
设置界面中输入框的数据来源为“根据采集信息生成”,读写类型设置为“读写”,即可完成信息的读取和显示,设置内容如图7所示。
3.4 曲线显示
监控界面需要显示电流随时间的变化曲线,在系统上电后可以读取和显示断电前的电流曲线。用户可以根据需要设置新的电流曲线,该曲线的显示要使用“相对时钟趋势曲线”。在实时曲线设置中需要选择时钟变量和曲线显示变量。在脚本中调用函数“AddXYData”,进行曲线的点和连线的绘制。绘制的曲线和电流设置值如图8所示。
图7 MCGS组态软件中数据量属性设置
图8 电流波形图显示界面
3.5 报警显示
在组态监控界面,对幅值、频率、时间和百分比的可设置范围进行判断,并显示和保存电源控制板上传的报警信息。
4 结 论
本文实现了基于Modbus协议的电源监控系统设计,使用MCGS触摸屏设计监控显示界面,触摸屏和电源控制板之间通过ModbusRTU协议进行信息交互和数据交换。在界面设计中,获取信息的显示和相关参数的设置由同一输入框完成,界面设计简洁,操作方便。电流曲线的显示采用相对时钟绘制,显示电流和时间的对应关系,易于观察和记录。