1 Modbus 基本매개변수설명
Modbus프로토콜的적용,本章节主要从以下几部分설명
- 开启프로토콜
- 설정主从机
- 创建변수
- 변수주소和值的关系
- 逻辑处理
1.1 开启프로토콜
Modbus 프로토콜的설정界面在VisualTFT 上位机的菜单栏【도구】→【프로토콜与변수设置…】,클릭左侧文件路径,在右侧的프로토콜设置栏,设置프로토콜유형,如选择Modbus主机,활성화프로토콜,如下所示
modbus프로토콜开启后,在구성(SCADA)界面上,控件才能显示【关联변수】

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及以上버전,也可直接在구성(SCADA)控件属性窗口设置关联변수名称,如下所示,버튼控件绑定一个변수

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 如何创建关联변수
大彩시리얼 HMImodbus 프로토콜可支持创建코일、이산 입력、유지 레지스터、입력 레지스터、콘텐츠변수、系统변수,如下所示

| 변수유형 | 相关설명 |
|---|---|
| 코일(Coils) | 参与通讯:0x01/0x05/0x0F |
| 이산 입력(Discrete Input) | 参与通讯:0x02 |
| 유지 레지스터(Holding 회원가입) | 参与通讯:0x03/0x06/0x10 |
| 입력 레지스터(Input 회원가입) | 参与通讯:0x04 |
| 内存변수 | 不参与通讯:用于做中间변수、记录一些信息等 |
| 系统변수 | 不参与通讯:如系统통신 속도、运行时间等等 |
本章节屏幕설정为主机모드,介绍코일、이산 입력、유지 레지스터、입력 레지스터、系统변수的创建和绑定
适用范围: 全시리즈
例程下载链接:《Modbus튜토리얼1_入门튜토리얼V1.0》(클릭跳转)
프로토콜开启、변수相关설명,参考链接:《Modbus 基本매개변수설명》
2.1 코일
【코일】화면是对MODBUS프로토콜中“코일”변수的状态显示和控制,버튼控件直接绑定“코일”유형的변수。코일的状态为0或1,对应버튼的弹起(0)、按下(1)。运行后,当该주소的“코일”值发生变化后,버튼控件状态实时改变。同理,通过클릭버튼,可以改变从机中코일변수유형对应주소的状态
변수설정
添建立“机组状态”변수,변수유형设置为“코일”,추가子节点“开/关机”、“运行/ 정지”,설정변수주소为0x0000,详细设置설명参考Modbus 基本매개변수설명,如下所示

화면설정
화면中추가一个버튼控件(控件ID:1),在버튼控件的属性栏,设置关联변수“机组状态/开/关机”,버튼的操作风格为开关,如下所示

运行预览
通过以上两步,控件ID为1的버튼控件与변수“机组状态/开/关机”建立起了关联。此时,编译엔지니어링并运行虚拟시리얼 HMI,和MODBUS Slave软件建立연결。버튼控件显示“机组状态/开/关机”的状态。同时클릭버튼控件,更改변수“机组状态/ 开/关机”的状态。同理,控件ID为2的버튼控件通过以上方法,与변수关联后,实现相应的状态显示和控制功能。如下所示

2.2 이산 입력
【이산 입력】화면是对MODBUS프로토콜中“이산 입력”변수的状态显示,图标控件直接绑定“이산 입력”유형的변수。图标控件将显示변수的状态,当该주소 “이산 입력”值发生变化后,图标控件对应发生变化
변수설정
추가변수:建立“机组故障”변수,추가子节点“压缩机低压”,변수유형设置为“이산 입력”,설정변수주소为0x0000,详细设置설명参考Modbus 基本매개변수설명,如下所示

화면설정
화면中추가一个图标控件(控件ID:1),在图标控件的属性栏,设置关联변수“机组故障/压缩机低压”,同理ID2~4的图标控件绑定对应的변수。制作参考《구성(SCADA)控件튜토리얼-图标控件》,如下所示

