標(biāo)題: 自己動手做一個(gè)PLC [打印本頁]

作者: 51黑電子論壇    時(shí)間: 2015-12-19 19:14
標(biāo)題: 自己動手做一個(gè)PLC

我們自己來做一個(gè)PLC(Programmable Logic Controller,即可編程邏輯控制器)怎么樣?就像很多計(jì)算機(jī)專業(yè)的同學(xué)都自己寫過最簡單的操作系統(tǒng)一樣,作為工控領(lǐng)域的軟件人,怎么能不自己動手做個(gè)簡單的PLC呢?

PLC其實(shí)也是經(jīng)歷了很長時(shí)間的演變,最早的PLC雖然也是運(yùn)行在單片機(jī)上,但是僅支持指定模塊的編程,而下裝組態(tài)其實(shí)是在傳輸各個(gè)點(diǎn)及各個(gè)點(diǎn)之間的連接信息,再由PLC根據(jù)這些信息在內(nèi)部進(jìn)行解析運(yùn)行。而現(xiàn)在的PLC,大多數(shù)都可以被稱之為軟PLC(也稱Soft PLC),即在PC端便已經(jīng)編譯成二進(jìn)制文件,下載至PLC的過程是拷貝或者燒錄程序的過程,這使得PC的高性能得到了更好的發(fā)揮,我們今天討論的PLC便屬于軟PLC。

如果你想要找我要代碼的話,雖然我自己已經(jīng)嘗試著做過一個(gè)簡單基本的了,但是不得不說一個(gè)完整的PLC是相當(dāng)?shù)凝嫶蠛蛷?fù)雜,我自己的僅供我自己學(xué)習(xí)使用了,沒有足夠的注釋和文檔去幫助別人了解,故在這里我可以推薦一個(gè)做得還算不錯(cuò)的開源項(xiàng)目(當(dāng)時(shí)我自己嘗試的時(shí)候也借用了這個(gè)項(xiàng)目中不少的組件),這個(gè)開源項(xiàng)目叫做beremiz。

首先讓我們來考慮一下,我自己要做的PLC需要些什么組件呢?

軟件環(huán)境
按照工業(yè)控制領(lǐng)域常用的IEC61131-3標(biāo)準(zhǔn)來看,工業(yè)控制領(lǐng)域程序語言被分為了兩大類五種語言,兩大類是指圖形化編程和代碼編程,圖形化編程中有Ladder(梯形圖),F(xiàn)BD(Function Block Diagram,功能塊圖)和SFC(Sequential Function Chart,序列功能表),而代碼編程有IL(Instruction List,指令集)和ST(Structured Text,結(jié)構(gòu)化文本),具體內(nèi)容我就不展開了,有需要自行百度百科或維基百科。
硬件環(huán)境

我的解決方案:使用虛擬機(jī)運(yùn)行Linux模擬,以及使用RaspberryPi這類支持運(yùn)行Linux和Python的環(huán)境。

每一個(gè)子項(xiàng)中的解決方案或者開源項(xiàng)目都還會有很多,在這里,我僅列舉了我使用過和了解過的,相信你可以輕松的通過google搜索到更多的類似開源組件,所以在這里就不一一列舉了。

以上簡單的介紹了一下自己設(shè)計(jì)的PLC系統(tǒng)的基本組成部分,以及一些可選的開源項(xiàng)目和他們的特性。制作PLC并不是一件簡單的事情,相信你也無法在看過本文后便輕松的制作出自己那個(gè)PLC,不過我希望可以通過本文讓你了解到,做一個(gè)自己的PLC所需要的部件,以及其實(shí)它也并非高不可攀的。



作者: xml9527    時(shí)間: 2017-12-31 12:36
想法不錯(cuò),PLC的核心其實(shí)還是單片機(jī)
作者: lsc_nj    時(shí)間: 2018-1-7 11:11
絕世好帖!
作者: qq282004953    時(shí)間: 2018-1-12 15:00
很厲害啊 ,哥哥
作者: xo37    時(shí)間: 2018-1-27 21:28
呃 樓主這個(gè)帖子,水分好大……
作者: 英尚微電子    時(shí)間: 2018-8-24 13:48
有需要靈動微單片機(jī)可聯(lián)系我司
作者: hehe22    時(shí)間: 2018-9-10 10:21
厲害厲害, 還是這個(gè)論壇的大神比較多
作者: world_all    時(shí)間: 2019-8-5 13:56
感覺像廣告貼?
作者: zyi    時(shí)間: 2019-8-13 09:44
不知道實(shí)施了沒有?
作者: xiaoyueya007    時(shí)間: 2019-8-28 15:45
很厲害啊 絕對高手
作者: jovew    時(shí)間: 2020-9-22 08:14
這個(gè)沒有什么實(shí)質(zhì)內(nèi)容!內(nèi)容不能下載!

