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