單片機可以替代plc么?

我自學了單片機,還沒學plc,可我看plc有些項目的要求,我用更便宜的單片機百十塊錢自己焊一塊板子就可以做出來plc上千塊的效果。我還有必要繼續學plc么?plc和單片機的意義各自是什麼?


不能。雖然大多數PLC里的主控晶元就是MCU單片機。
PLC的優勢在於可以使用梯形圖進行二次開發,首先你要明確一點:PLC是給電氣工程師使用的。電氣工程師不是電子工程師,他們的工作不是單單考慮你這個MCU如何驅動繼電器來控制機床的。甚至有的電氣工程師都不會C語言、彙編語言之類的MCU開發語言(你讓人家怎麼玩?),幾年前在21ic上有個傢伙說要開發新的PLC,用C語言來代替梯形圖,結果他在論壇上蹦躂一兩個月後銷聲匿跡了。
其次PLC的優勢在於穩定性強,你可能覺得iPhone的APP突然閃退一下沒啥問題,重新打開一下就行了,實在不行就重啟。但工業現場的設備不行,死機一秒有可能是一條人命……
所以你想用MCU、繼電器、光耦做PLC可以,但不經過嚴格規劃設計、調試測試、各種抗擾試驗認證的,頂多稱為繼電器控制器,而不是真正能用於工業現場的PLC。一般的工業現場設備,開發設計完成後,認證測試通過後,就不會再修改,以後的量產都是照著認證測試的那套電路、底層程序來生產,修改任意一行晶元驅動代碼都需要重新認證。


今天友善度不要了!!!樓上答單片機能「改變世界」的都愁死我了,口口聲聲說自己做工控做什麼的我真想問,你們都進過工廠么?看過工業環境么?只是最多在監控室里看看而已吧,

了解工業防護等級么?了解冗餘系統么?了解工業領域需要的是什麼么?
實名反對上面所有認為一塊單片機在工業領域能代替PLC的,你們真是實驗室呆的久了不知道外面有霧霾。
一、先從基本說起,穩定性與可靠性,你一塊單片機的穩定性和可靠性能比得過IP67類的產品么?懂防護等級么?看過工業惡劣現場么?看過露天野外設備作業么?

一場大雨過後又濕又潮你敢肯定你那單片機還能行?冬天零下的溫度你敢保證它還能運行?我就不信了。
二、工業里比如說汽車生產線,或者大型的電廠煤炭等領域,動不動上百的I/O有時候上千,你用單片機給我做個看看,而且就PLC這種抗草的貨還得弄一套冗餘系統,你單片機是能信春哥啊還是自愈能力100%就不死,再不濟你也單片機做一套冗餘?做得出來我服你,但有一點可以肯定,甲方秒秒鐘KO你。
三、工業領域控制只是一部分,還需要採集、通訊、上位、組態、運動控制與顯示等領域,這些東西都需要依靠完整的工業體系與通訊協議去做,比如西門子有成套的東西能夠實現這些功能,你單片機是想怎麼個做法?動不動各種Modbus、profibus、profinet、OPC等東西是要怎麼個一一實現法?
四、開發周期,各家PLC廠商都在不斷完善自己的編程軟體,使之能夠越來越簡單的服務於工程師,而各種程序塊也是越來越方便人性化的任意去調用,比如PID模塊、運動控制模塊等,大大減輕了工程師的開發壓力也縮短了開發周期,單片機呢?自己開發的東西難道有信心能夠打敗西門子工程師的?
五、外圍硬體支持,

