不久前的一天,已合作多年的客戶心急如焚地找到了我。
無故障運行多日的RS485總線突然無法通信,這條總線連接有1個主控,5個分控以及1個工控屏。
主控工作於MODBUS主模式,定時向分控以及工控屏通過MODBUS協議讀寫數據。
主控定時獲取分控工作狀態,將數值通過MODBUS的寫操作16向工控屏寫入數據進行顯示。
同時通過讀操作06讀取用戶在工控屏上輸入的數值。
與此同時,當檢測到開關等操作之後,通過MODBU寫操作向分控發送命令,通知分控執行輸出控制電磁閥,門鎖等電器設備。
當RS485失效,分控無法正常控制電器設備,可能將正在玩遊戲的顧客鎖在房內,導致嚴重後果。
客戶急忙聯繫到了我,我向客戶瞭解到了以下情況:
- 屏幕與分控採用手拉手的連接方式;
- 連接在最遠端的屏幕與主控之間的距離約為500m;
- RS485通信採用了雙絞屏蔽線;
- 可能存在強電和弱電的電纜混在一起走線的情況;
- 為了提高響應速度改善客戶體驗,RS485通信的波特率設置為19200bps;
- 將整個系統(包括主控、分控以及工控屏)斷電再重新上電之後,故障消失,RS485恢復正常通信;
我的第一感覺是在這個系統中,RS485總線走線比較長;
可能因為終端沒有接120歐姆的匹配電阻,導致通信信號發生了反射,破壞了信號完整性,使得通信發生了異常。
於是,立即將客戶找到120歐姆的插件電阻,鎖在了位於末端的屏幕的A+和B-之間;
運行了一個晚上,相安無事;第二天一大早,客戶又找到了我,RS485通信又華麗麗的掛了。
作為有幾十年工作經驗的優秀的工程師,我再仔細分析了一下客戶的系統;
這個故障有一個最明顯的特徵:運行一段時間之後才出故障;
我的腦海中閃過了一道亮光,立即與客戶確認以下問題:
我: 你們所用的屏蔽雙絞線的屏蔽層有接地嗎?
客戶:沒有接地!
我:兩頭沒有任何一頭有接地嗎?
客戶:沒有!
我:你把屏蔽線的屏蔽層接地試一下。
客戶:接大地,還是接主控的V-?
我:如果主控的V-有接大地的話,可以接V-,否則接大地;
幾分鐘之後,從客戶那裡傳來了好消息;
客戶:我把屏蔽層接大地之後,RS485通信立即恢復了。
至此,完滿解決了客戶的問題。
問題原因:
電網或者空間的電荷耦合到屏蔽線的屏蔽層,如果屏蔽層沒有接地,則屏蔽層的電荷積累得越來越多,最終將電荷A+,B-線上的波形,導致通信異常。
測量屏蔽層對地電壓,可以達到幾十甚至上百V的電壓。
因此,需要將屏蔽層接到大地,將耦合到的電荷洩放到大地,避免電荷在屏蔽層的積累。
另外,控制器的地V-也需要接入到大地中,目的在於洩放從電源或者是空間耦合的電荷,避免影響控制器的正常運行。,同時避免觸電的危險。