ModbusConfig HMImodbusProtocol使用Tutorial

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

ModbusConfig HMImodbusProtocol使用Tutorial缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 1.1 OpenProtocol
  2. 2. 1.2 配置主从机
  3. 3. 1.3 变量定义
  4. 4. 1.4 变量address和值的关系
  5. 5. 1.5 逻辑处理
  6. 6. 2.1 线圈
  7. 7. 2.2 离散输入
  8. 8. 2.3 保持register
  9. 9. 2.4 输入register
  10. 10. 2.5 system变量
  11. 11. 3.1 button控件
  12. 12. 3.2 Text控件
  13. 13. 4.1 仪表控件
  14. 14. 4.2 滑块和progress bar控件
  15. 15. 5.1 菜单控件
  16. 16. 5.2 滑动选择控件
  17. 17. 6.1 曲线控件
  18. 18. 6.2 历史曲线控件
  19. 19. 7.1 图标控件
  20. 20. 7.2 动画控件
  21. 21. 8.1 二维码控件
  22. 22. 8.2 RTC控件
  23. 23. 9.1 控件显示隐藏
  24. 24. 9.2 多语言

1 Modbus 基本参数说明

ModbusProtocol的应用,本章节主要从以下几部分说明

  1. OpenProtocol
  2. 配置主从机
  3. 创建变量
  4. 变量address和值的关系
  5. 逻辑处理

1.1 OpenProtocol

Modbus protocol的配置界面在VisualTFT 上位机的菜单栏【Tools】→【Protocol与变量设置…】,点击左侧文件路径,在右侧的Protocol设置栏,设置ProtocolType,如选择Modbus主机,EnableProtocol,如下所示

modbusProtocolOpen后,在Configuration界面上,控件才能显示【关联变量】

ModbusConfig HMImodbusProtocol使用Tutorial插图

1.2 配置主从机

主机模式

Modbus主机的配置,参数如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图1
  1. EnableProtocol:需要EnableProtocol,才支持ModbusProtocol
  2. ProtocolType:选择Modbus主机
  3. 轮询周期:Invalid参数,不用设置
  4. 轮询延时:屏作主机时,sendRequest指令,到屏幕应答后,等待send下一条Request指令的time
  5. 应答超时:屏作主机时,允许从机的最大延时,默认100毫秒
  6. 连续读取:设置连续address变量的最大读取数
  7. 优化读取:Open优化读取后,只读取与当前画面Related的变量
  8. 存储设置 :Open存储后,Flashaddress0~2048,约2K为Modbus变量存储所有,其他存储应规避此address!!!不存储:不存储,断电重启后变量恢复默认值All存储:不推荐,因为频繁存储会导致FLASH坏块增加存储指定变量:Recommended for use,一般用来存储很少更改的system配置参数
  9. 存储标记:识别存储在屏幕中的data版本标记, 当存储data format发生改动时,一般需要手动修改此存储标记值
ModbusConfig HMImodbusProtocol使用Tutorial插图2

从机模式

  1. EnableProtocol:需要EnableProtocol,才支持ModbusProtocol
  2. ProtocolType:选择Modbus从机
  3. 从机address:默认为1
  4. 存储设置 :Open存储后,Flashaddress0~2048,约2K为Modbus变量存储所私有,其他存储应规避此address!!!不存储:不存储,断电重启后变量恢复默认值All存储:不推荐,因为频繁存储会导致FLASH坏块增加存储指定变量:Recommended for use,一般用来存储很少更改的system配置参数
  5. 存储标记:识别存储在屏幕中的data版本标记,当存储data format发生改动时,一般需要手动修改此存储标记值
ModbusConfig HMImodbusProtocol使用Tutorial插图3

1.3 变量定义

Click【变量定义】,在点击【添加】,即可添加一个变量,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图4
变量定义

详细变量Parse如下,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图5
  1. 名称:默认的变量名称为“Varialbe1、Varialbe2、Varialbe3……”,可以定义有意义的名称,如:机组状态;如果需要对变量分bit含义,默认的名称为“Field1、Field2、Field3……”, 可以定义有意义的名称,如:开/关机、运行/停止
  2. format:支持短整形、长整型、单精度浮点数、字符串
  3. 符号:可设置无符号、有符号
  4. 读写设置:设置变量的读写权限,支持可读写、只读取、只写入
  5. 默认值:默认显示值
  6. numerical value转换:对变量进行转换,例如:实际值=原始值*缩放+平移
  7. Display format:设置整数和小数部分的位数
  8. 数组Type:Open数组Type,从该变量的address开始,Operation连续N个register
  9. 是否储存:当在配置Modbus主/从Protocol时Open存储设置,此处若选择存储,可掉电Save data
参数

详细参数设置Parse如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图6
  1. 变量Type:线圈、离散输入、保持register、输入register、内存变量、system变量
  2. 从机address:屏作主机时,才需要设置
  3. 变量address:变量(或register)的address,hexadecimal填写
  4. 初始化从机:屏作主机时,屏上电后,把变量的值写入从机设备
  5. 读取失败归零:屏作主机时,当变量读取失败时,变量的值归零

1.4 变量address和值的关系

线圈/离散data

