深度解析!难道单片机能替代 PLC 吗?
扫描二维码
随时随地手机看文章
近年来出现了很多类似Arduino的微控制器板,它们大部分实现了对单片机的二次封装,所有外设、模块接口都是现成的,使用者只需懂C语言,熟悉各种库的调用,不需要关心硬件原理,就可以轻松上手,降低了学习、使用成本,增加了人们对嵌入式系统的兴趣,为许多微控制器打开了应用新大门。这不仅增加了微控制器用户的数量,而且增加了微控制器的应用范围。
今天我们把微控制器(单片机)与可编程逻辑控制器 (PLC)进行比较。
可编程逻辑控制器(PLC) 是一种专用计算设备,设计用于工业控制系统和其他可靠性较高的系统。
它们最初是为了取代自动化行业工作过程中使用的硬接线继电器和计时器而开发的,但如今它们已经扩大规模,并在各行业的制造过程使用,包括基于机器人的生产线。如今,世界上可能没有一家工厂没有使用PLC设备。其被广泛采用和使用的主要原因在于其稳定耐用,能够承受粗暴搬运和高强度的震动环境。
微控制器(单片机)
微控制器是单个芯片上的小型计算设备,包含一个或多个处理核心,内存设备和通用输入和输出 (I/O) 端口。它们用于各种日常设备,特别是在只需要执行特定重复任务的应用中。与 PLC 不同的是,它们没有像显示这样的接口,也没有内置的开关,它们只能用 GPIO 等接口连接这些外置组件。
我们将从以下几点对它们进行比较:
1.结构组成
2.接口
3.性能、稳定性、可靠性
4.使用要求(易用性)
5.应用
1、结构组成
PLC结构组成
PLC 通常可以称为高级微控制器。它们基本上由处理器模块、电源和 I/O 模块组成。处理器模块由中央处理单元(CPU)和内存组成。除了微处理器之外,CPU 还至少包含一个接口,通过该接口可以对其进行编程(USB、以太网或 RS232)以及通信网络。电源通常是一个单独的模块,I/O 模块与处理器是分开的。I/O模块可能还包含外部连接设备模块。
微控制器结构组成
微控制器的构成与上述 的PLC有些相似,但微控制器把 CPU,内存,存储单元以及与外界通信所需的 I/O 端口和接口都集成到一个芯片上。
就像微控制器具有从 AVR 架构到 8051 架构的多种架构一样,PLC 的设计也有不同,以支持特定制造商的配置和需求,但它们通常都遵守 PLC 的行业标准,该标准能够使不同模块和部件之间保持兼容,以及标准化操作。
2、接口
PLC 是为与工业级传感器、执行器和通信模块接口而设计的标准,因此其工作环境(电压、电流等)通常与没有额外硬件的微控制器不兼容。
PLC 通常使用以太网和 RS-serial 系列的几种变体,如 RS-232、RS-485 进行通信。如今,工业物联网的出现,使得通过无线通信接口连接 PLC 的设备数量激增。
它们有不同的尺寸,从具有少量 IO 引脚/模块的小型设备到具有数百个 IO 的大型、巨型机架式 PLC。
微控制器具有传感器、执行器和其它模块,用于满足其特定需求,这可能很难与PLC接口。然而,它们通常设计为仅处理几百个 IO。虽然可以探索开发多种技术来增加微控制器的 IO,但是这可以通过 PLC 实现,并且还会增加整个项目的预算。
3、性能、稳定性、可靠性
这是到目前为止,PLC 最与众不同的地方。
如前所述,PLC 设计用于工业需求,因此能够承受与该环境相关的多种不利条件,例如极端温度变化、电气噪声、粗暴搬运和大量振动。
然而,微控制器却不同。从设计上看,它们并不是被设计成像PLC这样的独立设备,而是被设计成嵌入式系统。这就解释了与PLC相比,它们的外观不够坚固。由于这些原因,微控制器在某些情况下部署时可能会出现故障,因为微控制器芯片很脆弱并且很容易损坏。
4、使用要求(易用性)
PLC的关键属性之一是编程所需的技术知识低,以及采用积木式结构,组态灵活安装方便。PLC 旨在供高度熟练的自动化人员和几乎没有接受过正规培训的工厂技术人员使用。故障排除和诊断相对容易。现代 PLC 设备通常带有状态显示屏,无需复杂工具即可更轻松地进行监控。
微控制器要求设计人员具备良好的电气工程原理和编程知识,才能为微控制器设计相关电路。微控制器还需要特殊工具(例如示波器)来进行故障诊断和固件故障排除。虽然目前有几个像 Arduino 这样的集成简化平台,但从连接组合角度、编程角度和易用性来看,它仍然比即插即用的PLC 复杂得多。
5、 应用
PLC是工业控制系统中使用的主要控制单元。它们可用于控制工业机器、传送带、机器人和其他生产线机械。它们还用于基于 SCADA(数据采集与监视控制系统) 的系统以及需要高度可靠性和承受极端条件能力的系统中。
另一方面,微控制器在日常电子设备中有广泛应用。它们是消费电子产品和智能设备的主要组成部分。
那么微控制器能替代PLC吗?
易于使用的微控制器板的出现增加了微控制器的适用范围,它们正在适应微控制器被认为不适合的某些应用,从微型DIY计算机到复杂的控制系统。也就引发了关于能不能用微控制器代替PLC的问题,主要是PLC与微控制器相比的成本,重要的是,在将常规微控制器用于工业应用之前,需要对其进行大量的改进。从上述对比中可以找到答案,总体可以总结为以下两点:
1. 微控制器的设计不具备像PLC一样,能在极端条件下稳定工作的能力,这使得它们不适合工业应用。
2. 工业传感器和执行器通常根据IEC标准进行设计,该标准通常在一定的电流/电压范围内,接口可能与微控制器不直接兼容,并且需要某种硬件支持,这会增加成本。
一、单片机
单片微型计算机(Single Chip Microcomputer ),亦称微控制单元(Microcontroller Unit),简称MCU,是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器(Central Process Unit;CPU)、随机存储器(Random Access Memory;RAM)、只读存储器(Read-Only Memory;ROM)、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在各个领域广泛应用。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。
单片机出现的历史并不长,但发展十分迅猛。它的产生与发展和微处理器的产生与发展大体同步,自1971年美国Intel公司首先推出4位微处理器以来,它的发展到目前为止大致可分为5个阶段。
单片机发展的初级阶段(1971年至1976年):1971年11月Intel公司首先设计出集成度为2000只晶体管/片的4位微处理器Intel 4004, 并配有RAM、 ROM和移位寄存器, 构成了第一台MCS—4微处理器, 而后又推出了8位微处理器Intel 8008, 以及其它各公司相继推出的8位微处理器。
低性能单片机阶段(1976年至1980年):以1976年Intel公司推出的MCS—48系列为代表, 采用将8位CPU、 8位并行I/O接口、8位定时/计数器、RAM和ROM等集成于一块半导体芯片上的单片结构, 虽然其寻址范围有限(不大于4 KB), 也没有串行I/O, RAM、 ROM容量小, 中断系统也较简单, 但功能可满足一般工业控制和智能化仪器、仪表等的需要。
高性能单片机阶段(1980年至1990年):这一阶段推出的高性能8位单片机普遍带有串行口, 有多级中断处理系统, 多个16位定时器/计数器。片内RAM、 ROM的容量加大,且寻址范围可达64 KB,个别片内还带有A/D转换接口。
16位单片机阶段(1983年至1989年):1983年Intel公司又推出了高性能的16位单片机MCS-96系列, 由于其采用了最新的制造工艺, 使芯片集成度高达12万只晶体管/片。
全方位高水平发展阶段(1990年至今):到目前为止,单片机也有从传统的8位处理器平台向32位高级RISC处理器平台转变的趋势,但8位机依然难以被取代。8位单片机成本低,价格廉,便于开发,其性能可以满足大部分的需要,只有在航天、汽车、机器人等高技术领域,需要高速处理大量数据时,才需要选用16/32位,而在一般工业领域,8位通用型单片机,仍然是目前应用最广的单片机。单片机在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。
单片机的特点是编程、维护相对复杂,编程方式常用C语言或者汇编语言,成本较低,I/O接口相对有限。
二、PLC
PLC,全称Programmable Logic Controller,即可编程逻辑控制器,是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
三、单片机为什么不能取代PLC呢?
1.稳定性与可靠性
有人说这是个伪问题,单片机是元器件,PLC是由元器件以及庞大的软件构成的系统,两者在这一方面没有可比性。这话没有错,大多PLC的控制芯片实际上就是单片机,也就是说可以将PLC看成是单片机的二次开发,单论工业防护等级,单片机的稳定性和可靠性能根本比不了PLC这种IP67类的产品( IP为标记字母,第一标记数字表示接触保护和外来物保护等级,第二标记数字表示防水保护等级)。而且就PLC这种能应对工业恶劣环境的产品还开发出一套冗余系统。如果稳定性与可靠性对比没有意义,那么我们就从其他方面分析。
2.I/O功能
单片机的I/O点实在有限,而反观PLC呢?针对不同的现场信号,均有相应的I/O点可与工业现场的器件(如按钮、开关、传感电流变送器、电机启动器或控制阀等)直接连接,并通过总线与CPU主板连接。工业里几乎任意一条生产线,都有上百甚至上千I/O点,就这点单片机完全无法比拟。
3.扩展功能
一条完整的工业生产线除了控制,还有通信、上位、组态、运动控制与显示等等,这些东西都需要依靠完整的工业体系与通信协议去做,例如西门子公司的PROFIBUS-DP通信、三菱重工的CC-LINK等等。而单片机和PC、单片机和单片机之间的通信大都用串口。单片机的串口是全双工异步通信串口,那么像MODBUS、PROFIBUS、CAN open、以太网等通信协议单片机是否能一一实现?或许单片机可以做到,但是这就涉及到下一个分析点,开发周期。
4.开发周期
PLC的品牌多达200多种,几乎每个品牌都有不同编程软件,而且都在不断完善自己的编程软件,使之能够越来越简单的服务于电气工程师,而各种程序块也是越来越方便人性化的任意去调用,比如PID模块、运动控制模块等,大大减轻了工程师的开发压力也缩短了开发周期。那单片机要如何实现?没有现成的模块使用,那就只能开发,那么做过非标自动化设备的工程师都会遇到一个问题——工期不足。PLC这种高度集成化模块化的产品在达到满足设备所需的开发周期,在工期面前也是抓襟见肘,更不用说如同白纸一张的单片机。
5.通信距离
现在大多数流水线是要跨区域整合与监视的,所用的通讯方式多为以太网加中继器,或者直接走民用宽带光纤,所用的东西到最后很可能是用的就是微软的IE浏览器,很明显PLC是有RJ-45接口,即使本体没有RJ-45也可以配备以太网模块,可单片机搭载的PCB板能加上这个接口然后开发出以太网通信吗?开发需要多久?
6.编程语言
这点对单片机来讲是一个优势,同时也是一个劣势。上面提到PLC的品牌有两百多种,编程软件更多,尽管大多数PLC的编程语言都大同小异,但是每接触一款不同品牌的PLC,电气工程师就要从PLC的硬件参数、软元件、编程软件等等各个方面从头了解一次才能使用的得心应手。而单片机的编程语言用的是C语言或者汇编语言,这对于任何单片机都是通用的。换句话说,学会C语言或者汇编语言,便可以应用任何单片机开发想要的功能(前提是要有相关的电工电子学基础)。但话又说回来,电气工程师不是电子工程师,他们的工作不是单单考虑单片机如何驱动继电器来控制机床的,甚至有的电气工程师都不会C语言、汇编语言之类的MCU开发语言。近些年,IEC-61131-3标准的推广,越来越多的PLC支持多种编程语言,如类似C语言的ST语言,类似电路图的CFC语言。这种便利的功能是传统单片机开发环境真的无法实现。
综上所述,这些控制设备中的每一个都是为特定系统设计的,在决定选择特定应用的最佳设备之前,应充分考虑它们。需要注意的是,某些制造商正在构建基于微控制器的 PLC,现在已经有了基于Arduino构建的PLC。
而还在考虑入门级,及今后发展路线的同学,不必过于纠结,首先PLC是单片机加上外部设备组成的,是建立在单片机基础之上的产品,从某个角度来看,PLC就是对单片机的二次封装,只是PLC厂家写好了固件,并封装到PLC设备中,学了单片机对PLC有比较底层理解。加上上述的对比分析,选择合适自己、感兴趣的方向耕耘才是最重要的。