运行预览
通过以上两步,控件ID为1的图标控件与변수“机组故障/压缩机低压”建立起了关联。此时,编译엔지니어링并运行虚拟屏시리얼 HMI,和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的文本控件与변수“设定온도”便建立起了关联。此时,编译엔지니어링并运行虚拟시리얼 HMI,和MODBUS Slave软件建立연결,文本控件便显示변수“设定온도”的数值,클릭文本控件,弹出键盘,可对변수“设定온도”设置值。同理控件ID为2、3、4的文本控件通过以上方法分别与不同的변수关联后,实现相应的数值显示和控制功能,运行效果如下所示

2.4 입력 레지스터
【입력 레지스터】화면是对MODBUS프로토콜中“입력 레지스터”변수数值的直接显示,文本控件直接绑定“입력 레지스터”유형的변수,文本控件将显示변수的值,当该주소的“입력 레지스터”值发生变化后,文本控件对应发生变化
변수설정
创建“온도”변수,변수유형设置为“입력 레지스터”,설정변수주소为0x0000,如下所示

화면설정
화면中추가一个文本控件(控件ID:1),在文本控件的属性栏,设置关联변수“온도”,如下所示

运行预览
通过以上两步,控件ID为1的文本控件与0x0000주소的“온도”便建立起了关联。此时,编译엔지니어링并运行虚拟시리얼 HMI,和MODBUS Slave软件建立연결,文本控件便显示 0x0000 주소的유지 레지스터的数值。同理,控件ID为2、3、4的文本控件通过以上方法分别与不同的변수关联后,便可显示相应주소的변수值,如下所示

2.5 系统변수
【系统변수】系统변수是系统中预先定义的변수,方便在直接访问,屏幕中预定义的변수,包括통신 속도(可读)、背光亮度(可读写)、蜂鸣器开关(1使能蜂鸣器,0不使能,可读写)、通讯故障(0为正常,非0故障,可读)、当前화면ID(可读写)、运行时间(单位:分钟,可读)、日期(可读)等
변수설정
추가변수:创建“背光亮度”변수,변수유형设置为“系统변수”,系统변수매개변수为“背光亮度”,详细设置설명参考Modbus 基本매개변수설명,如下所示

화면설정
화면中추가进度条控件(控件ID:2)、滑动条控件(控件ID:3)。进度条控件属性栏,设置滑动通知为“关联滑动条”;滑动条控件属性栏,设置关联변수为“背光亮度”。滑块控件和进度条控件的具体적용参考 구성(SCADA)控件튜토리얼 - 滑块控件 튜토리얼,如下所示
运行预览
通过以上两步,控件ID为2的滑动条控件与内存변수“背光亮度”建立起了关联;此时,编译엔지니어링并运行虚拟시리얼 HMI,滑动“滑动条控件”的游标可控制屏幕的背光亮度。同理,其他控件ID绑定对应的文本控件或버튼控件,通过以上方法分别与不同的변수关联后,便可显示或控制系统변수的변수值,如下所示

3 버튼控件和文本控件
本章节主要介绍버튼控件、文本控件在Modbus프로토콜中常见的적용。其中简单的控件绑定변수,可以在구성(SCADA)설정页面关联,或者在【도구-프로토콜与변수-逻辑处理】绑定변수
本章节屏幕当마스터,读写从机指令,若屏幕当슬레이브,文本、버튼控件的적용一样,参考即可,本章节创建2个코일、4个저장레지스터,用于설명버튼控件、文本控件的적용,如下所示

适用范围: 全시리즈
例程下载链接:《Modbus튜토리얼1_入门튜토리얼V1.0》(클릭跳转)
프로토콜开启、변수相关설명,参考链接:《Modbus 基本매개변수설명》
3.1 버튼控件
【버튼控件】화면,当MODBUS프로토콜버전中,버튼按下或弹起时可以执行一些预设的逻辑操作
화면/逻辑설정
设置关机
【버튼控件】화면,버튼控件ID1,구성(SCADA)界面不直接关联控件,,추가以下逻辑处理
추가逻辑处理:用途用于【控件绑定】,填写对应的화면ID1、버튼控件ID1,변수为【机组状态/开/关机】

