https://m.toutiao.com/is/NWjGour/?=现代工业社会里
现代工业社会里,单片机最终可以替代 PLC吗
我是电气专业大学老师,我认为,很多人所说的从抗干扰角度来看单片机和PLC的区别是不对的.
固然,符合一般人的印象来看, PLC价格高,抗干扰能力强;单片机廉价,抗干扰能力差,但是实质上两者的区别并不在于这个粗浅的印象,也就是说,工业上的设计都是为了满足其需要,如果你需要一个抗干扰能力强的单片机用于生产环境,那么这块单片机只要符合相应的规格,就肯定是抗干扰能力好的.
事实上,单片机和PLC的最大不一样,是其思维方式的彻底不一样.单片机是由图灵机的计算机人马发展出来的,一个单片机,本质上跟我们所用的手机电脑是同一种工作原理,基于状态转移的一种自动机.然而,搞出PLC的,是另外一班人马,思路是基于电气设计的,跟图灵机模型是风牛马不相及的,例如, ld图,就是电路图的另一种表示方法.
而SFC语言,其基于Grafcet,天然是并发的,有着跟图灵机实现自动控制根本不同的基本原理,更像是对物理世界的逻辑的总结
.
我们可以看出来,电气人员的设计思路根本从一开始就没有想过图灵结构,因为图灵结构更像是一种逻辑推演,跟人类做数学题相似,而跟物理上工业上描述世界的方法差距过大.所以,到此时, PLC和单片机是花开两朵,各表一枝.
可是后来,隔壁搞计算机的进度越来越快,从运行时间上,指令间的切换时间短得几乎人们可以将指令近似并行去处理,就是我们现在通用计算机的多线程,实际上哪怕只有一个逻辑处理器,也能同时运行多个任务,切换任务的时间在纳秒之间,完全不足以为道,那么,这就导致了电气PLC系逐渐地倒向了通用计算机系,到目前来看,基本上市面上的所有PLC用的都是图灵机冯诺依曼体系,但是传统上,为了程序的复用,也是工业界的保守倾向,毕竟工业应用并不追新,各大企业仍然会墨守成规,继续遵循当时八十年代各大电气企业谈下来的传统,继续使用LD, IL, ST, FBD, SFC, CFC语言,只是将其编译到了通用计算机去运行.
道理是跟互联网领域一些历史遗留问题是相似的,例如计算机编码问题,例如网络通讯设计...前人根本想不到后面世界的发展走向,而历史的车轮滚滚向前,大多数时候是没有额外的动力进行改革的.
许多人在接触到单片机(MCU)和可编程逻辑控制器(PLC)时,都会感到疑惑。疑惑主要有两点:
·工业环境中,很多控制逻辑用MCU都可以很容易的实现,为何要用PLC?
·其实MCU与PLC两者都是可编程的控制器件,有什么不同?
此文便在于解答大家的疑惑。
首先要说明,PLC实际是对MCU的进一步封装,以使MCU适应工业环境。
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,以欧姆龙CP1型号的PLC为例,我们可以查看其CPU信息。
我们可以查看到其CPU模块的具体单片机的各方面指标,如下图:
可见,这就是一款单片机。其芯片估计也不是它们自己做的,因该是采购的。但是,欧姆龙并没有公布其具体型号。
很多时候,工业产品就是一层窗户纸,国内很多自动化厂商的产品也不错。但因为起步晚所以市场占有少。希望各位自动化人继续努力,假以时日,我们也能在国际市场站稳脚跟。
联系客服