创建一个线圈或离散输入register,变量format为短整型,则里面含有16个线圈(从上到下,依次为bit0….bit15),假设该变量address为0x0000,那么变量包含0x0000~0x000Faddress范围内的变量,一个bit对应一个线圈,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图7

字符串Type

创建一个保存register,变量format为字符串Type(默认32个字符),假设该变量的address为0x0000,那么此字符串对应包含0x0000~0x000Faddress范围内的变量,一个address对应两个字符

ModbusConfig HMImodbusProtocol使用Tutorial插图8

假设保存register address0,值为‘abcdefghij’,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图9

数组

创建一个输入register,且为数组Type(默认数组大小为10,下标从0开始),假设该变量的address为0x0000,那么此变量表示从0x0000开始的连续10个变量,数组下标对应一个变量

ModbusConfig HMImodbusProtocol使用Tutorial插图10

假设创建一个输入register为Voltage的变量,数组Type,大小为10,则对应关系如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图11

1.5 逻辑处理

选择左侧“逻辑处理”节点,点击Tools栏button“添加”逻辑处理。如下图所示,选择所示新建的逻辑关系,然后通过属性窗口进行设置

ModbusConfig HMImodbusProtocol使用Tutorial插图12

通用属性参数介绍:

  • 用途:设置当前逻辑的用途,例如控件绑定、控件显示等
  • 画面:控件所在的画面ID
  • 控件:控件ID
  • 变量:控件关联变量名称
  • 执行条件:可设置该逻辑的执行条件,Always表示总是执行,Changed表示变量改变时执行

1.5.1 控件绑定

设置控件关联的变量:当控件改变时,自动更新变量值;反之变量更新时,更新控件显示

ModbusConfig HMImodbusProtocol使用Tutorial插图13

使用VisualTFT软件V3.0.0.765及以上版本,也可直接在Configuration控件属性窗口设置关联变量名称,如下所示,button控件绑定一个变量

ModbusConfig HMImodbusProtocol使用Tutorial插图14

1.5.2 控件显示

当设置的“执行条件”成立时显示控件,否则隐藏控件

ModbusConfig HMImodbusProtocol使用Tutorial插图15

1.5.3 动画播放

当设置的“执行条件”成立时开始播放动画,否则停止播放

1.5.4 button按下与弹起

button按下时或者弹起时,如果满足“执行条件”,则“执行动作”

1.5.5 条件执行

满足“执行条件”时“执行动作”,为防止重复执行,该逻辑仅在满足条件的瞬间执行一次(类似上升沿触发)

画面条件:限定此逻辑仅在某个画面下effective

1.5.6 Switch画面

满足“执行条件”时,Switch到指定的目标画面,该逻辑为触发方式

  • 目标参数:目标画面可以为变量或者常量
  • 画面条件:限定此逻辑仅在某个画面下effective

1.5.7 设置变量

满足“执行条件”时,设置变量为指定numerical value

  • 写入优化:Enable优化时,仅在改变目标变量时,执行写入
  • 画面条件:限定此逻辑仅在某个画面下effective

1.5.8 汇编指令

支持的汇编指令包括:建议使用Lua或MiniCScript语言实现复杂的交互

  • Jmp跳转:当“执行条件”成立时,跳转到“目标Tags”,只能向后跳转
  • Mov赋值:MOV A B,把“参数变量或常量B”设置到“目标变量B”
  • Add加法:ADD A B,结果A = A+B
  • Sub减法:SUB A B,结果 A = A-B
  • And逻辑与:AND A B,结果A = A&B
  • Or逻辑或:OR A B,结果A=A|B
  • Mul乘法:MUL A B,结果A=A*B
  • Div除法:DIV A B,结果A = A/B

1.5.9 事件记录

当“执行条件”成立时,记录事件ID

1.5.10 曲线绑定

当“执行条件”成立时,在“历史曲线”中记录指定变量

1.5.11 颜色设置

当“执行条件”成立时,设置控件为指定颜色

1.5.12 Text闪烁

当“执行条件”成立时,设置Text控件按指定周期闪烁

ModbusConfig HMImodbusProtocol使用Tutorial插图16

1.5.13 蜂鸣器控制

当“执行条件”成立时,控制蜂鸣器发出声音

  • 模式:可设置为“单次”鸣叫或周期性鸣叫
  • 控制:对于周期性模式,可以设置为开始鸣叫、End鸣叫、由条件控制
  • time:对于“单次”模式,可以设置鸣叫timeLength
  • 周期:对于“周期”模式,可以设置鸣叫的周期
ModbusConfig HMImodbusProtocol使用Tutorial插图17

1.5.14 外接矩阵键盘

该Function为定制Function,常规版本不支持

1.5.15 写入time

屏做主机时,可以定时写指定register,设置从机time

ModbusConfig HMImodbusProtocol使用Tutorial插图18

2 如何创建关联变量

大彩HMImodbus Protocol可支持创建线圈、离散输入、保持register、输入register、内容变量、system变量,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图19
变量TypeRelated说明
线圈(Coils)参与通讯:0x01/0x05/0x0F
离散输入(Discrete Input)参与通讯:0x02
保持register(Holding Register)参与通讯:0x03/0x06/0x10
输入register(Input Register)参与通讯:0x04
内存变量不参与通讯:用于做中间变量、记录一些信息等
system变量不参与通讯:如systemBaud rate、运行time等等

