1 Modbus 基本参数说明

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

  1. 开启协议
  2. 配置主从机
  3. 创建变量
  4. 变量地址和值的关系
  5. 逻辑处理

1.1 开启协议

Modbus 协议的配置界面在VisualTFT 上位机的菜单栏【工具】→【协议与变量设置…】,点击左侧文件路径,在右侧的协议设置栏,设置协议类型,如选择Modbus主机,启用协议,如下所示

modbus协议开启后,在组态界面上,控件才能显示【关联变量】

Mb_Open

1.2 配置主从机

主机模式

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

  1. 启用协议:需要启用协议,才支持Modbus协议

  2. 协议类型:选择Modbus主机

  3. 轮询周期:无效参数,不用设置

  4. 轮询延时:屏作主机时,发送请求指令,到屏幕应答后,等待发送下一条请求指令的时间

  5. 应答超时:屏作主机时,允许从机的最大延时,默认100毫秒

  6. 连续读取:设置连续地址变量的最大读取数

  7. 优化读取:开启优化读取后,只读取与当前画面相关的变量

  8. 存储设置 :开启存储后,Flash地址0~2048,约2K为Modbus变量存储所有,其他存储应规避此地址!!!

    不存储:不存储,断电重启后变量恢复默认值

    全部存储:不推荐,因为频繁存储会导致FLASH坏块增加

    存储指定变量:推荐使用,一般用来存储很少更改的系统配置参数

  9. 存储标记:识别存储在屏幕中的数据版本标记, 当存储数据格式发生改动时,一般需要手动修改此存储标记值

Mb_slave

从机模式

  1. 启用协议:需要启用协议,才支持Modbus协议

  2. 协议类型:选择Modbus从机

  3. 从机地址:默认为1

  4. 存储设置 :开启存储后,Flash地址0~2048,约2K为Modbus变量存储所私有,其他存储应规避此地址!!!

    不存储:不存储,断电重启后变量恢复默认值

    全部存储:不推荐,因为频繁存储会导致FLASH坏块增加

    存储指定变量:推荐使用,一般用来存储很少更改的系统配置参数

  5. 存储标记:识别存储在屏幕中的数据版本标记,当存储数据格式发生改动时,一般需要手动修改此存储标记值

1.3 变量定义

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

Mb_CreatVariable

变量定义

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

Mb_VariableDefinition

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

详细参数设置解析如下所示

Mb_paramter

  1. 变量类型:线圈、离散输入、保持寄存器、输入寄存器、内存变量、系统变量
  2. 从机地址:屏作主机时,才需要设置
  3. 变量地址:变量(或寄存器)的地址,16进制填写
  4. 初始化从机:屏作主机时,屏上电后,把变量的值写入从机设备
  5. 读取失败归零:屏作主机时,当变量读取失败时,变量的值归零

1.4 变量地址和值的关系

线圈/离散数据

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

Mb_coilsBit

字符串类型

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

Mb_Sring

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

Mb_SringValue

数组

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

Mb_Input

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

Mb_array

1.5 逻辑处理

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

Mb_logic

通用属性参数介绍:

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

1.5.1 控件绑定

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

Mb_logic3

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

Mb_logic2

1.5.2 控件显示

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

Mb_logic4

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 写入时间

屏做主机时,可以定时写指定寄存器,设置从机时间

Copyright ©Dacai all right reserved,powered by Gitbook该文件修订时间: 2023-03-30 10:18:29

results matching ""

    No results matching ""