一、MODBUS通訊概述
MODBUS協議分為序列鏈路上MODBUS協議和基於TCP/IP協議的MODBUS 協議。序列鏈路上MODBUS協議有MODBUS ASCAII(字串) 和MODBUS RTU兩種
200SMART所提供的MODBUS協議庫能夠支援MODBUS RTU通訊
MODBUS RTU 是以16進位制的數值進行傳送
MODBUS ASCAII是以ASCAII碼的方式進行傳送,一個數據採用RTU方式傳送只需要一個位元組,而用ASACII碼傳送需要兩個位元組,傳送時間
PLC與變頻器串列埠通訊有很多通訊方式,但常用的、首選的就是MODBUS通訊方式,在實際的工業控制中應用非常廣泛;這一期我們向大家一起分享變頻器如何與PLC透過MODBUS RTU的方式進行控制
二、MODBUS庫指令詳解
庫指令分兩種,一個是主站庫,一個是從站庫
主站是PLC作為MODBUS的主站主動去讀取其他裝置的資料;從站是PLC作為MODBUS的從站,其他裝置來讀取資料;本期我們分享的是PLC作主站,變頻器做從站
STEP7-MinWIN SMART軟體自帶MODBUS通訊庫指令
初始化指令:
控制指令:
三、MODBUS RTU的通訊格式(協議)
通訊協議有:站號、功能碼、資料地址、資料內容、校驗位、結束符組成
校驗:N=None無校驗 E=Even偶校驗 O=Odd奇校驗
判斷資料位中為1的個數是奇數還是偶數(選擇偶校驗如16#03中如果為1 的個數是偶數時,校驗位為1 ;如果為1 的個數是奇數時,校驗位為0 。選擇奇校驗時,為1的個數是偶數時,校驗位為0 ;為1的個數是奇數時,校驗位為1)
功能碼指定了對從站裝置讀操作還是寫操作,同時也指定了MODBUS暫存器地址的型別,常用功能碼有:
四、PLC與變頻器通訊硬體的連線
在變頻器上面涉及通訊的端子標記有A/B RS585+/RS485-或RJ11的網口;找到相關變頻器的說明書檢視通訊埠的接線定義,以下是臺達VFD-M系列的變頻器通訊口接線定義
五、變頻器通訊引數的設定
1、 要實現變頻器或儀表和PLC能正常通訊,彼此的介面和協議需要一致,除此之外引數的設定也必須一致
P00 設03(頻率指令)
P01 設03(運轉指令)
P88 設03 (通訊地址,0-254之間)
P89 設02(波特率選擇)
P92 設04 (資料格式,200SMART不支援2個停止位,因此只能選04/05任意一個引數)
P157 設01 (變頻器預設的就是MODBUS模式)
2、檢視說明書的啟停、頻率給定、執行頻率、電壓電流等反饋引數的地址
資訊幀格式說明
表示讀2103 2104兩個地址的資料放在17 70 和00 00的地址裡
通訊協議的引數地址定義:
執行命令地址2000H 頻率命令地址2001H
輸出頻率地址2103H 輸出電流地址22104H
輸出電壓地址2106H 變頻器溫度地址 210DH
六、MODBUS通訊程式的編寫
在程式的開始可以加一段初始化對所有的位進行復位。