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