幾個單按鈕啟停控制程序詳解

單按鈕啟停控制1
本程序的特點在于:上升沿指令檢測到上升沿信號后,后面接通一個掃描周期,下一個掃描周期未檢測到上升沿信號則會自動復位。即只保持一個掃描周期,揮著說在本掃描周期內有效。此乃亮點也。第二行程序用于啟動。
在第一個掃描周期,M0.0由0變為1,檢測到上升沿信號,程序處理結果為M0.1變為1,第二行M0.1常開點閉合,由于Q0.0尚未動作,第二行的Q0.0常閉點還是常閉,以此在輸出刷新階段能流通過第二行,將導致Q0.0得電,此時啟動完成一半。第一個掃描周期結束后,M0.0立即變為0,M0.1立即變為0,同時Q0.0的常開點閉合,Q0.0常閉點斷開,該信號可以作為程序的輸入信號。此時第二行2個點全部斷開,第三行2個點全部閉合,能流通過第三行使Q0.0保持得電。
在第二個掃描周期,由于時間很短,操作人員不可能超出掃描周期的速度在1個掃描周期內連續按下2次按鈕,因此PLC未檢測到M0.0由0變為1,M0.1未得電,第二行的M0.1常開點依舊常開,而Q0.0常閉點是斷開的,第二行2個點依舊全斷開,第三行2個點依舊全閉合。
第三行用于保持和停止。當再次檢測到上升沿信號后,在相應的周期內M0.1常閉點斷開,第三行斷開,Q0.0失電。詳見上升沿|P|指令。--|P|--:掃描操作數的信號上升沿。
使用“掃描操作數的信號上升沿”指令,可以確定所指定操作數(<操作數 1>)的信號狀態是否從“0”變為“1”。該指令將比較 <操作數 1> 的當前信號狀態與上一次掃描的信號狀態,上一次掃描的信號狀態保存在邊沿存儲位(<操作數 2>)中。如果該指令檢測到邏輯運算結果 (RLO) 從“0”變為“1”,則說明出現了一個上升沿。
下圖顯示了出現信號下降沿和上升沿時,信號狀態的變化:

每次執行指令時,都會查詢信號上升沿。檢測到信號上升沿時,<操作數 1> 的信號狀態將在一個程序周期內保持置位為“1”。在其它任何情況下,操作數的信號狀態均為“0”。
在該指令上方的操作數占位符中,指定要查詢的操作數(<操作數 1>)。在該指令下方的操作數占位符中,指定邊沿存儲位(<操作數 2>)。
說明:修改邊沿存儲位的地址。邊沿存儲器位的地址在程序中最多只能使用一次,否則,會覆蓋該位存儲器。該步驟將影響到邊沿檢測,從而導致結果不再唯一。邊沿存儲位的存儲區域必須位于 DB(FB 靜態區域)或位存儲區中。
下表列出了“掃描操作數的信號上升沿”指令的參數:


單按鈕啟停控制程序2
該程序與程序1一樣。不同之處在于第一行使用的指令,用了(P)指令。該指令的解釋見下面。--(P)--:在信號上升沿置位操作數。
說明:可以使用“在信號上升沿置位操作數”指令在邏輯運算結果 (RLO) 從“0”變為“1”時置位指定操作數(<操作數 1>)。該指令將當前 RLO 與保存在邊沿存儲位中(<操作數 2>)上次查詢的 RLO 進行比較。如果該指令檢測到 RLO 從“0”變為“1”,則說明出現了一個信號上升沿。
每次執行指令時,都會查詢信號上升沿。檢測到信號上升沿時,<操作數 1> 的信號狀態將在一個程序周期內保持置位為“1”。在其它任何情況下,操作數的信號狀態均為“0”。
可以在該指令上面的操作數占位符中指定要置位的操作數(<操作數 1>)。在該指令下方的操作數占位符中,指定邊沿存儲位(<操作數 2>)。
說明:修改邊沿存儲位的地址
邊沿存儲器位的地址在程序中最多只能使用一次,否則,會覆蓋該位存儲器。該步驟將影響到邊沿檢測,從而導致結果不再唯一。邊沿存儲位的存儲區域必須位于 DB(FB 靜態區域)或位存儲區中。
以下示例說明了該指令的工作原理:

如果線圈輸入的信號狀態從“0”更改為“1”(信號上升沿),則將操作數“TagOut”置位一個程序周期。在其它任何情況下,操作數“TagOut”的信號狀態均為“0”。

單按鈕啟停程序3
該程序的算法是計數器在0和1之間變化,具體操作是將計數器上限設為2,到2就復位。
CV初始值為0,按鈕按一下CV變為1,Q0.0得電,再按一下CV變為2,Q輸出使得計數器復位,CV立即變為0。本質是利用計數器的自循環。

單按鈕啟停程序4
該程序的算法是除2取余數。對于正整數而言,除以2,要么剛好除盡,對應余數為0;
要么除不盡,對應余數為1。而且對于每次遞增加1的正整數,余數0和1交替出現。












評論