這是某組態軟體上的東西,單片機如何實現?靠一個人開發?累死了吧,國內動不動在投標的時候都是嚴重的工期不足了,PLC如何高度集成化模塊化的東西很多時候在工期面前都捉襟見肘,單片機開發估計就猴年馬月了,更別提去支持HMI、可視化控制系統、市面上上百種的品牌與硬體驅動了,就算你真的做出來了,遇到幾十台變頻器的時候,你覺得那單片機能扛得住干擾?大型項目的時候,弄了個高壓高功率電機,啟動的時候整個電網都顫,那單片機各種數值不得像竄天猴兒一樣的上竄下跳啊?
六、距離問題,工業領域有的時候是要跨區域整合與監視的,所用的通訊方式多為乙太網(通訊距離長)加中繼器,或者直接走民用寬頻光纖(有的時候距離要好幾公里幾十公里),所用的東西到最後很可能是用的微軟的IE瀏覽器(對,你沒聽錯,西門子WINCC WEB),你用單片機給我支持一下試試看?還有就是遇到突發情況下,如果無人值守或者重大事故的時候,需要由PLC的通信模塊根據情況發送簡訊給相關人員(比如領導),單片機能?開發需要多久?
說了這麼多,也沒說全,只不過看不慣那些認為用單片機代替PLC的實驗室人員,真能這麼用,你覺得電廠里那些動輒幾十萬幾百萬一套的AB系統都是廢物?
———————————————————————
過百贊了,真心覺得不容易,工控這行在知乎還是小眾,感謝大家的認可,希望我們工控人能夠在工作與生活中得到自己想要的,實現自己的價值與夢想。


PLC是給電氣工程師用的,單片機是給電子工程師用的。雖然單片機比PLC便宜好多好多倍,而且功能也能實現,實際上PLC就是用單片機做內核的。但是來,用在工業惡劣場合,單片機無論可靠性,耐用性,抗干擾性,安全性,全都沒有辦法與PLC相提並論。而且,在現場維護系統的是電工,他們根本看不懂單片機的程序,更別提修改和排除故障了,但是PLC可以,它使用的編程語言是梯形圖,與電工使用的繼電器電路原理圖一模一樣。


這是個偽問題,單片機是元器件,PLC是由元器件以及龐大的軟體集構成的系統,問前者能否替代後者就好比問:豬肉能代替冷櫃里的灣仔碼頭韭菜豬肉餡水餃嘛?

~~~~~~~~~~借題發揮的分割線~~~~~~

本人主業從事儀器設備的系統和結構設計,副業搞嵌入式以及電子設計,主流的單片機用過幾大類10幾種,正好一個多月前我表哥的公司負責PLC的人撂挑子,在湖北的小城市,找不到人,應急只好我來頂。最近做了兩個PLC的小項目,所以好歹也算對PLC有所了解和體會,這個問題應該有資格回答。另外值得一說的是,和我表哥合作的搞PLC的人是和我表哥合夥(我表哥控股)在北京成立一家公司,就只賣刷好固件的PLC系統給湖北的公司,幾年時間和我表哥的公司做了上千萬的生意,隨便一個刷了幾十行代碼的plc系統賣價10~20萬。我表哥其實完全不懂,總覺得對方「是軟體專家」,貴就貴囖~~~搞笑的事情是:有次在上海找人做行業相關的手機APP,也帶著這個「專家」,因為是「搞軟體的嘛…」

回到正題

做的大型野外石油機械設備的控制系統,目前已經做了的兩個項目比較簡單,基本都是配套西門子的HMI +S7-200 smart 模塊+少量擴展IO模塊,以前從沒接觸過PLC,第一個項目從開始看電氣接線圖紙查閱西門子的手冊到最後完工交貨基本上用了3天(包括晚上)。情況介紹完了。

接下來說重點!!!

我的體會就是:PLC太牛逼了!

如果不藉助PLC設計完成同類的一套控制系統,我粗略估計最少要5~7個人,花1年時間。而且必須要有2~3位硬體和軟體方面的老手參與才行,即使考慮到了中後期以測試為主,團隊可以做其他項目,人力成本加上其他開發成本毛估估最少也要 120~150萬(招聘參考關鍵字:cortex-M3/M4,Arm A8,linux,Qt,RTOS,電子工程師,電子測試工程師,PCB製程工程師,平面設計,美工…)。還沒說開發周期導致的時間成本。而這一切,一個PLC的新手(零基礎),3天時間搞定!接下來的計劃是從他們公司找兩名水平好點的電工,我現學現賣培訓半年,相信應付一般的項目應該沒問題。

