“PLC并不難學(xué)。

首先,PLC編程語言要符合IEC 61131標(biāo)準(zhǔn),其中比較主流的語言是模塊化的編程語言,也即IEC 61131-3語言。由于所有的PLC生產(chǎn)廠家都必須遵循IEC 61131標(biāo)準(zhǔn),因此深入學(xué)習(xí)某一款PLC后,其它的PLC大體上是類似的。

學(xué)校PLC課本在講解時一般都用梯形圖。這是很落后的一種編程方式。走上工作崗位后,務(wù)必改用模塊化編程方式。

之所以要摒棄梯形圖的編程方法,主要是因為它有很多局限。舉一個最簡單的例子:當(dāng)三個開關(guān)量在梯形圖上構(gòu)成三角形時,這個梯形圖是無法執(zhí)行的,必須用三角-星轉(zhuǎn)換為星形結(jié)構(gòu)才行。這種問題在模塊化編程語言中根本就不會出現(xiàn)。由于梯形圖的局限性,純梯形圖程序中也開始配套模塊圖了。

下圖是我為北京地鐵某車站的環(huán)控配電室雙路電源自動投退系統(tǒng)編寫的程序局部:

1.jpg

此程序用模塊化的編程語言IEC 61131-3寫成?梢娔K化的PLC程序有點類似集成電路的形式,甚至連PID測控都有相應(yīng)的模塊。

我們再來看看同一個程序的通信管理部分:

2.jpg

這里有通信接口初始化程序,有MODBUS-RTU的主站定義程序,有MODBUS-RTU的從站數(shù)據(jù)采集和交換的循環(huán)程序。

可見,模塊化的PLC編程語言與學(xué)校里學(xué)到的梯形圖編程語言有天壤之別。

由于PLC編程語言都支持軟件層面的程序調(diào)試,所以仿真沒有太大的問題。

第二,除了要有編程環(huán)境外,還有就是需要有工程范例。其實工程范例很容易獲得,我們可以找任意一本描述電動機(jī)控制的書籍,把其中所有的各種控制電動機(jī)的方式,當(dāng)然是用繼電器和接觸器構(gòu)成的,我們把這些機(jī)電控制方式全部編寫成PLC控制方式。幾個范例編完,基本上就明白了。范例編完后,給自己增加難度。例如我們設(shè)想有四臺電機(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),來編寫一個程序。

這個范例完成后,最后再學(xué)習(xí)PLC的通信技術(shù)。特別關(guān)注PLC模塊化編程語言中的MODBUS-RTU模塊,理解它的內(nèi)容和要領(lǐng)。然后編寫一個數(shù)據(jù)采集和轉(zhuǎn)發(fā)系統(tǒng)。數(shù)據(jù)來源為上一個例子中所有電動機(jī)的外圍開關(guān)量、溫度量、焓值、電流電壓參量、電機(jī)運行狀態(tài)等等。把這些參量編寫成通信協(xié)議,也即數(shù)據(jù)點表,然后發(fā)送給計算機(jī)上的ACCESS數(shù)據(jù)庫。利用ACCESS的VBA,編寫若干控制界面,然后實現(xiàn)軟件上的信息交換和控制。

這些都完成后,就可以畢業(yè)了。我們從此可以勝任任何PLC的編程工作。

PLC的應(yīng)用十分廣泛。在工業(yè)環(huán)境下,PLC幾乎無所不能。知道為什么嗎?

第一是PLC的高可靠性:因為它的程序是順序執(zhí)行的,因此不會進(jìn)入死循環(huán),幾乎不會死機(jī)。

PLC不會死機(jī),這一點十分重要。

我們原先采用工控機(jī)作為測控和配電系統(tǒng)的通信管理機(jī)。結(jié)果發(fā)現(xiàn),工控機(jī)的硬盤在高溫下會出現(xiàn)故障、工控機(jī)的電源一旦風(fēng)機(jī)停轉(zhuǎn),電源很快就因為過熱而停機(jī)(死機(jī)),造成通信阻斷。工控機(jī)通過各種卡件來實現(xiàn)數(shù)據(jù)采集和控制功能,這些卡件故障率很高。工控機(jī)實現(xiàn)硬件冗余很困難,而PLC的CPU硬件冗余十分便利。我們在測控工程中將通信管理機(jī)換成PLC后,上述這些問題徹底地一勞永逸地完美解決。

