|
公司基本資料信息
|
如何實(shí)現(xiàn)兩臺(tái)PLC之間的MODBUS無線通信?
在工業(yè)現(xiàn)場(chǎng)可能會(huì)遇到這樣的情況,分布在不同地方(車間、控制室場(chǎng)所等)的PLC之間需要進(jìn)行遠(yuǎn)程相互控制,通常是采用RS485總線,通過MODBUS協(xié)議完成此功能。
如果現(xiàn)場(chǎng)布線不方便的話,也可以采用無線方式進(jìn)行通信。這里以達(dá)泰DTD433無線模組和臺(tái)達(dá)DVP-80EH為例進(jìn)行說明。
一、兩DVP-80EH臺(tái)達(dá)PLC之間的遠(yuǎn)程控制
實(shí)現(xiàn)的功能:
l PLC1的8個(gè)開關(guān)量輸入,X0~X7與PLC2的開關(guān)量輸出Y0~Y7一一對(duì)應(yīng),也就是說上圖中的A1開關(guān)按下時(shí),PLC1的開關(guān)量輸入X0閉合,PLC2的輸出繼電器觸點(diǎn)Y0導(dǎo)通,L2點(diǎn)亮。
l PLC1與PLC2之間的通信是通過RS485總線連接的,其中采用了Modbus協(xié)議。
二、臺(tái)達(dá)PLC通信中的Modbus協(xié)議編程方法
假設(shè)把PLC1作為主站,PLC2作為從站,分別編寫主站和從站程序,主要掌握以下要點(diǎn):
Modbus主站讀寫程序
l Modbus RTU主站功能是通過指令庫中預(yù)先編好的內(nèi)存值實(shí)現(xiàn)的,該內(nèi)存值可以用WPL軟件:幫助->輔助編程->通信格式設(shè)置,在這個(gè)工具中輸入你想要的通信格式,然后生成對(duì)應(yīng)的內(nèi)存值。
Modbus RTU主站中一定要設(shè)置通信模式,模式編號(hào)請(qǐng)查閱WPL軟件的幫助文檔。
上述程序解析:
l M1002常開觸點(diǎn),當(dāng)系統(tǒng)RUN以后第一次掃描為:ON,之后都為:OFF;該脈沖的寬度為一次掃描周期;
l MOV H81 D1120為設(shè)置通信格式為:9600-8-n-1;
l 通信格式保持應(yīng)用命令;
l 設(shè)置通信逾時(shí)300ms;
l 設(shè)置主站的通信模式為Modbus RTU
Modbus從站讀寫程序
上述程序解析:
l M1002常開觸點(diǎn),當(dāng)系統(tǒng)RUN以后第一次掃描為:ON,之后都為:OFF;該脈沖的寬度為一次掃描周期;
l MOV H81 D1120為設(shè)置通信格式為:9600-8-n-1;
l 通信格式保持應(yīng)用命令;
用戶出現(xiàn)的問題:PLC無法與DTD433模塊通信
用戶程序:
原因分析:
本程序無法通信主要原因是:
1.PLC的通信格式和DTD433C的數(shù)據(jù)通信格式不一樣,上圖用戶程序里設(shè)置的通信格式為:9600 7-E-1;而DTD433模塊通信格式為:9600 8-N-1;
2.PLC沒有選擇正確的通信模式,上圖程序中沒有設(shè)置,一般是要設(shè)置的。
解決方法:
1.改變用戶PLC程序中通信格式設(shè)置,設(shè)置為9600 8-N-1;也就是說采用的波特率為9600、8位的數(shù)據(jù)位、無校驗(yàn)、1位的停止位;上圖中用戶程序設(shè)置通信格式的語句為MOV H80 D1120,其中MOV為數(shù)據(jù)傳送指令,將H80傳送到D1120,而H80對(duì)應(yīng)的數(shù)據(jù)格式為9600 7-E-1(波特率是9600、數(shù)據(jù)位是7位、偶校驗(yàn)、停止位1位)查詢方法如下圖:
D1120是設(shè)置通信的功能口,所以只要把通信格式設(shè)置為9600、8-N-1對(duì)應(yīng)該的內(nèi)存值,如下圖所示:
所以設(shè)置通信格式的命令應(yīng)該改為:MOV H81 D1120
2.加入設(shè)置通信模式的語句,設(shè)置為Modbus RTU模式(RTU模式只能是8位的數(shù)據(jù)位);設(shè)置通信模式的指令需要用到SET指令,當(dāng)SET指令被驅(qū)動(dòng),其指定的元件被設(shè)置為On,且被設(shè)置的元件會(huì)維持On,不管SET指令是否仍被驅(qū)動(dòng);設(shè)置Modbus RTU模式時(shí),因?yàn)楸敬卧O(shè)置的主機(jī)用的是COM2口(D1120也是用在COM2口的),所以設(shè)置Modbus RTU模式的特殊繼電器為:M1143;因此設(shè)置通信模式的命令應(yīng)該為:SET M1143。
通過上述兩個(gè)方面的修改,PLC和DTD433模塊通信成功!
三、無線Modbus通信的實(shí)現(xiàn)方法
以上說明了采用有線RS485總線實(shí)現(xiàn)多臺(tái)PLC之間的遠(yuǎn)程控制方法,有時(shí)由于現(xiàn)場(chǎng)條件的限制,重新布設(shè)通信線路很不方便,例如山上與山下,或者橫跨馬路的情況,尤其對(duì)于工程改造項(xiàng)目二次布線幾乎是甲方無法接受的。在這種情況下,可以采用DTD433無線通信模組代替通信電纜,實(shí)現(xiàn)起來非常方便,不需要編程。
無線通信模組采用中心頻率為433MHz開放的ISM頻段,內(nèi)部使用全數(shù)字RF通信芯片與單片機(jī)組成無線數(shù)傳系統(tǒng),外部通信接口與RS485總線完全一致,為了使用方便,通信實(shí)現(xiàn)所發(fā)即所得,也就是說數(shù)據(jù)通信是完全的透明方式,這樣的話,用兩個(gè)DTD433模組能夠直接代替有線的RS485通信導(dǎo)線。需要注意的是:
l PLC的Modbus通信速率要與無線數(shù)傳模組的波特率設(shè)置一致,例如通信參數(shù)可以設(shè)置為9600bps,8位數(shù)據(jù),無效驗(yàn)位。
l DVP-80EH的RS485+連接DTD433的RS485_A;
l DVP-80EH的RS485-連接DTD433的RS485_B;
l 無線數(shù)傳模組的供電電源為直流24V,與PLC可以共用電源;
l 無線通訊距離在200米左右選用DTD433A模組;
l 無線通訊距離在1000米左右選用DTD433B模組;
l 無線通訊距離在3000米左右選用DTD433C模組;
l 保證通信距離,提高通信質(zhì)量要選擇高增益的吸盤天線,天線安放高度離地面越高效果越好。
四、PLC與DTD433無線模組通訊成功的案例
l 西門子PLC與DTD433C-S4 9600bps,8,N,1,RS485口
l 海為PLC與DTD433C-S4 9600bps,8,N,2,RS485口
臺(tái)達(dá)PLC與DTD433A_S4 9600bps,8,N,1,RS485口