1
比方說,我有一個布爾輸入,可以自動切換其狀態。從0到1和從1到0的切換設置了一個循環。要確定該週期是否有效,週期時間必須至少爲10秒。西門子PLC S7 1200 TOF問題
我可以確定一個semicicle是否無效,但我無法弄清楚如何能夠在週期結束時確定它是否無效。
這是我有:
比方說,我有一個布爾輸入,可以自動切換其狀態。從0到1和從1到0的切換設置了一個循環。要確定該週期是否有效,週期時間必須至少爲10秒。西門子PLC S7 1200 TOF問題
我可以確定一個semicicle是否無效,但我無法弄清楚如何能夠在週期結束時確定它是否無效。
這是我有:
你似乎在說,如果輸入信號的狀態不是10秒穩定的,你有一個無效的週期,要檢查該。
要做到這一點,您顯然需要一個由每次轉換觸發的計時器。 (我不是特別熟悉你的PLC,但他們都非常相似,所以我會認爲這是你有什麼,你適當地有兩個,引發了不同的轉變。
正過渡無效的轉換條件是:
positive_input_transition_timer_q and not input
也就是說,定時器必須運行輸入必須轉到錯誤狀態
現在,輸入可能秒殺低則立即再次高走;你可能不希望。失去了一個無效過渡的事實,所以你真正想要做的是latch無效轉換的檢測。
我不擅長漂亮的梯形邏輯圖形,所以我會在舊式寫:需要負過渡
--+----[ ]----[TON]----+------[/]-----[/]------()------
| Input Positive | Unlatch Input Invalid
| Transition | Invalid Positive
| | Positive Cycle
+--------[]----------+ Cycle
Invalid
Positive
Cycle
了相應的梯級。
據推測,的代碼會注意到InvalidPositive一些其它位,適當地作出反應,然後解鎖狀態。
我不知道我完全理解你的問題。你是說如果你將'TBx_state'從0切換到1,如果應該運行至少10秒,否則它是無效的。如果你從1切換到0,它應該運行至少10秒,否則它是無效的?你只想指出它是否無效? – mrsargent