sunzengli
級(jí)別: 論壇先鋒
![]() |
我現(xiàn)在有6個(gè)遠(yuǎn)程站,相隔幾百米,走modbus rtu通訊,2個(gè)站共用一個(gè)電柜,變頻器控制水泵,一個(gè)變頻器一個(gè)站對(duì)應(yīng)一個(gè)水泵,一備一用,備用的在不使用時(shí),電源是關(guān)閉的。這樣在輪詢時(shí)就會(huì)產(chǎn)生問題,主站PLC這邊并不知道遠(yuǎn)程站是哪個(gè)泵在啟用,由于有變頻器沒有上電,所以是通訊不上的,導(dǎo)致輪詢時(shí)間非常長,我現(xiàn)在不知道用什么辦法能排除這種影響,只有一根485通訊線和遠(yuǎn)程電柜交互數(shù)據(jù),想不到好的處理辦法。 請(qǐng)各位指點(diǎn)一二,謝謝。 |
---|---|
|
不小心遇見你
自動(dòng)項(xiàng)目、PLC、視覺、通訊等工控軟件開發(fā)QQ3515716
級(jí)別: 工控俠客
![]() ![]() |
一看你就是沒有經(jīng)驗(yàn) 盡量考慮全面一些。這些都是我根據(jù)你的描述做出的自己理解,若有出入,請(qǐng)忽略 1、首先輪詢時(shí)如果通訊失敗有錯(cuò)誤代碼反饋,一般無法聯(lián)系主機(jī)或者主句無響應(yīng),只能認(rèn)為離線,注意這里的離線是兩種我們歸為一種,沒電離線和斷線離線。注意這里是根據(jù)錯(cuò)誤代碼判斷 2、離線后,做一個(gè)標(biāo)志不再訪問該該站,因?yàn)槟闶?個(gè)站,一個(gè)bool即可,bool設(shè)置為ture,然后訪問2號(hào)站,如果2號(hào)站訪問成功就訪問,訪問不成功,就把bool設(shè)置為false,接著訪問1站。 3、注意這里有2個(gè)問題: a、否訪問成功時(shí),還需判斷運(yùn)行狀態(tài),最好有能判斷運(yùn)行狀態(tài)的,那個(gè)bool和這個(gè)運(yùn)行狀態(tài)也要關(guān)聯(lián),只有通訊OK且設(shè)備運(yùn)行時(shí)才繼續(xù)訪問,否則來回的切換。比如1和2號(hào)站都訪問成功且沒有運(yùn)行,這時(shí)候就報(bào)設(shè)備未運(yùn)行。 b、兩個(gè)都訪問不成功時(shí),敲黑板:我說的是訪問不成功時(shí)(就不存在運(yùn)行狀態(tài)的判斷了),短時(shí)間內(nèi)輪序次數(shù)超過2次即可報(bào)異常,比如設(shè)備均為運(yùn)行 |
|
---|---|---|
|