1.引言
现场总线基金会制定了一套标准的功能块。也允许制造商自行开发特有的功能块,并通过“设备描述”技术使之开放互可操作。因此在一定程度上说,使用基金会现场总线技术就是熟练地使用功能块。但是基金会现场总线功能块并不是一套简单基本的功能块,与PLC/DCS中使用的功能块也有一定的区别,是一个独立的应用体系。每个功能块都有数十种参数可以组态。
本部分内容从应用角度入手,通过对基金会现场总线功能块的了解使读者对基金会现场总线技术和优越性有更深入具体的理解。
IEC 61131-3标准是为规范PLC的编程方法而制定的。该标准的目的在于简化编程方法,减轻用户重复学习的负担。基金会现场总线所制定的功能块集也符合IEC 61131-3标准的基本要求。为适应控制系统向网络化、分布式结构方向发展的编程需要,IEC正在制定IEC 61944标准作为IEC 61131-3标准的补充。IEC 61944标准对系统分层的模型是“系统—设备—资源—应用—功能块”,基金会现场总线功能块已经在标准发布前就体现了这一原则,即同一应用而互相连接的功能块可能是分布在不同设备和资源中的。
为了使人—机界面更加友好,现场总线控制系统引入了功能模块的概念。功能模块也可以说是现场总线控制系统通信结构中的用户层,用户层中装有大量可满足各种过程控制的功能模块。目前FF已制定出32个功能模块,今后还将继续制定新的功能模块。
Smar公司的SYSTEM 302是该公司基于系统工程方面的经验所开发的全数字化现场总线系统。下面介绍利用SYSTEM 302进行组态设计时遇到的两个概念。
(1)设备描述(Device Description,DD)
DD是属于FF的报文规范层(Fieldbus Message Speciafication,FMS)的一个内容。设备描述(DD)是为虚拟现场设备(VFD)中的每个对象提供扩展描述,为控制系统或主机在理解VFD中数据的意义提供必要的信息,因此DD可被看作是设备的一个驱动器。在每次组态设备之间必须确认是否安装该设备的设备描述语言。
(2)功能模块(Function Block,FB)
功能块应用进程位于FF总线通信模型的最高层——用户层。FF用户层协议将实现控制系统所需的各种功能封装为通用的模块结构,并定义它们的输入、输出、算法、事件及控制图等内容,从而形成了FB。
FF现场总线把FB主要分成了3类:资源块(Resource Block)、转换块(TransducerBlock)、FB。资源块描述了诸如设备名、生产厂家和序号等的现场总线设备特征。一台设备只有一个资源块。转换块把功能块从读传感器和命令输出硬件的本地输入/输出的功能分开,还包含标定日期和传感器类型等信息。每个输入或输出功能块通常就是一个转换块。功能块提供了控制系统行为。功能块的输入和输出通过现场总线相连接。每个功能块的执行被精确地调度。在一个用户应用中可以有多个功能块。
FB技术是FF现场总线实现分布式控制的一项重要手段。在FF现场总线中,FCS废弃了DCS的输入/输出单元和工作站,把DCS的工作站的功能块分配给现场仪表,构成虚拟工作站。FF的功能块可以供用户自由选择,可统一组态,构成所需的控制系统,实现了彻底的分散控制。许多控制系统功能,诸如模拟输入/输出、PID控制等功能都可以通过使用功能块由现场设备完成。
2.功能块的参数
下面以Smar302现场总线控制系统中的几个功能模块为例,说明功能模块的构成及功用。
功能块是一种图形化的编程语言。它有一套输入、输出和内部控制参数。输入参数通过一套特定的算法产生的输出参数供系统或别的功能块使用。这些是各种功能块体系都一样的基本点。
功能块通过位号Tag(最多32个可视字符串)和一个数字索引来识别。在同一个控制系统中功能块位号Tag必须是惟一的。输入、输出参数是网络可见的,并可互相连接。
控制参数或称包含参数虽然不能和其他功能块连接使用,但也是网络可见的。功能块的算法由块的类型和控制参数所确定。
一个功能块输入参数连接到上游功能块的输出参数,这种连接可能在同一个功能块应用中,也可能在不同个功能块应用中,甚至可能在同一个设备也可能在不同的设备中。功能块参数根据使用目的被分成4组视图(View):动态操作数据(View1)、静态操作数据(View2)、所有动态数据(View3)、其他静态数据(View4)。
在一个功能块内参数的名字是惟一的。在一个系统内,我们用“功能块位号.参数的名字”来表达,即“Tag.Parameter”。参数的存储属性可以分级为动态的、静态的和不易失的。动态的参数值是功能块算法的计算随时产生的结果,因此在掉电后它不需要重新存储。静态的参数值在每次掉电后要重新存储。接口设备或一些临时的设备有时会写这些静态参数。为了支持静态参数值跟踪,相关联的块静态修订参数“ST_REV”的值将增加,而且每次静态参数值被修改都被当作发生一次更新事件。不易失的参数值掉电后最后的值必须要存储在设备中。
从控制应用角度,最常用的变量有过程变量PV、设定值SP、输出OUT等。它们可能是模拟量也可能是开关逻辑量。这些变量通常由原始初级变量IN、CAS_IN等经过运算后得出,例如滤波、限幅、变化率限制、倍率、偏置及其他更高级的计算,而这些都有相应的控制参数对它们进行设置。
对于控制和输出类功能块还有一种“串联”联结方式,但它并不是所谓的串级调节。
在串联控制中,上游的控制功能块的输出变成下游功能块的串级输入,而下游功能块提供一个输出值作为上游功能块反馈计算的输入。这种反馈是为了给无扰动自动手动切换及故障状态传递等目的使用。图9-3-1是一个PID控制功能块和AO输出功能块“串联”联结的例子。
图9-3-1 串级控制信号传播路径
(1)数值和状态
由于分布式结构及应用对象主要是重要过程工业控制,所以基金会现场总线技术特别关注数据的正确可靠性。对于所有控制用数据全部采用“数值和状态”的结构,即DS-65(模拟)或DS-66(开关量),如表9-3-1所示。
表9-3-1 DS-65模拟量数据结构
状态(Status)包括三部分:质量、子状态、极限。它使用一个字节(8bit),如下:
1)质量表示数值的品质:
0=Bad,表示数值不能使用(坏)。
1=Uncertain,表示数值略差于正常但还能使用(不确定)。
2=Good Non-cascade,数值是好的但功能块不支持串级路径(好非串级)。
3=Good Cascade,数值是好的而且是串级路径的一部分(好串级)。
2)极限(limit)提供参数的数值是否设置极限和极限的方向:
0=Not limited,无极限。
1=Low limited,低极限。
2=High limited,高极限。
3=Constant,常数。
3)子状态表示数值的品质的细节,如传感器状况、通信状况等。
这个特点意味着:基金会现场总线对每个参与控制的数据及来源的设备处于不间断的自诊断过程中。
(2)模式参数(MODE_BLK)
模式参数是控制参数(亦或称包含参数、不可连接参数),它既决定了功能块的算法表现,同时也体现了功能块所处的状态。可以从四个角度表达模式参数。
1)目标模式(Target mode)表示希望功能块所运行的模式,它通常被控制器或操作员来设定。
2)现实模式(Actual mode)表示功能块实际达到的模式。在某些条件下功能块不能运行在所希望的目标模式。比较目标模式和现实模式就知道是否达到了目标模式。
3)许可模式(Permitted mode),每种功能块可以用于什么模式是都不相同的,这在设计功能块时就决定了。
4)常用模式(Normal mode)表达这个功能块通常所处的模式。
表9-3-2是八种模式及其优先级别的简要说明。
表9-3-2 八种模式及其优先级别
需要强调指出的是功能块的现实模式是通过计算得出的,它从最高级别O/S模式检查起,如果满足某模式的条件,则该模式即成为功能块的现实模式,直到目标模式为止。例如当PID调节输入信号被诊断为故障不可使用时,虽然PID功能块的目标模式是自动(Au-to),但过计算其现实模式将从自动(Auto)变为手动(Manual)。并且输出可以保持在故障发生前最后值或预先设置的安全值。此时调节不再是闭环的,而控制输出是由操作员直接调整。这种故障安全机制是完全自动进行的,将大大提高系统的可靠性。
一般说功能块在正常工作情况下是处于后5种模式中的一种,如果它在前3种模式就说明它正处于一种不正常的状态。
3.量程标定参数
现场总线控制系统从输入设备得到测量数据经过运算后由输出设备执行,其中有些环节使用工程单位比较方便,但有些环节使用百分数比较方便。基金会制定的标定参数决定了变量的量程范围、工程单位及小数点右边显示几位。例如浮点数标定参数有DS-68的数据结构(见表9-3-3)。
表9-3-3 浮点数标定参数的数据结构DS-68
标定参数分布在输入、输出功能块及转换器块和计算功能块中,如表9-3-4所示。
PID功能块使用PV_SCALE参数将误差信号转换成百分比,通过计算得出同样是百分比的输出信号,同时可以使用OUT_SCALE参数将它转换回工程单位数值;AI功能块使用XD_SCALE参数决定从输入转换器块得到的数值的工程单位;AO功能块使用XD_SCALE参数将SP值转换成输出转换器块得到的工程单位的数值,同时它也是反馈读出值的工程单位。表9-3-4是和标定有关的参数分布。
表9-3-4 有关标定的参数分布
注:1.*、**取值需要互相匹配的参数对。
2.有连接关系的参数双方也必须有相同的标定范围。
4.错误状态的参数处理和激活(www.xing528.com)
当功能块被检查出不正常情况,例如有不能使用的输入信号或在指定的时间内通信仍然不能完成;或用户在资源块设定了错误状态,于是模块将进入一种特殊的状态,此时输出块可能采取一些安全的动作,这种特殊的状态称“错误状态”。它有三种产生的途径:
(1)由功能块自身检查出的错误
某些功能块可以组态成为当发现一个不能使用的输入(如上讲中质量“坏”的数据)时或在指定的时间(FSTATE_TIME)内仍然不能完成通信就送出一个初始的错误状态(IFS)。
(2)传递初始的错误状态(错误产生在上游的功能块)
支持串级控制的功能块有一个特殊的处理,就是把错误状态传递到下游的功能块直到输出块。
(3)使用资源块激活错误状态
资源块的错误状态参数可以强制所有该设备内的输出功能块立刻进入错误状态。
当错误状态激活后输出功能块可以被组态为“冻结”在错误状态发生前的最后值或预先设置的某个值(如全开或全关)。这些功能说明,基金会现场总线不仅能对系统和设备进行随时自诊断,而且在它发现错误时可以自动采取必要的安全保护动作。
5.报警和事件参数
报警和更新事件称作警报,它表达检测到功能块应用内部重要的事件发生。功能块可以把这个事件报告接口设备或其他现场设备。报警不仅指变量和极限之间的比较,还包括功能块执行时发现的软件硬件故障引起的块报警。
更新事件表示一个静态参数被改变,仅此时接口设备才读这个静态参数,和动态参数相比,这类参数极少改变。有关报警的参数有:
(1)报警参数(X_ALM)
浮点数报警参数数据结构为DS—71,见表9-3-5。
表9-3-5 浮点数报警参数数据结构DS-71
(2)报警极限参数X_LIM
当数值达到或大于极限时,一个模拟报警发生了。报警状态一直维持到数值小于极限值减去报警回差。只要设定报警极限值是正负无穷(INF)就等于关闭了报警。
(3)报警回差参数ALARM_HYS
为清除报警条件,PV和OUT要小于报警极限一定的值称报警回差。报警回差以PV/OUT的量程的百分比来表示。
(4)警报优先权参数X_PRI
警报优先权参数指一个报警或事件的重要性优先权。优先权可以是:
从0变为1,该警报不作为公告发布,自动确认。优先权大于1属于较重要警报,则必须报告。
(5)报警摘要参数ALARM_SUM
这个参数摘要具有多达16个报警状态。
(6)块报警参数BLOCK_ALM
块报警被用于组态、硬件、连接错误或块内的系统问题。因为它是字符串,所以可以表示多种错误。
(7)更新事件参数UPDATE_EVT
功能块更新事件参数是为捕捉向功能块内一个静态参数写入的动态信息。静态参数每改变一次,本参数值加1,和ST_REV参数类似。
6.仿真参数
所有输入输出功能块都有仿真参数SIMULATE或SIMULATE_D(开关量)、SIMULATE_P(脉冲)。它们包括值、状态和一个使能(激活)开关。这个开关在I/O功能块、转换器块和硬件通道间起切换作用。这使得现场总线系统可以在操作站对系统进行仿真调式,大大节省了系统调试工作量。
当仿真条件开关使能,转换器块或输入/输出通道被切断。仿真的值和状态被送给输入功能块(或回读参数)。状态可以用来仿真转换器错误。仿真使能时资源块在块错误状态。这提示系统处在不能进行按照正常算法的运行条件下。仿真使能和禁止时的作用如表9-3-6所示。
表9-3-6 仿真使能和禁止时的作用
浮点数仿真参数数据结构为DS-82,如表9-3-7所示。
表9-3-7 浮点数仿真参数数据结构DS-82
7.块选项
为了满足对系统各种复杂性能的组态需要,有些参数无法用简单的表达来确定,这些参数包括一系列可选的值用来表达不同的含义。人们称之为选项参数。其中有些选项参数为许多功能块共同使用,它们是:
(1)IO_OPTS选项参数
此参数用于I/O特性的设置,例如是否将输入输出离散变量进行逻辑反相;错误状态时输出要达到的值;AI功能块的小信号切除功能被使能;一旦错误状态激活,设定目标模式是手动(Man)等。
(2)CONTROL_OPTS选项参数
此参数用于控制特性的设置,例如可以设定旁路,旁路时控制策略不能实现闭环控制、允许设定值SP跟踪过程变量PV;当目标和现实模式是手动(Man),不对输出进行限制等。
(3)STATUS_OPTS选项参数
此参数用于对参数状态(质量)的处理,例如原始输入参数(IN)的状态如果是坏(BAD),设定输出参数(OUT)是初始错误状态;如果IN坏,目标模式到手动;如果传感器信号被高或低限制,设它输出的状态为“坏”等。选项参数都是两个字节的“位串”,各位分别表达不同的选择。还有一些选项参数仅仅用于某一个功能块,在此就不予以详细介绍。
8.通道组态参数
通道组态参数用于多通道I/O设备,它和设备特性有关。例如:
(1)固定I/O设备
如变送器、多通道温度输入模块、开关量模块等。可参考有关设备厂商使用手册。
(2)可组态I/O设备
主要指插卡模块结构的控制设备,它们的I/O卡件的种类和数量都不是固定的。可参考有关设备厂商使用手册。
9.功能块和参数表达
功能块一般的表达首先是一个逻辑框图,逻辑图有可连接的输入输出端子(参数)并形象地用图形表示信号的连接关系和处理算法。功能块除了上面提到的参数外还有各自特有算法的有关参数,所以将有一段对功能块算法的描述。参数表前6项如表9-3-8所示。
表9-3-8 功能块参数列表形式
注:E:列举参数;na:无单位位串;RO:只读;D:动态;S:静态。
上面列举的6个参数被规定为通用参数,对每个块都适用,所以后面介绍功能块参数时将省略这6个参数以节省篇幅。这里先对它们做如下介绍:
ST_REV:本功能块相关静态数据版本级别,每当静态参数属性被改变或重写一次,此参数值将被加1。它起跟踪静态参数属性改变的作用。
TAG_DESC:为用户描述功能块的用途方便,最长32个字符,不参与功能块运行。
STRATEGY:用于方便识别块的分组(0~65535),此数据也不被块检查和处理。
ALERT_KEY:这是一个工厂辨识号码(1~255),这个信息用于主系统对报警进行分类等,不影响功能块运行。
MODE_BLK:块模式参数,用户最常用的重要参数,见前面内容。
BLOCK_ERR:表示多种块的软硬件相关的错误状态,它们是:0—其他(低位LSB);1—块组态错误;2—连接组态错误;3—仿真激活;4—本地跨越LO;5—设备失效安全设定;6—设备需要立刻维护;7—输入错误/PV有坏状态;8—输出错误;9—存储器错误;10—失去静态数据;11—失去NV数据;12—回读检查错误;13—设备现在需要维护;14—上电;15—O/S(高位MSB)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。