1 Modbus 基本参数说明
Modbus协议的应用,本章节主要从以下几部分说明
- 开启协议
- 配置主从机
- 创建变量
- 变量地址和值的关系
- 逻辑处理
1.1 开启协议
Modbus 协议的配置界面在VisualTFT 上位机的菜单栏【工具】→【协议与变量设置…】,点击左侧文件路径,在右侧的协议设置栏,设置协议类型,如选择Modbus主机,启用协议,如下所示
modbus协议开启后,在组态界面上,控件才能显示【关联变量】

1.2 配置主从机
主机模式
Modbus主机的配置,参数如下所示

- 启用协议:需要启用协议,才支持Modbus协议
- 协议类型:选择Modbus主机
- 轮询周期:无效参数,不用设置
- 轮询延时:屏作主机时,发送请求指令,到屏幕应答后,等待发送下一条请求指令的时间
- 应答超时:屏作主机时,允许从机的最大延时,默认100毫秒
- 连续读取:设置连续地址变量的最大读取数
- 优化读取:开启优化读取后,只读取与当前画面相关的变量
- 存储设置 :开启存储后,Flash地址0~2048,约2K为Modbus变量存储所有,其他存储应规避此地址!!!不存储:不存储,断电重启后变量恢复默认值全部存储:不推荐,因为频繁存储会导致FLASH坏块增加存储指定变量:推荐使用,一般用来存储很少更改的系统配置参数
- 存储标记:识别存储在屏幕中的数据版本标记, 当存储数据格式发生改动时,一般需要手动修改此存储标记值

从机模式
- 启用协议:需要启用协议,才支持Modbus协议
- 协议类型:选择Modbus从机
- 从机地址:默认为1
- 存储设置 :开启存储后,Flash地址0~2048,约2K为Modbus变量存储所私有,其他存储应规避此地址!!!不存储:不存储,断电重启后变量恢复默认值全部存储:不推荐,因为频繁存储会导致FLASH坏块增加存储指定变量:推荐使用,一般用来存储很少更改的系统配置参数
- 存储标记:识别存储在屏幕中的数据版本标记,当存储数据格式发生改动时,一般需要手动修改此存储标记值

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

变量定义
详细变量解析如下,如下所示

- 名称:默认的变量名称为“Varialbe1、Varialbe2、Varialbe3……”,可以定义有意义的名称,如:机组状态;如果需要对变量分bit含义,默认的名称为“Field1、Field2、Field3……”, 可以定义有意义的名称,如:开/关机、运行/停止
- 格式:支持短整形、长整型、单精度浮点数、字符串
- 符号:可设置无符号、有符号
- 读写设置:设置变量的读写权限,支持可读写、只读取、只写入
- 默认值:默认显示值
- 数值转换:对变量进行转换,例如:实际值=原始值*缩放+平移
- 显示格式:设置整数和小数部分的位数
- 数组类型:开启数组类型,从该变量的地址开始,操作连续N个寄存器
- 是否储存:当在配置Modbus主/从协议时开启存储设置,此处若选择存储,可掉电保存数据
参数
详细参数设置解析如下所示

- 变量类型:线圈、离散输入、保持寄存器、输入寄存器、内存变量、系统变量
- 从机地址:屏作主机时,才需要设置
- 变量地址:变量(或寄存器)的地址,16进制填写
- 初始化从机:屏作主机时,屏上电后,把变量的值写入从机设备
- 读取失败归零:屏作主机时,当变量读取失败时,变量的值归零
1.4 变量地址和值的关系
线圈/离散数据
创建一个线圈或离散输入寄存器,变量格式为短整型,则里面含有16个线圈(从上到下,依次为bit0….bit15),假设该变量地址为0x0000,那么变量包含0x0000~0x000F地址范围内的变量,一个bit对应一个线圈,如下所示