第二是PLC具有很高的EMC(電磁騷擾)水平,也即抗干擾能力。所謂EMC指的是電器元件在運行時抵御環(huán)境電磁干擾的能力,以及自身對環(huán)境產(chǎn)生電磁干擾的程度。IEC和國家標(biāo)準(zhǔn)對電器元件和控制柜都提出了強(qiáng)制性EMC試驗要求。高檔PLC一般需要通過2級到3級EMC群脈沖試驗,以及接地電流沖擊試驗。

我測試過,一塊多功能電力儀表的電路板,只因為電源濾波電容焊的略微高一些,整塊電路板就在接地電流沖擊試驗中被擊毀?梢奅MC測試對于電子儀表來說十分殘酷,通過試驗十分不易。

一句話:凡單片機(jī)能做的事,PLC一定能做;反過來,PLC能做的事,單片機(jī)不一定能做,甚至連邊都沾不上。

對比:一般的家用電器要通過一級EMC試驗都有點困難。

由于PLC應(yīng)用是如此之廣,因此,一位PLC的資深優(yōu)秀編程者,也一定是一位工業(yè)系統(tǒng)的多面手。他熟悉各種工業(yè)條件下的元器件和傳感器性能參數(shù),熟悉各種工業(yè)條件下的測控原理和自動控制原理,明確機(jī)械原理和各種工業(yè)工藝過程,明確強(qiáng)電磁環(huán)境下的如何選配元器件及開關(guān)電器。當(dāng)然,此人對于PLC的模塊也應(yīng)當(dāng)十分熟悉。

總之,優(yōu)秀的PLC編程者,一定同時也是技術(shù)上的佼佼者。

學(xué)習(xí)伊始,不要總想著賺錢,要沉下心來學(xué)會真本事。天下之大,何處無芳草?何愁無處供職?PLC推銷商掙的錢,遠(yuǎn)遠(yuǎn)少于PLC的編程者掙的錢;施工結(jié)束后,用戶惦記的是編程者,不是PLC的推銷商;在后續(xù)工程中,還會請編程者繼續(xù)參與,而PLC推銷商呢?最多也只是供幾個PLC而已。

結(jié)論:關(guān)鍵還是在于自己的編程本領(lǐng)和技術(shù)水平。

網(wǎng)友:PLC的CPU也是一塊微處理器吧?

答:當(dāng)然是,但PLC的結(jié)構(gòu)設(shè)計和電路設(shè)計是在EMC抗騷擾狀態(tài)下研發(fā)的,所以它具有極強(qiáng)的抗干擾能力。

在研發(fā)中心,電路板設(shè)計完成后,將所有元件包括CPU都焊接上去,元件的管腳長度和元件高度都必須符合規(guī)定。接著將電路板安裝到專門設(shè)計的外殼中,接入外圍電路,模仿實際工作場景。打開EMC測試儀,按規(guī)定從電源端輸入相應(yīng)的EMC干擾群脈沖,或者從接地點輸入EMC地電流。這時,若元件有問題,則電路板立即損毀。

在測試中,能明確地看出工業(yè)級和民用級元件的區(qū)別,還有電路板設(shè)計的是否合理,元件搭配和安裝高度是否符合電磁場的分布要求,以及前向通道的電磁隔離是否完善等等。

一般EMC測試會進(jìn)行多次。電路板從第一次EMC測試開始,到最后通過,已經(jīng)被修改得面目全非,而且電路工作原理也會隨之修改和調(diào)整。

實驗室EMC測試完成后,再進(jìn)行功能測試和調(diào)整。全部完成后,就把完整的PLC到國家指定的測試中心去做型式試驗。這個過程又需要多次反復(fù)。最后型式試驗一旦通過,此產(chǎn)品就具有了在市場上銷售的資格,隨即開始進(jìn)行小批量生產(chǎn)。

