想搞清楚plc與單片機有什么不同,在網(wǎng)上搜了許多,看得頭都大了,還是一團霧水。最后把其中說到點子上的一些句子,綜合起來認真分析總結,本人認為plc與單片機的差別應該是:
1.plc是應用單片機構成的比較成熟的控制系統(tǒng),是已經(jīng)調(diào)試成熟穩(wěn)定的單片機應用系統(tǒng)的產(chǎn)品。有較強的通用性。
2.而單片機可以構成各種各樣的應用系統(tǒng),使用范圍更廣。單就“單片機”而言,它只是一種集成電路,還必須與其它元器件及軟件構成系統(tǒng)才能應用。
3.從工程的使用來看,對單項工程或重復數(shù)極少的項目,采用plc快捷方便,成功率高,可靠性好,但成本較高。
4.對于量大的配套項目,采用單片機系統(tǒng)具有成本低、效益高的優(yōu)點,但這要有相當?shù)难邪l(fā)力量和行業(yè)經(jīng)驗才能使系統(tǒng)穩(wěn)定。
從本質(zhì)上說,plc其實就是一套已經(jīng)做好的單片機(單片機范圍很廣的)系統(tǒng)。
但plc也有其特點:plc廣泛使用梯形圖代替計算機語言,對編程有一定的優(yōu)勢。你可以把梯形圖理解成是與匯編等計算器語言一樣,是一種編程語言,只是使用范圍不同!而且通常做法是由plc軟件把你的梯形圖轉換成c或匯編語言(由plc所使用的cpu決定),然后利用匯編或c編譯系統(tǒng)編譯成機器碼!plc運行的只是機器碼而已。梯形圖只是讓使用者更加容易使用而已。
如所說,那么mcs-51單片機當然也可以用于plc制作,只是8位cpu在一些高級應用如: 大量運算(包括浮點運算),嵌入式系統(tǒng)(現(xiàn)在ucos也能移植到mcs-51)等,有些力不從心而已,不過加上dsp就已經(jīng)能滿足一般要求了,而且同樣使用梯形圖編程,我們可把梯形圖轉化為c51再利用keil的c51進行編譯。我們也能發(fā)現(xiàn)不用型號的plc會選用不同的cpu,其實也說明plc就是一套已經(jīng)做好的單片機系統(tǒng)。
既然如此,當然也可以用單片機直接開發(fā)控制系統(tǒng),但是對開發(fā)者要求相當高(不是一般水平可以勝任的),開發(fā)周期長,成本高(對于一些大型一點的體統(tǒng)你需要做實驗,印刷電路板就需要一筆相當?shù)馁M用,你可以說你用仿真器,用實驗板來開發(fā),但是我要告訴你,那樣做你只是驗證了硬件與軟件的可行性,并不代表可以用在工業(yè)控制系統(tǒng),因為工業(yè)控制系統(tǒng)對抗干擾的要求非常高,穩(wěn)定第一,而不是性能第一,所以你的電路板設計必須不斷實驗,改進)。當你解決了上述問題,你就發(fā)現(xiàn)你已經(jīng)做了一臺plc了,當然如果需要別人能容易使用你還需要一套使用軟件,這樣你可以不需要把你的電路告訴別人。你也不可能告訴別人。
這樣一看plc其實并不神秘,不少plc是很簡單的,其內(nèi)部的cpu除了速度快之外,其他功能還不如普通的單片機。通常plc采用16位或32位的cpu,帶1或2個的串行通道與外界通訊,內(nèi)部有一個定時器即可,若要提高可靠性再加一個看家狗定時器問題就解決了。
另外,plc的關鍵技術在于其內(nèi)部固化了一個能解釋梯形圖語言的程序及輔助通訊程序,梯形圖語言的解釋程序的效率決定了plc的性能,通訊程序決定了 plc與外界交換信息的難易。對于簡單的應用,通常以獨立控制器的方式運作,不需與外界交換信息,只需內(nèi)部固化有能解釋梯形圖語言的程序即可。實際上,設計plc的主要工作就是開發(fā)解釋梯形圖語言的程序?,F(xiàn)在的單片機完全可以取代plc。以前的單片機由于穩(wěn)定性和抗電磁干擾能力比較的弱和plc是沒有辦法相比的 現(xiàn)在的單片機已經(jīng)做到了高穩(wěn)定性和很強的抗干擾能力在某些領域已經(jīng)實現(xiàn)了替換。