西門子SCL編程入門教程連載(5)-沿信號檢測指令
所謂“沿信號”,是指信號的一種動態(tài)變化,包括上升沿和下降沿兩種。上升沿是指信號從無到有(信號值從0變?yōu)?)的過程,下降沿是指信號從有到無(信號值從1變?yōu)?)的過程,這里的信號都是指數(shù)字量。
可以看出,無論是上升沿還是下降沿,信號都是處于動態(tài)而非穩(wěn)態(tài)。在工控上,有時候需要捕捉信號的這種動態(tài)變化,以便觸發(fā)相對應(yīng)的動作。這種捕捉,在軟件上,需要使用沿信號檢測指令來實現(xiàn)。
幾乎所有的PLC編程語言都提供沿信號檢測指令,SCL也不例外。

1、上升沿信號
1.1 上升沿信號檢測指令
R_TRIG指令用來檢測上升沿信號。名稱中R表示Rising,即上升的意思。
從指令列表中添加R_TRIG指令會自動生成一個背景數(shù)據(jù)塊,指令的初始狀態(tài)如下:

其中:
R_TRIG_DB:是自動生成的背景數(shù)據(jù)塊的名稱
CLK:是要檢測的信號地址;
Q:是輸出信號的地址;
該指令將檢測信號的先前狀態(tài)值存放在背景數(shù)據(jù)塊中,并與信號的當(dāng)前值進(jìn)行比較。如果先前狀態(tài)值為0,當(dāng)前狀態(tài)值為1,則屬于上升沿變化,則Q的輸出值會在一個掃描周期內(nèi)保持為真(1)。
1.2 上升沿信號檢測應(yīng)用
假設(shè)我們使用I0.0(標(biāo)簽名稱:Input_start)的上升沿來啟動某個電機,當(dāng)按下按鈕I0.0使電機啟動。繼電器線圈連接PLC地址Q0.0(標(biāo)簽名稱:motor),中間變量M0.0(標(biāo)簽名稱:Interflag_Start_Motor)用來保存上升沿的狀態(tài)。
SCL程序代碼如下:

2、下降沿信號
與上升沿相對應(yīng)的是下降沿。指令F_TRIG用來檢測下降沿信號,名稱的F是Falling的縮寫,即下降的意思。
從指令列表中添加F_TRIG指令會自動生成一個背景數(shù)據(jù)塊,指令的初始狀態(tài)如下:

CLK:是要檢測的信號地址;
Q:是輸出信號的地址;
該指令將檢測信號的先前狀態(tài)值存放在背景數(shù)據(jù)塊中,并與信號的當(dāng)前值進(jìn)行比較。如果先前狀態(tài)值為1,當(dāng)前狀態(tài)值為0,則屬于下降沿變化,則Q的輸出值會在一個掃描周期內(nèi)保持為真(1)。
2.2 下降沿信號檢測應(yīng)用
上升沿的例程中我們使用I0.0來啟動電機,這里我們使用I0.1(標(biāo)簽名:Input_stop)作為停止按鈕來停止電機的運行。
停止按鈕連接常閉觸點,在不觸動的情況下I0.1的信號值為真(1);當(dāng)按下按鈕后I0.1的值為假(0),這里采用下降沿檢測指令F_TRIG來檢測I0.1的狀態(tài)變化。
中間變量M0.1(標(biāo)簽名:Interflag_Stop_Motor)用來保存下降沿狀態(tài)。
SCL程序代碼如下:

3、 沿信號與掃描周期
以上升沿為例,信號先前的狀態(tài)值存放在背景數(shù)據(jù)塊中,其值為0。
當(dāng)信號變化為1時,檢測到上升沿信號。同時,系統(tǒng)會將背景數(shù)據(jù)塊中的信號狀態(tài)更新,因此背景數(shù)據(jù)塊中的信號狀態(tài)變?yōu)?;
在下一個掃描周期內(nèi),背景數(shù)據(jù)塊中的狀態(tài)值與當(dāng)前的狀態(tài)值都為1,沒有信號的變化,因此上升沿檢測指令的輸出值為0;
下降沿信號于此類似,不再贅述。
好了,關(guān)于SCL的沿信號檢測指令就先介紹到這里。
-
Origin(Pro):學(xué)習(xí)版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計算焓和比熱容 2020-08-31
-
Aspen Plus安裝過程中RMS License證書安裝失敗的解決方法,親測有效! 2021-10-15
-
CAD外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
