要搞清楚单片机与PLC的异同,首先得明确什么是单片机,什么是PLC。对此,我们简要回顾一下计算机的发展历程也许有帮助,按计算机专家的原始定义,计算机系统由五大部分--即控制单元(CPU)、算术运算单元(ALU)、存储器(Memory)、输入设备(Input)、输出设备(Output)组成。早期计算机(晶体管的或集成电路的,不包括电子管的)的CU或ALU由一块甚至多块电路板组成,CU和ALU是分离的,随着集成度的提高,CU和ALU合在一块就组成了中央处理单元(CPU),接着将CPU集成到单块集成电路中就产生MPU或MCU,出现了如Intel4004、8008、8080,8085、8086、8088、Z80等MPU。此后,MPU的发展产生了两条分支,一支往高性能、高速度、大容量方向发展,典型芯片如:Intel80186、286、386、486、586、P2、P3、P4等,速度从4.7MHz到现在的3.2GHz。另一支则往多功能方向发展,将存储器(ROM、PROM、EPROM、EEPROM、FLASH ROM、SRAM等)、输入/出接口(Timer/Counter、PWM、ADC/DAC、UART、IIC、SPI、RTC、PCA、FPGA等)全部集成在一块集成电路中而成为SOC(System On a Chip)。依愚之见,这就是当今广泛应用的单片计算机,简称单片机。这一分支可谓品种繁多,位宽从8位到32位,引脚数从6个到几百个,工作频率从几十KHz到几百MHz,体系结构既有CISC也有RISC,数不胜数。常用的有MCS-51系列、MCS-96系列、PIC系列、AVR系列、ARM7/9系列、TMS320系列、MSP430系列、MOTOROLA众多的单片机等等。
至此,我们可以将计算机核心处理器的发展划分为三个阶段:板级的CPU、芯片级的MPU和SOC。
PLC是什幺呢?PLC的全称是Programmable Logic Controller(可编过程控制器),刚引入国内时,曾简称为PC。后来,IBM-PC获得广泛应用,PC成了个人电脑的代名词,才改为PLC。PLC还有另外的一个意思是Power Line Carrier(电力线载波)。
PLC是一种产品,但这种产品有点特别,在没有下载控制程序之前,它不具备任何控制功能,也就是说,没有应用程序的PLC是毫无用处的。PLC实际上是专为工业环境使用的通用控制平台,它必须进行二次开发才能完成最终控制目的,因此,它还需程序编辑/调试软件的配合。
PLC是智能产品,它的核心控制器采用什幺方案呢?板级的CPU肯定是不能考虑的,MPU也要好几块集成电路构成,以Z80 MPU为例,需要Z80MPU、PIO、CTC、SIO、EPROM、SRAM等,把这些集成电路安装在一块电路板上,这就是早期的单板计算机。这种方案体积太大,不适合现代要求。由此可见,PLC的核心控制器采用单片机是最合适的。
由此可得出结论:
1.PLC是建立在单片机之上的产品,单片机是一种集成电路,两者不具有可比性。
2.单片机可以构成各种各样的应用系统,从微型、小型到中型、大型都可,PLC是单片机应用系统的一个特例。
3.不同厂家的PLC有相同的工作原理,类似的功能和指标,有一定的互换性,质量有保证,编程软件正朝标准化方向迈进。这正是PLC获得广泛应用的基础。而单片机应用系统则是八仙过海,各显神通,功能千差万别,质量参差不齐,学习、使用和维护都很困难。
最后,从工程的角度,谈谈PLC与单片机系统的选用;
1.对单项工程或重复数极少的项目,采用PLC方案是明智、快捷的途径,成功率高,可*性好,手尾少,但成本较高。
2.对于量大的配套项目,采用单片机系统具有成本低、效益高的优点,但这要有相当的研发力量和行业经验才能使系统稳定、可靠地运行。最好的方法是单片机系统嵌入PLC的功能,这样可大大简化单片机系统的研制时间,性能得到保障,效益也就有保证。
PLC与单片机的区别
看到很多人在讨论PLC与单片机的区别,我也来瞎说几句: PLC其实就是一套已经做好的单片几(单片机范围很广的喔)系统.
PLC的梯形图你可以理解成是与汇编等计算器语言一样是一种编程语言,只是使用范围不同!而且通常做法是由PLC软件把你的梯形图转换成C或汇编语言(由PLC所使用的CPU决定),然后利用汇编或C编译系统编译成机器码!PLC运行的只是几器码而已.梯形图只是让使用者更加容易使用而已.
同样MCS-51单片机当然也可以用于PLC制作,只是8位CPU在一些高级应用如: 大量运算(包括浮点运算),嵌入式系统(现在UCOS也能移植到MCS-51)等,有些力不从心而已.我公司在使用的一套工业系统就是使用MCS-51单片机做的,不过加上DSP而已,已经能满足我们要求(我们设备速度较慢,而且逻辑控制为主,但是点数不少喔,128点I/O呢!!),而且同样使用梯形图编程,我们在把我们的梯形图转化为C51再利用KEIL的C51进行编译.你没有注意到不用型号的PLC会选用不同的CPU吗!
当然也可以用单片机直接开发控制系统,但是对开发者要求相当高(不是一般水平可以胜任的),开发周期长,成本高(对于一些大型一点的体统你需要做实验,印刷电路板就需要一笔相当的费用,你可以说你用仿真器,用实验板来开发,但是我要告诉你,那样做你只是验证了硬件与软件的可行性,并不代表可以用在工业控制系统,因为工业控制系统对抗干扰的要求非常高,稳定第一,而不是性能第一,所以你的电路板设计必须不断实验,改进).当你解决了上述问题,你就发现你已经做了一台PLC了,当然如果需要别人能容易使用你还需要一套使用软件,这样你可以不需要把你的电路告诉别人(你也不可能告诉别人)。
许多人觉得PLC很神秘,其实PLC是很简单的,其内部的CPU除了速度快之外,其他功能还不如普通的单片机。通常PLC采用16位或32位的CPU,带1或2个的串行通道与外界通讯,内部有一个定时器即可,若要提高可靠性再加一个够看家狗定时器足。
PLC的关键技术在于其内部固化了一个能解释梯形图语言的程序及辅助通讯程序,梯形图语言的解释程序