字符串类型
创建一个保存寄存器,变量格式为字符串类型(默认32个字符),假设该变量的地址为0x0000,那么此字符串对应包含0x0000~0x000F地址范围内的变量,一个地址对应两个字符

假设保存寄存器地址0,值为‘abcdefghij’,如下所示

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

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

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

通用属性参数介绍:
- 用途:设置当前逻辑的用途,例如控件绑定、控件显示等
- 画面:控件所在的画面ID
- 控件:控件ID
- 变量:控件关联变量名称
- 执行条件:可设置该逻辑的执行条件,Always表示总是执行,Changed表示变量改变时执行
1.5.1 控件绑定
设置控件关联的变量:当控件改变时,自动更新变量值;反之变量更新时,更新控件显示

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

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

1.5.3 动画播放
当设置的“执行条件”成立时开始播放动画,否则停止播放
1.5.4 按钮按下与弹起
按钮按下时或者弹起时,如果满足“执行条件”,则“执行动作”
1.5.5 条件执行
满足“执行条件”时“执行动作”,为防止重复执行,该逻辑仅在满足条件的瞬间执行一次(类似上升沿触发)
画面条件:限定此逻辑仅在某个画面下有效
1.5.6 切换画面
满足“执行条件”时,切换到指定的目标画面,该逻辑为触发方式
- 目标参数:目标画面可以为变量或者常量
- 画面条件:限定此逻辑仅在某个画面下有效
1.5.7 设置变量
满足“执行条件”时,设置变量为指定数值
- 写入优化:启用优化时,仅在改变目标变量时,执行写入
- 画面条件:限定此逻辑仅在某个画面下有效
1.5.8 汇编指令
支持的汇编指令包括:建议使用Lua或MiniC脚本语言实现复杂的交互
- Jmp跳转:当“执行条件”成立时,跳转到“目标标签”,只能向后跳转
- 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 文本闪烁
当“执行条件”成立时,设置文本控件按指定周期闪烁

1.5.13 蜂鸣器控制
当“执行条件”成立时,控制蜂鸣器发出声音
- 模式:可设置为“单次”鸣叫或周期性鸣叫
- 控制:对于周期性模式,可以设置为开始鸣叫、结束鸣叫、由条件控制
- 时间:对于“单次”模式,可以设置鸣叫时间长度
- 周期:对于“周期”模式,可以设置鸣叫的周期

1.5.14 外接矩阵键盘
该功能为定制功能,常规版本不支持
1.5.15 写入时间
屏做主机时,可以定时写指定寄存器,设置从机时间

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绑定对应的文本控件或按钮控件,通过以上方法分别与不同的变量关联后,便可显示或控制系统变量的变量值,如下所示

3 按钮控件和文本控件
本章节主要介绍按钮控件、文本控件在Modbus协议中常见的应用。其中简单的控件绑定变量,可以在组态配置页面关联,或者在【工具-协议与变量-逻辑处理】绑定变量
本章节屏幕当主站,读写从机指令,若屏幕当从站,文本、按钮控件的应用一样,参考即可,本章节创建2个线圈、4个保存寄存器,用于说明按钮控件、文本控件的应用,如下所示

适用范围: 全系列
例程下载链接:《Modbus教程1_入门教程V1.0》(点击跳转)
协议开启、变量相关说明,参考链接:《Modbus 基本参数说明》
3.1 按钮控件
【按钮控件】画面,当MODBUS协议版本中,按钮按下或弹起时可以执行一些预设的逻辑操作
画面/逻辑配置
设置关机
【按钮控件】画面,按钮控件ID1,组态界面不直接关联控件,,添加以下逻辑处理
添加逻辑处理:用途用于【控件绑定】,填写对应的画面ID1、按钮控件ID1,变量为【机组状态/开/关机】

设置湿度40%
【按钮控件】画面,按钮控件ID2、文本控件ID3,组态界面不直接关联控件,添加以下逻辑处理
第1条:用途用于【按钮按下】,填写对应的画面ID1、按钮控件ID2,执行动作为【设置变量】 ,设置【设置湿度】为40
第2条:用途用于【控件绑定】,填写对应的画面ID1、文本控件ID3,变量为【设置湿度】,绑定的变量为【设置湿度】
如下所示:

