我這邊的情況是這樣的,PLC與變頻之前通訊會(huì)分3類;
第一類是通過觸摸屏給PLC寫數(shù)據(jù)然后通過485發(fā)送給變頻(寫頻率,故障復(fù)位功能),以及現(xiàn)在操作者通過按鈕給PLC指令也寫到變頻中;
第二類是設(shè)備通過傳感器感應(yīng)到信號(hào)由PLC接收再給變頻發(fā)通訊(多段速以及啟停功能);
第三類是PLC讀取變頻的信息(頻率以及狀態(tài));
現(xiàn)場(chǎng)的情況是這樣,設(shè)備正常運(yùn)行,一直讀取變頻信息,然后觸摸屏與現(xiàn)在按鈕,傳感器感應(yīng)到信息必須完整穩(wěn)定的發(fā)送到變頻中,
如果說我正在讀取變頻的信息,突然感應(yīng)到了設(shè)備傳感器的信息,這時(shí)候雖說PLC知道了信息,可發(fā)不出去,如果說PLC讀取完了變頻的信息之后,傳感器
來的信號(hào)已經(jīng)沒了,那不就是說這次傳感器的信號(hào)失效了,這樣就會(huì)出事故。
不知道大家聽明白沒有,我的意思是說如果變頻正在發(fā)送數(shù)據(jù)或者讀取數(shù)據(jù)的時(shí)候,如果巧了別的信號(hào)來了也要要求寫數(shù)據(jù),這樣就可能導(dǎo)致后來的
信號(hào)失效了,或者傳輸有錯(cuò)誤,怎樣個(gè)邏輯能讓每次發(fā)送接收數(shù)據(jù)的時(shí)候穩(wěn)定完整啊.
我第一次用的方法是如果設(shè)備的傳感器或者現(xiàn)場(chǎng)的按鈕來按時(shí),停止讀取信息,然后信號(hào)給到PLC的時(shí)候加個(gè)延時(shí),讓讀取信息有個(gè)逾時(shí)。可這樣也
會(huì)有小bug,如果現(xiàn)場(chǎng)的按鈕以及傳感器的信號(hào)又巧了兩個(gè)同時(shí)來了(如果說變頻挺多20多臺(tái),每臺(tái)傳輸?shù)臄?shù)據(jù)也很多),怎樣讓PLC接收信號(hào)的時(shí)候來一
個(gè)信號(hào)排隊(duì)的問題,就是說先來后到,這個(gè)邏輯就沒弄清,如果有高手看到的話指點(diǎn)指點(diǎn)吧