产品
有人云 — 物联网云平台 零编程,组态拖拽即可实现远程监控。同时支持私有部署,拥有属于自己的软硬件一体化方案
200
+
私有云项目
数据本地化
业务个性化
10
+
万 公有云注册用户
80%公有云功能免费
付费VIP享自定义品牌服务
有人云官网
有人智造 — ODM/EMS 依托自动化、智能化、柔性化、透明化的智能工厂,
提供代研、代料、代工一站式OEM/ODM服务
有人智造官网
有人智能 — 解决方案 打包提供云、管、边、端整体解决方案
从问题诊断、方案设计,到实施落地、系统运维
有人智能官网
支持中心
M100+拓展机点位读写说明示例
2024-06-07


M100+拓展机点位读写说明示例

1、DI读取

寄存器参数:IO拓展机的DI的寄存器地址按照顺序依次顺延,比如拓展机的第一个DI寄存器地址为10003(0x0002)

读(采集)

点位名称

接入位置

寄存器地址

功能码

默认状态

DI1

主机

10001(0x0000)

0x02

0

DI2

主机

10002(0x0001)

0x02

0

DI3

IO拓展机

10003(0x0002)

0x02

0

DI4

IO拓展机

10004(0x0003)

0x02

0

...

IO拓展机

...

0x02

0

DI 检测:

透传模式下,通过网络向M100发送Modbus指令可以读取DI状态,也可以通过网页调试界面获取DI状态。

边缘计算模式下,通过数据读写点位来实现DI的检测。

DI 状态默认为0,输入有效信号之后状态为1。通过Modbus协议02功能码进行读取,DI状态按位进行回复,例如回复状态0x01, 换算二进制:00000001,则表示DI1有效输入,DI2无效数据。

操作

示例

DI1状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 02 00 00 00 01

响应(闭合):00 00 00 00 00 04 64 02 01 01

响应(断开):00 00 00 00 00 04 64 02 01 00

DI1状态查询(modbus RTU)

查询:64 02 00 00 00 01 B0 3F

响应(闭合):64 02 01 01 7E 84

响应(断开):64 02 01 00 BF 44

DI2状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 02 00 01 00 01

响应(闭合):00 00 00 00 00 04 64 02 01 01

响应(断开):00 00 00 00 00 04 64 02 01 00

DI2状态查询(modbus RTU)

查询:64 02 00 01 00 01 E1 FF

响应(闭合):64 02 01 01 7E 84

响应(断开):64 02 01 00 BF 44

DI1~DI2状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 02 00 00 00 02

响应:00 00 00 00 00 04 64 02 01 03

状态值03,换算二进制0000 0011DI1闭合DI2闭合

响应:00 00 00 00 00 04 64 02 01 01

状态值01,换算二进制0000 0001DI1闭合DI2断开

响应:00 00 00 00 00 04 64 02 01 02

状态值02,换算二进制0000 0010DI1断开DI2闭合

响应:00 00 00 00 00 04 64 02 01 00

状态值00,换算二进制0000 0000DI1断开DI2断开

DI1~DI2状态查询(modbus RTU)

查询:64 02 00 00 00 02 F0 3E

响应:64 02 01 03 FF 45

状态值03,换算二进制0000 0011DI1闭合DI2闭合

响应:64 02 01 01 7E 84

状态值01,换算二进制0000 0001DI1闭合DI2断开

响应:64 02 01 02 3E 85

状态值02,换算二进制0000 0010DI1断开DI2闭合

响应:64 02 01 00 BF 44

状态值00,换算二进制0000 0000DI1断开DI2断开

DI3状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 02 00 02 00 01

响应(闭合):00 00 00 00 00 04 64 02 01 01

响应(断开):00 00 00 00 00 04 64 02 01 00

DI3状态查询(modbus RTU)

查询:64 02 00 02 00 01 11 FF

响应(闭合):64 02 01 01 7E 84

响应(断开):64 02 01 00 BF 44

DI4状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 02 00 03 00 01

响应(闭合):00 00 00 00 00 04 64 02 01 01

响应(断开):00 00 00 00 00 04 64 02 01 00

DI4状态查询(modbus RTU)

查询:64 02 00 03 00 01 40 3F

响应(闭合):64 02 01 01 7E 84

响应(断开):64 02 01 00 BF 44

2、DO读写

寄存器参数:IO拓展机的DO的寄存器地址按照顺序依次顺延,比如拓展机的第一个DO寄存器地址为00003(0x0002)。

点位名称

接入位置

寄存器地址

功能码

默认状态

DO1

主机

00001(0x0000)

0x01,0x05,0x0F

断开(NO)

DO2

主机

00002(0x0001)

0x01,0x05,0x0F

断开(NO)

DO3

IO拓展机

00003(0x0002)

0x01,0x05,0x0F

断开

DO4

