|
PV Modbus 通讯协议详解 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
l 何谓 Modbus 通讯协议? Modbus 是由 MODICON 公司在 1979 发展出来的一套通讯协议。它具有标准化、采开放式架构的特性,而且广泛地被工业自动化产所使用的通讯协议。透过 Modbus,SCADA 和 HMI 软件可以很容易地将许多串行设备整合在一起。 l 何谓 Modbus 的命令号? 01: Read coil status 02: Read input status 03: Read holding register 04: Read input registers 05: Force single coil 06: Preset single register
※以上为常用的命令号,其它命令号请查阅MODICON 公司Modbus手册
l Modicon 984 的地址范围 下列为PV人机Modicon 984 驱动的地址范围 00001~09999(0x) 10001~19999(1x) 30001~39999(3x) 40001~49999(4x) 我们以EC20 系列艾默生 PLC 的 Modbus通讯为例,下表为EC20系列PLC内部软组件在PV人机界面中对应的地址类型和地址。
l 关于PV人机的Modicon 984 Device/slave(RTU)的Modbus通讯协议 基本上大部分的PLC设备都是从站形式,也就说人机接口上主要为主站形式,这种型况下,一台PV主站人机可以串接许多从站的装置,如温控、伺服、变频器、温控等等。 发送命令:[设备地址] [命令号01] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位] 例:[11][01][00][13][00][25][CRC低][CRC高] 当我们选择PM 软件的Modicon 984 Device/slave(RTU)这个驱动,这代表PV人机为主站(master),PLC等设备为从站(slave),例如我们在监视查看一个40001的从站位置的寄存器,以艾默生 PLC E20来看为D0的地址时,人机的会送出1 3 0 0 0 1 84 A 的Protocol码。 以130 0 0 1 84 A 的Protocol码来解释,1代表从站的站号,通讯Protocol的功能码为03,也就是Read holding register(读取保持寄存器),,对应的Protocol位置为00h(PLC位置为4X0001),跟着的01是表示读取保持寄存器的数量,84 A是CRC检查码。 PV人机的Protocol码
当在主站要去从设定一个40001的地址数值时,数值为0时,人机的会送出1 6 0 0 0 1 48 A的Protocol码给从站,如果设定数值为6789时,人机的会送出1 6 0 0 1A 85 43 9。 而1 6 0 0 0 1 48 A的6是功能码06 Preset single register,把具体二进值装入一个保持寄存器,是当主站要设定从站的单一的寄存器的功能码。
l 关于PV人机的Modicon 984 Master(RTU)的Modbus通讯协议 当我们选择Modicon 984 Master(RTU)的驱动,是将PV人机当成从站(Slave),连接的设备为主站(Master),从站等待主站的要求,送回应给主站。 假设从站(slave)站号为1,而从站保持寄存器位置02h(4x0003),数值为66(10进制),当主站读取从站这个值,主站设备会送出 1 3 0 2 0 1 25 CA 的Protocol命令,而从站会送回1 3 2 0 42 38 75这一串回应码。 这1 3 2 0 42 38 75回应码说明如下 1为站号 3为命令号读取保持寄存器 2是寄存器低地址02, 0(高位寄存器的值) 42低位寄存器的值,是16进制表示,在10进制是66。 38 75为CRC
假设从站保持寄存器位置02h,数值为9999(10进制) 主站会送回1 3 2 27 F E3 B0这一串回应码 1为站号 3为命令读取保持寄存器 2是寄存器低地址02, 27高位寄存器的值,F是低位寄存器的值,是16进制表示270F,在10进制是9999。 E3 B0为CRC
|
|
屏通自动化设备贸易(上海)有限公司 Neomate Technologies (Shanghai) Inc www.panelmaster.com.cn |