基于FF现场总线的先进控制算法的应用研究

发布者:精灵宠儿最新更新时间:2013-02-22 来源: 21IC 关键字:FF现场总线  控制算法  PID控制 手机看文章 扫描二维码
随时随地手机看文章
现场总线技术的发展使得控制系统在由封闭走向开放的进程中迈进了一大步,以现场总线为基础的控制系统将会取代封闭的DCS系统成为过程控制的主流系统。FF现场总线[1]是一种全数字、串行、双向通信网络,同时也是一种专门针对过程自动化领域的应用而设计的现场总线,所以其在设计之初就充分考虑了过程自动化领域的一些特点,比如总线、供电、本质安全,以及较高的实时性要求等。我国在FF总线技术研究以及符合FF协议的现场设备产品开发方面己经取得了长足的进步,如中科院沈阳自动化研究所研制出了各种基金会现场总线产品,例如压力变送器、温度变送器,以及主机接口卡和通信栈软件等。在DCS时代,先进控制己被证明可以为企业获得巨大的经济效益。先进控制与现场总线的结合[2]无疑是工业界所期望的,也是该文讨论的主题。在FF现场总线过程控制实验系统中,被控对象往往存在时变性和时滞性问题,对控制系统构成了极大的难题,认为采用了现场总线就可以解决这些问题是一个误区。现场总线的采用只是提供了控制策略的更好的实现手段。动态矩阵控制(DMC)作为一种先进控制算法,可以直接用于时滞对象而无需附加其它的控制结构。

该文将以在中科院沈阳自动化研究所设计的基于FF现场总线的网络化测控实验平台[3,4]上,设计了双容水箱的液位反馈控制回路,并结合具体被控对象提出了将先进控制算法应用到FF现场总线系统的可行性方案,既在OPC服务器MicroCyber .FFServer.1的基础上实现了常规的PID控制,进而在PID控制的基础上实现了基于OPC技术的先进控制算法。实验表明,该方案控制效果更好的发挥了现场总线与先进控制的技术优势,取得了预期的控制效果。

1 基于FF现场总线的网络化实验平台

本系统包括两个部分[5]:FF现场总线部分和现场控制模型部分,如图1。FF现场总线[6]包括低速现场总线H1和高速现场总线HSE。低速现场总线H1的速率为31.25Kbps,可用于温度、液位及流量等控制场合,信号类型为电压信号;高速现场总线HSE的速率为100Mbps,一般用于高级控制、远程输入/输出和高速工厂自动化等场合。现场控制模型可以利用实验室的原有设备,从而节约了投资。原有的模拟仪表可以通过电流信号到现场总线信号变送器转接到现场总线。


图1 系统软件运行关系

以单回路液位控制为例,上位机中软件的运行情况:①HSE Init接口软件, 选择H1网段,HSE 接口程序可以与以太网段内的 HSE 设备,以及 LD 设备下的 H1 网段设备进行交互,向组态等上层软件提供数据访问接口;②运行组态程序FF-Configurator组态软件, 刷新网段获取系统的现场设备列表和功能块列表, 刷新网段后,建立应用完成功能块组态,功能块间的连线表示通过现场总线通信的信号连接,如图2所示;③FF H1和FF HSE OPC服务器, 每秒钟刷新一次,实现设备的实时数据和历史数据共享以及报警等功能; ④设计SiaView监控软件, 新建一个工程,在对象中选择PID拖到视图中,与OPC连接后经过编辑可得到一个PID功能块操作面板。


图 2 应用窗口中配置的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技术实现过程变量和控制变量的通讯。


图3 实现先进控制算法时的IF-PID功能块参数表

2 基于OPC的PID控制方案

要实现基于FF现场总线的先进控制算法,主要要先以实现常规PID控制为基础,包含先进控制算法的软件通过OPC接口来读写硬件设备的信息(作为OPC客户),通过OPC服务器访问过程数据,可以克服异构网络结构和网络协议之间的差异。 [page]

2.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服务器的地址空间图

2.2 OPC自动化接口标准

2.2.1自动化接口

OPC基金会为方便用户在各种环境下软件开发,为数据访问规范提供两类接口:自动化接口和定制接口。基于定制接口的开发,需要用到较深的COM/DCOM知识,比较晦涩难懂,而运用自动化接口则有以下优点:客户程序可以很容易地应用接口,而无需了解接口的详细内部机理;可以运用事件触发机制;可以生成一个通用的动态链接库(DLL)或控件供所有客户端应用程序使用。

2.2.2自动化接口的通信机制

