工控廠家2024-03-22 23:55:58
在ST語言中,你可以通過以下幾種方式來實(shí)現(xiàn)上升沿的判斷:
1. 采用標(biāo)志位變量:定義一個標(biāo)志位變量來表示上一次的狀態(tài),然后與當(dāng)前狀態(tài)進(jìn)行比較。當(dāng)上一次狀態(tài)為低電平,當(dāng)前狀態(tài)為高電平時,表示上升沿觸發(fā)。代碼示例:
```st
VAR
Flag: BOOL := FALSE;
LastState: BOOL := FALSE;
CurrentState: BOOL;
END_VAR
// 在主程序中進(jìn)行上升沿判斷
IF NOT LastState AND CurrentState THEN
Flag := TRUE;
ELSE
Flag := FALSE;
END_IF
// 更新上一次的狀態(tài)
LastState := CurrentState;
```
2. 使用函數(shù)塊與定時器結(jié)合:通過使用函數(shù)塊和定時器來判斷狀態(tài)的變化。代碼示例:
```st
VAR
EdgePositive: BOOL := FALSE;
LastState: BOOL := FALSE;
CurrentState: BOOL;
Timer: TON;
END_VAR
// 將當(dāng)前狀態(tài)賦值給輸入
CurrentState := 輸入;
// 判斷當(dāng)前狀態(tài)與上一次狀態(tài)是否一致
IF CurrentState = LastState THEN
Timer(IN := FALSE); // 重置定時器
ELSE
Timer(IN := TRUE); // 設(shè)置定時器
IF Timer.Q THEN
EdgePositive := TRUE; // 定時器達(dá)到設(shè)定時間,表示上升沿觸發(fā)
ELSE
EdgePositive := FALSE; // 定時器未達(dá)到設(shè)定時間,不觸發(fā)上升沿
END_IF
END_IF
// 更新上一次的狀態(tài)
LastState := CurrentState;
```
3. 使用函數(shù)塊和觸發(fā)器:通過使用函數(shù)塊和觸發(fā)器來實(shí)現(xiàn)上升沿的判斷。代碼示例:
```st
VAR
PositiveEdge: TRIGGER;
LastState: BOOL := FALSE;
CurrentState: BOOL;
END_VAR
// 將當(dāng)前狀態(tài)賦值給輸入
CurrentState := 輸入;
// 判斷當(dāng)前狀態(tài)與上一次狀態(tài)是否一致
IF NOT LastState AND CurrentState THEN
PositiveEdge := TRUE; // 當(dāng)上一次的狀態(tài)為低電平,當(dāng)前狀態(tài)為高電平時,觸發(fā)上升沿
ELSE
PositiveEdge := FALSE;
END_IF
// 更新上一次的狀態(tài)
LastState := CurrentState;
```
4. 使用函數(shù)塊和計數(shù)器:通過使用函數(shù)塊和計數(shù)器來實(shí)現(xiàn)上升沿的判斷。代碼示例:
```st
VAR
EdgeRise: BOOL := FALSE;
CurrentState: BOOL;
Cnt: UINT := 0;
END_VAR
// 將當(dāng)前狀態(tài)賦值給輸入
CurrentState := 輸入;
IF NOT CurrentState THEN
Cnt := 0; // 當(dāng)前狀態(tài)為低電平時,計數(shù)器清零
ELSIF Cnt < N THEN
Cnt := Cnt + 1; // 計數(shù)器增加
ELSE
Cnt := 0;
EdgeRise := TRUE; // 計數(shù)器達(dá)到設(shè)定值N,表示上升沿觸發(fā)
END_IF
```
西門子工控機(jī)維修觸摸屏維修黑屏不顯示不啟動報警工控機(jī)主板維修北京順義?
西門子工控機(jī)維修觸摸屏維修黑屏不顯示不啟動報警工控機(jī)主板維修北京順義 6AV6643-0AA01-1AX0西門子觸摸屏工控機(jī)維修6AV6642-0BC01-1AX1北京 西門子觸摸屏常見故障維修: 西門子TP177B觸摸不靈維
2025-05-30倍福工控機(jī)維修HUSKYPC機(jī)控制器修理C6140?
倍福工控機(jī)維修 HUSKY PC機(jī)控制器修理 C6140 20年 倍福工控機(jī)維修 電腦控制器維修 C6140-0070/40/50/60/90/80等型號 工控主板維修故障范圍:主機(jī)不開機(jī)或點(diǎn)不亮、串行總線不連接、RJ45不通信、并口設(shè)備損壞、運(yùn)行中卡機(jī)、EEPROM信息損壞、CPU卡損傷、PC
2025-05-30立端Lanner工控機(jī)維修工業(yè)電腦維修LEC-2010P-CJ1?
立端Lanner工控機(jī)維修工業(yè)電腦維修LEC-2010P-CJ1 立端Lanner Electronics蘭納工控機(jī)維修邊緣計算網(wǎng)關(guān):LEC-7900D ;LEC-7106;LEC-2010P等系列型號。 Lanner工控機(jī)基于Intel x86的 Whitebox Solutions硬件產(chǎn)品組合,以及Enea NFV Access,這是一個虛擬
2025-05-29倍福工控機(jī)維修CP6350-1008-0020倍福觸摸屏維修北京?
倍福工控機(jī)維修CP6350-1008-0020倍福觸摸屏維修北京 倍福觸摸屏維修倍福工控機(jī)維修CP6201-1015-0000 BECKHOFF倍福觸摸屏維修北京順義CP7702-0021-0030CB5053-0004 倍福維修CP7037-1037-0010IPC-2004維修BECKHOFF
2025-05-28HMITECH縱橫科技工控機(jī)維修工業(yè)計算機(jī)TPC105TC?
HMITECH縱橫科技工控機(jī)維修工業(yè)計算機(jī)TPC105TC 縱橫科技工控機(jī)維修 HMITECH工控機(jī)維修 工業(yè)計算機(jī) 工業(yè)服務(wù)器維修 特種計算機(jī)維修 軍工計算機(jī)維修 HMITECH縱橫嵌入式工控機(jī)維修 工業(yè)平板電腦
2025-05-28工控機(jī)維修北京工控機(jī)維修工控機(jī)主板維修順義通州大興懷柔?
北京工控機(jī)維修 北京工控機(jī)設(shè)備維修 北京天浦電子維修工控機(jī)品牌:研華工控機(jī)維修、研祥工控機(jī)維修、凌華、西門子工控機(jī)維修、力士樂工控機(jī)維修、控創(chuàng)、華北工控、康泰 克、艾迅、四
2025-05-27問答索引 A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | . | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 更多
? 2023 黃頁88版權(quán)所有 京ICP備2023012932號-1 │ 京公網(wǎng)安備 11010802023561號 京ICP證100626
本站內(nèi)容系用戶自行發(fā)布,其真實(shí)性、合法性由發(fā)布人負(fù)責(zé),huangye88.com不提供任何保證,亦不承擔(dān)任何法律責(zé)任。