单片机与PLC的异同
保留所有版权,请引用而不是转载本文(原文地址 https://yeecode.top/blog/23/ )。
许多人在接触到单片机(MCU)和可编程逻辑控制器(PLC)时,都会感到疑惑。疑惑主要有两点:
- 工业环境中,很多控制逻辑用MCU都可以很容易的实现,为何要用PLC?
- 其实MCU与PLC两者都是可编程的控制器件,有什么不同?
此文便在于解答大家的疑惑。
1 工业环境为何都用PLC
接触过工业生产的工程师可能会发现,其实大多数工业生产的控制要求,使用MCU都可以做到。
但同时又会发现,MCU在工业环境中极少被应用,取而代之的是PLC。那为什么在廉价的MCU可以实现功能的地方,要使用昂贵的PLC呢?
1.1 可靠性方面
工业现场要求设备达到工业级。我们一般购买的单片机及其他元器件一般为商业级。加之自己开发后测试等水平达不到,所以可靠性很难保证,例如防电磁干扰等,要知道工业环境中电磁干扰是非常多的,如继电器的通断、电机的起停,这都可能导致单片机的重启、通讯的失误。
而PLC等设备满足工业级要求,在抗干扰方面、输入输出点可靠性方面更为优越,并采用可靠的组态方式,因此可靠性更高,而且通信方面有很多工业控制设备采用光纤以抗干扰。
1.2 易用性方面
采用单片机实现,通信等系统架构太过麻烦,例如一个工业车间的几十个单片机工作小站可靠通信就很难实现。同时代码的增加也进一步降低了可靠性。在简单并且不关键的部位可采用单片机实现部分功能。
而PLC等设备可采用整体式或者积木式,各个组件可以按需选用,并便于组态实现。各个工作站之间采用规范的总线通讯,这都是模块内置的,只需配置无需编写代码,可靠简单。
工业设备的可靠性是极为关键的,关系到人身安全、连续工作的时间、生产的质量等,这时候生产设备的成本是相对次要的,可靠性才是首要的。因此单片机虽然便宜,但用单片机作为工业设备控制器是舍本逐末的。
当然,也并不是说单片机在工业环境中就完全没有应用。例如,目前有采用Arduino进行工业环境和设备运行情况监测的应用,但不涉及关键生产过程的控制。相信以后也会有更多的单片机应用到工业环境中,但也不会作为核心的控制器。
2 MCU与PLC到底有何异同?
那究竟是何种原因导致了PLC和MCU的不同呢?假设,你要用一款MCU完成工业现场的核心控制任务,那应该怎么做?
首先,工业环境下,受周围交流电机启停等的影响,电压会有较大的波动。为了应对这种恶劣的环境,必须为MCU设计相应的电源模块,是的电压剧烈变动时不会引发MCU的工作异常。
同时,在工业环境下,传感器的输出多采用4~20mA、0~10V的形式,这与MCU常用的0~3.3V或者0~5V的AD模块不相符合,因此需要针对工业环境设计传感信号接收模块。
并且,工业环境的输出很多是用来控制继电器(经过继电器隔离后,再去控制电机等的启停),而MCU的输出只能控制微型继电器,无法驱动常用的工业继电器,因此,要在MCU外围设计具有大驱动能力的IO接口。
同时,为了保证工业环境下通讯的可靠:
- 有很多工业数据总线协议。为了能保证MCU与外界正常通讯,需要封装模块来支持这些协议;
- 为了能够控制变频器,需要设计相应的变频器控制模块;为了能保证一定的防尘、防水级别,需要设计外壳满足相应的防护等级;
- 为了保证编程的简单性,可能需要设计一套便于工业使用的控制语言……
当以上这些工作都完成的时候,一个PLC就诞生了!
所以,PLC就是在MCU基础上,针对工业环境专门设计的产物。PLC的内部就是一款MCU。
到这里,PLC与MCU的异同,大家也应该明了了。
可以访问个人知乎阅读更多文章:易哥(https://www.zhihu.com/people/yeecode),欢迎关注。