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