單片機可以替代PLC 嗎? 這個問題如同面粉能代替面條一樣,答案是否定的。第一次聽到這個答案可能很多人都有疑問,單片機明明功能那么強大,功能那么豐富為什么不能取代PLC呢?
那么今天我們就來了解一下單片機和PLC分別是什么,它們之間有什么區別。
一、單片機
單片微型計算機(Single Chip Microcomputer ),亦稱微控制單元(Microcontroller Unit),簡稱MCU,是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器(Central Process Unit;CPU)、隨機存儲器(Random Access Memory;RAM)、只讀存儲器(Read-Only Memory;ROM)、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統,在各個領域廣泛應用。諸如手機、PC外圍、遙控器,至汽車電子、工業上的步進馬達、機器手臂的控制等,都可見到MCU的身影。
單片機出現的歷史并不長,但發展十分迅猛。它的產生與發展和微處理器的產生與發展大體同步,自1971年美國Intel公司首先推出4位微處理器以來,它的發展到目前為止大致可分為5個階段。
單片機發展的初級階段(1971年至1976年):1971年11月Intel公司首先設計出集成度為2000只晶體管/片的4位微處理器Intel 4004, 并配有RAM、 ROM和移位寄存器, 構成了第一臺MCS—4微處理器, 而后又推出了8位微處理器Intel 8008, 以及其它各公司相繼推出的8位微處理器。
低性能單片機階段(1976年至1980年):以1976年Intel公司推出的MCS—48系列為代表, 采用將8位CPU、 8位并行I/O接口、8位定時/計數器、RAM和ROM等集成于一塊半導體芯片上的單片結構, 雖然其尋址范圍有限(不大于4 KB), 也沒有串行I/O, RAM、 ROM容量小, 中斷系統也較簡單, 但功能可滿足一般工業控制和智能化儀器、儀表等的需要。
高性能單片機階段(1980年至1990年):這一階段推出的高性能8位單片機普遍帶有串行口, 有多級中斷處理系統, 多個16位定時器/計數器。片內RAM、 ROM的容量加大,且尋址范圍可達64 KB,個別片內還帶有A/D轉換接口。
16位單片機階段(1983年至1989年):1983年Intel公司又推出了高性能的16位單片機MCS-96系列, 由于其采用了最新的制造工藝, 使芯片集成度高達12萬只晶體管/片。
全方位高水平發展階段(1990年至今):到目前為止,單片機也有從傳統的8位處理器平臺向32位高級RISC處理器平臺轉變的趨勢,但8位機依然難以被取代。8位單片機成本低,價格廉,便于開發,其性能可以滿足大部分的需要,只有在航天、汽車、機器人等高技術領域,需要高速處理大量數據時,才需要選用16/32位,而在一般工業領域,8位通用型單片機,仍然是目前應用最廣的單片機。單片機在集成度、功能、速度、可靠性、應用領域等全方位向更高水平發展。
單片機的特點是編程、維護相對復雜,編程方式常用C語言或者匯編語言,成本較低,I/O接口相對有限。
二、PLC
PLC,全稱Programmable Logic Controller,即可編程邏輯控制器,是一種專門為在工業環境下應用而設計的數字運算操作電子系統。它采用一種可編程的存儲器,在其內部存儲執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,通過數字式或模擬式的輸入輸出來控制各種類型的機械設備或生產過程。
三、單片機為什么不能取代PLC呢?
1.穩定性與可靠性
有人說這是個偽問題,單片機是元器件,PLC是由元器件以及龐大的軟件構成的系統,兩者在這一方面沒有可比性。這話沒有錯,大多PLC的控制芯片實際上就是單片機,也就是說可以將PLC看成是單片機的二次開發,單論工業防護等級,單片機的穩定性和可靠性能根本比不了PLC這種IP67類的產品( IP為標記字母,第一標記數字表示接觸保護和外來物保護等級,第二標記數字表示防水保護等級)。而且就PLC這種能應對工業惡劣環境的產品還開發出一套冗余系統。如果穩定性與可靠性對比沒有意義,那么我們就從其他方面分析。
2.I/O功能
單片機的I/O點實在有限,而反觀PLC呢?針對不同的現場信號,均有相應的I/O點可與工業現場的器件(如按鈕、開關、傳感電流變送器、電機啟動器或控制閥等)直接連接,并通過總線與CPU主板連接。工業里幾乎任意一條生產線,都有上百甚至上千I/O點,就這點單片機完全無法比擬。
3.擴展功能
一條完整的工業生產線除了控制,還有通信、上位、組態、運動控制與顯示等等,這些東西都需要依靠完整的工業體系與通信協議去做,例如西門子公司的PROFIBUS-DP通信、三菱重工的CC-LINK等等。而單片機和PC、單片機和單片機之間的通信大都用串口。單片機的串口是全雙工異步通信串口,那么像MODBUS、PROFIBUS、CAN open、以太網等通信協議單片機是否能一一實現?或許單片機可以做到,但是這就涉及到下一個分析點,開發周期。
4.開發周期
PLC的品牌多達200多種,幾乎每個品牌都有不同編程軟件,而且都在不斷完善自己的編程軟件,使之能夠越來越簡單的服務于電氣工程師,而各種程序塊也是越來越方便人性化的任意去調用,比如PID模塊、運動控制模塊等,大大減輕了工程師的開發壓力也縮短了開發周期。那單片機要如何實現?沒有現成的模塊使用,那就只能開發,那么做過非標自動化設備的工程師都會遇到一個問題——工期不足。PLC這種高度集成化模塊化的產品在達到滿足設備所需的開發周期,在工期面前也是抓襟見肘,更不用說如同白紙一張的單片機。
5.通信距離
現在大多數流水線是要跨區域整合與監視的,所用的通訊方式多為以太網加中繼器,或者直接走民用寬帶光纖,所用的東西到最后很可能是用的就是微軟的IE瀏覽器,很明顯PLC是有RJ-45接口,即使本體沒有RJ-45也可以配備以太網模塊,可單片機搭載的PCB板能加上這個接口然后開發出以太網通信嗎?開發需要多久?
6.編程語言
這點對單片機來講是一個優勢,同時也是一個劣勢。上面提到PLC的品牌有兩百多種,編程軟件更多,盡管大多數PLC的編程語言都大同小異,但是每接觸一款不同品牌的PLC,電氣工程師就要從PLC的硬件參數、軟元件、編程軟件等等各個方面從頭了解一次才能使用的得心應手。而單片機的編程語言用的是C語言或者匯編語言,這對于任何單片機都是通用的。換句話說,學會C語言或者匯編語言,便可以應用任何單片機開發想要的功能(前提是要有相關的電工電子學基礎)。但話又說回來,電氣工程師不是電子工程師,他們的工作不是單單考慮單片機如何驅動繼電器來控制機床的,甚至有的電氣工程師都不會C語言、匯編語言之類的MCU開發語言。近些年,IEC-61131-3標準的推廣,越來越多的PLC支持多種編程語言,如類似C語言的ST語言,類似電路圖的CFC語言。這種便利的功能是傳統單片機開發環境真的無法實現。
四、結論
經過上面闡述,我們可以看出,PLC實際上可以看成是單片機的二次應用開發,但是它又有自己鮮明的特點。到目前為止,中國的單片機應用和嵌入式系統開發走過了二十余年的歷程,國民經濟建設、軍事及家用電器等各個領域,尤其是手機、汽車自動導航設備、PDA、智能玩具、智能家電、醫療設備等行業都是應用了單片機。行業高端目前有超過10余萬名從事單片機開發應用的工程師。
? ? ? ?責任編輯:pj
評論
查看更多