對于初學來說,容易 在ENO的使用上出錯誤,由于不清楚ENO來龍去脈,經常認為只要調用FC是無條件的,那么ENO也是永遠導通的,實則不然.
下圖所示: 進行模擬量轉換,并無條件地將MD10的數值,傳送至MD14.
圖中可以看出,當FC105的輸入端PIW256在正常范圍內的時候,MOVE指令被執行(ENO=EN),當PIW256超出了上限之后,MOVE指令不再被執行(ENO不能由EN控制).此故障還是比較隱蔽的,因為大部分情況下,輸入可能都處于正常范圍.
分析:
在STEP7的LAD編程手冊中有對EN/ENO機制的詳細描述,這里不再熬述.僅列出主要部分內容:
ENO的值取決于公式: ENO =EN與非(error)
如果程序調用沒有錯誤(error = 0) ,則ENO =EN
如果程序調用有錯誤 (ERROR =1) , 則ENO = 0
EN/ENO機制用于:
數學運算指令
傳輸及轉換指令
一危機循環移位指令
塊調用
EN/ENO機制不能用于:
比較指令
計數器
如果用戶要創建自己在FBD或LAD中調用的塊,那么必須確保退出塊時,置位BR位。這并不是一個自動處理過程。不能使用BR作為存儲位,因為EN/ENO機制不斷重寫BR位。作為替代,可使用一個臨時變量(例如# error)來保存發生的所有錯誤,并用0初始化此變量。在塊內部程序中,如果用戶某處程序行為錯誤狀態,則可以將此變量置1。并且在塊結尾編寫以下程序段:
確保在任何情況下都處理本段操作,這表示禁止在塊內使用BEC,并禁止跳過本程序段。
責任編輯人:CC
-
FC
+關注
關注
1文章
77瀏覽量
42030
原文標題:FC 常見錯誤 -ENO的誤解-
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論