“PLC并不難學。
首先,PLC編程語言要符合IEC 61131標準,其中比較主流的語言是模塊化的編程語言,也即IEC 61131-3語言。由于所有的PLC生產(chǎn)廠家都必須遵循IEC 61131標準,因此深入學習某一款PLC后,其它的PLC大體上是類似的。
學校PLC課本在講解時一般都用梯形圖。這是很落后的一種編程方式。走上工作崗位后,務必改用模塊化編程方式。
之所以要摒棄梯形圖的編程方法,主要是因為它有很多局限。舉一個最簡單的例子:當三個開關量在梯形圖上構成三角形時,這個梯形圖是無法執(zhí)行的,必須用三角-星轉換為星形結構才行。這種問題在模塊化編程語言中根本就不會出現(xiàn)。由于梯形圖的局限性,純梯形圖程序中也開始配套模塊圖了。
下圖是我為北京地鐵某車站的環(huán)控配電室雙路電源自動投退系統(tǒng)編寫的程序局部:
此程序用模塊化的編程語言IEC 61131-3寫成?梢娔K化的PLC程序有點類似集成電路的形式,甚至連PID測控都有相應的模塊。
我們再來看看同一個程序的通信管理部分:
這里有通信接口初始化程序,有MODBUS-RTU的主站定義程序,有MODBUS-RTU的從站數(shù)據(jù)采集和交換的循環(huán)程序。
可見,模塊化的PLC編程語言與學校里學到的梯形圖編程語言有天壤之別。
由于PLC編程語言都支持軟件層面的程序調(diào)試,所以仿真沒有太大的問題。
第二,除了要有編程環(huán)境外,還有就是需要有工程范例。其實工程范例很容易獲得,我們可以找任意一本描述電動機控制的書籍,把其中所有的各種控制電動機的方式,當然是用繼電器和接觸器構成的,我們把這些機電控制方式全部編寫成PLC控制方式。幾個范例編完,基本上就明白了。范例編完后,給自己增加難度。例如我們設想有四臺電機,分別作為中央空調(diào)的冷水機組、熱水機組、冷卻塔電機,再配上末端空調(diào)裝置的風機,就構成了完整的中央空調(diào)系統(tǒng)。中央空調(diào)采用熱焓控制方式,并采用PID調(diào)節(jié)。試著用PLC作為中央控制系統(tǒng),來編寫一個程序。
這個范例完成后,最后再學習PLC的通信技術。特別關注PLC模塊化編程語言中的MODBUS-RTU模塊,理解它的內(nèi)容和要領。然后編寫一個數(shù)據(jù)采集和轉發(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)的通信管理機。結果發(fā)現(xiàn),工控機的硬盤在高溫下會出現(xià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的編程者掙的錢;施工結束后,用戶惦記的是編程者,不是PLC的推銷商;在后續(xù)工程中,還會請編程者繼續(xù)參與,而PLC推銷商呢?最多也只是供幾個PLC而已。
結論:關鍵還是在于自己的編程本領和技術水平。
網(wǎng)友:PLC的CPU也是一塊微處理器吧?
答:當然是,但PLC的結構設計和電路設計是在EMC抗騷擾狀態(tài)下研發(fā)的,所以它具有極強的抗干擾能力。
在研發(fā)中心,電路板設計完成后,將所有元件包括CPU都焊接上去,元件的管腳長度和元件高度都必須符合規(guī)定。接著將電路板安裝到專門設計的外殼中,接入外圍電路,模仿實際工作場景。打開EMC測試儀,按規(guī)定從電源端輸入相應的EMC干擾群脈沖,或者從接地點輸入EMC地電流。這時,若元件有問題,則電路板立即損毀。
在測試中,能明確地看出工業(yè)級和民用級元件的區(qū)別,還有電路板設計的是否合理,元件搭配和安裝高度是否符合電磁場的分布要求,以及前向通道的電磁隔離是否完善等等。
一般EMC測試會進行多次。電路板從第一次EMC測試開始,到最后通過,已經(jīng)被修改得面目全非,而且電路工作原理也會隨之修改和調(diào)整。
實驗室EMC測試完成后,再進行功能測試和調(diào)整。全部完成后,就把完整的PLC到國家指定的測試中心去做型式試驗。這個過程又需要多次反復。最后型式試驗一旦通過,此產(chǎn)品就具有了在市場上銷售的資格,隨即開始進行小批量生產(chǎn)。
生產(chǎn)過程往往又伴隨著元件調(diào)整。好的設計其生產(chǎn)工藝符合要求,結構合理,重復性良好。如果發(fā)現(xiàn)產(chǎn)品的工藝性和元件參數(shù)不滿足生產(chǎn)要求,則要調(diào)整產(chǎn)品的相應部分。一旦涉及到元件更換,則又需要再次進行EMC測試和性能測試。
可見,PLC從提出設計理念開始,到制作出產(chǎn)品提供給市場,這里面還有許多路要走。這與學校里做一塊電路板就可以進行功能展示,兩者具有本質(zhì)的不同。
當產(chǎn)品上市后,根據(jù)產(chǎn)品的在各種工況下的表現(xiàn),需要再次做調(diào)整各項參數(shù),形成產(chǎn)品的不同規(guī)格檔次。
這里面的的甜酸苦辣,只有設計人員自己知道。
總之,對于應用于工業(yè)條件下的電器產(chǎn)品來說,EMC試驗是最重要的。EMC極大地提高產(chǎn)品的抗干擾能力水平,提高了產(chǎn)品的功能性和應用范圍,起到關鍵作用。
對于EMC,IEC有許多標準進行規(guī)范,我國國家標準也有對應的規(guī)定。具體可查閱相關標準。
網(wǎng)友:文中說“PLC做的了的工控機,單片機不一定能做的了”,這句是不是有失偏頗?本來其底層原理是完全一樣的,只是EMC的問題罷了,就像LABVIEW推出了其適用于工控的一堆硬件,其實這樣看來PLC就并沒有太多優(yōu)勢了。例子的話,航空器航天器也多用工控機或者各種嵌入式系統(tǒng),只是硬件要求更可靠,更皮實。本人以為PLC最大的優(yōu)勢在于其開發(fā)的高效可靠,任何人遵照嚴格的標準都可以做到盡量高可靠的系統(tǒng)。
答:是這樣:要看工作條件。我們的通信管理機都安裝在高壓、中壓和低壓開關柜現(xiàn)場。特別是低壓開關柜和中壓開關柜,直接就安裝在柜內(nèi)。
柜內(nèi)的溫度很高,大約是40度。柜內(nèi)的電磁場強度就不用說了。再加上灰塵。工控機的電源風扇、CPU的風扇以及整個電路板成為重災區(qū)。風扇常常因為灰塵嚴重沾染而停轉,繼而全機停機,甚至燒毀CPU。
安裝在開關柜內(nèi)的工控機必須一直運行下去,在兩次檢修期間不得停機。我們配套了雙機冗余技術,但由于雙機都必須開機,因此上述情況一樣嚴重。
自從換了PLC后,徹底地改變了這種被動狀況。
至于安裝在室內(nèi)的工控機,它的工況要好得多,當然就不一定非要用PLC來取代不可。
總之,無論是用于工控現(xiàn)場的通信管理機,或者是是用于電力監(jiān)控現(xiàn)場的通信管理機,在ABB,我們均采用PLC來取代工控機。
另外,PLC的冗余有兩種,一種是邏輯冗余,一種是硬件冗余。所謂邏輯冗余,指的是兩臺獨立的PLC,利用握手線相互關聯(lián)相互監(jiān)視,一旦主機有問題,從機立即切入,但時間會有數(shù)百毫秒;所謂硬件冗余,指的是同一臺PLC上安裝了2只CPU,兩只CPU都按時鐘同步運算。當主用CPU出問題后,從用CPU能在幾個時鐘周期內(nèi)替換。所以硬件冗余切換更快。
但即使是邏輯冗余,切換速度也遠遠超過工控機。這也是我們最終選擇PLC的主要原因之一。
提示1:關于檢修期間
兩次檢修期間一般是2年。檢修期間與配電設備的重要性相關。例如對某城區(qū)供電的變電站,因為檢修期間需要停電,影響很大,需要配電網(wǎng)做出周密安排才行。再例如工廠企業(yè),許多設備是不能停電的(類似玻璃熔窯、流量控制等等),配電設備的檢修期間也很長。
無論哪種配電設備還是控制設備,都需要對開關柜或者控制柜內(nèi)做嚴密的監(jiān)控,這就是以PLC作為通信管理機,還有底層各種測量儀表、繼保裝置和控制裝置的主要用途了。人們可以根據(jù)被采集到的信息來判斷柜內(nèi)設備的運行狀況,由此決定是否需要檢修。
提示2:關于開關柜內(nèi)的工作環(huán)境
開關柜內(nèi)的電磁干擾極強。我們做過實驗,用普通的單片機電路板(不帶外部防護盒,完全裸露)植入其中,通電后,僅僅開斷一次斷路器,單片機就被擊毀了。隨后用工控機,情況會好很多,但出現(xiàn)強電弧時,工控機也會出現(xiàn)故障。另外,工控機的插口是個大問題,用不了多久,許多卡件的接觸就不行了。究其原因,是因為灰塵和高溫造成的。
說到灰塵,連我們都覺得奇怪,開關柜特別會吸附灰塵。也許是電壓比較高的原因吧。
為了防塵和防水,IEC規(guī)定了IP防護等級。所以現(xiàn)在許多配電設備的防護等級都很高,但帶來的副作用是:柜內(nèi)溫度更高,不但開關柜本體需要降容,而各種電力儀表,也包括通信管理機都因為高溫而容易損壞。
海拔高度也有一定的影響。在高原地區(qū),空氣因為紫外線強的原因,帶電粒子會增加,因此一旦出現(xiàn)電弧后,滅弧困難。在開關柜內(nèi),哪怕只是一個繼電器的切換,其觸頭上的電弧就比平原地區(qū)要強得多。這些也會對各種電子設備帶來影響。
因此,在高原地區(qū),例如我們在青藏鐵路沿線的110kV變電站,我們絕不使用工控機作為通信管理機。
網(wǎng)友:梯形圖是很落后的一種編程方式,表示呵呵。編程有技巧,語言無優(yōu)劣。
答:錯。
梯形圖屬于IEC 61131-1編程語言,由于它的局限性,不得不在其中插入大量的模塊,也即IEC 61131-3編程模塊。例如通信模塊、PID模塊、開關量轉字模塊等等。換句話說,IEC 61131-1已經(jīng)不能獨立地自成體系,要借助于IEC 61131-3來協(xié)助完成編程。
既然如此,為何不直接使用IEC 61131-3編程語言?
由于梯形圖簡單直觀,因此它作為學生學習之用是很合適的,但是在實際的編程時,若還抱著梯形圖不放,就顯得格外不協(xié)調(diào)。
從PLC的產(chǎn)品來看,歐美及日本三菱所產(chǎn)PLC大多采用IEC 61131-3編程語言,而日本的歐姆龍PLC和國產(chǎn)PLC則采用IEC 61131-1及部分IEC 61131-3模塊摻和著使用。ABB的用于DCS測控用的高檔PLC,已經(jīng)完全摒棄IEC 61131-1也即梯形圖編程方法。
由此可見,模塊化編程語言是PLC編程的主流方向。
舉例:在IEC 61131-3里,PID已經(jīng)成為模塊,編程者只要將PID參數(shù)配套完整,即可得到最終控制輸出量。反觀梯形圖,麻煩不說,還要配套許多所謂技巧。兩者相比,優(yōu)劣立知。
網(wǎng)友:梯形圖也是IEC61131-3的標準語言吧?
答:是,我也注意到了IEC61131-3的最新標準,其中把梯形圖和模塊圖合并在一起了。我也詢問了IEC標準委員會的委員們。他們答復說梯形圖用得太廣,必須把這兩種繪圖方式合并到一起。
感覺是,看問題還真要全面,說不定原來不被看好的東西又變成香餑餑。
類似的現(xiàn)象還有:現(xiàn)場總線和4~20毫安信息采集系統(tǒng)。原先說前者一定會把后者淘汰掉,結果現(xiàn)在卻相互融合。
還有三相四線制和三相五線制。IEC原先對三相五線制嗤之以鼻,而現(xiàn)在正在討論要承認三相五線制。改的速度似乎比我們脫衣服還快(笑)。