本章节屏幕配置为主机模式,介绍线圈、离散输入、保持register、输入register、system变量的创建和绑定

适用范围: 全系列

例程Download链接:《ModbusTutorial1_入门TutorialV1.0》(点击跳转)

ProtocolOpen、变量Related说明,参考链接:《Modbus 基本参数说明》

2.1 线圈

【线圈】画面是对MODBUSProtocol中“线圈”变量的状态显示和控制,button控件直接绑定“线圈”Type的变量。线圈的状态为0或1,对应button的弹起(0)、按下(1)。运行后,当该address的“线圈”值发生变化后,button控件状态实时改变。同理,通过点击button,可以改变从机中线圈变量Type对应address的状态

变量配置

添建立“机组状态”变量,变量Type设置为“线圈”,添加子节点“开/关机”、“运行/ 停止”,配置变量address为0x0000,详细设置说明参考Modbus 基本参数说明,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图20

画面配置

画面中添加一个button控件(控件ID:1),在button控件的属性栏,设置关联变量“机组状态/开/关机”,button的Operation风格为switch,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图21

运行预览

通过以上两步,控件ID为1的button控件与变量“机组状态/开/关机”建立起了关联。此时,编译工程并运行虚拟HMI,和MODBUS Slave软件建立connect。button控件显示“机组状态/开/关机”的状态。同时点击button控件,更改变量“机组状态/ 开/关机”的状态。同理,控件ID为2的button控件通过以上方法,与变量关联后,实现相应的状态显示和控制Function。如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图22

2.2 离散输入

【离散输入】画面是对MODBUSProtocol中“离散输入”变量的状态显示,图标控件直接绑定“离散输入”Type的变量。图标控件将显示变量的状态,当该address “离散输入”值发生变化后,图标控件对应发生变化

变量配置

添加变量:建立“机组故障”变量,添加子节点“压缩机低压”,变量Type设置为“离散输入”,配置变量address为0x0000,详细设置说明参考Modbus 基本参数说明,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图23

画面配置

画面中添加一个图标控件(控件ID:1),在图标控件的属性栏,设置关联变量“机组故障/压缩机低压”,同理ID2~4的图标控件绑定对应的变量。制作参考《Configuration控件Tutorial-图标控件》,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图24

运行预览

通过以上两步,控件ID为1的图标控件与变量“机组故障/压缩机低压”建立起了关联。此时,编译工程并运行虚拟屏HMI,和MODBUS Slave软件建立connect。图标控件显示变量“机组故障/压缩机低压”的状态。同理,控件ID为2、3、4的图标控件通过以上方法,分别与不同的变量关联后,便可显示相应address变量的状态,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图25

2.3 保持register

【保持register】画面是对MODBUSProtocol中“保持register”变量的numerical value直接显示,Text控件直接绑定“保持register”Type的变量。Text控件将显示变量的值,当该address的“保持register”值发生变化后,Text控件对应发生变化

变量配置

添加变量:创建“设定temperature”变量,变量Type设置为“保持register”,配置变量address为0x0000,如该变量表示temperature,从机传输值为225℃,实际temperature为22.50℃,则实际值和传输值缩放比例为0.1,偏移值为0。则:设置“numerical value转换”为“是”,“缩放”为 “0 .1”,平移为“0”,详细设置说明参考Modbus 基本参数说明,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图26

画面配置

画面中添加一个Text控件(控件ID:1),如图4‑14所示,在Text控件的属性栏,设置关联变量“设定temperature”,输入方式为“弹出system键盘输入(用户主机可输入)”模式,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图27

运行预览

通过以上两步,控件ID为1的Text控件与变量“设定temperature”便建立起了关联。此时,编译工程并运行虚拟HMI,和MODBUS Slave软件建立connect,Text控件便显示变量“设定temperature”的numerical value,点击Text控件,弹出键盘,可对变量“设定temperature”设置值。同理控件ID为2、3、4的Text控件通过以上方法分别与不同的变量关联后,实现相应的numerical value显示和控制Function,运行效果如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图28

2.4 输入register

【输入register】画面是对MODBUSProtocol中“输入register”变量numerical value的直接显示,Text控件直接绑定“输入register”Type的变量,Text控件将显示变量的值,当该address的“输入register”值发生变化后,Text控件对应发生变化

变量配置

创建“temperature”变量,变量Type设置为“输入register”,配置变量address为0x0000,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图29

画面配置

画面中添加一个Text控件(控件ID:1),在Text控件的属性栏,设置关联变量“temperature”,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图30

运行预览

通过以上两步,控件ID为1的Text控件与0x0000address的“temperature”便建立起了关联。此时,编译工程并运行虚拟HMI,和MODBUS Slave软件建立connect,Text控件便显示 0x0000 address的保持register的numerical value。同理,控件ID为2、3、4的Text控件通过以上方法分别与不同的变量关联后,便可显示相应address的变量值,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图31

2.5 system变量