设置湿度40%
【버튼控件】화면,버튼控件ID2、文本控件ID3,구성(SCADA)界面不直接关联控件,추가以下逻辑处理
第1条:用途用于【버튼按下】,填写对应的화면ID1、버튼控件ID2,执行动作为【设置변수】 ,设置【设置湿度】为40
第2条:用途用于【控件绑定】,填写对应的화면ID1、文本控件ID3,변수为【设置湿度】,绑定的변수为【设置湿度】
如下所示:

设置온도
【버튼控件】화면,버튼控件ID4和ID6、文本控件ID5,구성(SCADA)界面不直接关联控件,추가以下逻辑处理
第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프로토콜中常见的적용。其中简单的控件绑定변수,可以在구성(SCADA)설정页面关联,或者在【도구-프로토콜与변수-逻辑处理】绑定변수
本章节屏幕当마스터,读写从机指令,若屏幕当슬레이브,仪表、滑块、进度条控件的적용一样,参考即可,本章节创建2个저장레지스터、2个입력 레지스터,用于설명仪表控件、滑块控件、进度条적용,如下所示

适用范围: 全시리즈
例程下载链接:《Modbus튜토리얼3-仪表、滑块及进度条控件V1.0》(클릭跳转)
프로토콜开启、변수相关설명,参考链接:《Modbus 基本매개변수설명》
4.1 仪表控件
【仪表控件】화면主要对仪表控件的使用做예제설명。仪表控件反映用户主机上的데이터变化,满足用户使用的仪器仪表界面
화면/逻辑설정
方法一:逻辑处理绑定
화면中추가一个仪表控件(控件ID:1),作为显示从机电压值,열기【도구-프로토콜与변수】,추가1条逻辑处理
用途用于【控件绑定】,填写对应的화면ID1、仪表控件ID1,绑定的변수为【电压】,如下所示

方法二:구성(SCADA)화면绑定
화면中추가一个仪表控件(控件ID:2),作为显示从机电流。且在其属性栏窗口中绑定“电流”변수,如下所示

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,和Modbus Slave软件联机,仪表控件实时显示电压(控件ID:1)、电流(控件ID:2)的变化

4.2 滑块和进度条控件
【进度条和滑块控件】화면,将进度条控件和滑块控件一起配合使用,进度条的通知为关联滑动条,主要是用于显示绑定的변수值,通过拖动滑块控件的游标,改变변수值
화면/逻辑설정
方法一:逻辑处理绑定
화면中추가进度条控件(控件ID:1)、滑块控件(控件ID:2)。在【프로토콜与변수设置】中추가1条逻辑处理
用途用于【控件绑定】,填写对应的화면ID2、仪表控件ID2,绑定的변수为【设置온도】,如下所示

方法二:구성(SCADA)软件绑定
화면中추가进度条控件(控件ID:3)、滑动条控件(控件ID:4)。滑块控件直接绑定【设置湿度】,설정如下所示

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,和Modbus Slave软件联机。当변수的值发生变化时,滑块控件和进度条显示的状态也会相应的更新;通过鼠标클릭滑块控件并拖动,변수的值也会相应变化更新

5 菜单控件和滑动选择控件
本章节主要介绍滑动选择控件、菜单控件在Modbus프로토콜中常见的적용。其中简单的控件绑定변수,可以在구성(SCADA)설정页面关联,或者在【도구-프로토콜与변수-逻辑处理】绑定변수
本章节屏幕当마스터,读写从机指令,若屏幕当从机,滑动选择控件、菜单控件的적용一样,参考即可,本章节创建2个저장레지스터,用于설명滑动选择控件、菜单控件的적용,如下所示

使用范围:全시리즈
例程下载链接:《Modbus튜토리얼4_滑动选择和菜单选择控件V1.0.rar》
프로토콜开启、변수相关설명,参考链接:《Modbus 基本매개변수설명》
5.1 菜单控件
【菜单控件】화면主要对菜单控件的使用做예제설명,菜单控件的“风格”有两种:“弹出菜单”和“固定菜单”。此处主要做弹出菜单使用설명,“菜单风格”为“弹出菜单”,需要버튼控件将菜单控件和文本控件关联使用,클릭버튼弹出菜单控件,选中菜单项后直接显示在文本控件中
화면/逻辑설정
方法一:逻辑处理绑定
화면中추가一个菜单控件(控件ID:2),作为控制从机开关机,详细설정如下所示

