自動控制永遠是工廠里面的焦點,無論是智能制造,還是工業互聯網,都無法回避。而最近圈里對PLC和基于PC控制這兩種控制器又有了很多討論。實際上,關于這兩種控制的爭論有很長的歷史。筆者想起二十多年前在美國全球最大的自動化展會ISA Show上,看到有一個專做PC控制的公司,打著一個很醒目的標語“PLC die,PC-based Control immortal”(可編程控制器死了,基于PC的控制永生)。這個剪影深深留在人們的記憶中。這就是說早在二十多年前,在美國的自動化界就有過PLC與PC-based控制孰優孰劣、孰勝孰輸的爭論。這一爭論至少持續了七八年,結果呢?
那個高唱PLC死了的美國公司,經過幾年的折騰卻早已銷聲匿跡了。當然,這個公司沒有了并不能掩蓋PC控制依然存在、依然在發展的事實。
事實證明,PLC是個常青樹,它不僅不會死,還在發展演進,還在與時俱進。要打倒經典PLC的“魯莽小生”并不少,本世紀前十年它還經歷了PAC(可編程自動控制器,基本上相當于PLC+PC的部分功能)的一輪沖擊,而最近幾年還出現了一個新的品種EPIC(邊緣可編程工業控制器),同時具備PLC、運動控制和工業互聯網的功能。但PLC依然長盛不衰。
這背后有著深刻的原因。自動化界中明智之士指出,PLC的兩個本征特性是高可靠和容易使用。PLC本身是按工業應用要求設計的:要在嚴酷的工業環境下長期可靠使用,具有很高的電磁兼容性(可抗各類工業電磁干擾,現在還要求抗各類頻譜的無線干擾)、環境適應性(寬溫度范圍、防高濕、防霉防鹽霧、耐振動沖擊等等);要容易編程,一般的電工,只要經過適當培訓,就可以編寫邏輯控制的梯形圖程序;容易維護。這些看似簡單的要求,其實是需要很深的工業功底。
這方面筆者有很多親身經歷。我見到過用了三十多年的一家日本公司的PLC仍然能正常使用;也親自處理過中國二汽制造廠一臺萬噸臥式壓力機,因在高強度的震動和沖擊下PLC的輸出繼電器的接點發生顫動而無法正常工作,后來改用另一家公司PLC,不用任何加固就能正常運行;我還為上海的通用汽車公司的行車解決了由于變頻器的干擾使得GE的PLC老是出故障的問題。以上這些例子說明一臺工業用的控制器要提供的除了軟件的控制功能以外,還需要I/O和電源具有足夠高的抗干擾,以及堅固的機械結構等等性能。
PC控制從它出世的那一天起,就是想取代PLC的軟件控制功能。它的I/O常常是插在PC總線上,或者是通過RS 485與外掛的I/O連接。這些I/O用在實驗室里沒有問題。不過,沒有工業級的I/O和電源來加固PC控制,就無法具有PLC的抗干擾和環境適應性。何況還有一個在工業應用上的敏感因素——成本。PC控制最早發端于美國,也一度盛行于美國,但最后的成功應用,卻是在歐洲??恐惣尤R、倍福等公司將PC控制PLC化,讓PC控制具有PLC所有的優勢,提供適應各類工業要求的的I/O,解決了電源的散熱和抗干擾問題,可以直接安裝在嚴酷的工業現場,具有統一的工程設計運維平臺等。
在當下,簡單去比較PLC與PC控制沒有太多意義。我們需要的搞清楚的是,在硬件、軟件和通信突飛猛進二十年多年之后,如何能讓PLC和PLC化的PC控制滿足市場和技術發展的要求。
上世紀90年代美國密執根大學機械學院有一篇博士論文,專門評述曾經出現過的幾十種自動化控制編程語言,包括IEC 61131-3規范的5種圖形和文本語言,以及在美國一度流行的流程圖語言。到今天,能夠沉淀和積累幾十年工控界的經驗,真正有生命力能夠形成生態的,也就是只有有限幾種,即LD、SFC、FBD、STL。就連類似匯編語言的IL指令表語言,也因用的越來越少,也即將從IEC 61131-3的新版本中被刪除。而面向對象的編程方式已經引入了IEC 61131-3,甚至像C、C++等高級語言,也實際變成PLC常用的編程語言。下圖是2020年美國的的一個名為國際自動化網站和PLCopen國際組織聯合調查的結果,也印證了上述的結論。這也是PLC與日俱進的一個實證。而IEC 61131-8,里面詳細說明了IEC 61131-3 選擇這5種語言的實際背景和緣由。
圖1 國際自動化調查結果
1970年誕生的第一臺PLC在通用汽車GM投入工業應用,對金屬切割、鉆孔、材料處理和裝配等環節進行控制。世界上首次推出PLC的成功,表現為兩個方面:一是用計算機來解析過去用繼電器實現的邏輯控制;二是采用梯形圖邏輯編程,使原來的電氣工程技術人員能在自己原有的技術基礎上采用計算機編程。
這應該是早期工業軟件應用的一個標志,可是至今為止很少有人在談論工業軟件時提及這一重要的貢獻。
被譽為PLC之父的Richard Morley當時是Bedford Associate公司的工程師,他率先完成了創新的最初設計,然后與他的團隊研制了工廠自動化和連續處理應用的固態的順序邏輯解算器,這是第一臺實際可運用的可編程邏輯控制器,被命名為Modicon 084。1969年11月在得知GM公司的要求后,他們向公司的液壓部門展示了Modicon 084,獲得GM的青睞。
梯形圖邏輯作為一種控制語言,第一次用在硅器件搭建的控制器上大約是在1969年。為了支持這個控制語言的運用,構建了由三個部分組成的硬件平臺,即一臺雙端口的存儲器、一臺邏輯解算器(后來被命名為PLC)和一臺通用計算機。這個語言最大的優點是能被世界上所有從業的電氣工程人員理解。之后梯形圖擴展為多個節點,還附加了一些功能。梯形圖邏輯的功能性和PLC的適用性迅速在所有的工業中大量采用。
梯形圖邏輯編程極受電氣工程技術人員歡迎,其優點是不言而喻的。首先,這種由Bedford公司開發的梯形圖邏輯編程中相關的符號,來源于電氣工程中描述順序操作功能,這使廣大的電氣工程師和電工能以非常容易理解的方式用計算機對PLC編程。這體現了工業軟件最基本的特征——源自工業的基礎電氣工業。其次,這個語言是最早利用通用計算機作為工具,對工業控制器進行編程的案例之一。沿用至今,既體現了“工業軟件以工具軟件為主流”的特點,又歷經幾十年電氣工程和工業自動化從業人員的反復錘煉,并在所有的工業場合中廣泛采用。僅憑這兩點就應該奠定其在工業軟件發展中的地位。可惜的是,在眾多討論工業軟件的文章中我們卻沒有發現其蹤跡,人們似乎已將它忘卻。
有人或許會質疑,編程語言憑什么可以算是工業軟件?
殊不知用于工控領域的編程語言特別是圖形化的編程語言,與IT領域的編程語言是有很大區別的。工控用的編程語言都是用來表達和實現控制系統所必須完成的功能,而這些功能則是嚴格按照工藝要求和加工順序制定的。工業生產過程千變萬化,經過不斷的抽象和提煉,概括起來基本上就是用于流程工業的連續流程、用于離散制造業的邏輯控制、順序控制和運動控制(或是這三種控制的集合),以及兼有離散和連續的批量間歇過程。
功能塊圖能夠完美表達連續流程控制的各種要求,梯形圖和順序功能圖能夠完美表達離散過程控制的各種要求。具體將這些圖形化的編程語言集合起來實現編程的軟件,都是以IT領域的編程語言為工具運用一些相關的數學方法(例如圖論、邏輯代數等等)編制而成。由此可以推斷,用于工控領域的編程語言不僅屬于工業軟件中用于控制類別的基礎軟件,而且是運用范圍最為廣泛的一類工業軟件。更何況近二十多年的發展已經形成了包括概要設計、詳細設計、編程、調試、運行維護、工程項目管理等在內的綜合性的統一工程平臺的軟件套件,已經是能夠自立于自動化領域的公司的標準配置和系統基礎。
一個成熟的控制系統的應用軟件需要經過設計、驗證和測試等過程,按照V&V的模式在經過系統的概要設計后還要將其劃分為模塊進行詳細設計,之后才能動手寫代碼。接著就需要將所有的模塊集成起來形成系統的應用程序,并通過硬件在環仿真測試和檢驗。這些過程雖然嚴謹,但大大限制了工作進度和效率。IEC 61131標準定義了幾種控制語言,但依賴于單個控制器的模型,而不是分布式系統。IEC 61499標準的主要提升是:它允許將控制系統建模和開發集成為單一的系統,但在部署時卻是一個分布式系統。這就為今后發展成為無需硬件在環就能實現仿真創造了前提條件。
未來的統一工程平臺一定會大大提高工程項目的設計,乃至現場調試、運維的效率和質量??刂破骺焖侔l展,它與控制類工業軟件的聯動,將會使得自動化上升到一個全新的境界。