要搞清楚單片機(jī)與PLC的異同,首先得清晰什么是單片機(jī),什么是PLC。
對此,咱們簡要回憶一下計算機(jī)的發(fā)展進(jìn)程或許有幫助,按計算機(jī)專家的原始定義,計算機(jī)體系由五大部分--即操控單元(CU)、算術(shù)運(yùn)算單元(ALU)、存儲器(Memory)、輸入設(shè)備(Input)、輸出設(shè)備(Output)組成。前期計算機(jī)(晶體管的或集成電路的,不包含電子管的)的CU或ALU由一塊甚至多塊電路板組成,CU和ALU是別離的,跟著集成度的提高,CU和ALU合在一塊就組成了中央處理單元(CPU),接著將CPU集成到單塊集成電路中就發(fā)生MPU或MCU,出現(xiàn)了如Intel4004、8008、8080,8085、8086、8088、Z80等MPU。
爾后,MPU的發(fā)展發(fā)生了兩條分支,一支往高功能、高速度、大容量方向發(fā)展,典型芯片如:Intel80186、286、386、486、586、P2、P3、P4等,速度從4.7MHz到現(xiàn)在的3.2GHz。另一支則往多功用方向發(fā)展,將存儲器(ROM、PROM、EPROM、EEPROM、FLASH ROM、SRAM等)、輸入/出接口(Timer/Counter、PWM、ADC/DAC、UART、IIC、SPI、RTC、PCA、FPGA等)全部集成在一塊集成電路中而成為SOC(System On a Chip)。這就是當(dāng)今廣泛運(yùn)用的單片計算機(jī),簡稱單片機(jī)。
這一分支可謂品種繁多,位寬從8位到32位,引腳數(shù)從6個到幾百個,作業(yè)頻率從幾十KHz到幾百M(fèi)Hz,體系結(jié)構(gòu)既有CISC也有RISC,不計其數(shù)。常用的有MCS-51系列、MCS-96系列、PIC系列、AVR系列、ARM7/9系列、TMS320系列、MSP430系列、MOTOROLA許多的單片機(jī)等等。
至此,咱們能夠?qū)⒂嬎銠C(jī)中心處理器的發(fā)展劃分為三個階段:板級的CPU、芯片級的MPU和SOC。
什么是PLC
PLC的全稱是Programmable Logic Controller(可編進(jìn)程操控器),剛引入國內(nèi)時,曾簡稱為PC。后來,IBM-PC取得廣泛運(yùn)用,PC成了個人電腦的代名詞,才改為PLC。PLC還有別的的一個意思是Power Line Carrier(電力線載波)。
PLC是一種產(chǎn)品,但這種產(chǎn)品有點特別,在沒有下載操控程序之前,它不具有任何操控功用,也就是說,沒有運(yùn)用程序的PLC是毫無用處的。PLC實際上是專為工業(yè)環(huán)境運(yùn)用的通用操控渠道,它有必要進(jìn)行二次開發(fā)才干完結(jié)終究操控意圖,因此,它還需程序編輯/調(diào)試軟件的合作。
PLC是智能產(chǎn)品,它的中心操控器選用什么計劃呢?板級的CPU肯定是不能考慮的,MPU也要好幾塊集成電路構(gòu)成,以Z80 MPU為例,需要Z80MPU、PIO、CTC、SIO、EPROM、SRAM等,把這些集成電路安裝在一塊電路板上,這就是前期的單板計算機(jī)。這種計劃體積太大,不適合現(xiàn)代要求。由此可見,PLC的中心操控器選用單片機(jī)是合適的。
由此可得出結(jié)論:
“1.PLC是建立在單片機(jī)之上的產(chǎn)品,單片機(jī)是一種集成電路,兩者不具有可比性。
2.單片機(jī)能夠構(gòu)成各式各樣的運(yùn)用體系,從微型、小型到中型、大型都可,PLC是單片機(jī)運(yùn)用體系的一個特例。
3.不同廠家的PLC有相同的作業(yè)原理,類似的功用和目標(biāo),有必定的互換性,質(zhì)量有確保,編程軟件正朝標(biāo)準(zhǔn)化方向跨進(jìn)。這正是PLC取得廣泛運(yùn)用的基礎(chǔ)。而單片機(jī)運(yùn)用體系則是八仙過海,各顯神通,功用千差萬別,質(zhì)量良莠不齊,學(xué)習(xí)、運(yùn)用和維護(hù)都很困難。
從工程的視點,談?wù)凱LC與單片機(jī)體系的選用
1.對單項工程或重復(fù)數(shù)極少的項目,選用PLC計劃是明智、方便的途徑,成功率高,可靠性好,手尾少,但成本較高。
2.關(guān)于量大的配套項目,選用單片機(jī)體系具有成本低、效益高的長處,但這要有適當(dāng)?shù)难邪l(fā)力氣和職業(yè)經(jīng)歷才干使體系安穩(wěn)、可靠地運(yùn)轉(zhuǎn)。好的辦法是單片機(jī)體系嵌入PLC的功用,這樣可大大簡化單片機(jī)體系的研發(fā)時刻,功能得到保證,效益也就有確保。
再形象說PLC與單片機(jī)的差異
以上現(xiàn)已討論許多PLC與單片機(jī)差異的了,下面也就簡略彌補(bǔ)一些: PLC其實就是一套現(xiàn)已做好的單片機(jī)體系.
PLC的梯形圖你能夠理解成是與匯編等計算器語言相同是一種編程語言,僅僅運(yùn)用范圍不同!并且一般做法是由PLC軟件把你的梯形圖轉(zhuǎn)換成C或匯編語言(由PLC所運(yùn)用的CPU決定),然后運(yùn)用匯編或C編譯體系編譯成機(jī)器碼!PLC運(yùn)轉(zhuǎn)的僅僅幾器碼罷了.梯形圖僅僅讓運(yùn)用者愈加簡單運(yùn)用罷了.
相同MCS-51單片機(jī)當(dāng)然也能夠用于PLC制造,僅僅8位CPU在一些運(yùn)用如: 很多運(yùn)算(包含浮點運(yùn)算),嵌入式體系(現(xiàn)在UCOS也能移植到MCS-51)等,有些無能為力罷了.有些公司在運(yùn)用的一套工業(yè)體系就是運(yùn)用MCS-51單片機(jī)做的,不過加上DSP罷了,現(xiàn)已能滿意大部分要求,并且相同運(yùn)用梯形圖編程,咱們在把咱們的梯形圖轉(zhuǎn)化為C51再運(yùn)用KEIL的C51進(jìn)行編譯.你沒有注意到不必類型的PLC會選用不同的CPU嗎!!
當(dāng)然也能夠用單片機(jī)直接開發(fā)操控體系,可是對開發(fā)者要求適當(dāng)高(不是一般水平能夠擔(dān)任的),開發(fā)周期長,成本高(關(guān)于一些大型一點的體統(tǒng)你需要做試驗,印刷電路板就需要一筆適當(dāng)?shù)馁M(fèi)用,你能夠說你用仿真器,用試驗板來開發(fā),可是我要告訴你,那樣做你僅僅驗證了硬件與軟件的可行性,并不代表能夠用在工業(yè)操控體系,由于工業(yè)操控體系對立干擾的要求十分高,安穩(wěn)榜首,而不是功能榜首,所以你的電路板規(guī)劃有必要不斷試驗,改善).當(dāng)你處理了上述問題,你就發(fā)現(xiàn)你現(xiàn)已做了一臺PLC了,當(dāng)然假如需要他人能簡單運(yùn)用你還需要一套運(yùn)用軟件,這樣你能夠不需要把你的電路告訴他人(你也不可能告訴他人).
許多人覺得PLC很奧秘,其實PLC是很簡略的,其內(nèi)部的CPU除了速度快之外,其他功用還不如一般的單片機(jī)。一般PLC選用16位或32位的CPU,帶1或2個的串行通道與外界通訊,內(nèi)部有一個定時器即可,若要提高可靠性再加一個看家狗定時器即可。
PLC的關(guān)鍵技術(shù)在于其內(nèi)部固化了一個能解說梯形圖語言的程序及輔助通訊程序,梯形圖語言的解說程序的功率決定了PLC的功能,通訊程序決定了PLC與外界交流信息的難易。關(guān)于簡略的運(yùn)用,一般以獨(dú)立操控器的方法運(yùn)作,不需與外界交流信息,只需內(nèi)部固化有能解說梯形圖語言的程序即可。實際上,規(guī)劃PLC的主要作業(yè)就是開發(fā)解說梯形圖語言的程序。