OPC客户程序通过封装的OPC自动化接口动态链接库访问OPC服务器[7],如图5所示。该动态连接库将OPC服务器的定制接口翻译成OPC客户程序希望的自动化接口,以供客户程序调用。OPC客户程序和动态链接库是进程内的通信,而动态链接库和OPC服务器的通信则基于COM/DCOM,既可以是进程内或本地的连接,又可以是远程连接。封装的动态链接库解决了定制接口的解释和二者的通信,从而大大简化了OPC客户程序的开发。


图 5 OPC客户程序与服务器的通迅

2.2.3自动化对象模型

OPC客户程序的开发关键在于搞清该动态链接库的封装结构,也即自动化接口标准。该标准可以用图6所示的自动化对象模型表示。它主要由6类对象组成:①OPCServer:OPC服务器的一个实例。只有创建了 OPCServer 对象以后才能获得 OPC服务器的信息,它包括 OPCGroups 的搜索以及 OPCBrowser 对象的创建;②OPCGroups:能够自动搜集到 OPCServer 范围内客户端创建的所有的 OPCGroup对象;③OPCGroup:OPCGroup 对象的一个实例。 它包含所有的状态信息,并且为 OPCGroup 中所涉及的 OPCItems提供必要的服务;④OPCItems :能够自动搜集到 OPCServer 范围内客户端创建的对应相应的 OPCGroup中的所有的 OPCItem 对象;⑤OPCItem :一个自动化对象,它包含“位号”的定义,当前值,状态信息,最后更新时间;⑥OPCBrowser:浏览服务器中所有“位号”名称的对象。对于每个 OPCServer只能创建一个 OPCBrowser 对象。 [page]


图6 自动化对象模型

2.3 实现PID控制的OPC客户程序

2.3.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的文件名,这里选择[OPC Automation 2.0]。

2.3.2 实现步骤

用VB编写OPC客户端程序包含以下步骤[8]:①添加服务器的引用,创建 OPC 服务器对象,并将客户程序与服务器相连;②创建组集合并添加组对象;③添加 OPC项,利用 OPCBrowse方法浏览整个服务器中所有的项,选择需要的项,将其添加到规定的组中,并显示其值和状态;④在主画面中显示添加的组和项。

2.3.3 程序设计

下面是以VB实现的具有PID功能的OPC同步客户程序。

该单回路控制过程为自衡非振荡,具有相互影响的双容过程。其数学模型可用如下传递函数描述:

G(s) =

式中, Kp , Tp ,τ为过程的增益、时间常数和时滞。式中的各参数可根据阶跃响应曲线用图解法求得。


图7 实现PID控制的OPC客户程序

下面给出确定传递函数的参数的方法:设图7中的控制量为q,测量值为y,新的稳态值y(∞)为设定值,增益K可由输入输出的稳态值直接算出Kp=y(∞)/q,而Tp ,τ则可以用作图法确定。为了能够随时调用在OPC服务器上采集的测量值y并绘制出相应的阶跃响应曲线,这里把选择的数据存放在指定的数据库中(采用SQL2000数据库)。同时也是为了在进行算法的仿真的时候,既可以从历史数据库中取数据,也可随着数据的采集,可以不断刷新数据,进行算法的优化,如图8。


图8 SQL server 数据库中存取OPC服务器数据

3 基于OPC的先进控制控制方案

动态矩阵控制(Dynamic Matrix Control,简称DMC)算法[9]包括预测模型、优化控制、反馈校正。监控软件体系[10,11]中的4.2动态矩阵控制软件的开发 动态矩阵控制的主要功能是按照DMC算法来确定控制作用。 [page]

在设计中将DMC控制类型抽象为一个DMC控制类(DMC Class ),并相应生成一个对象(object)。描述实体的属性成为数据被封装在对象的内部.即将DMC控制所需的各项参数如:模型时域长度N,优化时域长度P,控制时域长度M等作为DMC控制类的私有成员(Private). DMC控制对象的外部程序不能对这些数据进行访问,而DMC控制的初始化,DMC控制的在线计算等作为公共接口(Public),外部程序可以对其进行存取。

仿真对象采用FF现场总线过程实验系统的单回路控制模型,液位对象主要由2个水槽串联组成,每个水槽长20cm,宽10cm,高40cm,以水槽2的液位高度h2为被控变量,其最大值为40cm,工作点常设定在20cm左右.因为系统具有容积滞后和管道滞后,所以液位对象是一个具有纯滞后的多容对象。对系统进行实验测试,纯滞后约为3s。模型时域长度为10,优化时域长度为6,控制时域长度为5,控制周期1000ms,控制周期个数取为1000,设定值为20,误差权1,控制权0.01。


图9 用VB界面开发的OPC客户界面


图10 Vb6.0中实现DMC算法

4 结论