生產(chǎn)過程往往又伴隨著元件調(diào)整。好的設(shè)計其生產(chǎn)工藝符合要求,結(jié)構(gòu)合理,重復(fù)性良好。如果發(fā)現(xiàn)產(chǎn)品的工藝性和元件參數(shù)不滿足生產(chǎn)要求,則要調(diào)整產(chǎn)品的相應(yīng)部分。一旦涉及到元件更換,則又需要再次進(jìn)行EMC測試和性能測試。

可見,PLC從提出設(shè)計理念開始,到制作出產(chǎn)品提供給市場,這里面還有許多路要走。這與學(xué)校里做一塊電路板就可以進(jìn)行功能展示,兩者具有本質(zhì)的不同。

當(dāng)產(chǎn)品上市后,根據(jù)產(chǎn)品的在各種工況下的表現(xiàn),需要再次做調(diào)整各項參數(shù),形成產(chǎn)品的不同規(guī)格檔次。

這里面的的甜酸苦辣,只有設(shè)計人員自己知道。

總之,對于應(yīng)用于工業(yè)條件下的電器產(chǎn)品來說,EMC試驗是最重要的。EMC極大地提高產(chǎn)品的抗干擾能力水平,提高了產(chǎn)品的功能性和應(yīng)用范圍,起到關(guān)鍵作用。

對于EMC,IEC有許多標(biāo)準(zhǔn)進(jìn)行規(guī)范,我國國家標(biāo)準(zhǔn)也有對應(yīng)的規(guī)定。具體可查閱相關(guān)標(biāo)準(zhǔn)。

網(wǎng)友:文中說“PLC做的了的工控機(jī),單片機(jī)不一定能做的了”,這句是不是有失偏頗?本來其底層原理是完全一樣的,只是EMC的問題罷了,就像LABVIEW推出了其適用于工控的一堆硬件,其實這樣看來PLC就并沒有太多優(yōu)勢了。例子的話,航空器航天器也多用工控機(jī)或者各種嵌入式系統(tǒng),只是硬件要求更可靠,更皮實。本人以為PLC最大的優(yōu)勢在于其開發(fā)的高效可靠,任何人遵照嚴(yán)格的標(biāo)準(zhǔn)都可以做到盡量高可靠的系統(tǒng)。

答:是這樣:要看工作條件。我們的通信管理機(jī)都安裝在高壓、中壓和低壓開關(guān)柜現(xiàn)場。特別是低壓開關(guān)柜和中壓開關(guān)柜,直接就安裝在柜內(nèi)。

柜內(nèi)的溫度很高,大約是40度。柜內(nèi)的電磁場強(qiáng)度就不用說了。再加上灰塵。工控機(jī)的電源風(fēng)扇、CPU的風(fēng)扇以及整個電路板成為重災(zāi)區(qū)。風(fēng)扇常常因為灰塵嚴(yán)重沾染而停轉(zhuǎn),繼而全機(jī)停機(jī),甚至燒毀CPU。

安裝在開關(guān)柜內(nèi)的工控機(jī)必須一直運行下去,在兩次檢修期間不得停機(jī)。我們配套了雙機(jī)冗余技術(shù),但由于雙機(jī)都必須開機(jī),因此上述情況一樣嚴(yán)重。

自從換了PLC后,徹底地改變了這種被動狀況。

至于安裝在室內(nèi)的工控機(jī),它的工況要好得多,當(dāng)然就不一定非要用PLC來取代不可。

總之,無論是用于工控現(xiàn)場的通信管理機(jī),或者是是用于電力監(jiān)控現(xiàn)場的通信管理機(jī),在ABB,我們均采用PLC來取代工控機(jī)。

另外,PLC的冗余有兩種,一種是邏輯冗余,一種是硬件冗余。所謂邏輯冗余,指的是兩臺獨立的PLC,利用握手線相互關(guān)聯(lián)相互監(jiān)視,一旦主機(jī)有問題,從機(jī)立即切入,但時間會有數(shù)百毫秒;所謂硬件冗余,指的是同一臺PLC上安裝了2只CPU,兩只CPU都按時鐘同步運算。當(dāng)主用CPU出問題后,從用CPU能在幾個時鐘周期內(nèi)替換。所以硬件冗余切換更快。

但即使是邏輯冗余,切換速度也遠(yuǎn)遠(yuǎn)超過工控機(jī)。這也是我們最終選擇PLC的主要原因之一。

提示1:關(guān)于檢修期間