设置温度
【按钮控件】画面,按钮控件ID4和ID6、文本控件ID5,组态界面不直接关联控件,添加以下逻辑处理
第1条:用途用于【按钮按下】,填写对应的画面ID1、按钮控件ID4,执行动作为【增量调节】 、调节的变量为【设置温度】、调节1步长为【1】(步长只能为整数),调节方式为【递减】
第2条:用途用于【控件绑定】,填写对应的画面ID1、文本控件ID5,绑定的变量为【设置温度】
第3条:用途用于【按钮按下】,填写对应的画面ID1、按钮控件ID6,执行动作为【增量调节】 、调节的变量为【设置温度】、调节1步长为【1】(步长只能为整数),调节方式为【递增】
如下所示:

运行预览
根据画面配置和逻辑处理,结合modbus slave调试工具,当按下按钮控件(控件ID:1),从机设备的状态为关机。同理,按钮按下时还可以用于保存寄存器的变量设置,增量调节等功能,运行结果如下所示

3.2 文本控件
【文本控件】画面,文本控件主要是用于显示绑定的变量值。对于线圈、保持寄存器等可读写类型的变量,可以设置“输入方式”为弹出系统键盘输入,通过弹出的键盘对绑定的变量值进行修改。另外可以绑定修改显示颜色、闪烁的逻辑处理
画面/逻辑配置
画面中添加一个文本控件(控件ID:1),作为显示电压值;输入方式为弹出键盘,添加以下逻辑处理:
第1条:用途为“控件绑定”,绑定变量“电压”
第2条:用途为“设置颜色”,颜色设置为红色(RGB(255,0,0)),执行条件为“设定电压”的值大于“250”
第3条:用途为“设置颜色”,颜色设置为黑色(RGB(0,0,0)),执行条件为“设定电压”的值小于等于“250”
第4条:用途为“文本闪烁”,执行条件为“设定电压”的值大于“250”

运行预览
实时显示电流电压的数值。当“电压”的值大于250时,文本显示为红色并闪烁,如果“电压”的值小于等于250时,文本显示为黑色,并且不闪烁,如下所示:

4 仪表、滑块和进度条控件
本章节主要介绍仪表控件、滑块控件、进度条控件在Modbus协议中常见的应用。其中简单的控件绑定变量,可以在组态配置页面关联,或者在【工具-协议与变量-逻辑处理】绑定变量
本章节屏幕当主站,读写从机指令,若屏幕当从站,仪表、滑块、进度条控件的应用一样,参考即可,本章节创建2个保存寄存器、2个输入寄存器,用于说明仪表控件、滑块控件、进度条应用,如下所示

适用范围: 全系列
例程下载链接:《Modbus教程3-仪表、滑块及进度条控件V1.0》(点击跳转)
协议开启、变量相关说明,参考链接:《Modbus 基本参数说明》
4.1 仪表控件
【仪表控件】画面主要对仪表控件的使用做示例说明。仪表控件反映用户主机上的数据变化,满足用户使用的仪器仪表界面
画面/逻辑配置
方法一:逻辑处理绑定
画面中添加一个仪表控件(控件ID:1),作为显示从机电压值,打开【工具-协议与变量】,添加1条逻辑处理
用途用于【控件绑定】,填写对应的画面ID1、仪表控件ID1,绑定的变量为【电压】,如下所示

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

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

4.2 滑块和进度条控件
【进度条和滑块控件】画面,将进度条控件和滑块控件一起配合使用,进度条的通知为关联滑动条,主要是用于显示绑定的变量值,通过拖动滑块控件的游标,改变变量值
画面/逻辑配置
方法一:逻辑处理绑定
画面中添加进度条控件(控件ID:1)、滑块控件(控件ID:2)。在【协议与变量设置】中添加1条逻辑处理
用途用于【控件绑定】,填写对应的画面ID2、仪表控件ID2,绑定的变量为【设置温度】,如下所示

