在工業(ye) 現場可能會(hui) 遇到這樣的情況,分布在不同地方(車間、控製室場所等)的PLC之間需要進行遠程相互控製,通常是采用RS485總線,通過MODBUS協議完成此功能。
如果現場布線不方便的話,也可以采用無線方式進行通信。這裏以達泰DTD433無線模組和西門子S7_200為(wei) 例進行說明。
一、兩(liang) 台S7_200 西門子PLC之間的遠程控製,主從(cong) 站通訊
實現的功能:
- PLC1的8個開關量輸入,I0.0~I0.7與PLC2的開關量輸出Q0.0~Q0.7一一對應,也就是說上圖中的A1開關按下時,PLC1的開關量輸入I0.0閉合,PLC2的輸出繼電器觸點Q0.0導通,L2點亮。
- PLC2的8個開關量輸入,I0.0~I0.7與PLC1的開關量輸出Q0.0~Q0.7一一對應,也就是說上圖中的A2開關按下時,PLC2的開關量輸入I0.0閉合,PLC1的輸出繼電器觸點Q0.0導通,L1點亮。
- PLC1與PLC2之間的通信是通過S7_200 CPU22XP的Port0通信口的RS485總線連接的,其中采用了Modbus協議。
二、西門子PLC通信中的Modbus協議編程方法
假設把PLC1作為(wei) 主站,PLC2作為(wei) 從(cong) 站,分別編寫(xie) 主站和從(cong) 站程序,主要掌握以下要點:
Modbus 主站讀寫(xie) 程序
- Modbus RTU主站功能是通過指令庫中預先編好的程序功能塊實現的,該庫隻針對Port 0口有效;
- 在程序中插入MBUS_CTRL指令,並在每次掃描時執行MBUS_CTRL。您可以使用MBUS_CTRL指令初始化或更改Modbus通訊參數。
- Modbus RTU主站使用了一些用戶中斷,在用戶程序中不能禁止中斷;
- 讀取從站數據在程序中插入MBUS_MSG指令,注意從站地址設置用一致;
- 該例程訪問的為一個從站,若訪問不同的從站,可通過改變從站地址來實現。
Modbus 從(cong) 站讀寫(xie) 程序
- 在第一個循環周期內插入MBUS_INIT指令初始化Modbus從站協議:
Mode: 模式選擇,啟動/停止MODBUS,1=啟動;0=停止
Address: 從(cong) 站地址,MODBUS從(cong) 站地址,取值1~247
Baud: 波特率,可選1200,2400,4800,9600,19200,38400,57600,115200
Parity: 奇偶校驗,0=無校驗;1=奇校驗;2=偶校驗
Delay: 延時,附加字符間延時,缺省值為(wei) 0
Done: 初始化完成標誌,成功初始化後置1
Error: 初始化錯誤代碼
- 在本例子中,設置從站地址為8,Port0 通訊波特率為9600bps,無校驗;
- 本例子中Modbus RTU 從站指令使用的庫存儲為VB2000---VB2779,這段寄存器地址不能再被程序中的任何指令使用,包括MBUS_INIT 和MBUS_SLAVE 指令在內。
- MBUS_SLAVE指令被用於為Modbus主設備發出的請求服務,並且必須在每次掃描時執行,以便允許該指令檢查和回答Modbus請求。在每次掃描且EN輸入開啟時執行該指令。
三、無線Modbus通信的實現方法
以上說明了采用有線RS485總線實現多台PLC之間的遠程控製方法,有時由於(yu) 現場條件的限製,重新布設通信線路很不方便,例如山上與(yu) 山下,或者橫跨馬路的情況,尤其對於(yu) 工程改造項目二次布線幾乎是甲方無法接受的。在這種情況下,可以采用DTD433無線通信模組代替通信電纜,實現起來非常方便,不需要
無線通信模組采用中心頻率為(wei) 433MHz開放的ISM頻段,內(nei) 部使用全數字RF通信芯片與(yu) 單片機組成無線數傳(chuan) 係統,外部通信接口與(yu) RS485總線完全一致,為(wei) 了使用方便,通信實現所發即所得,也就是說數據通信是完全的透明方式,這樣的話,用兩(liang) 個(ge) DTD433模組能夠直接代替有線的RS485通信導線。需要注意的是:
- PLC的Modbus通信速率要與無線數傳模組的波特率設置一致,例如通信參數可以設置為9600bps,8位數據,無效驗位。
- S7_200的RS485+連接DTD433的RS485_B;
- S7_200的RS485-連接DTD433的RS485_A;
- 無線數傳模組的供電電源為直流24V,與PLC可以共用電源;
- 無線通訊距離在200米左右選用DTD433A模組;
- 無線通訊距離在1000米左右選用DTD433B模組;
- 無線通訊距離在3000米左右選用DTD433C模組;
- 保證通信距離,提高通信質量要選擇高增益的吸盤天線,天線安放高度離地麵越高效果越好。
四、PLC與(yu) DTD433無線模組通訊成功的案例
- 西門子PLC與DTD433C-S4 9600bps,8,N,1,RS485口
- 海為PLC與DTD433C-S4 9600bps,8,N,2,RS485口
- 台達PLC與DTD433A_S4 9600bps,7,E,1,RS485口
編程。