IO拓展机

00004(0x0003)

0x01,0x05,0x0F

断开

...

IO拓展机

...

0x01,0x05,0x0F

断开

DO控制:

透传模式下,通过网络向M100发送Modbus命令,即可读取DO状态,同时也可以通过网页调试界面来实现控制。

边缘计算模式下,通过数据读写方式对DO进行控制和采集。

DO默认状态为NO断开,可以通过Modbus命令码01读取DO状态,通过05或0F功能码对DO进行控制输出。 DO状态查询均按位进行回复,例如回复状态为0x02,则换算二进制为00000010,则表示DO1为NO闭合,DO2为NO断开。

操作

示例

DO1状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 01 00 00 00 01

响应(闭合):00 00 00 00 00 04 64 01 01 01

响应(断开):00 00 00 00 00 04 64 01 01 00

DO1状态查询(modbus RTU)

查询:64 01 00 00 00 01 F4 3F

响应(闭合):64 01 01 01 8E 84

响应(断开):64 01 01 00 4F 44

DO1 NO闭合控制(modbus TCP)

控制:00 00 00 00 00 06 64 05 00 00 FF 00

响应:00 00 00 00 00 06 64 05 00 00 FF 00

DO1 NO闭合控制(modbus RTU)

控制:64 05 00 00 FF 00 85 CF

响应:64 05 00 00 FF 00 85 CF

DO1 NO断开控制(modbus TCP)

控制:00 00 00 00 00 06 64 05 00 00 00 00

响应:00 00 00 00 00 06 64 05 00 00 00 00

DO1 NO断开控制(modbus RTU)

控制:64 05 00 00 00 00 C4 3F

响应:64 05 00 00 00 00 C4 3F

DO2状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 01 00 01 00 01

响应(闭合):00 00 00 00 00 04 64 01 01 01

响应(断开):00 00 00 00 00 04 64 01 01 00

DO2状态查询(modbus RTU)

查询:64 01 00 01 00 01 A5 FF

响应(闭合):64 01 01 01 8E 84

响应(断开):64 01 01 00 4F 44

DO2 NO闭合控制(modbus TCP)

控制:00 00 00 00 00 06 64 05 00 01 FF 00

响应:00 00 00 00 00 06 64 05 00 01 FF 00

DO2 NO闭合控制(modbus RTU)

控制:64 05 00 01 FF 00 D4 0F

响应:64 05 00 01 FF 00 D4 0F

DO2 NO断开控制(modbus TCP)

控制:00 00 00 00 00 06 64 05 00 01 00 00

响应:00 00 00 00 00 06 64 05 00 01 00 00

DO2 NO断开控制(modbus RTU)

控制:64 05 00 01 00 00 95 FF

响应:64 05 00 01 00 00 95 FF

DO1~DO2状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 01 00 00 00 02

响应:00 00 00 00 00 04 64 01 01 00

状态值00,换算二进制0000 0000DO1断开DO2断开

响应:00 00 00 00 00 04 64 01 01 01

状态值01,换算二进制0000 0001DO1闭合DO2断开

响应:00 00 00 00 00 04 64 01 01 02

状态值02,换算二进制0000 0010DO1断开DO2闭合

响应:00 00 00 00 00 04 64 01 01 03

状态值03,换算二进制0000 0011DO1闭合DO2闭合

DO1~DO2状态查询(modbus RTU)

查询:64 01 00 00 00 02 B4 3E

响应:64 01 01 00 4F 44

状态值00,换算二进制0000 0000DO1断开DO2断开

响应:64 01 01 01 8E 84

状态值01,换算二进制0000 0001DO1闭合DO2断开

响应:64 01 01 02 CE 85

状态值02,换算二进制0000 0010DO1断开DO2闭合

响应:64 01 01 03 0F 45

状态值03,换算二进制0000 0011DO1闭合DO2闭合

DO1~DO2 NO控制(modbus TCP)

控制(DO1断开,DO2断开):00 00 00 00 00 08 64 0F 00 00 00 02 01 00

响应:00 00 00 00 00 06 64 0F 00 00 00 02

控制(DO1闭合,DO2断开):00 00 00 00 00 08 64 0F 00 00 00 02 01 01

响应:00 00 00 00 00 06 64 0F 00 00 00 02

控制(DO1断开,DO2闭合):00 00 00 00 00 08 64 0F 00 00 00 02 01 02

响应:00 00 00 00 00 06 64 0F 00 00 00 02

控制(DO1闭合,DO2闭合):00 00 00 00 00 08 64 0F 00 00 00 02 01 03

响应:00 00 00 00 00 06 64 0F 00 00 00 02

DO1~DO2 NO控制(modbus RTU)

控制(DO1断开,DO2断开):64 0F 00 00 00 02 01 00 18 80

响应:64 0F 00 00 00 02 DD FF