该文深入研究了FF现场总线的过程控制实验系统的设计过程,进而研究OPC技术,目的是希望通过VB去开发OPC自动化接口的客户应用程序,实现动态矩阵先进控制算法到OPC 客户应用程序的应用编程,进而方便用户的使用和系统的维护和升级,同时研究SQL Server 2000的数据库系统,用于历史数据的存取以及算法的仿真。如何实现更加复杂的先进控制算法,可以使用OLE自动化技术来实现VB与Matlab混合编程 [12],即用VB编写OPC客户端程序来实现数据通信,而利用Matlab进行先进控制算法的编写,从而对现场数据进行分析,是下一步研究的重点。

参考文献:
[1] 龙姿平,万曼影.FF现场总线概述[J].自动化与仪表,1999,14(4):5-7.
[2] 苑明哲,刘玉忠,周悦等.先进控制与FF 现场总线[J].工业检测与自动化装置,2003,(2):7-9.
[3] 刘丹,于海斌,王宏等. 自主开发的FF现场总线控制系统典型应用[J].自动化仪表,2005,26(3):46-48.
[4] 陈娜,戚淑芬。基于FF现场总线的实验测控系统[J].青岛科技大学学报,2004,25(1):80-82.
[5] 徐永红。基于FF的网络化控制实验平台[D].哈尔滨:哈尔滨工业大学,2003.
[6] 刘丹,于海斌,王宏等. FF HSE和FF H 1协议网关的基本原理与实现[J].信息与控制,2004,33(6):719-723。
[7] 王凌,杨新照,张凤形. OPC服务器在FF总线系统中的应用[J]. 仪器仪表学报,2004,25(4):227-228.
[8] 赵明生.基于OPC技术的预测控制[J].计算机工程与应用,2005(9):224~228.
[9] 李金霞,邱公伟.动态矩阵控制及其改进方法的仿真研究[J].福 州大学学报(自然科学版),2004,32(5):560-562.
[10] 张雯.基于现场总线过程控制系统的监控系统的研究[D].上海:上海理工大学,2001.
[11] 邵奇可.分布式软件技术及其应用研究[D].浙江:浙江工业大学,2002.
[12] 毛彦科。基于现场总线的智能监控系统组建技术及应用研究[D].上海:上海大学,2002.(end)
关键字:FF现场总线  控制算法  PID控制 引用地址:基于FF现场总线的先进控制算法的应用研究

上一篇:烟草制丝线中现场总线的抗干扰问题
下一篇:利用现场总线设计电磁流量计智能卡

推荐阅读最新更新时间:2024-05-02 22:33