在【프로토콜与변수设置】中추가一条逻辑处理,该逻辑处理的用途为“控件绑定”,화면为“1”;控件为“2”;변수为“机组状态/开/关机”,如下所示

方法二:구성(SCADA)화면绑定
화면中추가一个菜单控件(控件ID:5),作为控制从机风速。且在其属性栏窗口中绑定“设置온도”변수,详细설정如下所示

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,和Modbus Slave软件联机,当按下버튼控件(控件ID:4),弹出菜单控件(控件ID:5),选择菜单控件的“一级”选项,直接“一级”将显示在文本控件(ID:6)中,且从机변수“设置风速”相应改变

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

在【프로토콜与변수设置】中추가1条逻辑处理:用途为“控件绑定”;화면为“2”;控件为“1”;변수为“机组状态/风机故障”。如下所示

方法二:구성(SCADA)화면绑定
화면中추가一个菜单控件(控件ID:2),作为控制从机风速等级。在其属性栏窗口中绑定“设置风速”변수,如下所示

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,和Modbus Slave软件联机。当변수“机组状态/风机故障”的值发生变化时, 滑动选择控件(控件ID:1)显示的状态也会相应的更新;通过鼠标点滑动选择控件(控件ID:2)并拖动,当拖动정지后,选中某个选项,同时변수“设置风速”的值也会变化更新

6 曲线和历史曲线控件
本章节主要介绍曲线控件、历史曲线控件在Modbus프로토콜中常见的적용。其中简单的控件绑定변수,可以在구성(SCADA)설정页面关联,或者在【도구-프로토콜与변수-逻辑处理】绑定변수
本章节屏幕当마스터,读写从机指令,若屏幕当从机,曲线控件、历史曲线控件的적용一样,参考即可,本章节创建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调节。如下所示

运行预览
此时,编译엔지니어링并下载到시리얼 HMI,和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调节。如下所示

运行预览
此时,编译엔지니어링并下载到시리얼 HMI,和MODBUS Slave软件联机,历史曲线控件实时显示湿度的变化。当屏幕显示的采样点数大于设置的值(默认为 100),可以通过历史曲线控件上方的滚动条보기历史데이터。同时按下버튼控件(ID:2和ID:4)可以对“湿度”변수的控制,历史曲线控件的显示也随着改变

7 图标控件和动画控件
本章节主要介绍图标控件、动画控件在Modbus프로토콜中常见的적용。其中简单的控件绑定변수,可以在구성(SCADA)설정页面关联,或者在【도구-프로토콜与변수-逻辑处理】绑定변수
本章节屏幕当마스터,读写从机指令,若屏幕当从机,图标控件、动画控件的적용一样,参考即可,本章节1组이산 입력변수,2个입력 레지스터用于설명图标控件和动画控件的적용,如下所示

适用范围:全시리즈
例程下载链接:《Modbus튜토리얼7-图标和动画控件V1.0》
프로토콜开启、변수相关설명,参考链接:《Modbus 基本매개변수설명》
7.1 图标控件
【图标控件】화면,主要对图标控件的使用做예제설명。图标控件为GIF或ICON형식的动画文件,默认图标索引从0开始。在MODBUS프로토콜中可以使用图标控件绑定변수,形象地표시 장치的状态
화면/逻辑설정
方法一:逻辑处理绑定
화면中추가一个图标控件(控件ID:1),作为显示从机“机组故障/压缩机状态”,如下所示
控件ID:2설정同理
图标文件的生成,参考链接:《ICON控件적용》(클릭跳转)

在【프로토콜与변수设置】中추가一条逻辑处理,该逻辑处理的用途为“控件绑定”,화면为“1”;控件为“1”;변수为“机组故障/压缩机低压”,如下所示

方法二:구성(SCADA)화면绑定
화면中추가一个图标控件(控件ID:3),作为显示从机烟感报警状态。且在其属性栏窗口中绑定“机组故障/烟感报警”변수,详细설정如下所示
控件ID:4설정同理

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,和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

