plc的基础技术的进展,主要集中在两个基本方面:执行多任务和程序互换。
所谓执行多任务,就是在一个plc系统中可同时装几个cpu模块,每个cpu模块都执行某一种任务,控制与其所执行任务相关的i/o模块的存取。其实,按照iec 61131-3的概念,我们应该更确切地称之为通过多配置执行多任务。例如,三菱电机的小q系列最多可以在一个机架上插4个cpu模块;富士电机的micrex-sx系列最多可以在一个机架上插6个cpu模块。这些cpu模块可以是专门用于逻辑控制、顺序控制的,也可以是运动控制用的,还可以是做过程控制用的,上述在windows操作系统的环境下执行pc机任务的模块,也是供用户选择的一种选项。从某种意义上讲,这也是一种混合式的控制系统。
plc的传统软件模型包括一个资源,运行一个任务,控制一个程序,且运行于一个封闭系统中。而在iec 61131-3可编程控制器编程语言标准的软件模型中,在其最上层把解决一个具体控制问题的完整的软件概括为一个“配置”。它专指一个特定类型的控制系统,包括硬件装置、处理资源、i/o通道的存贮地址和系统能力,等同于一个plc系统的应用程序。在一个由多台plc或由多个cpu构成的plc控制系统中,每一台plc或每一个cpu的应用程序就是一个独立的“配置”。在一个“配置”中可以定义一个或多个“资源”。可把“资源”看作能执行iec程序的处理手段,它反映plc的物理结构,在程序和plc的物理i/o通道之间提供了一个接口。只有在装入“资源”后才能执行iec程序。一般而言,通常资源放在plc内,当然它也可以放在其它支持iec程序执行的系统内。在一个“资源”内可以定义一个或多个任务。任务被配置后可以控制一组程序或功能块。这些程序和功能块可以是周期地执行,也可以由一个事件驱动予以执行。
由此可见,该软件模型足以映像各类实际系统:对于只有一个处理器的小型系统,其模型只有一个配置、一个资源和一个程序,与现在大多数plc的情况完全相符。对于有多个cpu模块插装在同一机架上的中、大型系统,每个cpu模块被视作一个配置,可由一个或多个资源来描述,而一个资源则包括一个或多个程序。对于分散型系统,包含多个配置,而一个配置又包含多个处理器,每个处理器用一个资源描述,每个资源则包括一个或多个程序。
值得指出的是,近些年来在日本开始流行的多cpu的plc结构,恰恰是在iec 61131-3标准颁布后多年之后才问世的。这个plc结构的革命性变化,显然是建立在这个软件模型的 理论基础上,要不然plc还是由一个cpu按扫描方式执行一个程序的那种传统结构。
至于程序互换的问题,至少到目前为止尚是一个努力的方向。只有在每个plc的供应厂商所提供的plc产品都真正遵循iec 61131-3的标准,而且其编程系统的具体实现又切实符合iec 61131-8《编程语言的应用和实现导则》,并通过plcopen这个国际组织对各种编程语言(ld、sfc、fbd、st和il)的一致性测试,还要解决不同plc的存储地址资源的对应互换,才有可能实现名副其实的程序互换。