作者: finaltang    時(shí)間: 2021-1-24 17:28
現(xiàn)在幾大品牌已經(jīng)很成熟了

作者: 溫柔的郎    時(shí)間: 2021-3-31 14:53
就這還有朋友說很厲害,絕對高手。!只能說一句,有這種認(rèn)識的伙計(jì),只對單片機(jī)有所了解,而對PLC一概不通。所以才會草草得出這樣的結(jié)論來。
plc價(jià)格很貴,為什么在現(xiàn)在工控行業(yè)不被淘汰,不被單片機(jī)代替掉,究其原因,plc有幾個(gè)特點(diǎn)
1 plc在全球乃至全宇宙已經(jīng)有好幾千萬甚至好幾億的實(shí)際應(yīng)用量了,各種bug已經(jīng)被解決完了。
2 plc已經(jīng)形成了模塊化,標(biāo)準(zhǔn)化,從硬件,軟件都已經(jīng)達(dá)到了一定的水平了。
3 plc從購買,開發(fā),運(yùn)行,這個(gè)過程非常短,
4 plc系統(tǒng)運(yùn)行安全,硬件穩(wěn)定,開發(fā)迅速。
plc的這幾個(gè)方面,是現(xiàn)在哪個(gè)單片機(jī)都沒有達(dá)到的,也是plc很貴,但單片機(jī)無法代替的原因。
作者: tenme2    時(shí)間: 2021-8-8 21:36
溫柔的郎 發(fā)表于 2021-3-31 14:53
就這還有朋友說很厲害,絕對高手。!只能說一句,有這種認(rèn)識的伙計(jì),只對單片機(jī)有所了解,而對PLC一概不 ...

你說的都是對的,PLC成本高,且單片機(jī)無法很好替代,但實(shí)際上我就是利用單片機(jī)的程序模準(zhǔn)化,可視化,數(shù)據(jù)管理統(tǒng)一化,用C語言開發(fā),其于KEIL做到了比PLC開發(fā)更簡單。。。

作者: 1588848    時(shí)間: 2022-5-7 23:59
溫柔的郎 發(fā)表于 2021-3-31 14:53
就這還有朋友說很厲害,絕對高手。!只能說一句,有這種認(rèn)識的伙計(jì),只對單片機(jī)有所了解,而對PLC一概不 ...

PLC的本質(zhì)上就是單片機(jī), 但是請注意它是已經(jīng)成熟無BUG的單片機(jī), 假如你自己用單片機(jī)做的PLC也能無BUG,那也就是PLC了
作者: 993387119    時(shí)間: 2022-5-8 08:53
PLC主要是為工業(yè)控制應(yīng)用設(shè)計(jì),抗干擾能力強(qiáng)。編程使用特定的匯編語言。這些和單片機(jī)不同
當(dāng)然最主要的原因是單片機(jī)太便宜,要不上價(jià)。利潤空間太小,都不愿做。
現(xiàn)在有些私人企業(yè)為降低成本,使用訂制PLC。其實(shí)內(nèi)部也還是單片機(jī)
作者: fj51hei    時(shí)間: 2022-5-8 09:12
1588848 發(fā)表于 2022-5-7 23:59
PLC的本質(zhì)上就是單片機(jī), 但是請注意它是已經(jīng)成熟無BUG的單片機(jī), 假如你自己用單片機(jī)做的PLC也能無BUG, ...

有什么單片機(jī)是沒有BUG的,是電子產(chǎn)品就有缺陷  只是相對你的應(yīng)用致命不致命而已。
作者: fj51hei    時(shí)間: 2022-5-8 09:19
993387119 發(fā)表于 2022-5-8 08:53
PLC主要是為工業(yè)控制應(yīng)用設(shè)計(jì),抗干擾能力強(qiáng)。編程使用特定的匯編語言。這些和單片機(jī)不同
當(dāng)然最主要的原 ...