方法二:组态软件绑定
画面中添加进度条控件(控件ID:3)、滑动条控件(控件ID:4)。滑块控件直接绑定【设置湿度】,配置如下所示

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

5 菜单控件和滑动选择控件
本章节主要介绍滑动选择控件、菜单控件在Modbus协议中常见的应用。其中简单的控件绑定变量,可以在组态配置页面关联,或者在【工具-协议与变量-逻辑处理】绑定变量
本章节屏幕当主站,读写从机指令,若屏幕当从机,滑动选择控件、菜单控件的应用一样,参考即可,本章节创建2个保存寄存器,用于说明滑动选择控件、菜单控件的应用,如下所示

使用范围:全系列
例程下载链接:《Modbus教程4_滑动选择和菜单选择控件V1.0.rar》
协议开启、变量相关说明,参考链接:《Modbus 基本参数说明》
5.1 菜单控件
【菜单控件】画面主要对菜单控件的使用做示例说明,菜单控件的“风格”有两种:“弹出菜单”和“固定菜单”。此处主要做弹出菜单使用说明,“菜单风格”为“弹出菜单”,需要按钮控件将菜单控件和文本控件关联使用,点击按钮弹出菜单控件,选中菜单项后直接显示在文本控件中
画面/逻辑配置
方法一:逻辑处理绑定
画面中添加一个菜单控件(控件ID:2),作为控制从机开关机,详细配置如下所示

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

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

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

5.2 滑动选择控件
【滑动选择控件】画面,选择控件主要有两种用途:“滑动选择”和“状态显示”。“滑动选择”主要用于通过触摸屏滑动选择预设的选项;“状态显示”主要用于显示不同的预设选项,类似图标控件
画面/逻辑配置
方法一:逻辑处理绑定
画面中添加一个滑动选择控件(控件ID:1),作为显示风机状态;用途为“状态显示”,如下所示

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

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

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

6 曲线和历史曲线控件
本章节主要介绍曲线控件、历史曲线控件在Modbus协议中常见的应用。其中简单的控件绑定变量,可以在组态配置页面关联,或者在【工具-协议与变量-逻辑处理】绑定变量
本章节屏幕当主站,读写从机指令,若屏幕当从机,曲线控件、历史曲线控件的应用一样,参考即可,本章节创建2个保存寄存器,用于说明曲线,历史曲线的应用,如下所示

适用范围:全系列
例程下载链接:《Modbus教程-5-曲线和历史曲线控件V1.0》
协议开启、变量相关说明,参考链接:《Modbus 基本参数说明》
6.1 曲线控件
【曲线控件】画面,主要对曲线控件的使用做示例说明。MODBUS协议版本中,曲线控件用于显示关联的变量,曲线控件周期性的采样变量值, 然后将所有采样值绘制到曲线控件内,连接形成曲线;曲线控件的每个通道都可以关联一个变量,最多可以设置8个通道
画面/逻辑配置
画面中添加一个曲线控件(ID:1),作为显示从机“温度”值。同时添加两个按钮控件(ID为2和4)作为增减“温度”变量的控制,以及添加一个文本控件(ID:3),直接绑定“温度”,作为数值的显示。曲线控件的相关参数配置,如下所示

在【协议与变量设置】中添加3条逻辑处理:
第1条:用途为“曲线绑定”,画面为“1”;控件为“1”;通道为“0”,变量为“温度”;采集周期为“1”
第2条:控制“温度”的增减。用途为【按钮按下】,填写画面ID为1,控件ID为2;执行动作为【增量调节】,变量为【温度】,调节步长为【1】,调节方式为【递减】;循环从0~100调节
第3条:控制“温度”的递增。用途为【按钮按下】,填写画面ID为1,控件ID为4;执行动作为【增量调节】,变量为【温度】,调节步长为【1】,调节方式为【递增】;循环从0~100调节。如下所示