PLC就是超市裡能買到的快速食品(罐頭,速凍水餃…)單片機則是菜市場里擺出來的食材之一。在需求不是太精細太特殊化的情況下,前者總是能以最低的成本快速滿足基本功能化的需求,比如工業流水線,工程機械等。後者針對更精細或特殊的需求,比如家電,儀器設備,乃至PLC本身。


我幹了幾十年工控的老師說,並不是說PLC天生就比單片機系統穩定,是因為單片機系統(加外設)通常是由一個人或一個小團隊做出來的,而西門子的PLC是優秀的西門子工程師代代更迭不斷改進久經考驗的產品。

作為普通用戶,沒有理由相信你做的單片機系統比西門子公司成百上千的工程師代代更迭做出的PLC還要穩定,特別是當系統很複雜時。


我用更便宜的單片機百十塊錢自己焊一塊板子就可以做出來plc上千塊的效果

大概題主所說的這種應用場景根本用不著PLC吧,比如一個燈控箱之類的。

然而,你確定你的電路設計能力和PCB排版能力過關么?
一塊燈光控制基板如下圖(圖片來自百度):

等你一眼能把上面的元件認個十之八九,原理瞭然於胸,接下來我們再討論PLC的設計。

---------------------------------------------分割線---------------------------------------------

關於PLC和單片機這兩者的區別,其他答案已經說得很清楚了。
PLC其實可以用ARM、Intel的晶元進行開發,跑Windows、Android都沒有問題(我倒是用過一些比較另類的)。這些PLC廠家的組態軟體甚至是委託微軟開發的,這個研發投入你感受一下。

國內的和利時、浙大中控的研發工程師應該會被這道題氣哭。


前面的各位都說的是穩定性以及二次編程之類。
那麼我說一下功能方面。
一台最基本的西門子200系列,可以做到的,你知道需要你用多少單片機層層堆疊么?
舉個栗子(?_?) 我要求根據A點數據與我內部設定B點自定義數據比較,得差寄存至C,將C與預先設定好的D E F G各數據比對,然後輸出H I J K各項方案,然後繼續採集數據繼續對比,嗯,需要多少來搭,要佔用多大地方。
嗯,一個200按我說的這些,至少處理50個並行迴路。就不用再說其他類似動態PID等等等等。
最終人家用250×1200一排模塊就搞定了。莫非一個複雜控制的釜,你做的單片機要堆一個柜子么?而且覆銅板呢,手工做么?
PLC的電路板由於固定形式,批量生產,機械化做的特別細了。而根據你提出的單片機,可能一個方案就要重新設計一遍,投入產出不符合。
另外,知道有的時候工況極其惡劣么,長期高溫,大量粉塵,你做的單片機真的可以受的住考驗么? 要真的控一個幾百立方的反應釜,分分鐘死機停機。這還是輕的,萬一由於死機造成各類超限呢,炸了呢。
嗯,親身經歷過僅僅30立方的釜爆炸,800平方的鋼構車間直接嘣的跟戰爭過後似的。

PS:見過直徑4m,長41.5米的卧式釜,蓋沒封好操作工跑了。於是25公斤壓力一打,2T的蓋子飛出去600多米,你感受一下。


不行。
很多人都有疑問,單片機明明功能那麼強大,功能那麼豐富為什麼不能取代PLC呢?簡單解釋一下,都是自動控制區別在哪裡?PLC主要用於工廠車間等地方的自動控制,單片機雖然功能很多,但大多數用於民用小器件方面。PLC絕對沒有單片機好用功能多,這是毋庸置疑的。但是!PLC較之單片機最大的優點在於皮實!皮實!還是皮實!
用過單片機的都知道,程序不多改幾遍裡面絕對有很多bug,哪怕是經過多次修改bug和死機也有可能出現。而PLC按順序運行,不會出那麼多毛病。而工業上一個死機一個bug可能就是極大的損失,甚至人命!簡單來說就是我不用那麼多功能,多了沒用!我要的就是他老老實實的運行!從用途方面來說為了穩定,單片機取代PLC的可能性很小。
穩定最重要,就好像我的計算器絕對比卡了的安卓手機好用。


