1 Modbus 基本参数说明

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

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

1.1 开启协议

modbus协议开启后,在组态界面上,控件才能显示

Modbus 协议的配置界面在VisualTFT 上位机的菜单栏【工具】→【协议与变量设置…】,点击左侧文件路径,在右侧的协议设置栏,设置协议类型,如选择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

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

Mb_SringValue

数组

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

Mb_Input

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

Mb_array

results matching ""

    No results matching ""