現(xiàn)場問題:
鼠標(biāo)按下彈起關(guān)聯(lián)一個IO離散變量,按下置1,彈起置0,經(jīng)過現(xiàn)場測試,有時置1之后沒有置0,或者有時根本無法置1,一直是0。
問題分析:
此問題的產(chǎn)生,很大可能是由于以下4點共同相互作用引起的。
運行系統(tǒng)基準(zhǔn)頻率:用戶可自行設(shè)置,組態(tài)王數(shù)據(jù)詞典中的變量值(也就是所謂的實時庫)多長時間從變量隊列中更新一次,更新一次后,變量隊列中的數(shù)據(jù)清空。然后會觸發(fā)曲線,動畫連接和數(shù)據(jù)庫等所有與之相關(guān)的作相應(yīng)的更新。組態(tài)王默認(rèn)的是500ms。在客戶的環(huán)境中,主要是文本的文本色更新,關(guān)聯(lián)PLC輸出寄存器,檢測賦值操作是否正常。
組態(tài)王數(shù)據(jù)詞典中的變量采集頻率,也就是多少時間從設(shè)備采集一次數(shù)據(jù)。這點主要是涉及到畫面的變量的更新,多長時間從設(shè)備上采集數(shù)據(jù),實時的在畫面上顯示。
按鈕按下和彈起的時間間隔,根據(jù)客戶溝通按鈕是點動,最短時間是500ms,也就是至少間隔500ms,變量會下發(fā)兩次。(也要解決按鈕間隔100ms,不會出現(xiàn)一直置1的情況,防止現(xiàn)場出現(xiàn)事故)。
在運行系統(tǒng)設(shè)置特殊屬性頁中勾選“寫變量時變化時下發(fā)”。當(dāng)實時庫的值和下發(fā)的值相同時,不給設(shè)備下發(fā)。
經(jīng)過長時間的測試分析,假如需要點動置1的變量為WR308,讀寫類型,采集頻率為500ms。WR308與之關(guān)聯(lián)的輸出位變量為Q10000,采集頻率為500ms。鼠標(biāo)按下時,WR308置1,彈起時置0,文本文本色關(guān)聯(lián)Q10000。
按鈕按下時,置1,首先判斷下發(fā)的變量的值是否跟實時庫中的值相等,如果相等,當(dāng)勾選“寫變量時變化時下發(fā)”,此變量就不下發(fā)。其他情況,將下發(fā)的指令添加到采集隊列,位置為;讀包之前。
按鈕彈起時,置1。處理過程和按鈕按下一致。
問題1:有時置1之后沒有置0。
分析及結(jié)果:
由于客戶現(xiàn)場的使用其他設(shè)備,必須得勾選“寫變量時變化時下發(fā)”。按鈕彈起沒有置0,應(yīng)該是檢測到下發(fā)的變量值跟實時庫中變量的值相等,沒有下發(fā)。為什么會出現(xiàn)相等的情況呢?
這跟變量采集的快慢,以及按鈕按下,彈起時的間隔有關(guān)。假如按鈕按下彈起的間隔為100ms,也就是瞬間完成的單擊操作;而此變量的采集頻率為500ms,與之關(guān)聯(lián)的輸出變量Q10000采集頻率為500ms。按鈕按下時,更新了實時庫里面的值,恰好采集時間節(jié)點到了,采集了WR308的設(shè)備上的值為0,之后再向設(shè)備寫值,100ms后彈起,向設(shè)備寫0,實時庫此時的值恰好為0,導(dǎo)致寫包沒有下發(fā)。500m后采集設(shè)備的值,值一直顯示1。與之關(guān)聯(lián)的輸出變量Q10000也一直變紅。
解決方案:
將WR308等點動變量從讀寫變量修改成只寫變量,采集頻率為0。
問題2:文本框顏色未變化。
分析及結(jié)果:
這跟輸出變量的采集頻率有關(guān)系,按鈕按下彈起,間隔100ms,設(shè)備中的值已經(jīng)從0變化到1,再從1變化到0,然后再去采集的話,會出現(xiàn),采集到的值一直是0的情況,從而文本顏色未變化。
解決方案:
將需要觀測的變量的采集頻率設(shè)置低一點。還應(yīng)該把運行系統(tǒng)基準(zhǔn)頻率也設(shè)置的低一點。
最佳方案:
最佳設(shè)置參數(shù)分別如下:
運行系統(tǒng)基準(zhǔn)頻率:100ms。
變量采集的頻率:100ms (最高),需要實時監(jiān)測的變量。
按鈕按下彈起間隔至少:100ms以上。
點動變量:修改成只寫變量,采集頻率為0.
注意點:
點動太快了,如果小于100ms或者出現(xiàn)電腦卡頓什么的特殊情況,還是有可能會出狀況(超出組態(tài)王的極限)。
微信掃碼 聯(lián)系企業(yè)微信客服