工控网首页
>

应用设计

>

Coolmay PLC的Modbus通信使用手册

Coolmay PLC的Modbus通信使用手册

2013/11/16 10:13:54

Modbus通信协议作为标准的工业通信协议已经被广泛地应用在各个领域,Coolmay PLCRS485通信接口已支持了这种通信协议,使PLC能方便地与具有Modbus通信协议的设备进行通信,例如变频器、温湿度模块、组态网络、各种传感器等。

Modbus通信协议分为两种串行模式,ASCII 和 RTU 模式。在配置每台PLC时,用户须选择通模式以及RS485串行口的通参数。(波特率,奇偶校验等),在Modbus 总线上的所有设备应具有相同的通模式和串行通参数。使用Modbus通信,必须在梯形图中对每台PLC的相关特殊元件进行设置。

D8120通信参数选择寄存器:

b15

b14

b13

b12

b11

b10

b9

b8

b7

b6

b5

b4

b3

b2

b1

b0

 

b0

数据长度

0:7位

1:8位

b2b1

奇偶性

00:None无

01:Odd奇

11:Even偶

b3

停止位

0:1位

1:2位

b7b6b5b4

波特率

0100:600bps       0111:4800bps

0101:1200bps      1000:9600bps

0110:2400bps      1001:19200bps

b8

Modbus无关

b9

Modbus无关

b11b10

Modbus无关

b12

Modbus无关

b13

Modbus通模式

0:RTU

1:ASCII

b14

启动通信协议

0:使用编程口协议或按RS指令通信

1:使用Modbus协议通信

b15

PLC主从机选择

0:从机

1:主机

 

D8121从机站号寄存器:范围1-247。

当PLC作为Modbus通信从机时,必须有一个站号,在梯形图里对D8121进行设定。

 

D8126发送前的延时寄存器:范围0-1000,单位ms。

让接收设备有个准备时间,可以适当选择5-20ms。

1、 当PLC为主机时 

当PLC作为主机时,只支持MODBUS的以下功能:

03号功能:读取保持寄存器     在一个或多个保持寄存器中取得当前的二进制值  范围1-32个

04号功能:在一个或多个输入寄存器中取得当前的二进制值 ,范围1-32个

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

16号功能:预置多寄存器   把具体的二进制值装入一串连续的保持寄存器(写多个寄存器),范围1-32个

读取从机数据指令示例:RD3A K1 H0 D0

RD3A原来是模拟量模块读取指令,原指令功能不能使用。RD3A指令对应Modbus的03号功能,读取(4X类型)寄存器。指令中K1是代表被读从机设备的站号,范围1-247;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(M8129)超时时间寄存器:范围0-32767,单位10ms。

当接收超时或接收错误时,M8129=ON,

 

M8123一次通信完成标志

当完成一次通信时,M8123=ON,不管是否成功完成。

当RD3A或WR3A不被执行时,不影响M8129和M8123;当指令被执行时,如果正在通信中,则M8129和M8123都被系统自动置OFF;如果通信完成则M8123和M8129输出相应的状态。

 

多次编程

RD3A或WR3A可以在梯形图中多次编程,因通信是一个长时间的过程,所以通信中要保持执行,不能用脉冲形式。在有多个指令同时需要通信时,系统会依次轮流分时通信,使用M8123的上延可以方便地检出本通信指令本次的执行状况。

 

D8063(M8063)通信错误信息

M8063的上延可以方便地检出本通信指令本次通信的错误信息。

D8063的值分别代表各自的错误信息

6315:Modbus从站号超范围 〉255

6316:Modbus读写寄存器个数超范围,正常是1-32。

6317:Modbus接收超时

6318:得到回应的站号不一致

6319:回应非法

6320:回应的LCR校验错

6321:保存数据的地址非法

6322:回应的CRC校验错

6323:回应的数据格式非法

6324:本机未设为Modbus主机

6325:地址超范围

6326:Modbus发送超时

 

2、当PLC为从机时

一旦PLC被设定为Modbus从机,不管PLC是在STOP还是在RUN状态,都可以进行Modbus通信。

从机支持的Modbus功能有:

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

02号功能:读取输入状态     取得一组开关输入的当前状态(ON/OFF) 范围1-512

03号功能:读取保持寄存器     在一个或多个保持寄存器中取得当前的二进制值  范围1-32个
04号功能:在一个或多个输入寄存器中取得当前的二进制值 ,范围1-32个

05号功能:强置单线圈     强置一个逻辑线圈的通断状态(写位),范围1个

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

15号功能:强置多线圈     强置一串连续逻辑线圈的通断(写多位),范围1-512个

16号功能:预置多寄存器   把具体的二进制值装入一串连续的保持寄存器(写多个寄存器),范围1-32个

PLC寄存器在Modbus通信时所对应的地址编号:

16进制地址编号

寄存器

0000-01FF

D0-D511

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

 

 

投诉建议

提交

查看更多评论
其他资讯

查看更多

顾美科技端午节放假通知

顾美PLC一体机在汽车轮毂铸造车间的应用

顾美PLC一体机在全自动无铅波峰焊上应用

顾美触摸屏PLC一体机在容器液体保压测试机的应用

顾美匠心打造螺丝机/点胶机通用控制系统