咨詢電話: 400-898-5151
        料中心 DOWNLOAD
        按鈕按下時/彈起時置1置0部分情況下不起作用問題及解決方法匯總?
        時間:2018-08-16 瀏覽次數:5839

        現場問題:

        鼠標按下彈起關聯一個IO離散變量,按下置1,彈起置0,經過現場測試,有時置1之后沒有置0,或者有時根本無法置1,一直是0。

        問題分析:

        此問題的產生,很大可能是由于以下4點共同相互作用引起的。

        運行系統基準頻率:用戶可自行設置,組態王數據詞典中的變量值(也就是所謂的實時庫)多長時間從變量隊列中更新一次,更新一次后,變量隊列中的數據清空。然后會觸發曲線,動畫連接和數據庫等所有與之相關的作相應的更新。組態王默認的是500ms。在客戶的環境中,主要是文本的文本色更新,關聯PLC輸出寄存器,檢測賦值操作是否正常。

        組態王數據詞典中的變量采集頻率,也就是多少時間從設備采集一次數據。這點主要是涉及到畫面的變量的更新,多長時間從設備上采集數據,實時的在畫面上顯示。

        按鈕按下和彈起的時間間隔,根據客戶溝通按鈕是點動,最短時間是500ms,也就是至少間隔500ms,變量會下發兩次。(也要解決按鈕間隔100ms,不會出現一直置1的情況,防止現場出現事故)。


        在運行系統設置特殊屬性頁中勾選“寫變量時變化時下發”。當實時庫的值和下發的值相同時,不給設備下發。

        經過長時間的測試分析,假如需要點動置1的變量為WR308,讀寫類型,采集頻率為500ms。WR308與之關聯的輸出位變量為Q10000,采集頻率為500ms。鼠標按下時,WR308置1,彈起時置0,文本文本色關聯Q10000。

        按鈕按下時,置1,首先判斷下發的變量的值是否跟實時庫中的值相等,如果相等,當勾選“寫變量時變化時下發”,此變量就不下發。其他情況,將下發的指令添加到采集隊列,位置為;讀包之前。

        按鈕彈起時,置1。處理過程和按鈕按下一致。

        問題1:有時置1之后沒有置0。

        分析及結果:

        由于客戶現場的使用其他設備,必須得勾選“寫變量時變化時下發”。按鈕彈起沒有置0,應該是檢測到下發的變量值跟實時庫中變量的值相等,沒有下發。為什么會出現相等的情況呢?

        這跟變量采集的快慢,以及按鈕按下,彈起時的間隔有關。假如按鈕按下彈起的間隔為100ms,也就是瞬間完成的單擊操作;而此變量的采集頻率為500ms,與之關聯的輸出變量Q10000采集頻率為500ms。按鈕按下時,更新了實時庫里面的值,恰好采集時間節點到了,采集了WR308的設備上的值為0,之后再向設備寫值,100ms后彈起,向設備寫0,實時庫此時的值恰好為0,導致寫包沒有下發。500m后采集設備的值,值一直顯示1。與之關聯的輸出變量Q10000也一直變紅。

        解決方案:

        將WR308等點動變量從讀寫變量修改成只寫變量,采集頻率為0。

        問題2:文本框顏色未變化。

        分析及結果:

        這跟輸出變量的采集頻率有關系,按鈕按下彈起,間隔100ms,設備中的值已經從0變化到1,再從1變化到0,然后再去采集的話,會出現,采集到的值一直是0的情況,從而文本顏色未變化。

        解決方案:

        將需要觀測的變量的采集頻率設置低一點。還應該把運行系統基準頻率也設置的低一點。


        最佳方案:

        最佳設置參數分別如下:

        運行系統基準頻率:100ms。

        變量采集的頻率:100ms (最高),需要實時監測的變量。

        按鈕按下彈起間隔至少:100ms以上。

        點動變量:修改成只寫變量,采集頻率為0.

        注意點:

        點動太快了,如果小于100ms或者出現電腦卡頓什么的特殊情況,還是有可能會出狀況(超出組態王的極限)。


        -->