很多人接触单片机(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具体的单片机指标如下图所示:
可见看出,这是一台单片机。据估计,它的芯片不是他们自己做的,因为它应该被购买。然而,欧姆龙并没有公布其具体型号。
大多数时候,工业产品是一层窗纸,许多国内自动化制造商的产品也很好。但由于起步较晚,市场份额较小。我希望自动化人员能继续努力工作,随着时间的推移,我们也能在国际市场上站稳脚跟。
—END—
我是自动化专业的高级软件架构师 注册电气工程师。
可以关注我,我会不时回答一些自动化和软件架构的知识。