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