欧姆龙高速日前宣布开发出带高速功能块处理的新款可编程控制器(PLC)。
目前所有的PLC开发主要集中在提高PLC技术的易用性和集成性方面,IEC 61131系列标准的出现使得对一体化PLC编程方法的需求日益增加。IEC 61131所定义的最重要的代码复用机制在于用户可定义功能块,通过将控制过程分成逻辑、功能相关的单元,控制模块代码就可具有机器无关的特性,因而也就具有可移植性。
用户定义的功能块可以包含以任意定义的编程语言实现的、与传统PLC程序极其相似的控制代码,两者之间的主要不同在于前者中的数据是符号化的数据,并且功能块不与硬件或固定的存储器分区直接相连接。因此功能块中用户所定义的控制代码不经改变就能在相同的PLC任务中复用,在多个任务间共享,或者拷贝到其它PLC中。
欧姆龙最新推出的CJ1/CS1系列PLC和CX-Programmer V5可直接支持用户定义的标准功能块,同时还通过一个可更换固件的硬件结构来保持相同的速度和可靠性。
使用功能块时,每个块的结构均一次性定义,这是一种典型定义方式,主要描述了输入、输出和内部状态参数以及功能块的算法。该功能块采用符号变量以实现可复用性,可以包含梯形图(LD)代码,或以IEC 61131-3兼容的结构化文本(Structured Text, ST)来编写。梯形图代码更适用于顺序控制和联锁,ST则更多用于数据处理、复杂计算和判断分支中,在同一个程序中也允许采用LD和ST混合的功能块。
当一个功能块每次用于一个PLC程序中时就会创建该功能块的一个实例,输入参数传入该实例后功能块就可执行,之后输出参数将返回给PLC程序,这一过程称为功能块的调用。调用后功能块实例的内部状态将立即存储起来,直到下一次调用该实例。如果一个功能块再PLC程序中具有多个实例,就需要更多的存储器空间和数据管理以确保这些实例在下一个控制循环中的正确调用。在传统的PLC中,每次调用都会明显延迟正常程序的执行。
CJ1和CS1 CPU包含了欧姆龙的控制代码执行引擎MULCE(多语言控制引擎),该ASIC通常通过硬件执行控制指令,不增加中央处理器的任何负担,同时还可自动处理功能块调用所需的所有存储器访问与指令,因此功能块的执行与梯形图代码具有相同的速度。
CJ1和CS1具有控制功能块的内置的存储器,允许存储完整的功能块结构,可完成从PLC的完整控制代码上传,包括功能块变量定义与注释。用户程序可100%从PLC存储器中恢复,因而无需专门的存储卡。该功能对于故障情况和维护现场控制系统及其重要。