【system变量】system变量是system中预先定义的变量,方便在直接访问,屏幕中预定义的变量,包括Baud rate(可读)、背光Brightness(可读写)、蜂鸣器switch(1使能蜂鸣器,0不使能,可读写)、通讯故障(0为正常,非0故障,可读)、当前画面ID(可读写)、运行time(单位:分钟,可读)、日期(可读)等

变量配置

添加变量:创建“背光Brightness”变量,变量Type设置为“system变量”,system变量参数为“背光Brightness”,详细设置说明参考Modbus 基本参数说明,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图32

画面配置

画面中添加progress bar控件(控件ID:2)、滑动条控件(控件ID:3)。progress bar控件属性栏,设置滑动通知为“关联滑动条”;滑动条控件属性栏,设置关联变量为“背光Brightness”。滑块控件和progress bar控件的具体应用参考 Configuration控件Tutorial – 滑块控件 Tutorial,如下所示

运行预览

通过以上两步,控件ID为2的滑动条控件与内存变量“背光Brightness”建立起了关联;此时,编译工程并运行虚拟HMI,滑动“滑动条控件”的游标可控制屏幕的背光Brightness。同理,其他控件ID绑定对应的Text控件或button控件,通过以上方法分别与不同的变量关联后,便可显示或控制system变量的变量值,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图33

3 button控件和Text控件

本章节主要介绍button控件、Text控件在ModbusProtocol中常见的应用。其中简单的控件绑定变量,可以在Configuration配置页面关联,或者在【Tools-Protocol与变量-逻辑处理】绑定变量

本章节屏幕当主站,读写从机指令,若屏幕当从站,Text、button控件的应用一样,参考即可,本章节创建2个线圈、4个保存register,用于说明button控件、Text控件的应用,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图34

适用范围: 全系列

例程Download链接:《ModbusTutorial1_入门TutorialV1.0》(点击跳转)

ProtocolOpen、变量Related说明,参考链接:《Modbus 基本参数说明》

3.1 button控件

【button控件】画面,当MODBUSProtocol版本中,button按下或弹起时可以执行一些预设的逻辑Operation

画面/逻辑配置

设置关机

【button控件】画面,button控件ID1,Configuration界面不直接关联控件,,添加以下逻辑处理

添加逻辑处理:用途用于【控件绑定】,填写对应的画面ID1、button控件ID1,变量为【机组状态/开/关机】

ModbusConfig HMImodbusProtocol使用Tutorial插图35
设置湿度40%

【button控件】画面,button控件ID2、Text控件ID3,Configuration界面不直接关联控件,添加以下逻辑处理

第1条:用途用于【button按下】,填写对应的画面ID1、button控件ID2,执行动作为【设置变量】 ,设置【设置湿度】为40

第2条:用途用于【控件绑定】,填写对应的画面ID1、Text控件ID3,变量为【设置湿度】,绑定的变量为【设置湿度】

如下所示:

ModbusConfig HMImodbusProtocol使用Tutorial插图36
设置temperature

【button控件】画面,button控件ID4和ID6、Text控件ID5,Configuration界面不直接关联控件,添加以下逻辑处理

第1条:用途用于【button按下】,填写对应的画面ID1、button控件ID4,执行动作为【增量调节】 、调节的变量为【设置temperature】、调节1步长为【1】(步长只能为整数),调节方式为【递减】

第2条:用途用于【控件绑定】,填写对应的画面ID1、Text控件ID5,绑定的变量为【设置temperature】

第3条:用途用于【button按下】,填写对应的画面ID1、button控件ID6,执行动作为【增量调节】 、调节的变量为【设置temperature】、调节1步长为【1】(步长只能为整数),调节方式为【递增】

如下所示:

ModbusConfig HMImodbusProtocol使用Tutorial插图37

运行预览

根据画面配置和逻辑处理,结合modbus slaveDebug Tools,当按下button控件(控件ID:1),从机设备的状态为关机。同理,button按下时还可以用于保存register的变量设置,增量调节等Function,运行结果如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图38

3.2 Text控件

【Text控件】画面,Text控件主要是用于显示绑定的变量值。对于线圈、保持register等可读写Type的变量,可以设置“输入方式”为弹出system键盘输入,通过弹出的键盘对绑定的变量值进行修改。另外可以绑定修改显示颜色、闪烁的逻辑处理

画面/逻辑配置

画面中添加一个Text控件(控件ID:1),作为显示电压值;输入方式为弹出键盘,添加以下逻辑处理:

第1条:用途为“控件绑定”,绑定变量“电压”

第2条:用途为“设置颜色”,颜色设置为红色(RGB(255,0,0)),执行条件为“设定电压”的值大于“250”

第3条:用途为“设置颜色”,颜色设置为黑色(RGB(0,0,0)),执行条件为“设定电压”的值小于等于“250”

第4条:用途为“Text闪烁”,执行条件为“设定电压”的值大于“250”

ModbusConfig HMImodbusProtocol使用Tutorial插图39

运行预览

实时显示电流电压的numerical value。当“电压”的值大于250时,Text显示为红色并闪烁,如果“电压”的值小于等于250时,Text显示为黑色,并且不闪烁,如下所示:

ModbusConfig HMImodbusProtocol使用Tutorial插图40