請問!麵粉能代替麵條嘛?急,在線等。


實驗室離工業化還有很長的距離。
穩定性、可靠性都是需要時間和金錢雙重投入才有產出的領域。你要花式虐待你的產品,直到燒毀足夠多的樣品才能得出你的產品的性能參數。
品牌價值同樣是需要時間和金錢雙重投入才有產出的領域。

總之,你不自虐燒掉幾百上千個產品,你就拿不出讓人信服的東西。沒有信任,就沒有任何一家工業企業會用你的東西。

而PLC廠家,恰恰是投入了巨量的金錢和時間,才取得了工業企業的信任。所以那投入的巨量金錢,自然就要分攤到價格里了。


Plc 的底層是由單片機實現的,將單片機的指令集轉換成了更適合工程人員使用的形式,並且經過了完善的emc和可靠性測試,單片機縱然可以實現plc的功能,而且看上去更容易,但是不適合快速開發和定製設備,穩定性也需要時間測試。
單片機適合大批量的產品。
還有不要把單片機想的太簡單了,學會和精通差得十萬八千里。
不然先用單片機實現一個plc 試試?


說起來也是十幾年前了,我還是一大學生小鮮肉。
那會兒就有人在爭,到底是FPGA還是嵌入式完全替代單片機。
現在看來,依舊是美工刀還是斬馬刀替代菜刀的問題。
(^Д^) 還是去新東方好好進修一下吧喂!


PLC裡面也是單片機,51、PIC、AVR系列、ARM系列、TMS320系列、MSP430系列、MOTOROLA等眾多單片機都有用於做PLC。
PLC只是用單片機進行了二次開發,對穩定性及易用程度進行了一系列優化。

PLC一般是給並不懂單片機的電氣人士使用了,開發速度非常快,穩定性好。他們花錢縮短了開發周期。

對自己的設計水平有信心的話可以直接使用單片機開發,盡量都參考商用PLC的電路。控制強電的話,輸入輸出都要隔離。


看這個問題下的回答吧
plc和單片機之間什麼關係?請不要解釋應用環境了,只想知道它倆的關係。 - 單片機


題主的這個問題正好是我最近遇到一堆破事的本源,起因是這樣的,公司以前一直是使用單片機做的板卡做單機設備的,老闆本身也是電子工程師出身,忽然有一天他覺得生產線不錯,然後就說做「標準化」的生產線,開始我們提出的是使用PLC做控制,後來老闆覺得單片機便宜成本低,而且公司應用單片機多年比較容易上手,然後就直接拿著單片機上了,第一條生產線正常運行無誤,後面老闆大受鼓勵,直接退出此系列產品,辭掉的公司大部分電氣工程師,招了一大波硬體(電子)工程師,對此類控制系統進行開發,結果2年有餘過去了,除了第一條線在正常運轉之外,其他的至今處於懵逼狀態,後來就陷入各種撕逼,板卡那邊開發人員說軟體開發有BUG,電氣布局不合理,干擾通訊,還有些工位直接莫名其妙的動作,換了新板卡就好了???我只想吐槽的一句:工業現場不是實驗室里乾淨整潔的那種環境,你的功能很強大,但是太嬌貴了好不?能給我解釋一下為什麼同樣是RS485通訊,PLC幾十米的通訊距離為什麼到了板卡上只有1米??還必須1米以下,還要各種屏蔽都做了然後你跟我說有電磁波動???之後才知道第一條線之所以沒有問題是因為各工位之間沒有任何通訊,僅僅是單機的疊加而已。。。。汗。。。。


本人風力發電行業,PLC的佔有率在那呢。


可靠性?開發時間?通訊介面?人機交互?


想替代PLC,結果成了自製PLC。


西門子吞糞自盡


問題無異於C語言就能做到的事情 為何還要開發C# C++


在回答這個問題前先介紹一下自己的工作背景吧(時間前後有重疊),自我感覺還是可以回答這個問題的:

×使用單片機開發專用儀器、控制器、操控面板、感測器

