信捷plc使用modbus RTU和變頻器通信

信捷plc使用modbus rtu和信捷變頻器通信
0.1:要求:plc和變頻器都支持modbusRTU的
1:modbus和rs485的區別
modbus是一種串行通信協議,而rs485是硬件接口,大多數的modbus都是經過串口485進行的,485又分全雙工和半雙工,區別是全雙工是雙絞線的分別是A和B,半雙工是四線的分別是A+ A-和B+ B-
2:modbus通信協議分幾種
modbus通信協議分三種,分別是modbus TCP,modbus RTU,modbus ASCII
Modbus協議須要對數據進行校驗,串行協議中除有奇偶校驗外,ASCII模式採用LRC校驗,RTU模式採用16位CRC校驗,但TCP模式沒有額外規定校驗 RTU和ASCII用得比較多的,它們在數值數據表示不一樣和協議細節上略有不一樣,其中用得最多的是RTU本文中也是使用modbus RTU3:modbus RTU
3.1 modbus RTU功能就是對單個或多個寄存器讀或者寫,在寄存器前面可加控制3.2數據幀10位,1個起始位,8個數據位,1箇中止位,無校驗,波特率:9600;19200
3.3格式
1 2 3 4 5 6 7 8
01H 06H 20H 00H 00H 01H CRC1 CRC2
第1字節 ADR : 從機地址碼(=001~254)
第2字節 03H : 讀寄存器值功能碼
第三、4字節 : 要讀的寄存器開始地址要讀FCC下掛儀表,
第五、6字節 : 要讀的寄存器數量
第七、8字節 : CRC校驗能夠用CRC校驗計算器算從機接送到正確的會回覆一個同樣的………………………………………………………………………………………… 以上就是一些關於modbusRTU相關的概念
如下就是本文中的信捷plc和信捷變頻器通信plc是信捷的XC2 變頻器是信捷V5 二者採用的是用485全雙工
設定PLC與變頻器的通信參數,數據長度爲8位,偶校驗,1位中止位,波特率爲19200bps。
變頻器的頻率給定通道P0.01:4; (串行口給定)
運行命令通道選擇P0.03:2;( 串行口運行命令通道)
通信配置P3.09:064;( 6:1-8-1格式,無校驗. 4:19200BPS)
本機地址P3.10:001;本機地址1
程序以下
LDP X0 ADD D0 K1000 D0 頻率加10
LDP X1 SUB D0 K1000 D0 頻率減10
LDP X2 MOV K2 D100 正轉
LDP X3 MOV K7 D100 中止
LDP X4 MOV K3 D100 反轉
LD M8002 SET M0 置位M0
LD M0 OUT T0 K5 計時5毫秒
LDP T0 REGW K1 H2001 D0 K2 從 PLC 寫數據到變頻器
RST M0 復位M0
SET M1 置位M1
LD M1 OUT T1 K5 計時5毫秒
LDP T1 REGW K1 H2000 D100 K2 從PLC寫數據到變頻器
RST M1 復位M0
SET M2 置位M2
LD M2 OUT T2 K5 計時5毫秒
LDP T2 REGR K1 H2103 K6 D200 K2 從變頻器讀數據到PLC
RST M2 復位M2
SET M0 置位M0 循環發送
注意 :CRC校驗碼在plc中能夠plc本身算出來的 問什麼要計時5毫秒 由於modbusRTU是單個指令發送 一塊兒發送的話 不算單個指令 只能接受到一個
關於regw和regr指令REGW是寄存器讀指令,REGW S1 S2 S3 D1 D2 簡單來說就是:
S1從機地址
S2參數地址(能夠參考變頻器手冊中的通信協議參數定義)
S3寄存器個數
D1寄存器地址
D2串口編號(通常是K1~K3)
REGR也是差很少的,區別就是反過來了,從變頻器讀回來 存放到寄存器中















































blog

在這裏插入圖片描述

相關文章
相關標籤/搜索