控制(DO1闭合,DO2断开):64 0F 00 00 00 02 01 01 D9 40

响应:64 0F 00 00 00 02 DD FF

控制(DO1断开,DO2闭合):64 0F 00 00 00 02 01 02 99 41

响应:64 0F 00 00 00 02 DD FF

控制(DO1闭合,DO2闭合):64 0F 00 00 00 02 01 03 58 81

响应:64 0F 00 00 00 02 DD FF

DO3状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 01 00 02 00 01

响应(闭合):00 00 00 00 00 04 64 01 01 01

响应(断开):00 00 00 00 00 04 64 01 01 00

DO3状态查询(modbus RTU)

查询:64 01 00 02 00 01 55 FF

响应(闭合):64 01 01 01 8E 84

响应(断开):64 01 01 00 4F 44

DO3 闭合控制(modbus TCP)

控制:00 00 00 00 00 06 64 05 00 02 FF 00

响应:00 00 00 00 00 06 64 05 00 02 FF 00

DO3 闭合控制(modbus RTU)

控制:64 05 00 02 FF 00 24 0F

响应:64 05 00 02 FF 00 24 0F

DO3 断开控制(modbus TCP)

控制:00 00 00 00 00 06 64 05 00 02 00 00

响应:00 00 00 00 00 06 64 05 00 02 00 00

DO3 断开控制(modbus RTU)

控制:64 05 00 02 00 00 65 FF

响应:64 05 00 02 00 00 65 FF

DO4状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 01 00 03 00 01

响应(闭合):00 00 00 00 00 04 64 01 01 01

响应(断开):00 00 00 00 00 04 64 01 01 00

DO4状态查询(modbus RTU)

查询:64 01 00 03 00 01 04 3F

响应(闭合):64 01 01 01 8E 84

响应(断开):64 01 01 00 4F 44

DO4 闭合控制(modbus TCP)

控制:00 00 00 00 00 06 64 05 00 03 FF 00

响应:00 00 00 00 00 06 64 05 00 03 FF 00

DO4 闭合控制(modbus RTU)

控制:64 05 00 03 FF 00 75 CF

响应:64 05 00 03 FF 00 75 CF

DO4 断开控制(modbus TCP)

控制:00 00 00 00 00 06 64 05 00 03 00 00

响应:00 00 00 00 00 06 64 05 00 03 00 00

DO4 断开控制(modbus RTU)

控制:64 05 00 03 00 00 34 3F

响应:64 05 00 02 00 00 34 3F

3、AI读取

数据类型:AI数据为32位单精度浮点数(ABCD),每个AI占2个寄存器,单位是uA,转换为mA公式为:模拟量值=返回参数 值/1000,公式可在边缘点位添加。

寄存器参数:IO拓展机的AI的寄存器地址按照顺序依次顺延,因为AI为32位浮点数,所以每次地址顺延需要增加2,比如拓展机 的第一个AI寄存器地址为30005(0x0004)。

点位名称

接入位置

寄存器地址

功能码

AI1

主机

30001(0x0000)

0x04(读离散量)

AI2

主机

30003(0x0002)

0x04(读离散量)

AI3

IO拓展机

30005(0x0004)

0x04(读离散量)

AI4

IO拓展机

30007(0x0006)

0x04(读离散量)

...

IO拓展机

...

0x04(读离散量)

模拟量获取:通过网页调试界面获取AI的模拟量检测结果,透传模式下,也可以通过网络向M100发送Modbus命令进行查询,通过Modbus功能码04获取AI的值。

操作

示例

AI1状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 04 00 00 00 02

响应:00 00 00 00 00 07 64 04 04 45 8D 08 00

AI1状态查询(modbus RTU)

查询:64 04 00 00 00 02 78 3E

响应:64 04 04 45 8D 08 00 4C 65

解析:45 8D 08 00为单精度浮点型,转换为十进制为4513ua

AI2状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 05 00 00 FF 00

响应:00 00 00 00 00 06 64 05 00 00 FF 00

AI2状态查询(modbus RTU)

查询:64 04 00 02 00 02 D9 FE

响应:64 04 04 45 F9 98 00 60 7F

解析:45 F9 98 00为单精度浮点型,转换为十进制为7987ua

AI1~AI2状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 04 00 00 00 042

响应:00 00 00 00 00 0B 64 04 08 45 8D 08 00 45 F9 98 00

AI1~AI2状态查询(modbus RTU)

查询:64 04 00 00 00 04 F8 3C

响应:Rx:023-64 04 08 45 8D 08 00 45 F9 98 00 FD 72

AI3状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 04 00 04 00 02

响应:00 00 00 00 00 07 64 04 04 45 9C 40 00

AI3状态查询(modbus RTU)

查询:64 04 00 04 00 02 39 FF

响应:64 04 04 45 9C 40 00 2A 60

