工控廠家2024-03-22 23:55:58
在ST語(yǔ)言中,你可以通過(guò)以下幾種方式來(lái)實(shí)現(xiàn)上升沿的判斷:
1. 采用標(biāo)志位變量:定義一個(gè)標(biāo)志位變量來(lái)表示上一次的狀態(tài),然后與當(dāng)前狀態(tài)進(jìn)行比較。當(dāng)上一次狀態(tài)為低電平,當(dāng)前狀態(tài)為高電平時(shí),表示上升沿觸發(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ù)塊與定時(shí)器結(jié)合:通過(guò)使用函數(shù)塊和定時(shí)器來(lái)判斷狀態(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); // 重置定時(shí)器
ELSE
Timer(IN := TRUE); // 設(shè)置定時(shí)器
IF Timer.Q THEN
EdgePositive := TRUE; // 定時(shí)器達(dá)到設(shè)定時(shí)間,表示上升沿觸發(fā)
ELSE
EdgePositive := FALSE; // 定時(shí)器未達(dá)到設(shè)定時(shí)間,不觸發(fā)上升沿
END_IF
END_IF
// 更新上一次的狀態(tài)
LastState := CurrentState;
```
3. 使用函數(shù)塊和觸發(fā)器:通過(guò)使用函數(shù)塊和觸發(fā)器來(lái)實(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)為高電平時(shí),觸發(fā)上升沿
ELSE
PositiveEdge := FALSE;
END_IF
// 更新上一次的狀態(tài)
LastState := CurrentState;
```
4. 使用函數(shù)塊和計(jì)數(shù)器:通過(guò)使用函數(shù)塊和計(jì)數(shù)器來(lái)實(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í),計(jì)數(shù)器清零
ELSIF Cnt < N THEN
Cnt := Cnt + 1; // 計(jì)數(shù)器增加
ELSE
Cnt := 0;
EdgeRise := TRUE; // 計(jì)數(shù)器達(dá)到設(shè)定值N,表示上升沿觸發(fā)
END_IF
```
蘭納Lanner工控機(jī)維修工業(yè)電腦維修LEC-2010P-3?
蘭納Lanner工控機(jī)維修工業(yè)電腦維修LEC-2010P-3 臺(tái)灣Lanner蘭納工控機(jī)維修Lanner Electronics電腦維修LEC-7900D ;LEC-7106等型號(hào) Lanner工控機(jī)基于Intel x86的 Whitebox Solutions硬件產(chǎn)品組合,以及Enea NFV Access,這是一個(gè)虛擬化化管理平臺(tái),具有為
2025-04-14PC627B西門(mén)子工控機(jī)維修6ES7647-6BB05-0AX0?
PC627B西門(mén)子工控機(jī)維修6ES7647-6BB05-0AX0 SIMATIC BOX PC 627B 西門(mén)子工控機(jī)維修 框架工控機(jī)維修 西門(mén)子工控機(jī)維修故障包括:無(wú)輸出,不啟動(dòng),觸摸屏花屏、白屏、按觸摸屏無(wú)反應(yīng)或反應(yīng)慢、內(nèi)容錯(cuò)亂、無(wú)背光、背光暗、有背光無(wú)字符、不能通信、按鍵
2025-04-14西門(mén)子工控機(jī)維修研祥研華工控機(jī)維修北京工控機(jī)維修中心?
西門(mén)子工控機(jī)維修研祥研華工控機(jī)維修北京工控機(jī)維修電話工控機(jī)維修中心 芯片級(jí)維修經(jīng)驗(yàn),級(jí)技術(shù)支持,業(yè)內(nèi)10年以上維修經(jīng)驗(yàn)的技師。免費(fèi)檢測(cè) 天浦正達(dá)電子科技是國(guó)內(nèi)一家從事各類工業(yè)、、航天領(lǐng)域設(shè)備電路板芯片級(jí)維修的科技型企業(yè)。 工控機(jī)維修服務(wù)
2025-04-11北京順義西門(mén)子工控機(jī)維修黑屏不顯示不啟動(dòng)重啟報(bào)警等工控機(jī)主板維修?
北京順義西門(mén)子工控機(jī)維修黑屏不顯示不啟動(dòng)重啟報(bào)警等工控機(jī)主板維修 1. 開(kāi)機(jī)后主板能正常工作,BIOS檢測(cè)到鍵盤(pán)部分,報(bào)告鍵盤(pán)出錯(cuò)? 首先看是否鍵盤(pán)鎖鎖定,解除鍵盤(pán)鎖。如果不是,
2025-04-10西門(mén)子工控機(jī)維修觸摸屏維修黑屏不顯示不啟動(dòng)報(bào)警工控機(jī)主板維修北京順義?
西門(mén)子工控機(jī)維修觸摸屏維修黑屏不顯示不啟動(dòng)報(bào)警工控機(jī)主板維修北京順義 6AV6643-0AA01-1AX0西門(mén)子觸摸屏工控機(jī)維修6AV6642-0BC01-1AX1北京 西門(mén)子觸摸屏常見(jiàn)故障維修: 西門(mén)子TP177B觸摸不靈維
2025-04-09倍福工控機(jī)維修HUSKYPC機(jī)控制器修理C6140?
倍福工控機(jī)維修 HUSKY PC機(jī)控制器修理 C6140 20年 倍福工控機(jī)維修 電腦控制器維修 C6140-0070/40/50/60/90/80等型號(hào) 工控主板維修故障范圍:主機(jī)不開(kāi)機(jī)或點(diǎn)不亮、串行總線不連接、RJ45不通信、并口設(shè)備損壞、運(yùn)行中卡機(jī)、EEPROM信息損壞、CPU卡損傷、PC
2025-04-09問(wèn)答索引 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 黃頁(yè)88版權(quán)所有 京ICP備2023012932號(hào)-1 │ 京公網(wǎng)安備 11010802023561號(hào) 京ICP證100626
本站內(nèi)容系用戶自行發(fā)布,其真實(shí)性、合法性由發(fā)布人負(fù)責(zé),huangye88.com不提供任何保證,亦不承擔(dān)任何法律責(zé)任。