一、软件PLC技术的形成背景
20世纪90年代后期,人们逐渐认识到,传统PLC(本文简称硬PLC)自身存在着这样那样的缺点:难以构建开放的硬件体系结构;工作人员必须经过较长时间的专业培训才能掌握某一种产品的编程方法;传统PLC的生产被几家厂商所垄断,造成PLC的性价比增长很缓慢。这些问题都成了制约传统PLC发展的因素。近年来,随着计算机技术的迅猛发展以及PLC方面国际标准的制定,一项打破传统PLC局限性的新兴技术发展起来了,这就是软PLC技术。其特征是:在保留PLC功能的前提下,采用面向现场总线网络的体系结构,采用放的通信接口,如以太网、高速串口等;采用各种相关的国际工业标准和一系列的事实上的标准;全部用软件来实现传统PLC的功能。
二、系统结构和应用特点
(一)系统结构
软PLC基于PC机,建立在一定操作系统平台之上,通过软件方法实现传统PLC的计算、控制、存储以及编程等功能,通过IO模块以及现场总线等物理设备完成现场数据的采集以及信号的输出。根据传统PLC的组成结构,软PLC系统由开发系统和运行系统两部分组成。也可分为编辑环境和运行环境两部分。编辑环境与运行环境是客户服务器模式,二者之间采用COMDCOM通信机制,运行环境作为COM服务器,提供标准的通信接口;编辑环境作为COM客户端应用,本地或远程访问存取这些接口,进行下载代码、读取运行环境的运行信息等操作。软PLC系统的整体框图如图1所示。
图1 软PLC系统的整体框图
嵌入式系统通常由EPC或嵌入式控制器(也称智能控制器)和嵌入式软件组成,嵌入式软件又分为嵌入式操作系统和嵌入式应用程序,嵌入式操作系统的特点是程序短小、所需内存少,Mi-crosoft公司推出的WindowsCE就是一个嵌入式操作系统,而软PLC可以作为一个嵌入式应用程序运行在嵌入式系统中。
软PLC开发系统和运行系统是相互独立而又密不可分的两个应用程序,可以分别单独运行。
1.软PLC开发系统
软PLC开发系统实际上就是带有调试和编译功能的PLC编程器,此部分具备如下功能:①编程语言标准化,遵循IEC61131-3标准,支持多语言编程(共有5种编程方式:IL,ST,LD,FBD和SFC),编程语言之间可以相互转换;②丰富的控制模块,支持多种PID算法(如常规PID控制算法、自适应PID控制算法、模糊PID控制算法、智能PID控制算法等等),还包括目前流行的一些控制算法,如神经网络控制;③开放的控制算法接口,支持用户嵌入自己的控制算法模块;④仿真运行,实时在线监控,在线修改程序和编译;⑤强大的网络功能。支持基于TCPIP网络,通过网络实现PLC远程监控,远程程序修改。
2.软PLC运行系统
这一部分是软PLC的核心,完成输入处理、程序执行、输出处理等工作。通常由IO接口、通信接口,系统管理器、错误管理器、调试内核和编译器组成:①IO接口,可与任何IO系统通信,包括本地IO系统和远程IO系统,远程IO主要通过现场总线InterBus,ProfiBus,CAN等实现;②通信接口。通过此接口使运行系统可以和开发系统或HMI(或MMI)软件按照各种协议进行通信,如下载PLC程序或进行数据交换;③系统管理器,处理不同任务和协调程序的执行,而且从IO映像读写变量;④错误管理器,检测和处理程序执行期间发生的各种错误;⑤调试内核,提供多个调试函数,如重写、强制变量、设置断点、设置变量和地址状态;⑥编译器,通常开发系统将编写的PLC源程序编译为中间代码,然后运行系统的编译器将中间代码翻译为与硬件平台相关的机器可执行代码(即目标码)。
(二)技术实现
以西门子公司开发的软件PLC产品为例说明它的构成方式。
第一种,在PC机上安装专用程序,使PC机用作为可编程控制器。该PC机上的操作系统是基于实时功能的,如:WindowsNT或WindowsCE或Linux等,在西门子开发的应用软件Pro-ToolPro的支持下,实现控制和监视,在编程软件STEP7支持下,提供用户编程环境。该PC机上还集成了现场总线Profibus-DP的通信协议及Profibus-DP接口,用以实现与分布式IO及其他现场设备的连接。
第二种,将软PLC做成一块插板,安装在PC机的PCI总线插槽上。该PLC是可以独立工作的微机系统,与PC机无关,如有需要甚至可以用自身独立提供的电源。PC机可以容纳数个插槽式的PLC,并把它们当作集成模块,在操作系统支持下既独立又协调地工作。这种软PLC对操作系统、控制软件和编程软件的要求与第一种相同。在PC机的平台上,实现编程、运行、操作、监控数据存储及状态显示功能。
当对实时控制的要求较低时,一般使用第一种结构,专用软件就直接安装在WindowsNT中,也可用带实时扩展子系统的软件,提高实时控制性能。如果对控制器的可靠性和控制性能要求较高,可选择插槽式PLC,因为它拥有自己的操作系统,有可靠的数据存储和准确的重新启动功能。
(三)应用特点
应用特点为:①体现了IPC,PLC和DOC先进技术的集成。可充分利用PC平台上的硬件和软件资源,使控制系统更具特色;②系统更开放,应用更方便。软件PLC通过自己开发工具提供的OPC功能和Active控件,既可连接Office软件,也可连接用VB,VC开发的软件;③基于PC+现场总线+分布式IO的控制系统简化了复杂控制系统的体系结构,提高了通信效率和速度,降低了投资成本。
三、技术优势及其发展的制约因素
(一)技术优势
软PLC解决了传统PLC的兼容性差、通用性差等问题,具有多方面的优势。
软PLC的硬件体系结构不再封闭,用户可以自己选择合适的硬件组成满足要求的软PLC。
传统PLC的指令集是固定的,而实际工业应用中可能需要定义算法。软PLC指令集可以更加丰富,用户可以使用符合标准的操作指令。
PC机厂家的激烈竞争使得基于PC机的软PLC的性价比得以提高。
传统PLC限制在几家厂商生产,具有私有性,因此很难适应现有标准计算机网络,常常是PLC与计算机处在不同类型的网络中。软PLC不仅能加入到已存在的私有PLC网络中,而且可以加入到标准计算机网络中。这使得现有计算机网络的很多研究成果很容易地应用到PLC控制技术中。
软PLC的技术是基于IEC61131-3标准的,因此在掌握标准语言后开发就比较容易。
(二)发展的制约因素
尽管软PLC技术具有很大的发展潜力,但是这项技术的实现需要解决一些重要的问题。其中主要是以PC为基础的控制引擎的实时性问题。软PLC首选的操作系统是WindowsNT,但是它并不是一个硬实时的操作系统。传统PLC具有硬实时性,正因为如此它才能提供快速、确定而且可重复的响应。而要让WindowsNT具有硬实时性,必须对它进行扩展,使得PC的控制任务具有最高的优先级,不因为NT的系统功能和用户程序的调用而被抢占。现在,我们可以通过一些方法将实时性能加入到NT系统中去。比如,修改NT的硬件抽象层,或者NT与一种经过实用验证的硬实时操作系统组合。另外,WindowsCE等操作系统具有了NT在硬实时性方面所不具备的特性。在实际开发中也可使用其他的操作系统作为平台。
四、软PLC技术应用控制方案
根据软PLC运行的硬件平台的不同,其控制功能的实现方案有以下三种。
1.基于IPC或EPC的控制方案
在这种控制应用方案中,系统的软件平台可以采用WindowsNT,WindowsCE或Linux等,通用IO板卡和IO接线端子板(或现场总线卡、现场总线以及远程IO模块)负责与工业控制现场打交道。采集上来的输入信号被软PLC运行系统处理,软PLC开发系统(编程器)编写的控制应用程序也被软PLC运行系统解释执行,最后将处理后的信号输出到本地(或远程)控制现场完成相应的本地控制(或远程控制)功能,及其控制方案和过程。
2.基于嵌入式控制器或智能控制器的控制方案
嵌入式控制器是一个超小型计算机系统,一般没有显示器,其软件平台是嵌入式操作系统(如WindowsCE)。在这种控制方案中,软PLC运行系统可以作为一个固件被安装到嵌入式控制器中,开发系统编写的应用程序通过RS232或TCPIP协议下载到此控制器中,因此整个系统就如同一个黑盒子运行并完成指定的控制功能。
3.基于传统PLC的控制方案。在这种方案中,传统PLC将只作为一个硬件系统平台,将软PLC运行系统安装到此传统PLC硬件中,然后将开发系统编写的PLC应用程序下载到此硬件系统并运行,即可实现PLC的控制功能。
五、结束语
软PLC技术相对于传统PLC,以其开放性、灵活性和较低的价格占有很大优势。它简化了工厂自动化的体系结构,把控制、通信、人机界面及各种特定的应用全都合为一体,运用于同一个硬件平台上。软PLC技术也存在着一些问题,例如,由于软PLC的运行环境是Windows操作系统,所以实时性不强;定时器最大存在一个扫描周期的误差;扫描周期较长等。但是,这些问题可以通过改变运行环境、改进执行算法等方法加以解决。只要它们能实现控制的时间确定性,即保证能以时间高度一致的方式执行控制指令序列,并具有可预测的结果或行为。软PLC在未来的工业电气控制中定会占据重要的席位。成为继现场总线技术发展的新亮点。