當前位置: 首頁 > 工業電氣產品 > 工業開關 > 檢測開關 > 干接點輸出式檢測開關
發布日期:2022-10-30 點擊率:43
怎么區分開關檢測設備的“動作”和“狀態”?至于為什么要區分“動作”和“狀態”。是因為在嵌入式產品中,有一種很常見的應用邏輯:開關A、B、C處于閉合狀態且開關D、E、F處于斷開狀態時,按下或松開開關G,執行某個操作。
在開關檢測設備這種邏輯里,“按下”和“松開”是兩種動作,“閉合”和“斷開”是兩種狀態。用電路的知識來類比的話,動作是沿跳變,狀態是電平。“動作”是一閃即逝的花火,狀態是千年不變的承諾。我們做區分為的是,讓動作“閱后即焚”,不至于成為反復觸發操作的脈搏。
為了說明開關檢測設備這一點,我跟大家分享一下自己設計的結構體和代碼實現,這部分也可以用在問題的解答上。在這個結構體的成員變量里面,switch_id標識開關節點,大家可以用“解釋性”很強的枚舉來表示它。這里的switch_state表示的是開關信號的狀態,swon_event和swoff_event分別表示開關從斷開到閉合和從閉合到斷開的變化,即上述的“動作”。 cursw和detect_cnt用于開關信號采集的軟件消抖功能。
當開關檢測設備開關動作發生時,swon_event和swoff_event置一,在執行完相關操作之后,將swon_event和swoff_event清零,就完成了讓動作“閱后即焚”。正如上面講過的那樣,對于一般的開關節點,設計一10ms的定時器周期性地讀取開關當前狀態cursw,然后根據其維持當前狀態的周期次數(根據不同應用場景,可以設置為5次或者10次,分別對應50ms或100ms的濾波時間)以判斷switch_state、swon_event、swoff_event。
下一篇: PLC、DCS、FCS三大控
上一篇: 光纖連接器分類介紹