运行预览
此时,编译工程并下载到串口屏,和MODBUS Slave软件联机,曲线控件实时显示温度的变化。同时按下按钮控件(ID:2和ID:4)可以对“温度”变量的控制,曲线控件的显示也随着改变,如下所示

6.2 历史曲线控件
【历史曲线控件】画面,主要对历史曲线控件的使用做示例说明。历史曲线控件和曲线控件都可以实时采样、显示绑定的变量值。不同处是历史曲线控件保存前期的数据,可以查看历史数据。MODBUS协议版本中,历史曲线控件用于显示关联的变量值,历史曲线控件周期性的采样变量值,然后将所有采样值绘制到历史曲线控件内,连接形成曲线;历史曲线控件的每个通道都可以关联一个变量,最多可以设置8个通道。
画面/逻辑配置
画面中添加一个历史曲线控件(ID:1),作为显示从机“湿度”值。同时添加两个按钮控件(ID为2和4)作为增减“湿度”变量的控制;以及添加一个文本控件(ID:3),直接绑定变量“湿度”,作为数值的显示。历史曲线控件的相关参数配置如下所示

在【协议与变量设置】中添加3条逻辑处理:
第1条:用途为“曲线绑定”,画面为“2”;控件为“1”;通道为“0”,变量为“湿度”;采集周期为“1”
第2条:控制“湿度”的增减。用途为【按钮按下】,填写画面ID为2,控件ID为2;执行动作为【增量调节】,变量为【湿度】,调节步长为【1】,调节方式为【递减】;循环从0~100调节
第3条:控制“湿度”的递增。用途为【按钮按下】,填写画面ID为2,控件ID为4;执行动作为【增量调节】,变量为【湿度】,调节步长为【1】,调节方式为【递增】;循环从0~100调节。如下所示

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

7 图标控件和动画控件
本章节主要介绍图标控件、动画控件在Modbus协议中常见的应用。其中简单的控件绑定变量,可以在组态配置页面关联,或者在【工具-协议与变量-逻辑处理】绑定变量
本章节屏幕当主站,读写从机指令,若屏幕当从机,图标控件、动画控件的应用一样,参考即可,本章节1组离散输入变量,2个输入寄存器用于说明图标控件和动画控件的应用,如下所示

适用范围:全系列
例程下载链接:《Modbus教程7-图标和动画控件V1.0》
协议开启、变量相关说明,参考链接:《Modbus 基本参数说明》
7.1 图标控件
【图标控件】画面,主要对图标控件的使用做示例说明。图标控件为GIF或ICON格式的动画文件,默认图标索引从0开始。在MODBUS协议中可以使用图标控件绑定变量,形象地显示设备的状态
画面/逻辑配置
方法一:逻辑处理绑定
画面中添加一个图标控件(控件ID:1),作为显示从机“机组故障/压缩机状态”,如下所示
控件ID:2配置同理
图标文件的生成,参考链接:《ICON控件应用》(点击跳转)

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

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

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

7.2 动画控件
【动画控件】画面主要对动画控件的使用做示例说明,动画控件用于播放设置的GIF或ICON格式的动画文件,可以控制暂停或者播放
画面/逻辑配置
方法一:逻辑处理绑定
画面中添加一个动画控件(控件ID:1),作为显示控制从机“动画1”变量;同时添加两个按钮控件(ID为2和3)作为动画控件(控件ID1)的播放、暂停的控制,如下所示

在【协议与变量设置】中添加3条逻辑处理 :
第1条:用途为“动画播放”,画面为“2”;控件为“1”;和“动画1“关联
第2条:控制“动画”的播放。用途为【按钮按下】,填写画面ID为2,控件ID为2;执行动作为【设置变量】,变量为【动画1】,设置值为1
第3条:控制“动画”的暂停。用途为【按钮按下】,填写画面ID为2,控件ID为3;执行动作为【设置变量】,变量为【动画1】,设置值为0

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

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

