2 如何创建关联变量
大彩串口屏modbus 协议可支持创建线圈、离散输入、保持寄存器、输入寄存器、内容变量、系统变量,如下所示
变量类型 | 相关说明 |
---|---|
线圈(Coils) | 参与通讯:0x01/0x05/0x0F |
离散输入(Discrete Input) | 参与通讯:0x02 |
保持寄存器(Holding Register) | 参与通讯:0x03/0x06/0x10 |
输入寄存器(Input Register) | 参与通讯:0x04 |
内存变量 | 不参与通讯:用于做中间变量、记录一些信息等 |
系统变量 | 不参与通讯:如系统波特率、运行时间等等 |
本章节屏幕配置为主机模式,介绍线圈、离散输入、保持寄存器、输入寄存器、系统变量的创建和绑定
适用范围: 全系列
例程下载链接:《Modbus教程1_入门教程V1.0》(点击跳转)
协议开启、变量相关说明,参考链接:《Modbus 基本参数说明》
2.1 线圈
【线圈】画面是对MODBUS协议中“线圈”变量的状态显示和控制,按钮控件直接绑定“线圈”类型的变量。线圈的状态为0或1,对应按钮的弹起(0)、按下(1)。运行后,当该地址的“线圈”值发生变化后,按钮控件状态实时改变。同理,通过点击按钮,可以改变从机中线圈变量类型对应地址的状态
变量配置
添建立“机组状态”变量,变量类型设置为“线圈”,添加子节点“开/关机”、“运行/ 停止”,配置变量地址为0x0000,详细设置说明参考Modbus 基本参数说明,如下所示
画面配置
画面中添加一个按钮控件(控件ID:1),在按钮控件的属性栏,设置关联变量“机组状态/开/关机”,按钮的操作风格为开关,如下所示
运行预览
通过以上两步,控件ID为1的按钮控件与变量“机组状态/开/关机”建立起了关联。此时,编译工程并运行虚拟串口屏,和MODBUS Slave软件建立连接。按钮控件显示“机组状态/开/关机”的状态。同时点击按钮控件,更改变量“机组状态/ 开/关机”的状态。同理,控件ID为2的按钮控件通过以上方法,与变量关联后,实现相应的状态显示和控制功能。如下所示
2.2 离散输入
【离散输入】画面是对MODBUS协议中“离散输入”变量的状态显示,图标控件直接绑定“离散输入”类型的变量。图标控件将显示变量的状态,当该地址 “离散输入”值发生变化后,图标控件对应发生变化
变量配置
添加变量:建立“机组故障”变量,添加子节点“压缩机低压”,变量类型设置为“离散输入”,配置变量地址为0x0000,详细设置说明参考Modbus 基本参数说明,如下所示
画面配置
画面中添加一个图标控件(控件ID:1),在图标控件的属性栏,设置关联变量“机组故障/压缩机低压”,同理ID2~4的图标控件绑定对应的变量。制作参考《组态控件教程-图标控件》,如下所示
运行预览
通过以上两步,控件ID为1的图标控件与变量“机组故障/压缩机低压”建立起了关联。此时,编译工程并运行虚拟屏串口屏,和MODBUS Slave软件建立连接。图标控件显示变量“机组故障/压缩机低压”的状态。同理,控件ID为2、3、4的图标控件通过以上方法,分别与不同的变量关联后,便可显示相应地址变量的状态,如下所示
2.3 保持寄存器
【保持寄存器】画面是对MODBUS协议中“保持寄存器”变量的数值直接显示,文本控件直接绑定“保持寄存器”类型的变量。文本控件将显示变量的值,当该地址的“保持寄存器”值发生变化后,文本控件对应发生变化
变量配置
添加变量:创建“设定温度”变量,变量类型设置为“保持寄存器”,配置变量地址为0x0000,如该变量表示温度,从机传输值为225℃,实际温度为22.50℃,则实际值和传输值缩放比例为0.1,偏移值为0。则:设置“数值转换”为“是”,“缩放”为 “0 .1”,平移为“0”,详细设置说明参考Modbus 基本参数说明,如下所示
画面配置
画面中添加一个文本控件(控件ID:1),如图4‑14所示,在文本控件的属性栏,设置关联变量“设定温度”,输入方式为“弹出系统键盘输入(用户主机可输入)”模式,如下所示
运行预览
通过以上两步,控件ID为1的文本控件与变量“设定温度”便建立起了关联。此时,编译工程并运行虚拟串口屏,和MODBUS Slave软件建立连接,文本控件便显示变量“设定温度”的数值,点击文本控件,弹出键盘,可对变量“设定温度”设置值。同理控件ID为2、3、4的文本控件通过以上方法分别与不同的变量关联后,实现相应的数值显示和控制功能,运行效果如下所示
2.4 输入寄存器
【输入寄存器】画面是对MODBUS协议中“输入寄存器”变量数值的直接显示,文本控件直接绑定“输入寄存器”类型的变量,文本控件将显示变量的值,当该地址的“输入寄存器”值发生变化后,文本控件对应发生变化
变量配置
创建“温度”变量,变量类型设置为“输入寄存器”,配置变量地址为0x0000,如下所示
画面配置
画面中添加一个文本控件(控件ID:1),在文本控件的属性栏,设置关联变量“温度”,如下所示
运行预览
通过以上两步,控件ID为1的文本控件与0x0000地址的“温度”便建立起了关联。此时,编译工程并运行虚拟串口屏,和MODBUS Slave软件建立连接,文本控件便显示 0x0000 地址的保持寄存器的数值。同理,控件ID为2、3、4的文本控件通过以上方法分别与不同的变量关联后,便可显示相应地址的变量值,如下所示
2.5 系统变量
【系统变量】系统变量是系统中预先定义的变量,方便在直接访问,屏幕中预定义的变量,包括波特率(可读)、背光亮度(可读写)、蜂鸣器开关(1使能蜂鸣器,0不使能,可读写)、通讯故障(0为正常,非0故障,可读)、当前画面ID(可读写)、运行时间(单位:分钟,可读)、日期(可读)等
变量配置
添加变量:创建“背光亮度”变量,变量类型设置为“系统变量”,系统变量参数为“背光亮度”,详细设置说明参考Modbus 基本参数说明,如下所示
画面配置
画面中添加进度条控件(控件ID:2)、滑动条控件(控件ID:3)。进度条控件属性栏,设置滑动通知为“关联滑动条”;滑动条控件属性栏,设置关联变量为“背光亮度”。滑块控件和进度条控件的具体应用参考 组态控件教程 - 滑块控件 教程,如下所示
运行预览
通过以上两步,控件ID为2的滑动条控件与内存变量“背光亮度”建立起了关联;此时,编译工程并运行虚拟串口屏,滑动“滑动条控件”的游标可控制屏幕的背光亮度。同理,其他控件ID绑定对应的文本控件或按钮控件,通过以上方法分别与不同的变量关联后,便可显示或控制系统变量的变量值,如下所示