×使用 移動車輛控制器(即防護性更高的PLC)、IO、HMI設計智能機械電氣系統

×使用 單片機 製作通用控制器(PLC),支持IEC61131-3環境,見下圖:

內部電路見下圖:

內部電路見下圖:

我是從 使用MCU開始-&>使用PLC-&>設計製造PLC-&>設計製造高級PLC(此步是目標:)

我是從 使用MCU開始-&>使用PLC-&>設計製造PLC-&>設計製造高級PLC(此步是目標:)
工作快10年,軟硬體通通干,今天總結下,不過就這幾步,實在感慨啊。。。
看到這個題目,心裡有很多話想說,我自己非常喜歡工控技術,所以慢慢講吧:

第一:PLC中的用什麼處理器?
低:微控制器(16位典型:C166核MCU;32位典型:ARM7、M3、M4)
中:嵌入式微處理器(典型:ARM9、A8、A9)
高:中央處理器(典型:X86)
不少專用PLC還附帶DSP或FPGA以應對一些特定的性能要求;還有一些量大的低端PLC為了節省成本,廠家用自己定製的微控制器(典型:西門子S7-200)
因此可以看到PLC檔次的不同、專業的不同,幾乎把所有帶運算能力的器件用了個遍;

第二:單片機、PLC兩個概念的割裂?
如果從元器件上看到了單片機系統和PLC的聯繫之外,對於使用者來說,其實看到的更多的是兩個概念的割裂,我從下面幾個方面講:
*開發、調試方式:

現在單片機的開發、調試方式主要是在集成環境下完成,使用C語言進行設計,並配合專門的硬體進行軟體模擬,模擬常會受到硬體環境的限制,例如斷點數量受限、無法查看程序堆棧、無法運行時監控變數,難以記錄程序流等等。

而PLC是採用更貼近工程目標的語言,比如梯形圖編程,而近些年,IEC-61131-3標準的推廣,越來越多的PLC支持多種編程語言,如類似C語言的ST語言,類似電路圖的CFC語言,而調試手段更是靈活,可以通過多種介質,如串口線、網線、CAN匯流排進行程序下載及調試,因為調試是軟體調試,所以功能更加豐富,例如幾乎無限的斷點、運行時監控程序流及變數、變數值跟蹤等等

更厲害的PLC編程環境甚至把組態軟體的功能也帶進了編程環境,及可以方便的製作電腦監控軟體,下圖展示了圖形編程以及組態功能,PLC軟體在控制器內運行,電腦端及可以進行程序調試,還可以製作監控畫面:

這種便利的功能是傳統單片機開發環境無法實現的

因為開發方式完全不同,以及對相互領域的不了解,使得使用者覺得單片機和PLC是兩個完全不同的概念。事實也是如此,目前為止,使用單片機開發產品和使用PLC開發項目的人群基本上也是沒有重疊的。

*應用對象及環境:

那這兩種東西分別適合什麼應用呢?我覺得很多回答進入了一個誤區,通過設備的可靠性來區別,如果說PLC面向可靠應用,單片機系統就不可靠了?

我覺得,最理想的劃分是按照項目的類型區分:

單片機系統適合量大的,功能無需逐台更改及調試的產品

而PLC更適合量少、項目具有特異性而需要進行程序調整的項目,比如,世界上沒有兩個一模一樣的化工廠,所以不同廠家的自動化設備必然存在某些差異,這些問題有的甚至需要工程師在現場解決,這樣的應用使用PLC無疑更理想

至於可靠性,有可靠性很普通的便宜PLC,也有可靠性非常高的非PLC 電子設備,這些反例說明可靠性不是用於區別PLC與單片機適應性的標準。所以從這個方面進行討論是不可能得到結果的。

*使用者知識背景:

第三:所有PLC都一樣么?


推薦閱讀:

自動化專業的路該怎麼走?
常用控制演算法(包括PID和卡爾曼濾波等)各有什麼天然的局限乃至缺陷?
參加大學生電子設計競賽是怎樣的體驗?
控制理論到底有什麼用?

TAG:自動化 | 單片機 | 自動控制 | 嵌入式開發 |