0625 【萬泉河】在Prodiag和Program_Alarm之間,我選擇了Program_Alarm
先做個名詞解釋。
Prodiag和Program_Alarm是西門子 TIA PORTAL中在PLC中實現(xiàn)HMI報警的2種方法。 然而并不是所有PLC型號都支持。 只在部分高端型號中可以使用這些功能。
具體哪些型號支持, 只需要查閱相應(yīng)的文檔手冊。 不是本文關(guān)注的重點。 如果有人連自己查文檔都不會,來看了本文后抱怨沒有干貨,那說明他自己還處于吃干貨還沒掌握的階段,干貨應(yīng)該自己先解決。
什么叫PLC中實現(xiàn)HMI報警,打一個比方,你在PLC程序中寫邏輯,當(dāng)程序邏輯達(dá)到一個條件,比如,水箱的液位要滿了,爐內(nèi)的溫度超上限了,或者桁架的移動位置越位了,你需要在程序中觸發(fā)一條報警信息,在HMI上以文本報警方式將這些條目展示出來。
如:
If Hi_limit then
Echo “溫度超上限,請及時處理!”
End_IF
即,程序產(chǎn)生報警條目的位置,就是當(dāng)下報警產(chǎn)生的邏輯所在的部分。 這樣的程序閱讀起來就會非常容易,因為這些報警內(nèi)容本身也到了注釋的作用。而更重要的是, 不需要在顯示端逐條增加或者減少報警條目,極大地減少了設(shè)計工作量。
上述的程序代碼,顯然更接近于高級語言的編程方法,而不是PLC程序。當(dāng)然,每一種高級語言都有自己特定的語法,Echo是我隨便舉例,我甚至都不記得這是哪一種語言中的了。
所以,我們更關(guān)注于功能本身,而不是程序語法。
而在PLC中,能實現(xiàn)這樣的功能,就很不容易。可以說西門子TIA PORTAL有此功能都算是絕無僅有。當(dāng)然更老版本的S7-300/400中也一直有類似的系統(tǒng)報警功能,這是西門子的傳統(tǒng)。
在舊的STEP7系統(tǒng)中就有Prodiag,我就有了解和研究過。 到了新的TIA PORTAL系統(tǒng),我也跟進(jìn)研究了好多次。 然而,一直不得要領(lǐng)。
倒不是說看不懂幫助和文檔的內(nèi)容,而是看文檔里面啰啰嗦嗦一大堆內(nèi)容下來,沒看到封裝的可能性。 我不需要懂那么多的細(xì)節(jié), 我只需要你封裝好一個具備了系統(tǒng)報警功能的設(shè)備塊FB,給我用,我只要調(diào)用了,系統(tǒng)有報警的時候,就會自動在HMI上面顯示。 這才是我想要的,也是我做程序的目的。
把上面的話倒過來描述,我做好的庫模塊,已經(jīng)具備了程序邏輯之外的HMI畫面接口和HMI報警的所有功能,那么在程序應(yīng)用中,不管有多少個實例, 只需要簡單羅列調(diào)用多少次即可。 其余的均不再需要關(guān)心。 所以最大程度上真正實現(xiàn)了高內(nèi)聚低耦合。
我在S7-1500中實現(xiàn)使用的Program_Alarm,其實采用的是與PCS7類似的方式,只要懂PCS7的SFB35 ALARM8P,就自然懂得這種方法。 但所有關(guān)于ProDiag方法的文章里,都沒有這樣的封裝。
所以在我所有寫過的文章里,從來只字不提ProDiag,原因就是我不會用,用不好。如果有讀者有做過較好的封裝,請教給我。或者有見到這方面的文檔資料,請分享給我。
當(dāng)然,我在各種文章中, 對Program_Alarm提及的也不多,因為我把它們當(dāng)基礎(chǔ)技能了。 你如果對它不了解,不熟悉,只需要關(guān)鍵詞搜索它,就會有無數(shù)的資料文章呈現(xiàn)。
然而,它確實非常重要的功能,我在前一本的專著《PLC標(biāo)準(zhǔn)化編程原理與方法》中有專門的章節(jié)做了講解。 而在今年已經(jīng)交稿的《西門子PLC標(biāo)準(zhǔn)化編程煙臺方法—基于LBP基本過程庫》中,講解了對LBP原始庫函數(shù)的升級方法, 將其中的log15模塊用Program_Alarm 方法進(jìn)行了重寫。
PLC產(chǎn)生系統(tǒng)報警的方法如此迷人,所有煙臺方法的學(xué)員,收到樣例程序后無一不被其簡潔給迷倒。然而只可惜,這種方法目前只在西門子PLC中有提供,而其它的品牌,則基本沒有同級別的功能。(倍福TC3和AB中有接近的功能,但還遠(yuǎn)遠(yuǎn)不夠簡練)。
而另外,這種功能需要的HMI只能是西家自己的觸摸屏或者WINCC。而對于許多的小型自動化設(shè)備使用各種國產(chǎn)觸摸屏,則不能支持。 所以,包括我自己,也還有很多煙臺方法的學(xué)員,或早或晚都會發(fā)展到嘗試仿照Program_Alarm接近的方法在各種品牌的PLC中以及配套的非西門子HMI中實現(xiàn)同樣的功能。 上個月召開的2025煙臺方法研討會,有學(xué)員還專門就這個題目做了報告分享。提及了他在匯川和臺達(dá)PLC中實現(xiàn)的過程。
但問題是他也是步子邁的太大了,前因后果沒交代,臺下的聽眾中,對煙臺方法學(xué)習(xí)掌握還不夠好的,基本都沒有聽懂,聽下來一臉懵逼。 我這篇文章算是給做個補(bǔ)充索引了。
昨天看了一篇公眾號文章《西門子Prodiag最全操作步驟解釋和問題匯總》,我看下來, 還是一如既往地沒看懂。 所以才產(chǎn)生了寫本文的想法。
同時, 也期待對Prodiag更熟悉,更有心得的同行,可以再分享些對Prodiag更深入的應(yīng)用技巧。
會議當(dāng)場有錄制視頻,公眾號后臺回復(fù)“2025煙臺方法”可以獲得鏈接。
分享有時間限制,過期后即取消分享。