PLC可編程控制器的實(shí)現(xiàn)分為硬PLC和軟PLC。
首先來講下什么是硬PLC:所謂硬PLC從嚴(yán)格意義上來說是由硬件或者一塊專用的ASIC芯片來實(shí)現(xiàn)PLC指令的持行.而軟PLC是用一些通用的CPU或者MCU來實(shí)現(xiàn)PLC指令的解釋或者編譯持行.
像三菱(FX)和歐姆龍的PLC多是硬PLC,而西門子的有幾種型號是屬于軟PLC的。
硬PLC的核心是一個位處理器,也就是一個持行PLC專用指今的ASIC芯片,以前各廠商的這種處理器執(zhí)行的是自家指令,但自從偉大而神圣的IEC61131-3出現(xiàn)后,大家都向這個標(biāo)準(zhǔn)上看齊了,IEC61131-3定義了5種語言——LD、FBD、SFC、ST、IL其中IL是最像匯編的,所以大多數(shù)廠商的這個位處理器都是執(zhí)行的一種類IL語言。我們在這里將這個位處理暫命名為IEC處理器。也有廠商用FPGA來實(shí)現(xiàn)這個處理器,由于這個處理器執(zhí)行的是專用指令,所以速度相對軟PLC來說要快許多倍。但它也有它的弱點(diǎn),就是靈活性不高,并具一般只能處理位指令,而現(xiàn)代的PLC功能越來越強(qiáng)大,對模擬量的處理已和DCS不相上下,所以廠商一般要另加一塊通用CPU來處理模擬量和復(fù)雜功能的實(shí)現(xiàn)。
軟PLC分為編譯和解釋兩種實(shí)現(xiàn)方式,其中解釋型有點(diǎn)像早期的大型機(jī)一樣,是基于一個虛擬機(jī)的,程序由一些偽代碼組成,工程師在上位機(jī)編好程后通過編譯器轉(zhuǎn)換為這種專用的偽代碼下載到PLC內(nèi)。運(yùn)行時虛擬機(jī)掃描并解釋這些指令運(yùn)行,這樣的實(shí)現(xiàn)方式使工程人員編的T型圖之類的與底下PLC的軟件平臺無關(guān),保證了PLC核心的獨(dú)立性,同時它能很好的擴(kuò)展軟件和功能塊而不受硬件環(huán)境的影響,但這種方式是最慢的一種方式。
軟PLC還有一種是編譯方式,編譯方式是將各種IEC指令轉(zhuǎn)換為匯編或者C語言,再將其插入到一個框架代碼內(nèi)調(diào)用C或匯編編譯器生成真正的CPU指令。