其實(shí)不管PLC怎么設(shè)計(jì),內(nèi)部還是單片機(jī)  或許等級不一樣  還是單片機(jī) 實(shí)際可以說PLC只不過是用料要求高些的控制器而已,但PLC的優(yōu)勢不在于多可靠(當(dāng)然可靠也是需要的) 而是模塊化,一致性好,不需要重復(fù)造車  并應(yīng)用門檻降低 應(yīng)用時(shí)間縮短。
作者: myd0207    時(shí)間: 2022-8-26 15:58
有道理,51黑有你更精彩!!!
作者: 新昌小徐    時(shí)間: 2022-9-12 09:51
PLC本身就是單片機(jī),不過性能當(dāng)然比51單片機(jī)強(qiáng)多了,單里面的存儲容量都是十K以上,單片機(jī)才幾K。就西門子的S7-200 PLC,有很多的V存儲器,可以放心的用,還有支持浮點(diǎn)數(shù)運(yùn)算,單片機(jī)要用到浮點(diǎn)數(shù)運(yùn)算,那得STC的32位單片機(jī)了。
低檔的PLC里面刷了個(gè)小型的系統(tǒng),這樣能支持上傳下載自控程序,還有PPI通訊,狀態(tài)燈的顯示。自控程序應(yīng)該都是以語句表的形式加上一些數(shù)據(jù)塊,系統(tǒng)塊下載到PLC里去的。PLC系統(tǒng)就是依照語句表程序逐一解釋執(zhí)行。執(zhí)行前采樣,執(zhí)行后輸出。這樣往復(fù)運(yùn)行。
再發(fā)展,中大型PLC里就有了功能更加強(qiáng)大的系統(tǒng),如果程序中只作了小部分的更改,你完全可以部分下載,不用大動干戈,把整個(gè)程序編譯一遍,再下載。同時(shí)也支持PLC運(yùn)行狀態(tài)下的下載,不影響自控系統(tǒng)的運(yùn)行。
PLC最大的優(yōu)點(diǎn)是降低了自控設(shè)計(jì)人員素質(zhì)要求,你學(xué)個(gè)單片機(jī)起碼是大學(xué)水平,PLC初中水平就行了,能編個(gè)梯形圖。要學(xué)好單片機(jī)不容易的,又要會數(shù)字電路,還要會模擬電路,還要會畫電路板,還要會C語言,用KEIL編單片機(jī)程序,這能出山都是電子工程師的水平?捎肞LC初中沒畢業(yè)的電工都能編個(gè)梯形圖。
同樣是大學(xué)生,做一個(gè)自控項(xiàng)目,用PLC搭建,一星期解決,而用單片機(jī)起碼一個(gè)月起。
我們廠有個(gè)老師傅,就用單片機(jī)做化工廠實(shí)驗(yàn)室的自控項(xiàng)目,如控制釜溫、調(diào)節(jié)精餾回流比,還是控制管道壓力穩(wěn)定。萃取過程中對液體顏色的采集,控制蠕動泵流量大小,還有是模擬移動床色譜分離自控系統(tǒng)的開發(fā)。等等,還跟電腦進(jìn)行通訊,用VB做上位機(jī),用于顯示控制并歷史記錄。
老師傅不是研究院的,做了二套模擬移動床系統(tǒng),他的領(lǐng)導(dǎo)不讓他干了,今年我用S7-200做了個(gè)模擬移動床的自控系統(tǒng),建立在人家成熟的硬件和軟件基礎(chǔ)上,憑我這點(diǎn)水平也完成了,明顯降低了人員素質(zhì)的要求。
我們公司用到單片機(jī)的地方,都是安全級別低的場合,如果是化工車間里的自控系統(tǒng),那是萬萬不能用。
一個(gè)產(chǎn)品,要用上還得各種各樣的認(rèn)證,通過設(shè)計(jì)驗(yàn)證,還是測驗(yàn)驗(yàn)證,讓對方認(rèn)可,所以PLC不可替代,不要說國產(chǎn)兼容的PLC,如果應(yīng)用在普通車間,都是夠用了,但你把它用在電梯還是礦井安全級別要求高的場所,那是萬萬不可。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1