Appearance
Modbus
1. 设置 Modbus 程序
命令字: 0x5701 EXTERN_PROGRAM_SET
json
{
"robot": 1,
"programid": 1,
"jobname": "xxxx"
}| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| robot | int | 是 | 机器人编号,范围 1-4 |
| programid | int | 是 | 程序 ID,范围 1-300 |
| jobname | string | 是 | 作业文件名(不含后缀) |
2. 查询 Modbus 程序
命令字: 0x5702 EXTERN_PROGRAM_INQUIRE
json
{
"robot": 1,
"startprogramid": 1,
"num": 10
}| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| robot | int | 是 | 机器人编号,范围 1-4 |
| startprogramid | int | 是 | 程序起始 ID |
| num | int | 是 | 需要获取的程序个数,范围 1-10 |
3. 查询 Modbus 程序响应
命令字: 0x5703 EXTERN_PROGRAM_RESPOND
json
{
"robot": 1,
"startprogramid": 1,
"jobnamelist": ["xxx", "", "yyyy"]
}| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| robot | int | 是 | 机器人编号,范围 1-4 |
| startprogramid | int | 是 | 程序起始 ID |
| jobnamelist | array | 是 | 作业文件名列表,共 10 个元素,没有则填空字符串 |
4. 设置控制器的 Modbus 类型
命令字: 0x5711
json
{
"RTU": {
"baudrate": 115200,
"port": 2,
"slaveId": 1
},
"TCP": {
"IP": "192.168.1.11",
"port": 502
},
"master-slave": 1,
"scancycle": 100,
"stoprun": 0,
"type": "TCP"
}| 参数分类 | 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|---|
| RTU | baudrate | string | 是 | Modbus RTU 通信的波特率 |
| RTU | port | int | 是 | Modbus RTU 通信的串口号 |
| RTU | slaveId | int | 是 | Modbus RTU 通信的从设备 ID |
| TCP | IP | string | 是 | Modbus TCP 通信的服务器 IP 地址 |
| TCP | port | int | 是 | Modbus TCP 通信的端口号 |
| 通用 | master-slave | string | 是 | 主从模式:0 表示主模式,1 表示从模式 |
| 通用 | scancycle | int | 是 | 扫描周期,单位:毫秒 |
| 通用 | stoprun | bool | 是 | 运行停止标志:0 表示未停止,1 表示停止 |
| 通用 | type | string | 是 | 通信类型,可选 RTU 或 TCP |
5. 查询控制器的 Modbus 类型
命令字: 0x5712
json
{}控制器响应(0x5713):
json
{
"RTU": {
"baudrate": 115200,
"port": 2,
"slaveId": 1
},
"TCP": {
"IP": "192.168.1.11",
"port": 502
},
"enable": true,
"master-slave": 1,
"scancycle": 100,
"stoprun": 0,
"type": "TCP"
}| 参数分类 | 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|---|
| RTU | baudrate | string | 是 | Modbus RTU 通信的波特率 |
| RTU | port | int | 是 | Modbus RTU 通信的串口号 |
| RTU | slaveId | int | 是 | Modbus RTU 通信的从设备 ID |
| TCP | IP | string | 是 | Modbus TCP 通信的服务器 IP 地址 |
| TCP | port | int | 是 | Modbus TCP 通信的端口号 |
| 通用 | enable | bool | 是 | 是否启用 Modbus 通信 |
| 通用 | master-slave | string | 是 | 主从模式:0 表示主模式,1 表示从模式 |
| 通用 | scancycle | int | 是 | 扫描周期,单位:毫秒 |
| 通用 | stoprun | bool | 是 | 运行停止标志:0 表示未停止,1 表示停止 |
| 通用 | type | string | 是 | 通信类型,可选 RTU 或 TCP |
6. 控制器 Modbus 使能
命令字: 0x5714
json
{
"enable": false
}| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| enable | bool | 是 | 是否启用 Modbus 通信:false 禁用,true 启用 |
7. 设置 Modbus 心跳检测
命令字: 0x5715 MODBUS_CHECKHEART_SET
json
{
"checkheart": true
}| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| checkheart | bool | 是 | Modbus 心跳检测开关 |
8. 查询 Modbus 心跳检测
命令字: 0x5716 MODBUS_CHECKHEART_INQUIRE
json
{}控制器响应(0x5717):
json
{
"checkheart": true
}| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| checkheart | bool | 是 | Modbus 心跳检测状态:true 开启,false 关闭 |
9. 查询控制器作为从站是否连接
命令字: 0x5718
请求:
json
{}响应:
json
{
"ModbusConnect": false
}| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| ModbusConnect | bool | 是 | 连接状态:false 未连接,true 已连接 |
10. 控制器作为主站的参数设置
命令字: 0x5719
json
{
"masterStation": {
"RTU": {
"baudrate": 115200,
"checkBit": "E",
"dataBit": 5,
"port": 2,
"slaveId": 1,
"stopBit": 1
},
"TCP": {
"IP": "192.168.10.56",
"port": 503
},
"processNumber": 1,
"type": "TCP"
},
"startAddress": false
}| 参数分类 | 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|---|
| masterStation | type | string | 是 | 通信类型:RTU 或 TCP |
| masterStation | processNumber | int | 是 | 工艺号 |
| masterStation.RTU | baudrate | int | 是 | 波特率 |
| masterStation.RTU | checkBit | string | 是 | 校验位:如 "E"(偶校验)、"O"(奇校验)、"N"(无校验) |
| masterStation.RTU | dataBit | int | 是 | 数据位 |
| masterStation.RTU | port | int | 是 | 串口号 |
| masterStation.RTU | slaveId | int | 是 | 从设备 ID |
| masterStation.RTU | stopBit | int | 是 | 停止位 |
| masterStation.TCP | IP | string | 是 | TCP 服务器 IP 地址 |
| masterStation.TCP | port | int | 是 | TCP 端口号 |
| 通用 | startAddress | bool | 是 | 起始地址开关 |
11. 查询控制器作为主站时的信息
命令字: 0x5744
json
{
"processNumber": 2
}| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| processNumber | int | 是 | 工艺号 |
12. 查询主站信息响应
命令字: 0x5745
json
{
"RTU": {
"baudrate": 115200,
"checkBit": "E",
"dataBit": 5,
"port": 3,
"slaveId": 56,
"stopBit": 1
},
"TCP": {
"IP": "192.168.1.14",
"port": 503
},
"modbus_state": false,
"response_time_out": 100,
"startAddress": true,
"type": "RTU"
}| 参数分类 | 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|---|
| RTU | baudrate | int | 是 | 波特率 |
| RTU | checkBit | string | 是 | 校验位 |
| RTU | dataBit | int | 是 | 数据位 |
| RTU | port | int | 是 | 串口号 |
| RTU | slaveId | int | 是 | 从设备 ID |
| RTU | stopBit | int | 是 | 停止位 |
| TCP | IP | string | 是 | TCP 服务器 IP 地址 |
| TCP | port | int | 是 | TCP 端口号 |
| 通用 | modbus_state | bool | 是 | MODBUS 状态 |
| 通用 | response_time_out | int | 是 | 响应超时时间,单位:毫秒 |
| 通用 | startAddress | bool | 是 | 起始地址开关 |
| 通用 | type | string | 是 | 通信类型:RTU 或 TCP |
13. 命令字汇总
| 命令字 | 功能 | 方向 |
|---|---|---|
| 0x5701 | 设置 Modbus 程序 | 上位机 → 控制器 |
| 0x5702 | 查询 Modbus 程序 | 上位机 → 控制器 |
| 0x5703 | 查询 Modbus 程序响应 | 控制器 → 上位机 |
| 0x5711 | 设置控制器 Modbus 类型 | 上位机 → 控制器 |
| 0x5712 | 查询控制器 Modbus 类型 | 上位机 → 控制器 |
| 0x5713 | 查询控制器 Modbus 类型响应 | 控制器 → 上位机 |
| 0x5714 | 控制器 Modbus 使能 | 上位机 → 控制器 |
| 0x5715 | 设置 Modbus 心跳检测 | 上位机 → 控制器 |
| 0x5716 | 查询 Modbus 心跳检测 | 上位机 → 控制器 |
| 0x5717 | 查询 Modbus 心跳检测响应 | 控制器 → 上位机 |
| 0x5718 | 查询从站连接状态 | 上位机 → 控制器 |
| 0x5719 | 设置主站参数 | 上位机 → 控制器 |
| 0x5744 | 查询主站信息 | 上位机 → 控制器 |
| 0x5745 | 查询主站信息响应 | 控制器 → 上位机 |