你们的PLC的485是什么通信协议?如何用?
RS485通信格式由D8120确定,D8120的各位对应的通信参数如下:
位号 |
名称 |
内容 |
||
0(位OFF) |
1(位ON) |
|||
B0 |
数据长 |
7位 |
8位 |
|
B1 B2 |
奇偶位 |
b2 b1 (0,0):无校验 (0,1):奇数ODD (1,1):偶校验EVEN |
||
B3 |
停止位 |
1位 |
2位 |
|
B4 B5 B6 B7 |
传送速率 bps |
b7 b6 b5 b4 b7 b6 b5 b4 {0,0,1,1}:300 {0,1,1,1}:4800 {0,1,0,0}:600 {1,0,0,0}:9600 {0,1,0,1}:1200 {1,0,0,1}:19200 {0,1,1,0}:2400 {1,0,1,0}:38400 {1,0,1,1}:57600 {1,1,0,0}:119200 |
||
B8 |
起始符 |
无 |
有(D8124) |
|
B9 |
终止符 |
无 |
有(D8125) |
|
B10 B11 |
不可使用 |
|||
B12 B13 B14 B15 |
通信协议 |
B15 b14 b13 b12 {0, 0, 0, 0}:三菱FX3u协议 (从机) {0, 1, 0, 0}:MODBUS RTU (从机) {0, 1, 1, 0}:连接短信模块 {1, 0, 0, 0}:MODBUS RTU (主机,IVRD,IVWR指令) {1, 1, 0, 0}:自由通信(RS指令,用CCD或CRC校验) |
||
485设置示例:
例1:用来连接触摸屏,那么把485定义成三菱FX协议,程序里传送指令:MOV H86 D8120(9600波特率,H96就是19200波特率,HA6就是38400波特率),这样485口就是三菱FX协议了。触摸屏组态软件里PLC也选择三菱PLC,波特率9600,PLC485(A+,B+)连接到触摸屏的485管脚上就可以了。
例2:1台触摸屏同时控制几台PLC,那么把485定义成Modbus Rtu从机,程序里传送指令:MOV H4081 D8120(9600波特率,8位数据位,无效验,1位停止位),MOV K1 D8121(设置PLC站号) 。触摸屏组态软件里PLC选择Modbus Rtu,波特率9600,站号设1。PLC485(A+,B+)连接到触摸屏的485管脚上就可以了。
例3:PLC的485口用来控制变频器,那么把485定义成Modbus Rtu主机机,程序里传送指令:MOV H8081 D8120(9600波特率,8位数据位,无效验,1位停止位 。变频器选择Modbus Rtu,波特率设9600。PLC485(A+,B+)连接到变频器的485管脚上就可以了。 具体例程进入!
RS485通信口相关寄存器与特殊继电器说明:
特殊寄存器 |
说明 |
特殊继电器 |
说明 |
|
白色2脚RS485通信口 |
||||
D8120 |
RS485通信格式定义 |
M8121 |
数据发送时置位,发送完毕自动复位 |
|
D8121 |
RS485通信站号设定 |
M8122 |
发送请求,当M8122置位时,一旦通信口有空闲就开始发送数据,开始发送后自动复位 |
|
D8122 |
发送数据剩余数 |
M8123 |
数据接收完毕标记,当接收到一帧数据后该位自动置位,用户应在接收数据后复位该位 |
|
|
|
M8124 |
数据接收中置位,接收完数据复位 |
|
M8129:通信超时标记,当主机发出命令,从机在D8129时间内没有回应,M8029会置位 |
||||
|
- 上一篇:YDG系列与YDD系列PLC白色232口怎么使用? 2017/4/4
- 下一篇:你们的PLC模拟量输入是什么信号? 2017/4/4