8 二维码控件和RTC控件
本章节主要介绍二维码控件、RTC控件在Modbus协议中常见的应用。其中二维码控件只支持在【工具-协议与变量-逻辑处理】绑定变量
本章节屏幕当主站,本章节创建1个保存寄存器,用于二维码控件的应用,如下所示

适用范围:基本型-二维码特殊支持,其他系列均支持
例程下载链接:《Modbus教程8-二维码控件和RTC控件V1.0》
协议开启、变量相关说明,参考链接:《Modbus 基本参数说明》
8.1 二维码控件
【二维码】画面主要对二维码控件的使用做示例说明。二维码控件可以将设定的字符串以二维码的形式显示出来。可以被一些扫描仪器识别。
注意:基本型系列的串口屏使用二维码控件需要特殊的固件支持
画面/逻辑配置
画面中添加一个二维码控件(控件ID:1),控件属性配置,如下所示:

在【协议与变量设置】中添加一个变量,变量类型为“字符串”,字符串长度为32,如下所示

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

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

8.2 RTC控件
【RTC控件】画面主要对RTC控件的使用做示例说明,当屏做主机时,修改从机RTC时间;从机创建固定地址的保持寄存器,用于存放时间变量,连续7个保持寄存器,分别存放年、月、星期、日、时、分、秒,屏幕周期性地把最新的时间通过0x10指令写从机寄存器
画面/逻辑配置
画面中添加一个RTC控件(控件ID:1),如下所示:

在【协议与变量设置】中添加1条逻辑处理:用途为“写入时间”;从机地址为“1”;寄存器为“50”(10进制);周期为“10”(单位秒),如下所示:

运行预览
此时,编译工程并运行虚拟串口屏,和Modbus Slave软件联机。主机每10S将RTC时间发送至从机。

9 控件显示隐藏和多语言功能
本章节主要介绍控件的显示和隐藏、多语言的应用。其中组态控件才支持显示隐藏,组态控件类型可参考VisualTFT 工作界面介绍,支持多语言的控件有文字、按钮、菜单、滑动选择、数据记录(告警)等等
本章节屏幕当主站,本章节创建1个保存寄存器,用于控制组态控件的显示隐藏;创建一个系统变量,用于语言控制选择,如下所示

适用范围:全系列
例程下载链接:《Modbus教程9-控件隐藏和多语言V1.0》
协议开启、变量相关说明,参考链接:《Modbus 基本参数说明》
9.1 控件显示隐藏
【显示隐藏控件功能】画面主要对显示隐藏控件功能的使用做示例说明。当需要在某个条件成立的情况下,隐藏或显示一个或一些控件的应用
画面/逻辑配置
画面中添加一个文本控件(控件ID:1),作为控制控件的隐藏和显示。添加一个进度条控件(控件ID:1)、一个仪表控件(控件ID:2)、一个文本控件(控件ID:3)作为被显示或被隐藏,如下所示

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

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

9.2 多语言
【多语言功能】画面主要对多语言功能的使用做示例说明。针对面向不同的客户,需要多语言应用。屏支持文字、菜单控件和滑动选择控件的多语言设置。工程以3个按钮来控制文字、菜单控件和滑动选择控件的中文、英文、繁体的显示
画面/逻辑配置
画面中添加一个文字(ID:1)、滑动选择控件(控件ID:2)、菜单控件(控件ID:3),用于显示不同语言。以文字控件为例,控件属性设置如下所示

画面中添加3个按钮控件(控件ID:4、5、6)用于控制显示不同的语言。以按钮控件ID4为例,控件属性配置如下所示
按钮控件ID4~6,做了互斥功能(同时只能选中一个,可参考《组态控件教程——按钮控件》1.3章节按钮互斥)

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

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