PLC編程語(yǔ)言符合IEC 61131標(biāo)準(zhǔn)。其中比較主流的語(yǔ)言是模塊化的編程語(yǔ)言,也即IEC 61131-3語(yǔ)言。由于所有的PLC生產(chǎn)廠家都必須遵循IEC 61131標(biāo)準(zhǔn),因此深入學(xué)習(xí)某一款PLC后,其它的PLC大體上是類似的。
學(xué)校PLC課本上講解時(shí)一般都用T形圖。這是很落后的一種編程方式。走上工作崗位后,務(wù)必改用模塊化編程方式。
之所以要摒棄T形圖的編程方法,是因?yàn)門形圖有很多局限。舉一個(gè)最簡(jiǎn)單的例子:當(dāng)三個(gè)開關(guān)量在T形圖上構(gòu)成三角形時(shí),這個(gè)T形圖是無(wú)法執(zhí)行的,必須用三角-星轉(zhuǎn)換為星形結(jié)構(gòu)才行。這種問(wèn)題在模塊化編程語(yǔ)言中根本就不會(huì)出現(xiàn)。由于T形圖的局限性,純T形圖程序中也開始配套模塊圖了。
下圖是我為北京地鐵某車站的環(huán)控配電室雙路電源自動(dòng)投退系統(tǒng)編寫的程序局部:
此程序用模塊化的編程語(yǔ)言IEC 61131-3寫成??梢娔K化的PLC程序有點(diǎn)類似集成電路的形式,甚至連PID測(cè)控都有相應(yīng)的模塊。
我們?cè)賮?lái)看看同一個(gè)程序的通信管理部分:
這里有通信接口初始化程序,有MODBUS-RTU的主站定義程序,有MODBUS-RTU的從站數(shù)據(jù)采集和交換的循環(huán)程序。
可見,模塊化的PLC編程語(yǔ)言與學(xué)校里學(xué)到了T形圖編程語(yǔ)言有天壤之別。
由于PLC編程語(yǔ)言都支持軟件層面的程序調(diào)試,所以仿真沒有太大的問(wèn)題。
怎么學(xué)習(xí)PLC呢?除了要有編程環(huán)境外,就需要有工程范例。其實(shí)工程范例很容易獲得,我們可以找任意一本描述電動(dòng)機(jī)控制的書籍,把其中所有的各種控制電動(dòng)機(jī)的方式,當(dāng)然是用繼電器和接觸器構(gòu)成的,我們把這些機(jī)電控制方式全部編寫成PLC控制方式。幾個(gè)范例編完,基本上就明白了。
范例編完后,給自己增加難度。例如我們?cè)O(shè)想有四臺(tái)電機(jī),分別作為中央空調(diào)的冷水機(jī)組、熱水機(jī)組、冷卻塔電機(jī),再配上末端空調(diào)裝置的風(fēng)機(jī),就構(gòu)成了完整的中央空調(diào)系統(tǒng)。中央空調(diào)采用熱焓控制方式,并采用PID調(diào)節(jié)。試著用PLC作為中央控制系統(tǒng),來(lái)編寫一個(gè)程序。
這個(gè)范例完成后,最后再學(xué)習(xí)PLC的通信技術(shù)。特別關(guān)注PLC模塊化編程語(yǔ)言中的MODBUS-RTU模塊,理解它的內(nèi)容和要領(lǐng)。然后編寫一個(gè)數(shù)據(jù)采集和轉(zhuǎn)發(fā)系統(tǒng)。數(shù)據(jù)來(lái)源為上一個(gè)例子中所有電動(dòng)機(jī)的外圍開關(guān)量、溫度量、焓值、電流電壓參量、電機(jī)運(yùn)行狀態(tài)等等。把這些參量編寫成通信協(xié)議,也即數(shù)據(jù)點(diǎn)表,然后發(fā)送給計(jì)算機(jī)上的ACCESS數(shù)據(jù)庫(kù)。
利用ACCESS的VBA,編寫若干控制界面,然后實(shí)現(xiàn)軟件上的信息交換和控制。
這些都完成后,就可以畢業(yè)了。我們從此可以勝任任何PLC的編程工作。
PLC的應(yīng)用十分廣泛。在工業(yè)環(huán)境下,PLC幾乎無(wú)所不能。知道為什么?
第一是PLC的高可靠性:因?yàn)樗某绦蚴琼樞驁?zhí)行的,因此不會(huì)進(jìn)入死循環(huán),幾乎不會(huì)死機(jī)。
PLC不會(huì)死機(jī),這一點(diǎn)十分重要。
我們?cè)炔捎霉た貦C(jī)來(lái)作為測(cè)控和配電系統(tǒng)的通信管理機(jī)。結(jié)果發(fā)現(xiàn),工控機(jī)的硬盤在高溫下會(huì)出現(xiàn)故障、工控機(jī)的電源一旦風(fēng)機(jī)停轉(zhuǎn),電源很快就因?yàn)檫^(guò)熱而停機(jī)(死機(jī)),造成通信阻斷。工控機(jī)通過(guò)各種卡件來(lái)實(shí)現(xiàn)數(shù)據(jù)采集和控制功能,這些卡件故障率很高。工控機(jī)實(shí)現(xiàn)硬件冗余很困難,而PLC的CPU硬件冗余十分便利。我們?cè)跍y(cè)控工程中將通信管理機(jī)換成PLC后,上述這些問(wèn)題徹底地一勞永逸地完美解決。
第二是PLC具有很高的EMC(電磁騷擾)水平,也即抗干擾能力。所謂EMC指的是電器元件在運(yùn)行時(shí)抵御環(huán)境電磁干擾的能力,以及自身對(duì)環(huán)境產(chǎn)生電磁干擾的程度。IEC和國(guó)家標(biāo)準(zhǔn)對(duì)電器元件和控制柜都提出了強(qiáng)制性EMC試驗(yàn)要求。高檔PLC一般需要通過(guò)2級(jí)到3級(jí)EMC群脈沖試驗(yàn),以及接地電流沖擊試驗(yàn)。
我測(cè)試過(guò),一塊多功能電力儀表的電路板,只因?yàn)殡娫礊V波電容焊的略微高一些,整塊電路板就在接地電流沖擊試驗(yàn)中被擊毀??梢奅MC測(cè)試對(duì)于電子儀表來(lái)說(shuō)十分殘酷,通過(guò)試驗(yàn)十分不易。
一句話:凡單片機(jī)能做的事,PLC一定能做;反過(guò)來(lái),PLC能做的事,單片機(jī)不一定能做,甚至連邊都沾不上。
對(duì)比:一般的家用電器要通過(guò)一級(jí)EMC試驗(yàn)都有點(diǎn)困難。
由于PLC應(yīng)用是如此之廣,因此一位PLC的資深優(yōu)秀編程者,也一定是一位工業(yè)系統(tǒng)的多面手。他熟悉各種工業(yè)條件下的元器件和傳感器性能參數(shù),熟悉各種工業(yè)條件下的測(cè)控原理和自動(dòng)控制原理,明確機(jī)械原理和各種工業(yè)工藝過(guò)程,明確強(qiáng)電磁環(huán)境下的如何選配元器件及開關(guān)電器。當(dāng)然,此人對(duì)于PLC的模塊也應(yīng)當(dāng)十分熟悉。
總之,優(yōu)秀的PLC編程者,一定同時(shí)也是技術(shù)上的佼佼者。
學(xué)習(xí)伊始,不要總想著賺錢,要沉下心來(lái)學(xué)會(huì)真本事。天下之大,何處無(wú)芳草?何愁無(wú)處供職?
PLC推銷商掙的錢,遠(yuǎn)遠(yuǎn)少于PLC的編程者掙的錢;施工結(jié)束后,用戶惦記的是編程者,不是PLC的供應(yīng)商;在后續(xù)工程中,還會(huì)請(qǐng)編程者繼續(xù)參與,而PLC推銷商呢?最多也只是供幾個(gè)PLC而已。