PLC誕生已經(jīng)很多年了,隨著技術(shù)的進(jìn)步,必須打破傳統(tǒng)的PLC編程思維方式,才能順應(yīng)未來(lái)的控制發(fā)展趨勢(shì)。電氣工程師必須擴(kuò)展編程技能,掌握更多的編程技巧,才不會(huì)被人工智能取代。
當(dāng)前工程師還在使用每個(gè)PLC廠家提供的編程軟件進(jìn)行PLC編程,這就導(dǎo)致一旦更換PLC品牌就抓瞎,甚至有的工程師只具備某個(gè)品牌PLC的應(yīng)用能力,被PLC品牌束縛住,導(dǎo)致就職競(jìng)爭(zhēng)力底下。很多人曾經(jīng)夢(mèng)想有一套編程軟件可以對(duì)所有品牌PLC或者說(shuō)大多數(shù)品牌PLC都能夠編寫程序,并且可以輕松地監(jiān)控程序和排除故障,這樣就不需要因?yàn)镻LC品牌的不同而花費(fèi)大量的學(xué)習(xí)時(shí)間以及不同廠家網(wǎng)絡(luò)接口不同帶來(lái)的連接設(shè)置問(wèn)題。
說(shuō)到PLC編程不得不提梯形圖,梯形圖對(duì)于初學(xué)者、維護(hù)人員和電工來(lái)說(shuō)是一種簡(jiǎn)單的編程語(yǔ)言,但是如果控制稍微復(fù)雜的設(shè)備由它編寫的程序并不容易閱讀和理解。梯形圖編寫大型PLC程序更為吃力,這樣看容易學(xué)習(xí)的東西并不是最好的工具,往往是梯形圖對(duì)于編程者自己以外的其他人來(lái)說(shuō)很難理解。
要想成為更有競(jìng)爭(zhēng)力的工程師,必須拋棄梯形圖這種簡(jiǎn)單的編程語(yǔ)言,結(jié)構(gòu)化文本就是一種更好的PLC編程語(yǔ)言選擇。結(jié)構(gòu)化文本是PLCOpen在IEC61131-3中定義的一種PLC編程語(yǔ)言,不同于基于圖形的梯形圖編程語(yǔ)言,它是基于文本的。
通過(guò)使用基于文本的PLC編程語(yǔ)言,PLC程序?qū)⒄加酶〉目臻g,并且流程和邏輯將更易于閱讀和理解。還有更好的選擇就是,在PLC編程中使用幾種語(yǔ)言的組合,發(fā)揮各類語(yǔ)言的各自的優(yōu)勢(shì),這樣做就會(huì)更為優(yōu)秀,當(dāng)然也更難,很多人熟悉一種語(yǔ)言之后往往不愿意改變,這也是很多熟悉梯形圖的工程師無(wú)法脫離梯形圖的根本原因。
大家都非常熟悉計(jì)算機(jī)的高級(jí)編程語(yǔ)言,比如:Python和C,看到它們,可能就會(huì)覺(jué)得的結(jié)構(gòu)化文本很熟悉。結(jié)構(gòu)化文本的語(yǔ)法被開(kāi)發(fā)成看起來(lái)像具有循環(huán)、變量、條件和運(yùn)算符的高級(jí)編程語(yǔ)言的語(yǔ)法。下面舉個(gè)結(jié)構(gòu)化文本編寫的程序例子:
PROGRAM ST example
VAR
x : BOOL;
END_VAR
x := TRUE;
REPEAT
x := FALSE;
UNTIL x := FALSE;
END_REPEAT;
END_PROGRAM;
上面的代碼看起來(lái)熟悉吧?
學(xué)習(xí)結(jié)構(gòu)化文本語(yǔ)言編程第一件事是結(jié)構(gòu)化文本的結(jié)構(gòu)和語(yǔ)法,了解結(jié)構(gòu)后,就會(huì)了解程序的流程是如何運(yùn)行的。從上面的例子,就可以看出整個(gè)程序以PROGRAM開(kāi)始,以END_PROGRAM結(jié)束,介于兩者中間的就是結(jié)構(gòu)化文本編寫的PLC程序。
跟高級(jí)語(yǔ)言最大的區(qū)別就是:END_PROGRAM不是程序完全的結(jié)束,而是當(dāng)PLC到達(dá)END_PROGRAM時(shí),PLC掃描周期將重新開(kāi)始,這段程序?qū)⒆孕兄貜?fù)運(yùn)行。PLC里面的任何語(yǔ)言編寫的程序都一樣,它會(huì)一遍又一遍地運(yùn)行,有點(diǎn)類似單片機(jī)C語(yǔ)言中的無(wú)限循環(huán)。
用結(jié)構(gòu)化文本編寫的PLC程序的流程控制與梯形圖邏輯相同:一次執(zhí)行一行。另外,用結(jié)構(gòu)化文本編寫的PLC程序,都需要編譯成PLC可以理解的語(yǔ)言,才能上傳到PLC運(yùn)行。因此使用結(jié)構(gòu)化文本編程必須要有編譯器來(lái)把結(jié)構(gòu)化文本轉(zhuǎn)換成PLC執(zhí)行的機(jī)器代碼。
關(guān)于結(jié)構(gòu)化文本編程,不得不提Beckhoff。Beckhoff的編程軟件與IEC61131-3所有的PLC編程語(yǔ)言完全兼容,特別適合組合編程。Beckhoff的編程系統(tǒng)還自帶模擬器,無(wú)需購(gòu)買PLC,直接可以在PC內(nèi)模擬出PLC運(yùn)行程序,這種模式也被稱為“軟PLC”。Beckhoff最新的TwinCat 3還集成了微軟的Visual Studio編程包,把高級(jí)語(yǔ)言的優(yōu)勢(shì)發(fā)揮的更具體。
Beckhoff可能離我們有點(diǎn)距離,不過(guò)Codesys聽(tīng)說(shuō)過(guò)吧,它是用于IEC61131-3編程的開(kāi)源軟件環(huán)境,開(kāi)源就意味著免費(fèi),非常適合大家尤其是學(xué)生學(xué)習(xí)。
學(xué)習(xí)一門新的編程語(yǔ)言可能是一個(gè)相當(dāng)大的挑戰(zhàn),對(duì)于下定決心的學(xué)習(xí)者來(lái)說(shuō),要牢記幾條非常基本的學(xué)習(xí)準(zhǔn)則:
1、學(xué)習(xí)需要時(shí)間(剛開(kāi)始要花時(shí)間學(xué)習(xí)語(yǔ)言的語(yǔ)法、函數(shù)、數(shù)據(jù)類型……)
2、盡可能多地練習(xí)(盡量用結(jié)構(gòu)化文本編寫盡可能多的PLC程序)
3、從失敗中吸取教訓(xùn)(每次犯錯(cuò),都不要?dú)怵H,只有從更多的失敗中走出來(lái)才能成為更好的電氣工程師)
4、持續(xù)學(xué)習(xí)(不要停止學(xué)習(xí),不斷在網(wǎng)絡(luò)上尋找教程和其他相關(guān)學(xué)習(xí)資料)
5、與其他工程師交流(最直接的就是跟身邊的工程師交流編程心得,可以了解別人不一樣的思路)
-
plc
+關(guān)注
關(guān)注
5039文章
14309瀏覽量
482167 -
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1957瀏覽量
38638 -
人工智能
+關(guān)注
關(guān)注
1813文章
49551瀏覽量
259567
原文標(biāo)題:PLC編程技能的擴(kuò)展
文章出處:【微信號(hào):PLC與自控設(shè)備,微信公眾號(hào):PLC與自控設(shè)備】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
plc編程語(yǔ)言有幾種_plc常用編程語(yǔ)言介紹
plc與C語(yǔ)言有什么關(guān)系_plc可以用c語(yǔ)言編程嗎_plc的C語(yǔ)言編程詳解
關(guān)于PLC編程該選擇那種IEC 61131-3編程語(yǔ)言最適合
PLC編程語(yǔ)言的類型和具有哪些特點(diǎn)
PLC編程語(yǔ)言的國(guó)際標(biāo)準(zhǔn) 和C語(yǔ)言的區(qū)別
PLC編程語(yǔ)言的特點(diǎn)
五種支持plc編程的語(yǔ)言有哪些

PLC編程語(yǔ)言如何選擇
評(píng)論