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