4 仪表、滑块和progress bar控件

本章节主要介绍仪表控件、滑块控件、progress bar控件在ModbusProtocol中常见的应用。其中简单的控件绑定变量,可以在Configuration配置页面关联,或者在【Tools-Protocol与变量-逻辑处理】绑定变量

本章节屏幕当主站,读写从机指令,若屏幕当从站,仪表、滑块、progress bar控件的应用一样,参考即可,本章节创建2个保存register、2个输入register,用于说明仪表控件、滑块控件、progress bar应用,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图41

适用范围: 全系列

例程Download链接:《ModbusTutorial3-仪表、滑块及progress bar控件V1.0》(点击跳转)

ProtocolOpen、变量Related说明,参考链接:《Modbus 基本参数说明》

4.1 仪表控件

【仪表控件】画面主要对仪表控件的使用做示例说明。仪表控件反映用户主机上的data变化,满足用户使用的仪器仪表界面

画面/逻辑配置

方法一:逻辑处理绑定

画面中添加一个仪表控件(控件ID:1),作为显示从机电压值,打开【Tools-Protocol与变量】,添加1条逻辑处理

用途用于【控件绑定】,填写对应的画面ID1、仪表控件ID1,绑定的变量为【电压】,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图42
方法二:Configuration画面绑定

画面中添加一个仪表控件(控件ID:2),作为显示从机电流。且在其属性栏窗口中绑定“电流”变量,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图43

运行预览

此时,编译工程并运行虚拟HMI,和Modbus Slave软件联机,仪表控件实时显示电压(控件ID:1)、电流(控件ID:2)的变化

ModbusConfig HMImodbusProtocol使用Tutorial插图44

4.2 滑块和progress bar控件

【progress bar和滑块控件】画面,将progress bar控件和滑块控件一起配合使用,progress bar的通知为关联滑动条,主要是用于显示绑定的变量值,通过拖动滑块控件的游标,改变变量值

画面/逻辑配置

方法一:逻辑处理绑定

画面中添加progress bar控件(控件ID:1)、滑块控件(控件ID:2)。在【Protocol与变量设置】中添加1条逻辑处理

用途用于【控件绑定】,填写对应的画面ID2、仪表控件ID2,绑定的变量为【设置temperature】,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图45
方法二:Configuration软件绑定

画面中添加progress bar控件(控件ID:3)、滑动条控件(控件ID:4)。滑块控件直接绑定【设置湿度】,配置如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图46

运行预览

此时,编译工程并运行虚拟HMI,和Modbus Slave软件联机。当变量的值发生变化时,滑块控件和progress bar显示的状态也会相应的更新;通过鼠标点击滑块控件并拖动,变量的值也会相应变化更新

ModbusConfig HMImodbusProtocol使用Tutorial插图47

5 菜单控件和滑动选择控件

本章节主要介绍滑动选择控件、菜单控件在ModbusProtocol中常见的应用。其中简单的控件绑定变量,可以在Configuration配置页面关联,或者在【Tools-Protocol与变量-逻辑处理】绑定变量

本章节屏幕当主站,读写从机指令,若屏幕当从机,滑动选择控件、菜单控件的应用一样,参考即可,本章节创建2个保存register,用于说明滑动选择控件、菜单控件的应用,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图48

使用范围:全系列

例程Download链接:《ModbusTutorial4_滑动选择和菜单选择控件V1.0.rar》

ProtocolOpen、变量Related说明,参考链接:《Modbus 基本参数说明》

5.1 菜单控件

【菜单控件】画面主要对菜单控件的使用做示例说明,菜单控件的“风格”有两种:“弹出菜单”和“固定菜单”。此处主要做弹出菜单使用说明,“菜单风格”为“弹出菜单”,需要button控件将菜单控件和Text控件关联使用,点击button弹出菜单控件,选中菜单项后直接显示在Text控件中

画面/逻辑配置

方法一:逻辑处理绑定

画面中添加一个菜单控件(控件ID:2),作为控制从机switch机,详细配置如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图49

在【Protocol与变量设置】中添加一条逻辑处理,该逻辑处理的用途为“控件绑定”,画面为“1”;控件为“2”;变量为“机组状态/开/关机”,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图50
方法二:Configuration画面绑定

画面中添加一个菜单控件(控件ID:5),作为控制从机风速。且在其属性栏窗口中绑定“设置temperature”变量,详细配置如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图51

运行预览

此时,编译工程并运行虚拟HMI,和Modbus Slave软件联机,当按下button控件(控件ID:4),弹出菜单控件(控件ID:5),选择菜单控件的“一级”选项,直接“一级”将显示在Text控件(ID:6)中,且从机变量“设置风速”相应改变

ModbusConfig HMImodbusProtocol使用Tutorial插图52

5.2 滑动选择控件

【滑动选择控件】画面,选择控件主要有两种用途:“滑动选择”和“状态显示”。“滑动选择”主要用于通过触摸屏滑动选择预设的选项;“状态显示”主要用于显示不同的预设选项,类似图标控件

画面/逻辑配置

方法一:逻辑处理绑定

画面中添加一个滑动选择控件(控件ID:1),作为显示风机状态;用途为“状态显示”,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图53

