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