之前也知道有國產(chǎn)的PAC,近又接觸了倍福。說實在的,我覺得嚴格意義上講,這些亂七八糟的控制器并不能稱為PLC。
歷史上最早出現(xiàn)的可編程電子控制器就是單板機。單板機也是原始的通用計算機。那時候CPU還是焊在主板上的。后來計算機系統(tǒng)出現(xiàn)了分化,分解成一支通用計算機和一支單片機。通用計算機就是我們現(xiàn)在用的PC和服務(wù)器。單片機則形成了嵌入式系統(tǒng)和裸機兩脈。所謂“嵌入式系統(tǒng)”是指應用軟件的源代碼直接嵌套在操作系統(tǒng)源代碼之中而形成的一種提前安裝,編譯后不可定制的操作系統(tǒng)。而裸機則是應用軟件直接操作芯片的一種無操作系統(tǒng)的運行環(huán)境。
不管是通用計算機分支還是單片機分支,其編程過程都伴隨著大量的編碼和測試工作。雖然一家設(shè)備工廠的產(chǎn)量并不大,但全球有非常眾多的設(shè)備工廠,就會產(chǎn)生大量的設(shè)備。這些設(shè)備全都需要進行復雜的編程和測試,導致了大量的資源浪費。于是有人想到開發(fā)一種架構(gòu),使這些設(shè)備的控制器能夠在此之上進行快速的二次開發(fā)。當時的電氣控制基本上還是對開關(guān)量的處理,模擬量需要通過機械裝置轉(zhuǎn)換成開關(guān)量。于是很自然地就發(fā)現(xiàn)最適合的編程方法是電路圖。而電路圖表達的邏輯計算量非常小,使用普通的單片機就能夠?qū)崿F(xiàn),而且當時的通用計算機十分精貴,不僅價格貴,操作規(guī)程也很復雜,不適合普通工人使用。事實上,現(xiàn)在的IPC也不允許隨意斷電。于是這種以電路圖作為二次開發(fā)方法的架構(gòu)就被安裝到了單片機上?梢钥闯,PLC的產(chǎn)生是為了代替IPC控制的,是一種更進步的架構(gòu)。但是IPC并沒有消失。就如同當今主流的編程語言Java已經(jīng)能夠解決幾乎所有問題了,但是C和匯編仍然有人在用。進步的架構(gòu)意味著對舊架構(gòu)的包裝,就像手套能夠幫助我們干活,但有些活是套手套就干不了的,就需要脫了手套才能做。IPC是作為一種脫下手套的架構(gòu)而存在的。
那么PAC是怎么回事?IPC和PLC是分屬不同的分支,而PAC與PLC是單片機分支下的不同封裝形式。與PLC相同的是,PAC本身沒有顯示器。PAC的開發(fā)更接近工控板。工控板是單片機分支下的更低級封裝形式,看似返回到單板機的形態(tài),差異性僅僅是板上的主控芯片是分支后的單片機。工控板其實就是單板機的改良,PAC就是工控板進行了標準化的設(shè)計后加上一個外殼。其開發(fā)方式返回到了單板機的時代。PAC的性能介于PLC與IPC之間,IO功能強于IPC,而計算能力強于PLC。
PLC是對工控程序的高級封裝,具有很好的專業(yè)性,適合解決多數(shù)問題。PAC和IPC作為古老工控技術(shù)的延伸,可用于解決一些偏門的問題。但PAC和IPC畢竟是一種初級的形態(tài),PLC的出現(xiàn)本來就是要解決PAC和IPC的不足,自然不可能反被其取代。
需要指出PAC的概念雖然比較新,但這種架構(gòu)是古老的。而軟PLC就是IPC換了一個名字而已。
為什么古老的東西可以用來炒作,甚至成為熱門(像Python,比Java更早出現(xiàn),卻是最近突然爆火)。細心的人能夠發(fā)現(xiàn),多數(shù)情況下的所謂“流行”就是炒冷飯。像是80年代的人穿過的褲子,現(xiàn)在又拿來穿。但不是隨便什么人穿都能夠成為流行。流行是輿論的產(chǎn)物,輿論是有影響力的人引發(fā)的思維風暴。為什么Python炒冷飯會比較成功,而PAC和軟PLC一直沒有多么熱門?這是由于輿論發(fā)起者的影響力不同造成的。顯然,多數(shù)高端自動化工程師急需一種方便快捷的腳本語言來進行軟件的配置,Java自然不行,因為Java比C++還大氣,學腳本比學主程序還復雜,那就別學了。而Python天生就是優(yōu)秀的腳本語言,像Matlab那么簡單,又很好地支持C++混編,所以備受歡迎。反觀PAC和軟PLC,好像沒有給PLC解決什么很重要的問題,反而一直想要造反,自然就不受待見了。