寂静回声 发表于 2019-10-7 16:22:05

PLC早已不是那个“可编程逻辑控制器”了

人们谈起工业互联网,就会讨论起工业现场的PLC,不过,大部分人似乎对PLC的理解停留在20年前—PLC就是逻辑控制吗?其实,20年前就已经不是这样了。今天的自动化行业,在软硬件上都不像当年的MCS-51单片机的时代,寄存器只有128字节,就算16位8096级的CPU寻址空间也仅能支持512kB的存储卡,在那样的CPU上处理以太网数据帧封装和解包这样的任务实在是不敢想象,因此带有以太网接口的PLC在21世纪初期还是很厉害的,如果要处理高速的任务DSP、CPLD更是极其昂贵的,回想起来,即使在上个世纪80年代的PLC,一个逻辑点在当时就达到1000元。这些问题已然解决,一个手机的处理器就能处理当年登月工程所有计算机的处理能力,而一个芯片才几百块钱,128GB的USB也不到100元,科技的进步也让自动化享用了这些资源,硬件不再是问题。

当然了,另一方面,机器的控制任务也比以前复杂了,早期PLC主要用于处理替代不便利的继电器控制柜,因此,它的任务主要在继电器开关、延时、顺序控制这样的动作,区别于DCS的连续型自动化,但是,今天我们的机器包括了更为复杂的任务,运动控制、视觉、机器人、安全、复杂的工艺算法、液压,包括一个机器的生产数据、配方、用户、报警、趋势、文件等任务,因此,本身对控制器的需求也更为复杂,确切的说,机器对控制器的要求已经早已超越了PLC这个词,可编程逻辑控制器的要求了。

尽管现在大家还习惯上把机器的控制器称为PLC,但是,实际上PLC的形式是多样的,例如PLC会与HMI结合构成一个控制器,这样就省略通信连接造成的不稳定性,另外,PLC的控制任务也可以纳入到工业PLC中,现在的多核处理CPU完全可以支持两个不同的操作系统运行不同的任务,如RTOS和Windows/Linux同时运行。
20年前的PLC就可以写算法了,贝加莱有一款黑色系列PLC,在1993年推出,其运行了一个名为pSOS+的操作系统,可以支持BASIC的编程,这个pSOS+是一个定性分时多任务的操作系统,可以支持复杂的算法设计。后来的PLC就更不用提了,传统需要专用的控制系统来处理的套色控制任务也被贝加莱给集成到一个PLC上了,因为这种针对多变量系统耦合解耦的算法完全可以用C/C++来编写并运行在一个PLC上。在贝加莱的集成套色凹版印刷无轴传动系统中,逻辑、色标检测、套色、电子轴传动完全由一个控制器来实现控制。

这样的应用案例举不胜举,PLC早就可以针对复杂的工艺算法进行处理了。

PLC的网络通信怎么样?其实,IT在讨论低延时的需求时,是在现有的高带宽需求然后想进入OT时开始的,而事实上在2001年基于百兆以太网的POWERLINK当时就可以达到比较高的响应,最初90个节点(2000个I/O,50个伺服轴)的刷新是2.4mS,现在采用OPCUAoverTSN的话这些节点刷新也就100μS了。
在传统的PLC因为CPU仅能处理比较简单的逻辑任务,往往需要一个专用的MotionControl模块,早期采用了脉冲或模拟量,那么需要大量的接线,现在早已采用实时以太网技术进行连接,而另一个方面,运动控制模块这种方式也会带来较低的反应速度,尤其是在PLC的逻辑与运动控制要协同的时候,举个例子,在一个电子凸轮裁切的时候,需要一个外接编码器,而这个在原有的PLC+运动控制模块的架构中,就会因为响应慢而无法达到比较高速的裁切,但是,在ACOPOS系统中可以通过直接的编码器输入解决此问题。

在1997年贝加莱推出ACOPOS系列伺服驱动器时即采用了基于总线的控制,采用CAN总线与PLC的控制器进行通信,由PLC对其进行复杂的电子齿轮同步任务的协同、包括电子凸轮,后来又将NC模块加入可以实现针对CNC的插补运算的处理,到了2010年推出GMC(GenericMotionControl-通用运动控制),将机器人、液压也纳入了统一的控制架构,并采用了标准化的PLCopenMotion的PartIV协同运动控制进行编程,在此基础又封装可复用的mappMotion模块。边缘侧的计算通常会针对一些策略性、优化类的问题,边缘计算是一种计算的疆界扩展,从本地控制到分布式计算,控制器也在其中扮演了非常重要的角色,边缘焦点首先解决连接问题,例如通过Profibus、POWERLINK、CAN等的边缘节点进行连接,在嵌入式节点可以进行一些本地的计算处理如产线的OEE、能源状态显示、资产管理等任务,到车间与工厂级的边缘控制器则可以针对协同、优化、规划类问题进行处理。
这样的边缘侧任务可以从一个PLC的边缘连接模块、也可以是一个PLC或一个Windows+RTOS的工业PC。
早十多年前了,PLC就可以集成一个WebServer或一个VNCServer,通过远程的IE浏览器就可以访问了。早期的PLC往往采用RISC架构的CPU,而且没有实时操作系统,仅有类似计算机BIOS的处理,其硬件执行的逻辑任务速度极快,但这也使得无法处理复杂算法、复杂的高速信号处理、以太网任务等,而基于Intel复杂指令集的CPU可以运行功能强大的操作系统,可以运行WebServer这样的大块数据任务处理,因此,在X20系列CPU中可以集成WebServer、VNCServer、FTPServer。基于Web技术可以实现远程的诊断与维护,并且,支持Web方式的数据发布,任意支持IE浏览器的终端均可以访问远程的设备维护数据,包括通过FTP服务来上传和下载程序。
仿真建模这个大概也发生在很早很早以前,在之前就可以了,2008年Mathworks推出SimulinkPLC的时候,贝加莱就是第一批接受这个接口的,通过C代码导入,由MATLAB/Simulink建模仿真,自动代码生成的程序就可以下载到PLC上,实现硬件在环测试(HardwareIntheLoop)。
PLC的安全性包括了三个方面的问题,程序安全性、信息安全、功能安全;
(1)程序安全性:普通的PLC采用的是解释执行方式,这个不难破解,但是,如果像X20那样的,采用了编译系统直接编译为二进制代码下载到PLC,你的确可以把程序读出来,只是你看到的全是二进制代码,你认识二进制代码吗?
(2)信息安全性(Security):PLC通常控制采用的是非商用的Windows/Linux这样的OS,并且网络也是POWERLINK、Profinet这样的工业实时网络,因此,与通用的系统还是隔离的,即使采用了OPCUA来连接上位系统,其本身也有授权、验证的环节,并且,通常也提供SiteManager的专用通道来建立VPN连接确保数据加密传输。
(3)功能安全性(Safety):满足IEC61508、IEC62061、IEC62784的安全规约的SafeLOGIC和软件的SafeDesigner、总线的openSAFETY。




页: [1]
查看完整版本: PLC早已不是那个“可编程逻辑控制器”了