在【Protocol与变量设置】中添加1条逻辑处理:用途为“控件绑定”;画面为“2”;控件为“1”;变量为“机组状态/风机故障”。如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图54
方法二:Configuration画面绑定

画面中添加一个菜单控件(控件ID:2),作为控制从机风速等级。在其属性栏窗口中绑定“设置风速”变量,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图55

运行预览

此时,编译工程并运行虚拟HMI,和Modbus Slave软件联机。当变量“机组状态/风机故障”的值发生变化时, 滑动选择控件(控件ID:1)显示的状态也会相应的更新;通过鼠标点滑动选择控件(控件ID:2)并拖动,当拖动停止后,选中某个选项,同时变量“设置风速”的值也会变化更新

ModbusConfig HMImodbusProtocol使用Tutorial插图56

6 曲线和历史曲线控件

本章节主要介绍曲线控件、历史曲线控件在ModbusProtocol中常见的应用。其中简单的控件绑定变量,可以在Configuration配置页面关联,或者在【Tools-Protocol与变量-逻辑处理】绑定变量

本章节屏幕当主站,读写从机指令,若屏幕当从机,曲线控件、历史曲线控件的应用一样,参考即可,本章节创建2个保存register,用于说明曲线,历史曲线的应用,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图57

适用范围:全系列

例程Download链接:《ModbusTutorial-5-曲线和历史曲线控件V1.0》

ProtocolOpen、变量Related说明,参考链接:《Modbus 基本参数说明》

6.1 曲线控件

【曲线控件】画面,主要对曲线控件的使用做示例说明。MODBUSProtocol版本中,曲线控件用于显示关联的变量,曲线控件周期性的采样变量值, 然后将所有采样值绘制到曲线控件内,connect形成曲线;曲线控件的每个通道都可以关联一个变量,最多可以设置8个通道

画面/逻辑配置

画面中添加一个曲线控件(ID:1),作为显示从机“temperature”值。同时添加两个button控件(ID为2和4)作为增减“temperature”变量的控制,以及添加一个Text控件(ID:3),直接绑定“temperature”,作为numerical value的显示。曲线控件的Related参数配置,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图58

在【Protocol与变量设置】中添加3条逻辑处理:

第1条:用途为“曲线绑定”,画面为“1”;控件为“1”;通道为“0”,变量为“temperature”;采集周期为“1”

第2条:控制“temperature”的增减。用途为【button按下】,填写画面ID为1,控件ID为2;执行动作为【增量调节】,变量为【temperature】,调节步长为【1】,调节方式为【递减】;循环从0~100调节

第3条:控制“temperature”的递增。用途为【button按下】,填写画面ID为1,控件ID为4;执行动作为【增量调节】,变量为【temperature】,调节步长为【1】,调节方式为【递增】;循环从0~100调节。如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图59

运行预览

此时,编译工程并Download到HMI,和MODBUS Slave软件联机,曲线控件实时显示temperature的变化。同时按下button控件(ID:2和ID:4)可以对“temperature”变量的控制,曲线控件的显示也随着改变,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图60

6.2 历史曲线控件

【历史曲线控件】画面,主要对历史曲线控件的使用做示例说明。历史曲线控件和曲线控件都可以实时采样、显示绑定的变量值。不同处是历史曲线控件保存前期的data,可以View历史data。MODBUSProtocol版本中,历史曲线控件用于显示关联的变量值,历史曲线控件周期性的采样变量值,然后将所有采样值绘制到历史曲线控件内,connect形成曲线;历史曲线控件的每个通道都可以关联一个变量,最多可以设置8个通道。

画面/逻辑配置

画面中添加一个历史曲线控件(ID:1),作为显示从机“湿度”值。同时添加两个button控件(ID为2和4)作为增减“湿度”变量的控制;以及添加一个Text控件(ID:3),直接绑定变量“湿度”,作为numerical value的显示。历史曲线控件的Related参数配置如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图61

在【Protocol与变量设置】中添加3条逻辑处理:

第1条:用途为“曲线绑定”,画面为“2”;控件为“1”;通道为“0”,变量为“湿度”;采集周期为“1”

第2条:控制“湿度”的增减。用途为【button按下】,填写画面ID为2,控件ID为2;执行动作为【增量调节】,变量为【湿度】,调节步长为【1】,调节方式为【递减】;循环从0~100调节

第3条:控制“湿度”的递增。用途为【button按下】,填写画面ID为2,控件ID为4;执行动作为【增量调节】,变量为【湿度】,调节步长为【1】,调节方式为【递增】;循环从0~100调节。如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图62

运行预览

此时,编译工程并Download到HMI,和MODBUS Slave软件联机,历史曲线控件实时显示湿度的变化。当屏幕显示的采样点数大于设置的值(默认为 100),可以通过历史曲线控件上方的滚动条View历史data。同时按下button控件(ID:2和ID:4)可以对“湿度”变量的控制,历史曲线控件的显示也随着改变

ModbusConfig HMImodbusProtocol使用Tutorial插图63

7 图标控件和动画控件

