现目前工业现场控制系统,主要有采集与监控系统(SCADA)、分布式控制系统(DCS)与可编程控制系统(PLC)。这些控制系统组成了我们现在工业控制领域的核心,从数据采集与展示,到工业设备自动控制,这些控制系统分布到了各行各业,今天我们就介绍一下,单片机与PLC之间的关系。并且单片机与PLC都“可编程”但为什么不根据设备功能画个PCB板,然后像PLC一样写上程序就投入工业现场使用呢?

一、PLC发展
可编程逻辑控制器(Programmable Logic Controller,PLC),一种具有微处理器的用于自动化控制的数字运算控制器,可以将控制指令随时载入内存进行储存与执行。可编程控制器由CPU、指令及数据内存、输入/输出接口、电源、数字模拟转换等功能单元组成。早期的可编程逻辑控制器只有逻辑控制的功能,所以被命名为可编程逻辑控制器,后来随着不断地发展,这些当初功能简单的计算机模块已经有了包括逻辑控制、时序控制、模拟控制、多机通信等各类功能。

二、单片机与PLC的关系
单片机又称单片微控制器,其内部集成了中央处理器(CPU)、只读存储器(ROM)、随机存储器(RAM),以及各种外设如通用IO口、定时器、串口、(数模转换器)ADC等各种丰富的外设,单片机将一整套计算机系统集成到单片芯片上,故将其叫做单片机。
而PLC内部也是由单片机作为控制核心,在外围加上了各种电源与IO、通信等电路组成。

三、为什么工业控制领域多用PLC
有朋友可能要问了,既然都是单片机为什么不自己设计外围硬件,一个MCU就几十块钱,加上外围电路也就一两百块。一个PLC随便大几百贵的几千上万
答:由于工业现场的粉尘、油污、强电磁干扰等各种恶劣使用环境,PLC专门做了硬件上的优化,若在设计时没考虑使用环境,可能你的程序运行不了多久就跑飞,或者硬件坚持不了多久就坏了。
那我在硬件设计时就考虑好现场环境不就可以了?
答:做好硬件设计还不够,工业现场的自动化设备开发周期短,可能使用PLC开发的已经投入使用了,而你的硬件还没开始打版,更不要说元件焊接与调试,而且PLC编程都有现成的指令,比如想控制步进电机,只需要一个“DDRVI”指令(举例),再加上速度、加速度、脉冲数、方向参数就能让步进电机动起来,而你可能还在看单片机计时器手册。
那假如我将常用的软件指令库写好,用的时候只需要直接调用呢?
答:软件开发光有效率还不够啊,在非标设备开发的时候,可能前期对于设备的IO口等规划不够准确,如果IO口超出了单片机上限,那么你怎么办?那你们整个设计组可能都要哭晕在厕所了,软件硬件可能都要改,全部重新来一遍,而PLC想要加功能,有各种扩展,例如IO扩展、脉冲输出扩展、通讯扩展等。
那我在硬件设计时就考虑好后面的扩展问题,做好各种功能块呢?
:那恭喜你!你的PLC研发成功了。
说了这么多,主要是想表达,PLC作为一款通用的控制器,其充分考虑了绝大多数用户的使用场景与使用环境,也实实在在为工业自动化做出了很大贡献,同时节省了电气工程师很多宝贵的时间,上面也只是举例,两者本是砖头与大楼的关系,写这篇文章也是想分享一下工作这几年在PLC开发与单片开发上的一些看法。与君共勉!