单片机可以替代 PLC 吗? 这个问题如同面粉能代替面条一样,答案是否定的。第一次听到这个答案可能很多人都有疑问,单片机明明功能那么强大,功能那么丰富为什么不能取代 PLC 呢?

 

那么今天我们就来了解一下单片机和 PLC 分别是什么,它们之间有什么区别。

 

一、单片机
单片微型计算机(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 实际上可以看成是单片机的二次应用开发,但是它又有自己鲜明的特点。到目前为止,中国的单片机应用和嵌入式系统开发走过了二十余年的历程,国民经济建设、军事及家用电器等各个领域,尤其是手机、汽车自动导航设备、PDA、智能玩具、智能家电、医疗设备等行业都是应用了单片机。行业高端目前有超过 10 余万名从事单片机开发应用的工程师。