松原西门子PLC总代理商
3.2 OPC自动化接口标准
(1) 自动化接口
OPC基金会为方便用户在各种环境下软件开发,为数据访问规范提供两类接口:自动化接口和定制接口。基于定制接口的开发,需要用到较深的COM/DCOM知识,比较晦涩难懂,而运用自动化接口则有以下优点:客户程序可以很容易地应用接口,而无需了解接口的详细内部机理;可以运用事件触发机制;可以生成一个通用的动态链接库(DLL)或控件供所有客户端应用程序使用。
(2) 自动化接口的通信机制
OPC客户程序通过封装的OPC自动化接口动态链接库访问OPC服务器,如图5所示。该动态连接库将OPC服务器的定制接口翻译成OPC客户程序希望的自动化接口,以供客户程序调用。OPC客户程序和动态链接库是进程内的通信,而动态链接库和OPC服务器的通信则基于COM/DCOM,既可以是进程内或本地的连接,又可以是远程连接。封装的动态链接库解决了定制接口的解释和二者的通信,从而大大简化了OPC客户程序的开发。
图5 OPC客户程序与服务器的通迅
(3) 自动化对象模型
OPC客户程序的开发关键在于搞清该动态链接库的封装结构,也即自动化接口标准。该标准可以用图6所示的自动化对象模型表示。它主要由六类对象组成:
●OPCServer:OPC服务器的一个实例。只有创建了OPCServer对象以后才能获得OPC服务器的信息,它包括OPCGroups的搜索以及OPCBrowser对象的创建;
●OPCGroups:能够自动搜集到OPCServer范围内客户端创建的所有的OPCGroup对象;
●OPCGroup:OPCGroup对象的一个实例。它包含所有的状态信息,并且为OPCGroup中所涉及的OPC-Items提供必要的服务;
●OPCItems:能够自动搜集到OPCServer范围内客户端创建的对应相应的OPCGroup中的所有的OPCItem对象;
●OPCItem:一个自动化对象,它包含“位号”的定义,当前值,状态信息,后更新时间;
●OPCBrowser:浏览服务器中所有“位号”名称的对象。对于每个OPCServer只能创建一个OPCBrowser对象。
图6 自动化对象模型
3.3 实现PID控制的OPC客户程序
(1) 使用VB开发OPC应用程序
利用VB开发OPC应用程序时,实现OPC自动化接口的OPC包装DLL是必须的,这个OPC包装DLL一般应该是由OPC服务器的供应商提供的,为OPC客户程序的软件开发提供了具有良好接口的工具。本文使用为OPC基金会的OPC包装DLL进行说明。
因为在新建的VB工程里OPC包装DLL还没有注册,必须先用下述方法对OPC包装DLL进行注册:
●从VB菜单里选择[工程(P)]-[引用(N)];
●在[可用的引用(A)]的一览表示中,选择对应的OPC包装DLL的文件名,这里选择[OPCAutomation 2.0];
(2) 实现步骤
用VB编写OPC客户端程序包含以下步骤:
[NextPage]
●添加服务器的引用,创建OPC服务器对象,并将客户程序与服务器相连;
●创建组集合并添加组对象;
●添加OPC项,利用OPCBrowse方法浏览整个服务器中所有的项,选择需要的项,将其添加到规定的组中,并显示其值和状态;
●在主画面中显示添加的组和项。
(3) 程序设计
图7是以VB实现的具有PID功能的OPC同步客户程序。
图7 实现PID控制的OPC客户程序
该单回路控制过程为自衡非振荡,具有相互影响的双容过程。其数学模型可用如下传递函数描述:
G( s) =
式中, Kp,Tp,τ为过程的增益、时间常数和时滞。式中的各参数可根据阶跃响应曲线用图解法求得。
下面给出确定传递函数的参数的方法:设图7中的控制量为q,测量值为y(∞),新的稳态值为设定值,增益K可由输入输出的稳态值直接算出 ,而Tp,τ则可以用作图法确定。为了能够随时调用在OPC服务器上采集的测量值y并绘制出相应的阶跃响应曲线,这里把选择的数据存放在指定的数据库中(采用SQL2000数据库)。也是为了在进行算法的仿真的时候,既可以从历史数据库中取数据,也可随着数据的采集,可以不断刷新数据,进行算法的优化,如图8所示。
[NextPage]
图8 SQL server 数据库中存取OPC服务器数据
4 结束语
通过FF现场总线的过程控制实验系统的设计过程,论述OPC技术,目的是希望通过VB去开发OPC自动化接口的客户应用程序,实现PID控制算法到OPC客户应用程序的应用编程,方便用户的使用和系统的维护和升级,研究SQL Server2000的数据库系统,用于历史数据的存取以及算法的仿真。如何实现更加复杂的先进控制算法,可以使用OLE自动化技术来实现VB与Matlab混合编程,即用VB编写OPC客户端程序来实现数据通信,而利用Matlab进行先进控制算法的编写,从而对现场数据进行分析,是下一步研究的重点。
1 引言
现场总线技术的发展使得控制系统在由封闭走向开放的进程中迈进了一大步。以现场总线为基础的开放式控制系统开始进入封闭的DCS系统,成为过程控制的发展方向。FF(基金会现场总线)现场总线是一种全数字、串行、双向通信网络,也是一种专门针对过程自动化领域的应用而设计的现场总线,其在设计之初就充分考虑了过程自动化领域的一些特点,比如总线、供电、本质安全,以及较高的实时性要求等。我国在FF总线技术研究以及符合FF协议的现场设备产品开发方面己经取得了长足的进步,如中科院沈阳自动化研究所研制出了各种基金会现场总线产品,例如压力变送器、温度变送器,以及主机接口卡和通信栈软件等。在DCS时代,先进控制己被证明可以为企业获得巨大的经济效益。先进控制与现场总线的结合是本文讨论的主题。现场总线的采用提供了控制策略的更好的实现手段。
本文以在中科院沈阳自动化研究所设计的基于FF现场总线的网络化测控实验平台上,设计了双容水箱的液位反馈控制回路,并结合具体被控对象提出了将PID控制算法应用到FF现场总线系统的可行性方案,既在OPC服务器MicroCyber.FFServer.1的基础上实现了基于OPC技术的PID控制算法。实验表明,该方案控制效果更好的发挥了现场总线与PID控制的技术优势,取得了预期的控制效果。
2 基于FF现场总线的网络化平台
本系统包括两个部分:FF现场总线部分和现场控制模型部分,如图1。FF现场总线包括低速现场总线H1和高速现场总线HSE。低速现场总线H1的速率为31.25kbps,可用于温度、液位及流量等控制场合,信号类型为电压信号;高速现场总线HSE的速率为100Mbps,一般用于控制、远程输入/输出和高速工厂自动化等场合。现场控制模型可以利用实验室的原有设备,从而节约了投资。原有的模拟仪表可以通过电流信号到现场总线信号变送器转接到现场总线。
图1 系统软件运行关系
以单回路液位控制为例,上位机中软件的运行情况:
(1) HSE Init接口软件,选择H1网段,HSE接口程序可以与以太网段内的HSE设备,以及LD设备下的H1网段设备进行交互,向组态等上层软件提供数据访问接口;
(2)运行组态程序FF-Configurator组态软件,刷新网段获取系统的现场设备列表和功能块列表,刷新网段后,建立应用完成功能块组态,功能块间的连线表示通过现场总线通信的信号连接,如图2所示;
(3) FF H1和FF HSE OPC服务器,每秒钟刷新一次,实现设备的实时数据和历史数据共享以及报警等功能;
(4)设计SiaView监控软件,新建一个工程,在对象中选择PID拖到视图中,与OPC连接后经过编辑可得到一个PID功能块操作面板。
从组态软件的工程窗口的设备中选择IF-AI1功能块、IF-PID功能块和FI-AO1功能块拖拽到应用视图中连接配置成一个PID控制回路,见图2。将功能块连接,建立功能块之间的联系,使功能块之间能够进行参数值的传递并需下载组态信息到现场设备。要使液位控制回路正确运行需要修改功能块的参数值,双击IF-PID功能块,打开块的参数窗口,将IF-PID中MODE_BLK项下的TARGET参数修改成AUTO模式,读取功能块参数,从而实现单回路的液位控制自动正常的运行。如果想要实现将先进控制算法应用到FF现场总线系统的方案,只需将IF-PID中MODE_BLK项下的TARGET参数修改成MAN模式,具体设置如图3所示,通过OPC技术实现过程变量和控制变量的通讯。
[NextPage]
图2 应用窗口中配置的PID组态策略
图3 实现先进控制算法时的IF-PID功能块参数表
3 基于OPC的PID控制方案
实现基于FF现场总线的先进控制算法,要先以实现常规PID控制为基础,包含先进控制算法的软件通过OPC接口来读写硬件设备的信息(作为OPC客户),通过OPC服务器访问过程数据,可以克服异构网络结构和网络协议之间的差异。
3.1 OPC服务器
选用中科院沈阳自动化研究所提供了OPC服务器MicroCyber.FFServer.1,服务器的地址空间由服务器可读写的所有数据项组成,可以根据需要得到数据项的全称对其进行相关操作。图4为OPC服务器的地址空间图。使用OPC技术实现用VB6.0编写的客户端程序与OPC服务器的通讯,服务器中液位的实时值IF-PID-PV.VALUE,以及自定义变量如液位设定值IF-PID-SP.VALUE,进行算法控制,得到控制量,将控制量写入OPC服务器的项FI-PID-OUT.VALUE,从而控制受控系统。
图4 OPC服务器的地址空间图
1 引言
可编程控制器是以微处理器技术为基础,综合了计算机技术、自动化技术和通讯技术的一种新型工业控制装置。其可靠性极高、耐恶劣环境能力强、使用极为方便等特点,与机器人技术、CAD/CAM并列称为工业生产自动化的三大支柱。它是上世纪60年代发展起来的被国外称为“先进国家三大支柱”之首的工业自动化理想控制装置,是近年来发展极为迅速,运用面极广的工业控制装置,现已广泛运用于自动化的各个领域。
2 可编程序逻辑控制器(PLC)
PLC英文名Programming Logic Controller即可编程序逻辑控制器,是早于汽车制造行业应用并发展起来的一项技术,用于代替继电器完成机器和设备的自动控制,它的大的特点是可编程,即根据控制逻辑和控制要求的变化可重新编制程序,而不用象继电器线路一样需要重新更换原器件和重新接线。PLC已集成了许多计算功能、通信功能、完成特殊控制功能的功能模块如位置控制、速度控制、过程控制等,并具有了与计算机系统的集成和连网的能力,PLC自发明以来在工业自动化、交通控制、电力运输、楼宇自动化等领域得到了广泛的应用。
3 PLC发展历史
自1969年世界上台可编程控制器在美国DEC公司诞生以来,PLC走过了30余年的发展历程。回顾其发展历程,可将PLC技术分为3个阶段:
(1)传统PLC阶段。它是PLC的初阶段,也是现代PLC的基础。其结构如图1所示,工作原理 如图2所示。
如图2所表示的一样,PLC的工作原理是:读取输入接点的状态→执行程序→根据程序的执行结果刷新输出接点的状态→再读取输入接点的状态→读取输入接点的状态,如此循环执行。
由PLC的工作原理可以看出:从输入端的信号状态发生变化到输出端的信号变化,中间需要执行程序(用户程序、系统程序),程序的执行需要时间,这个时间是不可预测的,在某些应用场合这是不允许的,如位置控制、速度控制、需要高速响应的控制,这就使得PLC在这些场合不能使用或需配置昂贵的专用模块。从图1可知,PLC系统的核心是微处理器(CPU),为防止系统程序跑飞,产生误动作,必须采取一系列硬件和软件的措施去克服这一问题,由于PLC使用的是梯形图语言,系统本身必须带有功能强大的编译器,这样就使得PLC构成的系统具有较高的价格。程序跑飞、编制的程序出现死循环等依然是存在的隐患问题。
(2) OPEN PLC阶段。OPEN PLC又称PC BASE PLC、SOFTPLC,是近几年提出的一种概念,它是基于开放式PC平台和开放式开发软件的PLC,它能方便的与其他软件集成及网络集成。其组成结构如图3所示。
OPENPLC只是在它的开发环境方面提出了一个新的概念,即开放性、标准化,它的运行原理方面与传统PLC相比具有实时多任务运行机制,但仍然是基于程序执行这样的基础。它并没有从根本上解决传统PLC存在的问题,在其实现的系统中依然存在。
(3) 现场集成阶段。也就是HARDPLC阶段,它是一个全新的代名词,也是一个PLC的新发展动向。它采用现代可编程逻辑器件CPLD/FPGA(ComplexProgrammable Logic Devices & Field Programming GateArray)作为硬件平台,采用EDA(Electronics DesignAutomation)开发工具配与硬件描述语言HDL(Hardware DebbbbbbionLanguage)做为开发软件平台,象传统PLC一样它同样是可编程的。其组成结构图如图4所示。
HARDPLC则抛弃了传统PLC“程序”的概念,以“硬件线路”来实现控制功能,而编程改变的也只是其芯片内部的硬件连接,而不需运行软件程序,自然没有程序跑飞、开机复位及自带语言编译器等问题,其完成的功能与传统PLC相同,而系统的造价仅是传统PLC系统的十分之一,甚至更少。在硬件线路运行时所有的信号是并行运行的,信号的路径是可知的,信号传输的时间是可预测的,可用于jingque控制的需要,如位置控制、速度控制、信号处理、图像处理、高速机械等。它从根本上解决了传统PLC存在的不足,代表了传统PLC的终发展方向。
4 PLC的发展趋势
随着微处理器技术、超大规模集成电路技术和数字通讯技术的进步和发展,可编程序控制器也得到了迅速发展,其功能已远远超出了其定义所指的范围,其概念也日趋模糊,现代可编程控制器的发展趋势主要有以下几个方面:
(1)用高性能器件,尽量缩小与工业控制计算机之间的差距。例如,德国FESTO公司的IPC(IndustrialPC)由一系列符合工业标准的模块组成,它与微机兼容且具有PLC的功能。
(2)丰富I/O模块,使PLC在实时性、精度、分辨率、人机对话等性能方面得到改善和提高。
(3)强化网络功能,以实现信息管理自动化。例如IPC型控制器具备多种现场总线接口。如FESTO总线、Profibus、AS-I、CAN等,以及各种网络连接模块,如Novell等,从而使PLC与PLC、PLC与PC、PLC与现场设备之间建立通讯联网。
(4)多种编程语言并存,互补不足。IPC型控制器除了采用梯形图、指令表编程以外,还可以用IEC1131规定的用于顺序控制的标准化语言以及C、Basic等计算机语言进行编程。
(5) 硬件结构集成化、冗余化。随着专用集成电路(ASIC,ApplicationSpecific Integrated Circuits)和表面安装技术(SMT,Surface-MoutTechnology)在PLC硬件设计上的运用,使得PLC产品硬件元件数量更少,集成度更高,体积更小,其可靠性更高。为了提高系统的可靠性,PLC产品还采用了硬件冗余和容错技术。用户可以选择CPU单元、通信单元、电源单元或I/O单元甚至整个系统的冗余配置,使得整个PLC系统的可靠性得以加强。
5 可编程控制器现场集成技术研究的意义
现行的可编程控制器均是由专门的生产厂商设计生产的,用户选用他们提供的专用控制器时,可能只用到它的部分功能,会造成一定的资源浪费,专用控制器价格高,不经济。而使用现代可编程逻辑器件来实现具有如下优点:
(1)用户可以根据需要设计控制器的功能,不会造成太大的资源浪费;不用带自身专用的编译器,从而大大降低了系统的价格。
(2)用户逻辑和接口部分可以做在同一个器件内,让接口和用户逻辑更紧密地结合;用FPGA/CPLD芯片组成的系统,很自然地避开CPU的程序跑飞、死循环、复位不可靠等缺点,无需采用过多措施就能使系统具有很高的可靠性。
(3)FPGA作为控制器的核心,其灵活的现场可更改性、可再配置能力,对系统的各种改进非常方便,在不更改硬件电路的基础上可以提高系统的性能,也就是完成硬件的在系统升级;在线编程是FPGA/CPLD突出的特点,它无需改变芯片外部I/O口的连接线,可直接在用户自己设计的目标系统中或线路板上对FPGA/CPLD器件编程,这就打破了使用一般数字器件和PLC先设计后装配的惯例,而可以先装配后编程,用在实际系统后还可以反复编程,从而开创了数字电子系统设计技术的新一页。还可以通过红外线编程、超声波编程或通过电话线、Internet进行在线编程。这些功能在远控或军事领域上有特殊的用途。
(4)FPGA的性能价格比很高,用它实现的控制器的价格,几乎只是和它具有相同输入/输出端子市售可编程控制器价格的十分之一;其逻辑实现是并行工作的,其速度远远大于PLC,这在实时系统中是非常有优势的。
(5)它抛弃了传统PLC“程序”的概念,以“硬件线路”来实现控制功能,在硬件线路运行时所有的信号是并行运行的,信号的路径是可知的,信号传输的时间是可预测的,可用于jingque控制的需要,如位置控制、速度控制、信号处理、图象处理、高速机械等。
从以上优点我们可以看出,基于FPGA/CPLD的HARDPLC能更经济、更稳定、更方便地适应用户的需求,其实时性、灵活性远远优于传统的可编程控制器(PLC)。可编程控制器的现场集成技术应用非常广阔,具有很强的工程实用价值。