前言:Logix5000控制器沒有狀态檔案,要通路狀态資訊,需要使用狀态标志。另外,這些标志狀态可以根據需要,将其用于程式編寫,實作一些特定的功能.
狀态标志
1. 狀态标志關鍵字有:S:FS、S:N、S:Z、S:V、S:C、S:MINOR.
2. 可通過指令直接通路這些狀态标志,它們并非标簽,不能被用于别名标簽,狀态關鍵字不區分大小寫.
3. 狀态标志變化速度非常快,在程式中不會顯示出标志的狀态,也就是說,即使狀态标志置位,引用此标志的指令也不會突出顯示.
首次掃描标志S:FS
1. 控制器進入運作模式後首次對程式進行掃描.
2. 可以借助首次掃描标志來初始化資料,以便在後續掃描中使用.
3. 如何使用?Logix5000控制器的變量均為保持性變量,即當程式離線時,如果某裝置正在運作,其控制輸出位将被保持,若下次下載下傳程式時不清除保持的輸出位,那麼裝置将直接啟停,這樣很危險。這時,我們可以使用S:FS來初始化一些資料,如複位電機啟停輸出、清除所有故障資訊、為定時器指派等等.
負值标志S:N
1. 當算術或邏輯運算的結果為負值時,控制器将負值标志置位。
2. 可借助此标志來快速測試負值,相比CMP指令,使用S:N的效率更高。
3. 程式設計舉例:液位差=實時液位-設定液位,使用S:N來監視液位差。若S:N未置位,說明液位差不為負,實時液位>=設定液位,啟動電機運作;若S:N置位,說明液位差為負,實時液位
零标志S:Z
1. 當算術或邏輯運算的結果為零時,控制器将零标志置位.
2. 可借助此标志來快速測試零值.
3. 程式設計舉例:液位差=實時液位-設定液位,使用S:Z來監視液位差。若S:N未置位,說明液位差不為0,實時液位≠設定液位,啟動電機運作;若S:Z置位,說明液位差為0,實時液位=設定液位,關停電機.
溢出标志S:V
1. 控制器在以下情況下将溢出标志置位:
(1) 算術運算的結果導緻溢出
例如:當一個SINT标簽值為 127時,這時加1即可導緻溢出.
(2) 目标标簽過小,無法容納數值
• 比目标的最大值大,例如:将35000存儲到INT标志中時;
• 比目标的最小值小,例如:将-2200000000存儲到DINT标簽中時.
2. 可以使用溢出标志來檢查運算結果是否超出範圍.
3. 每次溢出标志置位時,都會産生一個次故障(類型4,代碼4).
4. 程式設計舉例:X_INT=32760,Y_INT=9,Z_INT=X_INT+Y_INT=32769,這時超出INT資料的最大值32767,導緻運算結果溢出,使用S:V來監視,當S:V置位時,提示加運算出錯.
進位标志S:C
1. 當算術運算結果導緻最高有效位進位時,控制器将進位标志置位.
2. 隻有針對整型值使用 ADD 和 SUB 指令時,才會影響此标志.
3. 程式設計舉例:X_INT=99,Y_INT=100,Z_INT=X_INT-Y_INT=-1,使用S:C來監視結果,當S:C置位時,說明X_INT
次故障标志S:MINOR
1. 當控制器發生至少一個輕微程式故障時,控制器将次故障标志置位.
2. 可以使用次故障标簽來測試是否發生了輕微故障.
3. 該位僅能由程式設計故障觸發(例如溢出),而不會由電池故障觸發,每次掃描開始時都将清除該位.
4. 程式設計舉例:當Z_INT=X_INT+Y_INT>32767時,資料溢出,将産生一個類型4,代碼4的次故障,使用S:MINOR來監視.
結束語:綜上所述,Logix5000控制器狀态标志關鍵字,不僅可以用于監視某些特定的狀态,也可以用于邏輯控制,但要注意,不要濫用,可能會出現一些異常情況.
【AB PLC工作室】
微信公衆号ID:abseme
堅持原創 注重實用