|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
想搞清楚PLC与单片机有什么不同,在网上搜了许多,看得头都大了,还是一团雾水。最后把其中说到点子上的一些句子,综合起来认真分析总结,本人认为PLC与单片机的差别应该是:
% M4 j, `) b; |2 l0 Y! L9 L+ a8 ]; n
' z. n* `3 d" L8 I1.PLC是应用单片机构成的比较成熟的控制系统,是已经调试成熟稳定的单片机应用系统的产品。有较强的通用性。6 o" [1 k& y1 h9 h8 J
! X$ @- C7 R+ K2.而单片机可以构成各种各样的应用系统,使用范围更广。单就“单片机”而言,它只是一种集成电路,还必须与其它元器件及软件构成系统才能应用。 % {) F1 u" o" c+ p
) \, W& j$ A, g% O5 w9 ]7 Y, p3.从工程的使用来看,对单项工程或重复数极少的项目,采用PLC快捷方便,成功率高,可靠性好,但成本较高。+ q m3 o; A5 H6 v h
5 P8 z5 f$ a! G# L9 V+ f4 C n* J
4.对于量大的配套项目,采用单片机系统具有成本低、效益高的优点,但这要有相当的研发力量和行业经验才能使系统稳定。
( o" A9 |% u1 g5 L( q/ y; t* V, T7 _4 g \# ^& H
从本质上说,PLC其实就是一套已经做好的单片机(单片机范围很广的)系统。9 F8 Q4 {. X) m( [% M+ I C6 Q# S
5 u% ~' b" ^+ {: @0 A0 b+ w
但PLC也有其特点:PLC广泛使用梯形图代替计算机语言,对编程有一定的优势。你可以把梯形图理解成是与汇编等计算器语言一样,是一种编程语言,只是使用范围不同!而且通常做法是由PLC软件把你的梯形图转换成C或汇编语言(由PLC所使用的CPU决定),然后利用汇编或C编译系统编译成机器码!PLC运行的只是机器码而已。梯形图只是让使用者更加容易使用而已。
' u, R; m) Y# |4 q, ^, [1 w4 C1 y2 W, ?' P* X
如所说,那么MCS-51单片机当然也可以用于PLC制作,只是8位CPU在一些高级应用如: 大量运算(包括浮点运算),嵌入式系统(现在UCOS也能移植到MCS-51)等,有些力不从心而已,不过加上DSP就已经能满足一般要求了,而且同样使用梯形图编程,我们可把梯形图转化为C51再利用KEIL的C51进行编译。我们也能发现不用型号的PLC会选用不同的CPU,其实也说明PLC就是一套已经做好的单片机系统。# f# \/ q& l; A- M
8 J# u- R! d4 _9 p
既然如此,当然也可以用单片机直接开发控制系统,但是对开发者要求相当高(不是一般水平可以胜任的),开发周期长,成本高(对于一些大型一点的体统你需要做实验,印刷电路板就需要一笔相当的费用,你可以说你用仿真器,用实验板来开发,但是我要告诉你,那样做你只是验证了硬件与软件的可行性,并不代表可以用在工业控制系统,因为工业控制系统对抗干扰的要求非常高,稳定第一,而不是性能第一,所以你的电路板设计必须不断实验,改进)。当你解决了上述问题,你就发现你已经做了一台PLC了,当然如果需要别人能容易使用你还需要一套使用软件,这样你可以不需要把你的电路告诉别人。你也不可能告诉别人。
6 _+ p( a$ o7 q2 u2 q* N3 @/ m# x0 y0 E. j5 r; Z' D6 C
这样一看PLC其实并不神秘,不少PLC是很简单的,其内部的CPU除了速度快之外,其他功能还不如普通的单片机。通常PLC采用16位或32位的CPU,带1或2个的串行通道与外界通讯,内部有一个定时器即可,若要提高可靠性再加一个看家狗定时器问题就解决了。
1 ^& k. Q( T' T, ]7 N- W
7 d5 m6 |& ^0 {0 j另外,PLC的关键技术在于其内部固化了一个能解释梯形图语言的程序及辅助通讯程序,梯形图语言的解释程序的效率决定了PLC的性能,通讯程序决定了PLC与外界交换信息的难易。对于简单的应用,通常以独立控制器的方式运作,不需与外界交换信息,只需内部固化有能解释梯形图语言的程序即可。实际上,设计PLC的主要工作就是开发解释梯形图语言的程序。现在的单片机完全可以取代PLC。以前的单片机由于稳定性和抗电磁干扰能力比较的弱和PLC是没有办法相比的 现在的单片机已经做到了高稳定性和很强的抗干扰能力在某些领域已经实现了替换。$ m8 A: w, m+ p6 b% r/ `
1 f7 y. ?+ m# s! S9 k
; Q9 W9 E5 u6 M
+ A8 i* S0 _. J3 {+ L4 }- D0 W/ U$ Q
/ I( E8 y( Z, c- Z+ b* G
|
|