解析:45 9C 40 00为单精度浮点型,转换为十进制为5000ua

AI4状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 04 00 04 00 02

响应:00 00 00 00 00 07 64 04 04 45 9C 40 00

AI4状态查询(modbus RTU)

查询:64 04 00 06 00 02 98 3F

响应:64 04 04 45 A9 30 00 1F AE

解析:45 A9 30 00为单精度浮点型,转换为十进制为5414ua

4、AO读写

数据类型:AO数据为32位单精度浮点数(ABCD),每个AO占2个寄存器,单位是mV,转换为V公式为:电压值 = 返回参数值 /1000,公式可在边缘点位添加。

寄存器参数:IO拓展机的AO的寄存器地址按照顺序依次顺延,因为AO为32位浮点数,所以每次地址顺延需要增加2,比如拓展机的第一个AI寄存器地址为40001(0x0000),第二个AI寄存器地址为40003(0x0002)。

点位名称

接入位置

寄存器地址

功能码

AO1

IO拓展机

40001(0x0000)

0x03,0x06,0x10

AO2

IO拓展机

40003(0x0002)

0x03,0x06,0x10

AO3

IO拓展机

40005(0x0004)

0x03,0x06,0x10

AO4

IO拓展机

40007(0x0006)

0x03,0x06,0x10

...

IO拓展机

...

0x03,0x06,0x10

注:AO点位的模式配置只能在拓展机单独使用的时候通过拓展机串口发送才会响应,接到M100上之后AO的输出模式配置只能通过页面配置,不再支持指令配置

操作

示例

AO1电流输出4mA(modbus RTU)

配置:64 10 00 00 00 02 04 45 7A 00 00 28 B7

响应:64 10 00 00 00 02 48 3D

解析:45 7A 00 00为单精度浮点型,转换为十进制为4000ua

AO1电流输出4mA(modbus TCP)

配置:00 00 00 00 00 0B 64 10 00 00 00 02 04 45 7A 00 00

响应:00 00 00 00 00 06 64 10 00 00 00 02

解析:45 7A 00 00为单精度浮点型,转换为十进制为4000ua

AO1状态查询(modbus RTU)

查询:64 03 00 00 00 02 CD FE

响应:64 03 04 45 9C 40 00 2B D7

解析:45 9C 40 00为单精度浮点型,转换为十进制为5000ua

AO1状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 03 00 00 00 02

响应:00 00 00 00 00 07 64 03 04 45 9C 40 00

解析:45 9C 40 00为单精度浮点型,转换为十进制为5000ua

AO2电流输出4mA(modbus RTU)

配置:64 10 00 02 00 02 04 45 7A 00 00 A9 6E

响应:64 10 00 02 00 02 E9 FD

解析:45 7A 00 00为单精度浮点型,转换为十进制为4000ua

AO2电流输出4mA(modbus TCP)

配置:00 00 00 00 00 0B 64 10 00 02 00 02 04 45 7A 00 00

响应:00 00 00 00 00 06 64 10 00 02 00 02

解析:45 7A 00 00为单精度浮点型,转换为十进制为4000ua

AO2状态查询(modbus RTU)

查询:64 03 00 02 00 02 6C 3E

响应:64 03 04 45 9C 40 00 2B D7

解析:45 9C 40 00为单精度浮点型,转换为十进制为5000ua

AO2状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 03 00 02 00 02

响应:00 00 00 00 00 07 64 03 04 45 9C 40 00

解析:45 9C 40 00为单精度浮点型,转换为十进制为5000ua

AO1~AO2电流输出4mA(modbus RTU)

配置:64 10 00 00 00 04 08 45 7A 00 00 45 7A 00 00 38 4C

响应:64 10 00 00 00 04 C8 3F

解析:45 7A 00 00为单精度浮点型,转换为十进制为4000ua

AO1~AO2电流输出4mA(modbus TCP)

配置:00 00 00 00 00 0F 64 10 00 00 00 04 08 45 7A 00 00 45 7A 00 00

响应:00 00 00 00 00 06 64 10 00 00 00 04

解析:45 7A 00 00为单精度浮点型,转换为十进制为4000ua

AO1~AO2状态查询(modbus RTU)

查询:64 03 00 00 00 04 4D FC

响应:64 03 08 45 7A 00 00 45 7A 00 00 51 07

解析:45 7A 00 00为单精度浮点型,转换为十进制为4000ua

AO1~AO2状态查询(modbus TCP)

查询:00 00 00 00 00 06 64 03 00 00 00 04

响应:00 00 00 00 00 0B 64 03 08 45 7A 00 00 45 7A 00 00

解析:45 9C 40 00为单精度浮点型,转换为十进制为5000ua

工作日每天: 14:00~17:00
抖音、天猫 "有人旗舰店"

关注有人微信公众号
了解更多信息