兩次檢修期間一般是2年。檢修期間與配電設(shè)備的重要性相關(guān)。例如對某城區(qū)供電的變電站,因為檢修期間需要停電,影響很大,需要配電網(wǎng)做出周密安排才行。再例如工廠企業(yè),許多設(shè)備是不能停電的(類似玻璃熔窯、流量控制等等),配電設(shè)備的檢修期間也很長。

無論哪種配電設(shè)備還是控制設(shè)備,都需要對開關(guān)柜或者控制柜內(nèi)做嚴(yán)密的監(jiān)控,這就是以PLC作為通信管理機(jī),還有底層各種測量儀表、繼保裝置和控制裝置的主要用途了。人們可以根據(jù)被采集到的信息來判斷柜內(nèi)設(shè)備的運行狀況,由此決定是否需要檢修。

提示2:關(guān)于開關(guān)柜內(nèi)的工作環(huán)境

開關(guān)柜內(nèi)的電磁干擾極強(qiáng)。我們做過實驗,用普通的單片機(jī)電路板(不帶外部防護(hù)盒,完全裸露)植入其中,通電后,僅僅開斷一次斷路器,單片機(jī)就被擊毀了。隨后用工控機(jī),情況會好很多,但出現(xiàn)強(qiáng)電弧時,工控機(jī)也會出現(xiàn)故障。另外,工控機(jī)的插口是個大問題,用不了多久,許多卡件的接觸就不行了。究其原因,是因為灰塵和高溫造成的。

說到灰塵,連我們都覺得奇怪,開關(guān)柜特別會吸附灰塵。也許是電壓比較高的原因吧。

為了防塵和防水,IEC規(guī)定了IP防護(hù)等級。所以現(xiàn)在許多配電設(shè)備的防護(hù)等級都很高,但帶來的副作用是:柜內(nèi)溫度更高,不但開關(guān)柜本體需要降容,而各種電力儀表,也包括通信管理機(jī)都因為高溫而容易損壞。

海拔高度也有一定的影響。在高原地區(qū),空氣因為紫外線強(qiáng)的原因,帶電粒子會增加,因此一旦出現(xiàn)電弧后,滅弧困難。在開關(guān)柜內(nèi),哪怕只是一個繼電器的切換,其觸頭上的電弧就比平原地區(qū)要強(qiáng)得多。這些也會對各種電子設(shè)備帶來影響。

因此,在高原地區(qū),例如我們在青藏鐵路沿線的110kV變電站,我們絕不使用工控機(jī)作為通信管理機(jī)。

網(wǎng)友:梯形圖是很落后的一種編程方式,表示呵呵。編程有技巧,語言無優(yōu)劣。

答:錯。

梯形圖屬于IEC 61131-1編程語言,由于它的局限性,不得不在其中插入大量的模塊,也即IEC 61131-3編程模塊。例如通信模塊、PID模塊、開關(guān)量轉(zhuǎn)字模塊等等。換句話說,IEC 61131-1已經(jīng)不能獨立地自成體系,要借助于IEC 61131-3來協(xié)助完成編程。

既然如此,為何不直接使用IEC 61131-3編程語言?

由于梯形圖簡單直觀,因此它作為學(xué)生學(xué)習(xí)之用是很合適的,但是在實際的編程時,若還抱著梯形圖不放,就顯得格外不協(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的標(biāo)準(zhǔn)語言吧?

答:是,我也注意到了IEC61131-3的最新標(biāo)準(zhǔn),其中把梯形圖和模塊圖合并在一起了。我也詢問了IEC標(biāo)準(zhǔn)委員會的委員們。他們答復(fù)說梯形圖用得太廣,必須把這兩種繪圖方式合并到一起。

感覺是,看問題還真要全面,說不定原來不被看好的東西又變成香餑餑。

類似的現(xiàn)象還有:現(xiàn)場總線和4~20毫安信息采集系統(tǒng)。原先說前者一定會把后者淘汰掉,結(jié)果現(xiàn)在卻相互融合。

還有三相四線制和三相五線制。IEC原先對三相五線制嗤之以鼻,而現(xiàn)在正在討論要承認(rèn)三相五線制。改的速度似乎比我們脫衣服還快(笑)。