编辑: hys520855 2019-07-12

H0 是代 表被读数据在从机设备中的地址编号 0000(十六进制数表示);

D0 里的值是代表读取的寄存器 个数,范围 1-32,被读取的数据依次保存在 D1,D2,D3……里. 写数据到从机指令示例:WR3A K1 H0 D0 WR3A 原来是模拟量模块写入指令,原指令功能不能使用.WR3A 指令对应 Modbus 的16 号 功能, 写数据到从机设备的各个(4*类型) 寄存器;

如果只写1个寄存器, WR3A指令对应Modbus 的06 号功能, 写1个数据到从机设备的

1 个(4*类型) 寄存器. 指令中 K1 是代表被写从机设 备的站号,范围 1-247;

H0 是代表被写寄存器在从机设备中的首地址编号 0000(十六进制数表 示);

D0 里的值是代表被写的寄存器个数,范围 1-32,被写出的源数据依次保存在 D1,D2, D3……里. D8129/D8169(M8129/M8169)超时时间寄存器:范围 0-32767,单位 10ms. 当接收超时或接收错误时,M8129/M8169=ON. M8123/M8163 一次通信完成标志 当完成一次通信时,M8123/M8163=ON,不管是否成功完成. 当RD3A 或WR3A 不被执行时,不影响 M8129/M8169 和M8123/M8163;

当指令被执行时,如 果正在通信中,则M8129 和M8123 都被系统自动置 OFF;

如果通信完成则 M8123/M8163 和M8129/M8169 输出相应的状态. 2N 系列 modbus 通信手册

5 多次编程 RD3A 或WR3A 可以在梯形图中多次编程,因通信是一个长时间的过程,所以通信中要保持 执行,不能用脉冲形式.在有多个指令同时需要通信时,系统会依次轮流分时通信,使用 M8123/M8163 的上延可以方便地检出本通信指令本次的执行状况. D8063/D8103(M8063/D8103)通信错误信息 M8063 的上延可以方便地检出本通信指令本次通信的错误信息. D8063 的值分别代表各自的错误信息 6315:Modbus 从站号超范围 〉255 6316:Modbus 读写寄存器个数超范围,正常是 1-32. 6317:Modbus 接收超时 6318:得到回应的站号不一致 6319:回应非法 6320:回应的 LCR 校验错 6321:保存数据的地址非法 6322:回应的 CRC 校验错 6323:回应的数据格式非法 6324:本机未设为 Modbus 主机 6325:地址超范围 6326:Modbus 发送超时 3.当PLC为从机时 一旦 PLC 被设定为 Modbus 从机, 不管 PLC 是在 STOP 还是在 RUN 状态, 都可以进行 Modbus 通信. 从机支持的 Modbus 功能有:

01 号功能:读取线圈状态,取得一组逻辑线圈的当前状态(ON/OFF),范围 1-512

02 号功能:读取输入状态,取得一组开关输入的当前状态(ON/OFF),范围 1-512 2N 系列 modbus 通信手册

6 03 号功能:读取保持寄存器,在一个或多个保持寄存器中取得当前二进制值,范围 1-32 个04 号功能:在一个或多个输入寄存器中取得当前的二进制值 ,范围 1-32 个05 号功能:强置单线圈,强置一个逻辑线圈的通断状态(写位),范围

1 个06 号功能:把具体二进值装入一个保持寄存器(写寄存器),范围

1 个15 号功能:强置多线圈,强置一串连续逻辑线圈的通断(写多位),范围 1-512 个16 号功能:预置多寄存器,把具体的二进制值装入一串连续的保持寄存器(写多个寄存器), 范围 1-32 个PLC 寄存器在 Modbus 通信时所对应的地址编号:

16 进制地址编号 寄存器 0000-03E7 D0-D999 1F40-203F D8000-D8255 A140-A23F T0-T255 A340-A407 C0-C199 A408-A477 C200-C255,32bit 占2个地址 PLC 位元件在 Modbus 通信时所对应的地址编号:

16 进制地址编号 位元件 0000-05FF M0-M1535 1E00-1EFF M8000-M8255 2000-23E7 S0-S999 3000-30FF T0-T255 3200-32FF C0-C255 3300-33B7 Y0-Y267 3400-34B7 X0-X267........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题