本章节主要介绍图标控件、动画控件在ModbusProtocol中常见的应用。其中简单的控件绑定变量,可以在Configuration配置页面关联,或者在【Tools-Protocol与变量-逻辑处理】绑定变量

本章节屏幕当主站,读写从机指令,若屏幕当从机,图标控件、动画控件的应用一样,参考即可,本章节1组离散输入变量,2个输入register用于说明图标控件和动画控件的应用,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图64

适用范围:全系列

例程Download链接:《ModbusTutorial7-图标和动画控件V1.0》

ProtocolOpen、变量Related说明,参考链接:《Modbus 基本参数说明》

7.1 图标控件

【图标控件】画面,主要对图标控件的使用做示例说明。图标控件为GIF或ICONformat的动画文件,默认图标索引从0开始。在MODBUSProtocol中可以使用图标控件绑定变量,形象地Display Devices的状态

画面/逻辑配置

方法一:逻辑处理绑定

画面中添加一个图标控件(控件ID:1),作为显示从机“机组故障/压缩机状态”,如下所示

控件ID:2配置同理

图标文件的生成,参考链接:《ICON控件应用》(点击跳转)

ModbusConfig HMImodbusProtocol使用Tutorial插图65

在【Protocol与变量设置】中添加一条逻辑处理,该逻辑处理的用途为“控件绑定”,画面为“1”;控件为“1”;变量为“机组故障/压缩机低压”,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图66
方法二:Configuration画面绑定

画面中添加一个图标控件(控件ID:3),作为显示从机烟感报警状态。且在其属性栏窗口中绑定“机组故障/烟感报警”变量,详细配置如下所示

控件ID:4配置同理

ModbusConfig HMImodbusProtocol使用Tutorial插图67

运行预览

此时,编译工程并运行虚拟HMI,和Modbus Slave软件联机。当变量“机组故障”每一个节点的值不间断发生变化时, 图标控件(控件ID:1~ID4)显示的状态也会相应的更新

ModbusConfig HMImodbusProtocol使用Tutorial插图68

7.2 动画控件

【动画控件】画面主要对动画控件的使用做示例说明,动画控件用于播放设置的GIF或ICONformat的动画文件,可以控制暂停或者播放

画面/逻辑配置

方法一:逻辑处理绑定

画面中添加一个动画控件(控件ID:1),作为显示控制从机“动画1”变量;同时添加两个button控件(ID为2和3)作为动画控件(控件ID1)的播放、暂停的控制,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图69

在【Protocol与变量设置】中添加3条逻辑处理 :

第1条:用途为“动画播放”,画面为“2”;控件为“1”;和“动画1“关联

第2条:控制“动画”的播放。用途为【button按下】,填写画面ID为2,控件ID为2;执行动作为【设置变量】,变量为【动画1】,设置值为1

第3条:控制“动画”的暂停。用途为【button按下】,填写画面ID为2,控件ID为3;执行动作为【设置变量】,变量为【动画1】,设置值为0

ModbusConfig HMImodbusProtocol使用Tutorial插图70
方法二:Configuration画面绑定

画面中添加一个动画控件(控件ID:4),作为显示控制从机“动画2”变量。在其属性栏窗口中绑定“动画2”变量。添加一个button控件(ID:5),作为动画控件(控件ID4)的播放、暂停的控制,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图71

运行预览

此时,编译工程并运行虚拟HMI,和Modbus Slave软件联机。当变量“动画1”的值不为“0”的时候,动画控件(控件ID:1)播放动画;同时点击button控件(控件ID:2或3),可以控制动画控件“播放”或者“停止”,同时变量“动画1”的值相应改变。同理,动画控件(控件ID:4)的现象和Operation类似。

ModbusConfig HMImodbusProtocol使用Tutorial插图72

8 二维码控件和RTC控件

本章节主要介绍二维码控件、RTC控件在ModbusProtocol中常见的应用。其中二维码控件只支持在【Tools-Protocol与变量-逻辑处理】绑定变量

本章节屏幕当主站,本章节创建1个保存register,用于二维码控件的应用,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图73

适用范围:基本型-二维码特殊支持,其他系列均支持

例程Download链接:《ModbusTutorial8-二维码控件和RTC控件V1.0》

ProtocolOpen、变量Related说明,参考链接:《Modbus 基本参数说明》

8.1 二维码控件

【二维码】画面主要对二维码控件的使用做示例说明。二维码控件可以将设定的字符串以二维码的形式显示出来。可以被一些扫描仪器识别。

注意:基本型系列的HMI使用二维码控件需要特殊的固件支持

画面/逻辑配置

画面中添加一个二维码控件(控件ID:1),控件属性配置,如下所示:

ModbusConfig HMImodbusProtocol使用Tutorial插图74

在【Protocol与变量设置】中添加一个变量,变量Type为“字符串”,字符串Length为32,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图75

在【Protocol与变量设置】中添加一条逻辑处理,该逻辑处理的用途为“控件绑定”,画面为“1”;控件为“1”;变量为“二维码”,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图76

运行预览

此时,编译工程并运行虚拟HMI,二维控件将字符串“VisualTFT”以二维码的形式显示出来,和Modbus Slave软件联机,二维控件控件显示对应字符串。

