PLC的CPU和普通单片机有什么区别?

如题所述

其实际,PLC就是一个完整的单片机系统,你可以把它形像化为一个功能专一的单片机开发板.
这个单片机开发板由电源+单片机+继电器或MOS管+端子等等组成.
现在的PLC,多用32位单片机,也有16位,早很多年前的PLC,还有用8位的,比如西门子曾经用的是51单片机.
而梯形图烧录到PLC后内正常运行,是因为PLC的开发软件,把梯形图通过电脑运算,转换成了二进制的机器语言,然后烧录的PLC内部的单片机或者PLC内部的Flash里去了,这点,和你用单片机编程没有什么特别区别.
而你在编写单片机的时候,一般来说是需要硬件图的,我说的是一般,有一种情况不用,那就是,有人把单片机的底层给编写好的,你不需要关心底层驱动是怎么实现的,只需要知道怎么用就行了.在这种情况下,你不需要知道硬件如何实现,就不需要看硬件电路.
举例:
unsigned char Output_Y00 = 0,Output_Y01 = 0;

//-----这是底层函数-------------------------------------
void Output_Process(void)
{
if(Output_Y00) P1_0 = 0;//---打开第一路输出
else P1_0 = 1;//---关闭第一路输出

if(Output_Y01) P1_4 = 0;//---打开第二路输出
else P1_4 = 1;//---关闭第二路输出

}

上面的例子,在编程的时候,如果是分层编程,即一个人写逻辑,一个人写底层,你是看不到那个
Output_Process()的存在的,因为编写底层的人给封装起来了,你可能只看到一个库.
但是他同时也给你留下了接口,就是 Output_Y00,Output_Y01,你通过这两个变量,就能操作
输出口的驱动,同样的道理,什么AD,DA,串口,都是一个样,把底层封装起来,然后由另一个人操作接口变量就行了

这就是单片机分层编程的概念.

而PLC也是基于这种概念,PLC厂商已经把底层做好,并且封装起来了,你在电脑上的梯形图,只是做逻辑控制,等你做好了,翻译成特定的代码,再联合厂商做好的底层,一直编译成二进制机器码,下载到PLC的单片机里.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-14
PLC是改装的单片机,总之我觉得单片机比plc好用多了。因为plc的梯形图很像逻辑电路,这就导致把存储器的基本特性和功能抹掉了,因此用plc编写程序反倒很局限,而用单片机就可以很轻松地实现复杂信号的处理和高级计算,plc那套编程根本写不了。
第2个回答  2013-01-23
看和什么样的单片机相比了
其实PLC就是一个单片机。
普通单片机一般是18bit或者8bit的,高级点的也有32位的。
plc一般都是使用32位的CPU。
从结构上讲,PLC所使用的PCU和单片机的CPU是没区别的追问

您是擅长PLC吗?那么为什么梯形图烧到PLC后能正常运行?而单片机编程是需要硬件电路图,这点PLC如何实现啊?梯形图最终转化成C语言还是汇编?

追答

我擅长PLC和单片机,相比较PLC更擅长些。I
PLC的梯形图我们可以看作是一种高级语言,然后经过编译后梯形图就变成了汇编代码,然后烧写进PLC,PLC就可以执行了。至于为什么我们不需要像单片机那样通过硬件电路图来写程序是因为PLC是标准化的,内部电路是设计好的。更直接点说就是PLC是一个单片机加上外围电路实现的。PLC就相当于你用单片机做了一个小东西,并且把这个小东西批量生产。
明白?
你只要明白了PLC就相当于一个单片机加上点外围电路这点就明白了。

相似回答