sunzengli
級別: 論壇先鋒
|
我現(xiàn)在有6個遠(yuǎn)程站,相隔幾百米,走modbus rtu通訊,2個站共用一個電柜,變頻器控制水泵,一個變頻器一個站對應(yīng)一個水泵,一備一用,備用的在不使用時,電源是關(guān)閉的。這樣在輪詢時就會產(chǎn)生問題,主站PLC這邊并不知道遠(yuǎn)程站是哪個泵在啟用,由于有變頻器沒有上電,所以是通訊不上的,導(dǎo)致輪詢時間非常長,我現(xiàn)在不知道用什么辦法能排除這種影響,只有一根485通訊線和遠(yuǎn)程電柜交互數(shù)據(jù),想不到好的處理辦法。 請各位指點一二,謝謝。 |
---|---|
|
croxie
級別: 正式會員
|
需要自己寫輪詢程序,當(dāng)主、備有一個響應(yīng)時就跳過這個站點,當(dāng)兩個都沒響應(yīng)時報警。 |
---|---|
|
apei2014
工控的世界,我不懂
級別: 論壇先鋒
|
弄兩個開關(guān),哪個要通訊,就把對應(yīng)開關(guān)打開 |
|
---|---|---|
|
sunzengli
級別: 論壇先鋒
|
就只沒辦法知道啊,什么辦法能知道呢?再拉一根線?好幾百米,很麻煩。 |
---|---|
|
不小心遇見你
自動項目、PLC、視覺、通訊等工控軟件開發(fā)QQ3515716
級別: 工控俠客
|
一看你就是沒有經(jīng)驗 盡量考慮全面一些。這些都是我根據(jù)你的描述做出的自己理解,若有出入,請忽略 1、首先輪詢時如果通訊失敗有錯誤代碼反饋,一般無法聯(lián)系主機或者主句無響應(yīng),只能認(rèn)為離線,注意這里的離線是兩種我們歸為一種,沒電離線和斷線離線。注意這里是根據(jù)錯誤代碼判斷 2、離線后,做一個標(biāo)志不再訪問該該站,因為你是2個站,一個bool即可,bool設(shè)置為ture,然后訪問2號站,如果2號站訪問成功就訪問,訪問不成功,就把bool設(shè)置為false,接著訪問1站。 3、注意這里有2個問題: a、否訪問成功時,還需判斷運行狀態(tài),最好有能判斷運行狀態(tài)的,那個bool和這個運行狀態(tài)也要關(guān)聯(lián),只有通訊OK且設(shè)備運行時才繼續(xù)訪問,否則來回的切換。比如1和2號站都訪問成功且沒有運行,這時候就報設(shè)備未運行。 b、兩個都訪問不成功時,敲黑板:我說的是訪問不成功時(就不存在運行狀態(tài)的判斷了),短時間內(nèi)輪序次數(shù)超過2次即可報異常,比如設(shè)備均為運行 |
|
---|---|---|
|
sunzengli
級別: 論壇先鋒
|
對于操作工來說,這很難,一個是距離很遠(yuǎn),判斷要過去看,另外一個,對于操作工來說,哪個站要斷開他并不一定清楚地知道。 |
---|---|
|
sunzengli
級別: 論壇先鋒
|
沒電離線和斷線離線是兩種代碼?你確定嗎? |
---|---|
本帖最近評分記錄: |
gxtmdb82164
級別: 論壇先鋒
|
你這里本質(zhì)上是控制電源和動力電源沒分開的問題,但是你線都已經(jīng)拉了,這個事情只能迂回解決了~ 標(biāo)準(zhǔn)解決方案中,從站的通信模塊或者從站模塊的供電屬于控制電源,要么直接從主站和通信線一起拉出來,要么在從站和動力電源分開,動力電源是可以下電的,而且下電以后是有反饋的。如果按這個方案,你看你的問題不就解決了~ 但是木已成舟了,現(xiàn)在還有一些迂回的方案可以解決。 1、最簡單,自己寫輪詢,縮短等待時間,這個應(yīng)該是有效果的,因為你從站并不多。而且這里有個小技巧就是,確認(rèn)不在線的總站可以用更低的頻率去connect,比如2s、5s甚至10s,這樣可以相當(dāng)大程度上實現(xiàn)通信的自動恢復(fù),而且不影響正常的周期性數(shù)據(jù)讀寫。 2、在每個從站加一個IO模塊檢測變頻器在線情況,然后這個模塊要保證不下電的,也就是說這幾個IO模塊始終在線,讀寫變頻器前先讀IO模塊,看看哪個在線哪個不在線。 ps:都2024年了,推薦所有需要拉幾百米線的場合全部從485換到以太網(wǎng)(家用以太網(wǎng)標(biāo)準(zhǔn)是150M,請確認(rèn)使用了工規(guī)以太網(wǎng)設(shè)備),你這個情況如果是以太網(wǎng)且不說網(wǎng)絡(luò)容量沒有限制,單是供電這個問題POE加上就原地解決了。而且即便是終端設(shè)備是RTU,現(xiàn)在以太網(wǎng)轉(zhuǎn)RTU也便宜的要死,很多智能型網(wǎng)關(guān)模塊都可以替代PLC做數(shù)據(jù)輪詢,你這個場景下直接從網(wǎng)關(guān)就能讀到設(shè)備是否在線,如果在線,數(shù)據(jù)也都給你準(zhǔn)備好了,更簡單~ |
---|---|
|
喊聲靚仔
級別: 正式會員
|
聲明2個變量,從站1超時,從站2超時。判斷從站的超時次數(shù)把這2個變量置True,然后在你的輪詢程序里面加上這2個條件的判斷,如果從站1超時為True,流程步就跳過從站1的數(shù)據(jù)收發(fā)就好了 |
---|---|
|