ModbusConfig HMImodbusProtocol使用Tutorial插图77

8.2 RTC控件

【RTC控件】画面主要对RTC控件的使用做示例说明,当屏做主机时,修改从机RTCtime;从机创建固定address的保持register,用于存放time变量,连续7个保持register,分别存放年、月、星期、日、时、分、秒,屏幕周期性地把最新的time通过0x10指令写从机register

画面/逻辑配置

画面中添加一个RTC控件(控件ID:1),如下所示:

ModbusConfig HMImodbusProtocol使用Tutorial插图78

在【Protocol与变量设置】中添加1条逻辑处理:用途为“写入time”;从机address为“1”;register为“50”(decimal);周期为“10”(单位秒),如下所示:

ModbusConfig HMImodbusProtocol使用Tutorial插图79

运行预览

此时,编译工程并运行虚拟HMI,和Modbus Slave软件联机。主机每10S将RTCtimesend至从机。

ModbusConfig HMImodbusProtocol使用Tutorial插图80

9 控件显示隐藏和多语言Function

本章节主要介绍控件的显示和隐藏、多语言的应用。其中Configuration控件才支持显示隐藏,Configuration控件Type可参考VisualTFT 工作界面介绍,支持多语言的控件有文字、button、菜单、滑动选择、data记录(告警)等等

本章节屏幕当主站,本章节创建1个保存register,用于控制Configuration控件的显示隐藏;创建一个system变量,用于语言控制选择,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图81

适用范围:全系列

例程Download链接:《ModbusTutorial9-控件隐藏和多语言V1.0》

ProtocolOpen、变量Related说明,参考链接:《Modbus 基本参数说明》

9.1 控件显示隐藏

【显示隐藏控件Function】画面主要对显示隐藏控件Function的使用做示例说明。当需要在某个条件成立的情况下,隐藏或显示一个或一些控件的应用

画面/逻辑配置

画面中添加一个Text控件(控件ID:1),作为控制控件的隐藏和显示。添加一个progress bar控件(控件ID:1)、一个仪表控件(控件ID:2)、一个Text控件(控件ID:3)作为被显示或被隐藏,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图82

在【Protocol与变量设置】中添加3条逻辑处理:第一条:用途为“控件显示”;画面为“1”;控件为“2”;执行条件为“变量 【控件显示】不为0”,同理,第2、3条设置类是

ModbusConfig HMImodbusProtocol使用Tutorial插图83

运行预览

此时,编译工程并运行虚拟HMI,和Modbus Slave软件建立联机。当变量“控件显示”的值为“0”,滑动条控件(控件ID:2)、仪表控件(控件ID:3)、Text控件(控件ID:4)被隐藏;当变量“控件显示”的值为“1”,这些控件显示出来。同时,点击Text控件(控件ID:1),弹出键盘输入“0”或“1”,控制控件显示或隐藏。

ModbusConfig HMImodbusProtocol使用Tutorial插图84

9.2 多语言

【多语言Function】画面主要对多语言Function的使用做示例说明。针对面向不同的客户,需要多语言应用。屏支持文字、菜单控件和滑动选择控件的多语言设置。工程以3个button来控制文字、菜单控件和滑动选择控件的中文、英文、繁体的显示

画面/逻辑配置

画面中添加一个文字(ID:1)、滑动选择控件(控件ID:2)、菜单控件(控件ID:3),用于显示不同语言。以文字控件为例,控件属性设置如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图85

画面中添加3个button控件(控件ID:4、5、6)用于控制显示不同的语言。以button控件ID4为例,控件属性配置如下所示

button控件ID4~6,做了互斥Function(同时只能选中一个,可参考《Configuration控件Tutorial——button控件》1.3章节button互斥

ModbusConfig HMImodbusProtocol使用Tutorial插图86

【Protocol与变量设置】中添加3条逻辑处理:第一条,用途为“button按下”;画面为“2”;控件为“4”;执行条件为“设置[system语言]为0”,对应显示“语言1”。同理,第2、3条设置类是,如下所示

ModbusConfig HMImodbusProtocol使用Tutorial插图87

运行预览

此时,编译工程并运行虚拟HMI,和Modbus Slave软件联机。当按下button控件(控件ID:1)时显示中文;按下钮控件(控件ID:5)时显示“英文”;当button控件(控件ID:5)时显示“繁体”

ModbusConfig HMImodbusProtocol使用Tutorial插图88

Technology术语(共 5 个)—— 点击展开
registerModbus register存储data单元,分线圈/离散输入/保持/输入register四类
Baud rate串行Communication每秒传输符号数,Modbus RTU常用9600/19200
串口计算机与外部设备进行串行Communication的物理Interface
线圈Modbus位可读写data,address从00001开始
保持registerModbus 16位可读写data,address从40001开始
来源/Tools信息 —— 点击展开
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbuscommunication protocol technical community Category 未Category 字数 13727 字 · 阅读约 35 分钟 更新 2026-07-01 永久链接 https://www.modbus.cn/29595.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus DebuggingTools,支持 Modbus RTU/TCP 实时Communicationdebug、register读写、线圈控制、data监控和message分析。 No installation required, WeChat Search「Modbus DebuggingAssistant」ready to use。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.