方法二:구성(SCADA)화면绑定
화면中추가一个动画控件(控件ID:4),作为显示控制从机“动画2”변수。在其属性栏窗口中绑定“动画2”변수。추가一个버튼控件(ID:5),作为动画控件(控件ID4)的播放、暂停的控制,如下所示

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,和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 二维码控件
【二维码】화면主要对二维码控件的使用做예제설명。二维码控件可以将设定的문자串以二维码的形式显示出来。可以被一些扫描仪器识别。
注意:基本型시리즈的시리얼 HMI使用二维码控件需要特殊的固件支持
화면/逻辑설정
화면中추가一个二维码控件(控件ID:1),控件属性설정,如下所示:

在【프로토콜与변수设置】中추가一个변수,변수유형为“문자串”,문자串길이为32,如下所示

在【프로토콜与변수设置】中추가一条逻辑处理,该逻辑处理的用途为“控件绑定”,화면为“1”;控件为“1”;변수为“二维码”,如下所示

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,二维控件将문자串“VisualTFT”以二维码的形式显示出来,和Modbus Slave软件联机,二维控件控件显示对应문자串。

8.2 RTC控件
【RTC控件】화면主要对RTC控件的使用做예제설명,当屏做主机时,修改从机RTC时间;从机创建固定주소的유지 레지스터,用于存放时间변수,连续7个유지 레지스터,分别存放年、月、星期、日、时、分、秒,屏幕周期性地把最新的时间通过0x10指令写从机레지스터
화면/逻辑설정
화면中추가一个RTC控件(控件ID:1),如下所示:

在【프로토콜与변수设置】中추가1条逻辑处理:用途为“쓰기时间”;从机주소为“1”;레지스터为“50”(10진법);周期为“10”(单位秒),如下所示:

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,和Modbus Slave软件联机。主机每10S将RTC时间보내기至从机。

9 控件显示隐藏和多언어功能
本章节主要介绍控件的显示和隐藏、多언어的적용。其中구성(SCADA)控件才支持显示隐藏,구성(SCADA)控件유형可参考VisualTFT 工作界面介绍,支持多언어的控件有文字、버튼、菜单、滑动选择、데이터记录(告警)等等
本章节屏幕当마스터,本章节创建1个저장레지스터,用于控制구성(SCADA)控件的显示隐藏;创建一个系统변수,用于언어控制选择,如下所示

适用范围:全시리즈
例程下载链接:《Modbus튜토리얼9-控件隐藏和多언어V1.0》
프로토콜开启、변수相关설명,参考链接:《Modbus 基本매개변수설명》
9.1 控件显示隐藏
【显示隐藏控件功能】화면主要对显示隐藏控件功能的使用做예제설명。当需要在某个条件成立的情况下,隐藏或显示一个或一些控件的적용
화면/逻辑설정
화면中추가一个文本控件(控件ID:1),作为控制控件的隐藏和显示。추가一个进度条控件(控件ID:1)、一个仪表控件(控件ID:2)、一个文本控件(控件ID:3)作为被显示或被隐藏,如下所示

在【프로토콜与변수设置】中추가3条逻辑处理:第一条:用途为“控件显示”;화면为“1”;控件为“2”;执行条件为“변수 【控件显示】不为0”,同理,第2、3条设置类是

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,和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,做了互斥功能(同时只能选中一个,可参考《구성(SCADA)控件튜토리얼——버튼控件》1.3章节버튼互斥)

【프로토콜与변수设置】中추가3条逻辑处理:第一条,用途为“버튼按下”;화면为“2”;控件为“4”;执行条件为“设置[系统언어]为0”,对应显示“언어1”。同理,第2、3条设置类是,如下所示

运行预览
此时,编译엔지니어링并运行虚拟시리얼 HMI,和Modbus Slave软件联机。当按下버튼控件(控件ID:1)时显示중국어;按下钮控件(控件ID:5)时显示“英文”;当버튼控件(控件ID:5)时显示“繁体”

답글 작성