变频调速器怎么设置
变频器的设定参数较多,每个参数均有一定的选择范围,使用中常常遇到因个别参数设置不当,导致变频器不能正常工作的现象,因此,必须对相关的参数进行正确的设定。 1.控制方式:即速度控制、转距控制、PID控制或其他方式。采取控制方式后,一般要根据控制精度进行静态或动态辨识。 2.最低运行频率:即电机运行的最小转速,电机在低转速下运行时,其散热性能很差,电机长时间运行在低转速下,会导致电机烧毁。而且低速时,其电缆中的电流也会增大,也会导致电缆发热。 3.最高运行频率:一般的变频器最大频率到60Hz,有的甚至到400 Hz,高频率将使电机高速运转,这对普通电机来说,其轴承不能长时间的超额定转速运行,电机的转子是否能承受这样的离心力。 4.
[嵌入式]
实现数字电源转换的方法
模拟工程师以前在设计需要具有多路输出、动态负载共享、热插拔或广泛故障处理能力的电源时,往往需要与复杂性抗争。利用模拟电路来实现系统控制功能并非总是经济有效或灵活的。采用模拟技术设计电源需要使用“过大的”元件来解决元件变化和元件漂移的问题。即使是在克服了这些设计难点之后,这些电源在生产线末端还需要进行人工调整。 那么,模拟工程师应该选择什么来设计电源呢?工程学对这个问题的回答是利用功率转换反馈环路的智能数字控制来实现上述功能。单片机已使模拟设计人员能够实现监控、控制、通信甚至确定性功能(如电源中的上电时序、软启动和拓扑结构控制等)。不过,由于缺乏经济有效的高性能技术,以数字方式控制整个功率转换环路还不太现实。 1 开关电
[电源管理]
实现数字电源转换的方法
利用SPICE设计TEC温度环路PID控制
使用模拟比例积分微分 (PID) 控制器的温度控制是一种非常简单的电路,是确保热电冷却器 (TEC) 的设置点能够对温度或者激光进行调节的有效方法。比例积分项协同工作,精确地伺服TEC的电流,以维持控制器的温度设置点。与此同时,微分项对完成上述工作的速率进行调节,从而优化总体系统响应。如果可以对总体系统响应H (s) 进行描述,则为其设计 PID 控制器G (s) 的最为方便和有效的方法是利用 SPICE 进行仿真。 步骤1:确定SPICE模型的TEC/Temp传感器热阻抗。 要想把 SPICE 作为 PID 环路设计的一种有效工具,获取温度环路的热响应非常重要,目的是获得 PCB TEC 激光二极管 温度传感器接线的实际热敏电
[测试测量]
利用SPICE设计TEC温度环路<font color='red'>PID控制</font>
用单片机玩PID控制—从理想PID控制至先进PID控制_9
3.2.2工程PID控制2 一种工程实用调节器算法如下: Gc(s)=Kc*(1+1/(Ti*s)+Td*s/(Td*s/Kd+1)) 这种算法见诸西门子智能调节器中,应该说也是一种常用的PID算法,算法是在微分环节上加了一个低通滤波作用,这种不完全微分作用的数值计算方法,可以用3.2.1节介绍的方法求取,这里不再重复,算法的控制效果如图1所示,从图中可以看出控制输出瞬间不动很小,在过程值混有白噪声的情况下,控制效果如图2所示,从图中可以看出,控制输出瞬间波动比pv值有滤波的情况下略大一点。
[单片机]
用单片机玩<font color='red'>PID控制</font>—从理想<font color='red'>PID控制</font>至先进<font color='red'>PID控制</font>_9
基于Pi控制器的交流电机控制系统控制算法综述
1 引言     随着电力电子器件及微电子器件的迅速发展,以及现代控制理论在交流调速传动中的具体应用,从一般要求的小范围调速传动到高精度、快响应、大范围传动;从单机传动到多机传动协调运转,几乎都可采用交流传动。但交流电机本质上是一个非线性的被控对象,电机参数在实际应用中会发生变化,而且可能存在比较严重的外部干扰。经典控制理论不能克服负载、模型参数的大范围变化及非线性因素的影响,因而控制性能将会受到影响。要获得高性能的交流电机控制系统,就必须研究先进的控制算法以弥补经典控制的缺陷和不足。近年来,随着现代控制理论的发展,先进控制算法被广泛应用于交流电机控制系统,例如自适应控制、滑模变结构控制、神经网络控制、模糊控制等,并取得一定成果。因
[嵌入式]
技术文章—从原理上真正学会PID控制
PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制。这里我们从原理上来理解PID控制。 PID(proportion integration differentiation)其实就是指比例,积分,微分控制。先把图片和公式摆出来,看不懂没关系。(一开始看这个算法,公式能看懂,具体怎么用怎么写代码也知道,但是就是不知道原理,不知道为什么要用比例,微分,积分这3个项才能实现最好的控制,用其中两个为什么不行,用了3个项能好在哪里,每一个项各有什么作用) 总的来说,当得到系统的输出后,将输出经过比例,积分,微分3种运算方式,叠加到输入中,从而控
[电源管理]
技术文章—从原理上真正学会<font color='red'>PID控制</font>
用STM32F407玩控制—不完全微分PID控制
常规pid算法有缺陷,主要有:1是当偏差发生突变时,微分作用仅在一个周期内起作用,这个也不合理,2是当输入PV值有噪声时,调节器输出波动大,这在前面的图中可以看到,这对机械执行机构不理,使执行机构容易坏,执行机构故障多,自然生产也就不稳定,所以工程上通常用不完全微分PID调节器,文献中有两种类型的不完全微分PID算法,一种是在常规PID算法后串一个一阶延滞环节(比如参见金以慧《过程控制》,即 Gc(s)=Kc*(1+1/(Ti*s)+Td*s)/(Tf*s+1),这种不完全微分PID算法,与前面讲的常规pid算法加过程值(PV)滤波有点相近,仅在设定(SP)有变化的情况下,调节器输出不同,其余情况下是一样的;另一种是在微分环节上串
[单片机]
用STM32F407玩控制—不完全微分<font color='red'>PID控制</font>
基于S3C44B0的高精度直流开关电源设计
引言   近年来,嵌入式技术发展极为迅速,出现了以单片机、专用嵌入式ARM为核心的高集成度处理器,并在通信、自动化、电力电子等领域得到了广泛应用。电源行业也开始采用内部集成资源丰富的嵌入式控制器来构成大型开关电源的控制系统。开关电源是效率较高的一种电源,是由占空比可凋的脉宽调制波(PWM)来控制M0S管、IGBT等开关器件的开通与关闭,从而实现电压电流稳定输出,其性能的优劣直接关系到整个电子系统的工作性能指标。将SAMSUNC公司的嵌入式ARM处理器S3C44BOX芯片,应用到开关电源的控制系统的设计中,采用C语言和少量汇编语言,就可以实现一种以嵌入式ARM处理器为核心、具有智能PID控制器以及触摸屏、液晶显示器等功能的开关电源
[单片机]
基于S3C44B0的高精度直流开关电源设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved