行業動態

plc通訊原理和程序設計

plc通訊原理和程序設計
 
通訊程序設計在自動化系統的應用越來越廣泛,例如plc與操作界面的數據交換,通過通訊對變頻器的控制,plc的連網等等。
要想實現plc的通訊編程,首先所選的plc必須有強大的通訊能力,就是說plc的操作系統能夠支持多種通訊格式,通常一種品牌的plc如果能夠提供給用戶更多的編程自由度,那么這種品牌的技術開發能力就越強大,大多數品牌只能提供固定格式的通訊格式或協議,這就大大局限了plc與其他智能設備的數據交換。
我們的plc產品具有RS232和光電隔離的RS485兩個自由通訊口,兩個通訊口可以同時收發數據,幾乎可以適應所有通訊格式,可以提供CRC和BCC等多種校驗方式。
以一臺PLC通過485通訊控制多個某品牌的變頻器為例:
如果該變頻器的波特率是9600b/s,8個數據位,奇校驗,1個停止位。那么首先必須在plc的嵌入C窗口的初始化代碼區編程一個通訊口設置語句:Set485Port(9600,o,8,1);僅僅一個語句就完成了對485通訊口的編程。
由于485通訊必須設定主從關系,這里是plc控制多臺變頻器,所以plc必須設置為主,因此還需在初始化代碼區增加一個地址和主從設定語句:SetAddress(1,MASTER);事實上,對于主控制器來說,地址已經失去意義。
通訊口已經設置完畢,下面就是如何根據要求將數據發送給變頻器。
例如一組8字節控制數據如下所示:
01h ---->變頻器編號
03h ---->命令
21h ---->兩字節參數地址
02h
00h ---->兩字節參數
02h
CRC --->兩字節CRC校驗馬
CRC
PLC程序
Set485TBAddPointer(0);
AddNumberTo485TB(0x1);
AddNumberTo485TB(0x3);
AddNumberTo485TB(0x21);
AddNumberTo485TB(0x2);
AddNumberTo485TB(0x0);
AddNumberTo485TB(0x2);
AddCRCTo485TB();
Start485Transmit();

滬公網安備 31010102004821號