圖片:
圖片:
圖片:
圖片:
圖片:
1111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0龍海兒11(同微博) 同《電氣外傳》微信公眾號
1111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0我們編程序會(huì )大量的用到FB和FC的功能塊。尤其是一些重復性的處理邏輯,比如儀表數據、閥門(mén)功能、電機功能、累計計算等等。但是各位看官有沒(méi)有注意到我們功能塊后面的ENO管腳呢?沒(méi)錯,小編以前也從未留心過(guò)這個(gè)管腳,直到出現了類(lèi)似下面的慘案...
我們的功能塊在程序里會(huì )大量的調用,為了減少繁多的程序段和提升程序的整潔性,我們可以在一個(gè)程序段中橫向調用多個(gè)功能塊,但是這個(gè)ENO管腳有時(shí)候會(huì )莫名奇妙不導通!導致后面功能塊不執行,小編也是吃過(guò)這個(gè)虧,所以今天我們一起來(lái)盤(pán)一盤(pán)它。
這個(gè)ENO管腳確實(shí)神奇,它可以指示出你功能塊的很多錯誤,但是今天我們的目標不是用它而是保證它的常通(一般情況它就是常通的),當你的功能塊里面編寫(xiě)的程序稍微復雜的時(shí)候,它就有可能存在程序檢查編譯發(fā)現不了的bug;為了不為我們其它外部程序埋下隱患,我們就來(lái)處理一下它吧。
我們用LAD,STL,SCL三種語(yǔ)言對它做了強制處理,各位看官根據你們程序塊類(lèi)型自選其一即可,把它放在功能塊的最后面一行保證邏輯運算一直成立,ENO常通。不用添加多余管腳和實(shí)參,小小改動(dòng),輕松化解。當然你也可以選擇一個(gè)程序段調用一個(gè)功能塊也是沒(méi)問(wèn)題的,這樣就算ENO不輸出也不會(huì )影響下面的程序。兩種方法都可以,各位看官調用功能塊的時(shí)候稍微注意下就行。
最后愿各位的程序都能順利編譯,少點(diǎn)奇奇怪怪的bug。同樣歡迎各位工程師的深入討論和評判指正!感謝!