Skip to content

指令-MODBUS类


MODBUS_OPEN - 打开Modbus连接

说明

打开Modbus通讯连接

参数列表

参数名类型必填说明
IDintModbus主站工艺号,取值范围[1,9]
logoutbool是否被注释。true:在作业文件中将不执行该指令;false:未被注释,可执行
modTypestring主站/从站。"Master":主站;"Slave":从站
typeintMODBUS_OPEN在枚举数列type中为210
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
  "ID": 5,
  "logout": false,
  "modType": "Master",
  "type": 210,
  "userParamInt": 0,
  "userParamString": ""
}

MODBUS_CLOSE - 关闭Modbus连接

说明

断开Modbus通讯连接

参数列表

参数名类型必填说明
IDintModbus主站工艺号,取值范围[1,9]
logoutbool是否被注释。true:在作业文件中将不执行该指令;false:未被注释,可执行
modTypestring主站/从站。"Master":主站;"Slave":从站
typeintMODBUS_CLOSE在枚举数列type中为211
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
  "ID": 9,
  "logout": false,
  "modType": "Master",
  "type": 211,
  "userParamInt": 0,
  "userParamString": "",
  "variable": {"data": 0.0, "secondvalue": 0, "value": 0, "varname": ""}
}

MODBUS_CONNECTION_STATUS - 获取Modbus连接状态

说明

将Modbus通讯连接的状态存入变量,连接成功该变量值被赋值为1,连接失败选择的该变量被赋值为0

参数列表

参数名类型必填说明
IDintModbus主站工艺号,取值范围[1,9]
logoutbool是否被注释。true:在作业文件中将不执行该指令;false:未被注释,可执行
modTypestring主站/从站。"Master":主站;"Slave":从站
typeint获取Modbus连接状态在枚举数列type中为212
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
  "ID": 1,
  "logout": false,
  "modType": "Master",
  "type": 212,
  "userParamInt": 0,
  "userParamString": "",
  "variable": {"data": 0.0, "secondvalue": 1, "value": 6, "varname": "GB[GI001]"}
}

MODBUS_READ - Modbus读状态

说明

读取Modbus中对应地址的数值。将获取到的状态存入到变量(bool类型变量或绑定变量,全局或局部)。

地址类型说明:

地址类型说明
3x读取Modbus中对应地址的值
4x同3x
3x-bit读取所选地址中所存值得任一bit的状态
4x-bit同3x-bit
0x可读可写的设备类型,相当于操作PLC的输出点
1x只读设备类型,相当于操作PLC的输入点

地址类型为3X-bit时从站地址个数范围是[0,16]

地址类型为3X-bit,存到变量时候的17位为符号位,0表示正数,1表示负数

读取字符时会将读取到的所有值存入到一个变量,它跟整型、浮点型、布尔型变量不一样,不会根据设置的首地址,读从站地址个数顺延存入其它变量

参数列表

参数名类型必填说明
IDintModbus主站工艺号,取值范围[1,9]
addressNumberobject读从站地址个数。手填或者int类型变量或绑定变量,全局或局部。读取的地址个数,如果设置的读从站地址个数为3,执行读指令后会从Modbus首地址开始读取3个地址(包含首地址一共读3个)
addressTypestring地址类型。可选取值:3x,4x,3x-bit,4x-bit,0x,1x
dataTypestring数据类型。当数据存放的首个变量选I或GI时,从站的数据类型可选short和ushort(分别对应短整型和无符号短整型,前者范围为[-32768,32767],后者的范围为[0,65535])。数据存放首个变量选I或GI数据类型时需要和从站的数据类型一致,否则可能导致数据出错
dataVariableobject数据存放的首个变量。所有变量或绑定变量都可。将读取到的参数存放到变量,如果选择的首个变量为I001,读取的地址个数为3,执行读指令会把参数值依次存入到I001、I002、I003
firstAddressobject从站寄存器首地址。手填或int类型变量或绑定变量,全局或局部。根据指令参数里面设置的首地址读取参数值,如果参数里面设置的首地址是5,在执行读指令后会从Modbus第5个地址开始读
logoutbool是否被注释。true:在作业文件中将不执行该指令;false:未被注释,可执行
modTypestring主站/从站。"Master":主站;"Slave":从站
typeintMODBUS_READ在枚举数列type中为213
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
  "ID": 3,
  "addressNumber": {"data": 0.0, "secondvalue": 1, "value": 4, "varname": "GI[I001]"},
  "addressType": "4x-bit",
  "dataType": "short",
  "dataVariable": {"data": 0.0, "secondvalue": 1, "value": 9, "varname": "GS[GI001]"},
  "firstAddress": {"data": 0.0, "secondvalue": 1, "value": 4, "varname": "GI[GI001]"},
  "logout": false,
  "modType": "Master",
  "type": 213,
  "userParamInt": 0,
  "userParamString": ""
}

MODBUS_WRITE - Modbus写操作

说明

该指令用于通过Modbus将变量写入从站寄存器中对应位置的地址中

地址类型说明:

地址类型说明
4x将变量里的值写入地址码
4x-bit将变量组成16位二进制码写入地址码中
0x将变量值写入地址码,只有"0","1"两种状态,变量有值的话写入1,变量没值写入0

参数列表

参数名类型必填说明
IDintModbus主站工艺号,取值范围[1,9]
addressNumberobject读从站地址个数。手填或者int类型变量或绑定变量,全局或局部。读取的地址个数,如果设置的读从站地址个数为3,执行读指令后会从Modbus首地址开始读取3个地址(包含首地址一共读3个)
addressTypestring地址类型。可选取值:4x,4x-bit,0x
dataVariableobject数据存放的首个变量,写入的变量类型。手填或者所有变量或绑定变量都可
firstAddressobject从站寄存器首地址。手填或int类型变量或绑定变量,全局或局部。开始写入的第一个地址,如果首地址为5,执行写指令会从modbus第5个地址开始写入
logoutbool是否被注释。true:在作业文件中将不执行该指令;false:未被注释,可执行
modTypestring主站/从站。"Master":主站;"Slave":从站
typeintMODBUS_WRITE在枚举数列type中为214
userParamIntint二次开发中客户自定义,目前无意义
userParamStringstring二次开发中客户自定义,目前无意义

示例

json
{
  "ID": 5,
  "addressNumber": {"data": 0.0, "secondvalue": 0, "value": 1, "varname": "I001"},
  "addressType": "0x",
  "dataVariable": {"data": 0.0, "secondvalue": 1, "value": 4, "varname": "GI[GI001]"},
  "firstAddress": {"data": 0.0, "secondvalue": 1, "value": 1, "varname": "I[GI001]"},
  "logout": false,
  "modType": "Master",
  "type": 214,
  "userParamInt": 0,
  "userParamString": ""
}