13821917697
承接電氣自動化項(xiàng)目、電氣接線圖設(shè)計(jì)、IO點(diǎn)表、電氣元器件選型
級別: 工控俠客
![]() |
圖片:
![]()
圖片:
![]() 已經(jīng)正常運(yùn)行4年的一個項(xiàng)目,最近出現(xiàn)了問題。1200做客戶端,與6個智能網(wǎng)關(guān)做modbus tcp通訊,讀取數(shù)據(jù),每個網(wǎng)關(guān)獨(dú)立IP,ping都正常。 近期運(yùn)行大概每10天左右,就會出現(xiàn)連接中斷的情況,PLC斷電重啟則能恢復(fù)正常。出現(xiàn)故障的時候報錯誤代碼80C8,但是看了幫助沒怎么看懂。 有哪位朋友遇到過這種問題嗎?或者有什么辦法可以 使程序自動重啟。 |
---|---|
|
fczxjh
級別: 論壇先鋒
![]() |
可能出現(xiàn)通信擠兌的情況,就是同時有通信指令在進(jìn)行,時間長或者次數(shù)多了可能會宕機(jī)。 建議你優(yōu)化下輪詢程序,比如每條指令做好充足的時間間隔,如果有站掉線,時間會延長。把S7、TCP等同一網(wǎng)口的通信指令進(jìn)行輪詢,避開同時觸發(fā)。 我看你DONE\ERROR并沒有使用。實(shí)際官方的例程是有使用的。 當(dāng)REQ觸發(fā),DONE或者ERROR觸發(fā)后,REQ復(fù)位,下一個站REQ觸發(fā),DONE或者ERROR觸發(fā)后,下一個站REQ觸發(fā)...... 其次,單條指令的最大字?jǐn)?shù)好像是128個,而你100個字也算多了,modscan測試少有讀100個地址穩(wěn)定不掉線的情況。一般二三十個是可以穩(wěn)定的。 地址讀多了或者讀到無效地址就會導(dǎo)致掉線,你可以減少單個指令讀取的字?jǐn)?shù),一個指令讀不完就分兩個指令來讀,且盡量是說明書上的有效地址范圍。 [ 此帖被fczxjh在2025-04-15 11:23重新編輯 ] |
---|---|
本帖最近評分記錄: |
哈嘍123
不和不如自己的人爭高低論短長!
級別: 略有小成
![]() |
二樓說的比較懇切,多站的情況能輪詢盡量輪詢,一個結(jié)束再讀下一站,這樣做的好處避免出現(xiàn)擁堵造成掉站或者通訊異常,還有就是利用國產(chǎn)的網(wǎng)關(guān),可以不需要輪詢,直接干他就完了,網(wǎng)關(guān)提前把你需要讀的數(shù)在PLC端以GSD映射出IW/QW/DI/DO出來,像用點(diǎn)位一樣懟起來 |
---|---|
|