DeltaV组态逻辑(Logical)功能块详细说明

DeltaV组态逻辑(Logical)功能块详细说明
DeltaV组态逻辑(Logical)功能块详细说明

逻辑与(AND)功能块

此主题包括

逻辑与(AND)功能块根据二到十六个离散输入的逻辑与(AND)关系生成一个离散输出值。功能块支持信号状态传播。逻辑与功能块里没有模式或者报警检测。

逻辑与(AND)功能块

IN_D1 到IN_D[n]是离散输入值和状态(多达16个输入)。

OUT_D是离散输出值和状态。

原理图-逻辑与功能块

下图显示了逻辑与功能块的内部结构

逻辑与功能块原理图

功能块执行-逻辑与功能块

逻辑与功能块的输入数是个可扩展参数。功能块缺省有两个输入。您可以选择功能块原理图,右击并选择扩展参数(Extensible Parameters),然后修改输入的数量。这为功能块创建额外的输入连接器。

逻辑与功能块检查您定义的输入,并应用逻辑与到输入中。当所有的输入是真(1),输出为真。当一个或多个输入为假(0),输出为假。

状态处理-逻辑与功能块

输出状态设为所选输入的最坏状态,除非至少一个输入是假并且其状态为非坏,输出状态设为GoodNonCascade。

参数-逻辑与功能块

下表列出了逻辑与功能块的系统参数:

逻辑与功能块系统参数

注意参数的缺省值和数据类型信息可以通过展开参数视图来获得。

应用信息-逻辑与功能块

逻辑与功能块用于确定是否所有的离散输入都为真。您可以使用逻辑与功能块在一个或者多个紧急停止条件满足时紧急停止一个过程。

您也可以在联锁条件里使用逻辑与功能块,保证只有在进料阀打开并且储罐的液位在最小值之上时泵运行。阀和液位变送器值可以作为逻辑与功能块的输入。只有在两个条件都满足时,逻辑与功能块才会发送一个信号来启动泵。结果信号将送到离散输出功能块作额外处理,像下面的例子一样。

逻辑与功能块应用举例

逻辑或(Or)功能块

此主题包括

逻辑或(Or)功能块根据二到十六个离散输入的逻辑或关系生成一个离散输出值。当一个或多个输入值为真(1)的时候,输出设为真。

功能块支持信号状态传播。逻辑或功能块没有模式或者报警检测。

逻辑或(Or)功能块

IN_D1到IN_D[n]是离散输入值和状态(多达16个输入)。

OUT_D是离散输出值和状态。

原理图-逻辑或功能块

下图显示了逻辑或功能块的内部结构:

逻辑或功能块原理图

功能块执行-逻辑或功能块

逻辑或功能块的输入数量是一个可扩展参数。功能块缺省有两个输入。您可以选择功能块原理图,右击并选择扩展参数(Extensible Parameters),然后修改输入的数量。这为功能块创建额外的输入连接器。当一个或多个输入为真(1)的时候,输出设为真。否则,输出设为假。

状态处理-逻辑或功能块

输出状态设为输入状态的最坏值。不过,当至少一个输入为真的时候并且状态不是坏,输出状态设为GoodNonCascade。

参数-逻辑或功能块

下表列出了逻辑或功能块的系统参数:

逻辑或功能块系统参数

参数单位描述

IN_D1 to IN_D16无

离散输入值和状态。输入的数量是可扩展

参数。

OUT_D无离散输出值和状态。

注意参数的缺省值和数据类型信息可以通过展开参数视图来获得。

应用信息-逻辑或功能块

逻辑或功能块用于给一些离散输入施加逻辑或作用。您可以根据设备状态使用逻辑或功能块来触发事件。

应用举例:设备关闭

假设一个下游中继器必须在上游中继器关闭时关闭。下图显示了中继系统的举例:

逻辑或功能块应用举例

您可以组态逻辑或功能块位在中继器1或中继器2指示为关闭的时候停止中继器3。下图是这个例子的功能块图:

逻辑或功能块原理图举例

逻辑非(Not)功能块

此主题包括

逻辑非(Not)功能块对离散输入信号进行逻辑转换,并生成一个离散输出值。当输入为真(1),输出为假(0)。当输入为假,输出为真。

功能块支持信号状态传播。逻辑非功能块没有模式或者报警检测。

逻辑非(Not)功能块

IN_D是离散输入值和状态。

OUT_D是离散输出值和状态。

原理图-逻辑非功能块

下图显示了逻辑非功能块的内部结构:

逻辑非功能块原理图

功能块执行-逻辑非功能块

逻辑非功能块生成一个输入的逻辑非输出值。当输入为假,输出为真。当输入为真(1或更大)的时候,输出为假。下图显示了逻辑非功能块执行的举例。

逻辑非功能块执行举例

状态处理-逻辑非功能块

输出状态设为输入的状态。

参数-逻辑非功能块

下表列出了逻辑非功能块的系统参数:

逻辑非功能块系统参数

注意参数的缺省值和数据类型信息可以通过展开参数视图来获得。

应用信息-逻辑非功能块

逻辑非功能块用于在一些输入上实现逻辑非函数。例如,您可以在离散输入信号丢失或者变为假的时候,关闭一个常开阀。

动作(ACT)功能块

此主题包括

动作(ACT)功能块在输入值为真时用来评估表达式。数学(Math)功能块,逻辑算子,还有常数可以用在表达式里。在动作(ACT)功能块里没有模式,报警检测,或者状态处理。

动作(ACT)功能块

IN_D是初始化表达式估计的值和状态。

原理图-动作(ACT)功能块

下图显示了动作(ACT)功能块的内部结构:

动作(ACT)功能块原理图

功能块执行-动作(ACT)功能块

当输入(IN_D)设定为真(1)的时候动作(ACT)功能块评估表达式。结果将送到外部引用参数;该功能块没有输出。

表达式是由操作数,算子,函数,常数,还有关键词组成,有指定语法的结构文本。用公式编辑器来写表达式。

请查阅表达式这一主题来获得关于写表达式和被支持的操作数,算子,函数,常数,还有关键词。

状态处理-动作(ACT)功能块

IN_D的状态不影响对表达式的评估。表达式由IN_D是否为真(1)来评估。

参数-动作(ACT)功能块

下表列出了动作(ACT)功能块的系统参数:

动作(ACT)功能块的系统参数

注意参数的缺省值和数据类型信息可以通过展开参数视图来获得。

应用信息-动作(ACT)功能块

您可以使用动作(ACT)功能块来实现复杂运算,信号调制,或者标准功能块不具备的功能。您可以使用三角函数,指数函数,幂函数,还有一些标准的数学函数。

应用举例-强制自动控制

如果有一个储罐由三个泵来填充不同成分。下图显示了该过程的示意图:

功能块应用举例

假设您需要操作员能够在一种或者两种成分正在填充的时候可以选择把液位控制器打到自动或手动模式。不过,在三种成分同时填充的时候,您想把储罐液位控制在设定值为95%的自动模式上。您可以使用两个动作(ACT)功能块来满足这个需求,就像下图所示那样:

动作(ACT)功能块图举例

当三个泵都开启的时候,动作(ACT)功能块的输出为真(1)。这样就触发了两个动作(ACT)功能块来运行它们的表达式。这样组态FORCE_AUTO动作(ACT)功能块的表达式来把TANK_LEVEL PID控制器目标模式设为自动:

'/TANK_LEVEL/MODE.TARGET' := AUTO;

这样组态FORCE_SP动作(ACT)功能块的表达式来把TANK_LEVEL PID控制器设定值设为95%:

'/TANK_LEVEL/SP.CV' := 95.0;

只要三个泵正在运行并且有操作员试图改变TANK_LEVEL控制器模式或者设定值超驰,动作(ACT)功能块的表达式将继续运行。

布尔扇输出(BFO)功能块

此主题包括

布尔扇输出(BFO)功能块解码一个加权二进制输入为单个的位,并为每位生成一个离散输出值。功能块支持信号状态传播。布尔输出功能块没有模式或报警检测。

布尔扇输出(BFO)功能块

IN_INT是32位无符号二进制加权输入值和状态。

OUT_D1到OUT_D[n]是表示输入位的离散输出值和状态(多达16个输出)。

原理图-布尔扇输出功能块

下图显示了布尔扇输出功能块的内部结构:

布尔扇输出功能块原理图

功能块执行-布尔扇输出功能块

布尔扇输出功能块视32位无符号输入为二进制加权值。组成该值的每位都转换成功能块的离散输出。

布尔扇输出功能块输入的数量是一个可扩展参数。功能块缺省有两个输出。您可以通过选择功能块图,右击,点击可扩展参数(Extensible Parameters),然后修改输入数量来增加输出。这样就给功能块创建了额外的输出连接器。

第一个离散输出表示解码输入值的最不重要的一位。第二个离散输出是下一个最不重要的一位,等等。输入(IN_INT)的状态传递到离散输出(OUT_D)。

下面是IN_INT = 5153的布尔扇输出的执行举例。

0001010000100001

OUT _D1 6OUT

_D1

5

OUT

_D1

4

OUT

_D1

3

OUT

_D1

2

OUT

_D1

1

OUT

_D1

OU

T_

D9

OU

T_

D8

OU

T_

D7

OU

T_

D6

OU

T_

D5

OU

T_

D4

OU

T_

D3

OU

T_

D2

OU

T_

D1

状态处理-布尔扇输出功能块

功能块的输出(OUT_D)状态设置为和功能块的输入(IN_INT)状态相等。

参数-布尔扇输出功能块

下表列出了布尔扇输出功能块的系统参数

布尔扇输出功能块系统参数

参数单位描述

IN_INT无32位无符号二进制加权输入值和状态

OUT_D1 to OUT_D16无

离散输出值和状态。输出的数量是个可扩

展参数。

注意参数的缺省值和数据类型信息可以通过展开参数视图来获得。

应用信息

您可以用布尔扇输出功能块来优化两个控制器之间的数据通讯。为了做到这些,您可以使用在一个控制器上的布尔扇输入(BFI)功能块来把离散值压缩为整数。接着,将整数值传递到另一个控制器的布尔扇输出功能块来扩展整数为其原始的离散表示。

布尔扇输入(BFI)功能块

此主题包括

布尔扇输入(BFI)功能块根据加权的模2和,二进制代码的十进制(BCD)代换,转换状态,或一到十六个离散输入的逻辑或关系生成一个离散输出。功能块支持信号状态传播。布尔扇输入(BFI)功能块没有模式和报警检测。

布尔扇输入(BFI)功能块

RESET_IN,当为真(1)的时候,清除FIRST_OUT。

IN_D1到IN_D n是使离散输入值和状态(多达16个)。

OUT_INT是无符号32位二进制加权输出值,代表了输入(IN_D n)位组合。

OUT_D是表示输入(IN_D n)的逻辑或关系的输出值。

FIRST_OUT是二进制加权输出,表示离散输入值(IN_D n)位组合,在OUT_INT 从零到非零变化时同时ARM_TRAP为非零时设置的。

原理图-布尔扇输入功能块

下图显示了布尔扇输入功能块的内部结构:

布尔扇输入功能块原理图

功能块执行-布尔扇输入功能块

布尔扇输入功能块输入的数量是一个可扩展参数。功能块缺省有两个输入。您可以选择功能块原理图,右击并选择扩展参数(Extensible Parameters),然后修改输入的数量。这为功能块创建额外的输入连接器。

布尔扇输入功能块在每次功能块执行时为设定状态检查离散输入值。设置OUT_INT输出为离散输入的二进制加权值(IN_D1加权为1, IN_D2 为2, IN_D3 为4, IN_D4 为8, 等等)。OUT_INT的状态设置为输入的最坏状态。

当OUT_INT从零到非零转换时并且ARM_TRAP非零,FIRST_OUT通过复制OUT_INT到FIRST_OUT的方式将其捕获。FIRST_OUT保留其值,直到IN_D n参数转换到零然后到一个或更多非零(并且ARM_TRAP非零)为止。设定RESET_IN 为非零值,而设置FIRST_OUT为零。复位以后,FIRST_OUT保持为零,直到所有IN_D n参数转换到零然后到一个或更多非零。当陷阱发生时,FIRST_OUT的状态等于OUT_INT的状态。

OUT_D的值是离散输入的逻辑或关系。它的状态等于输入的最坏状态。

为了支持拨盘开关接口,布尔扇输入功能块使用一个被包含参数来存储代表这些离散输入的BCD码。前四个离散输入用于构建BCD码的个位。(这种情况下,第一个输入是最不重要的位)。下面四个输入用于BCD码的十位,百位,千位,还有万位。当四表示的位数大于九的时候,数位限制为九。

下图是布尔扇输入功能块以OUT_INT = 5510作为例子的执行情况。结果是

BCD=1586,OUT_D = 真。

布尔扇输入功能块执行举例

状态处理-布尔扇输入功能块

OUT_D的状态设为输入的最坏状态。不过,当至少一个输入为真的时候并且状态不是坏,输出状态设为GoodNonCascade。

OUT_INT的状态设为输入的最坏状态。FIRST_OUT的状态是FIRST_OUT 写入时在输入中最坏的状态。当FIRST_OUT值清零时,FIRST_OUT状态复位。

参数-布尔扇输入功能块

下表列出了布尔扇输入功能块的系统参数:

布尔扇输入功能块系统参数

参数单位描述

ARM_TRAP无非零的时候,ARM_TRAP使能先出捕获机构。

BCD无离散输出的BCD码

注意参数的缺省值和数据类型信息可以通过展开参数视图来获得。

应用信息-布尔扇输入功能块

布尔扇输入功能块在转换到设定状态时对于检测和滞留一个或更多离散输入很有用。当检测到这个条件的时候,OUT_INT的副本就保存在功能块的FIRST_OUT 输出。该输出可以用于决定哪个输入或者初始条件导致机器故障。当OUT_INT 总是反映出输入的状态,而FIRST_OUT输出只在IN_D n参数从全为零转换到一个或多个非零,并且ARM_TRAP 非零的时候更新。

传递(XFR)功能块

此主题包括

传递(XFR)功能块从两个模拟量输入信号中选择一个,并在一定时间之后把它传递到输出。从一个输入到另一个输入的传递通过线性斜坡而变得平滑。

传递功能块支持信号状态传播。功能块没有模式或者报警检测。

传递(XFR)功能块

IN_1是第一个模拟量输入值和状态。

IN_2是第二个模拟量输入值和状态。

SELECTOR选择的输入被放置在输出。

OUT是模拟量输出值和状态。

原理图-传递功能块

下图显示了传递功能块的内部结构:

传递功能块原理图

功能块执行-传递功能块

传递功能块根据SELECTOR参数值从两个输入里选择一个。当SELECTOR为假(0)的时候,IN_1在特定时间(BAL_TIME)之后传输到输出。当SELECTOR为真(1)

的时候,IN_2在(BAL_TIME)之后传输到输出。当BAL_TIME=0的时候,输出瞬时变为新的值。

状态处理-传递功能块

输出状态设为选择输入和SELECTOR的最坏状态。

参数-传递功能块

下表列出了传递功能块的系统参数:

传递功能块系统参数

注意参数的缺省值和数据类型信息可以通过展开参数视图来获得。

应用信息-传递功能块

使用传递功能块来防止突然变化送到过程上。例如,如果过程不能处理流量的突然变化,传递功能块可以将流量变为新的值。您也可以使用功能块在现场值状态变坏时传输预先决定的值。

应用举例:温度传感器开关

您可以使用传递功能块作为两个温度传感器的输入开关。SELECTOR参数根据储罐液位选择温度输入。下图是该应用的功能块示例功能块图:

传递功能块原理图举例

多路转换器(MLTX)功能块

此主题包括

多路转换器(MLTX)功能块从多达十六个值中,选择一个输入值,并将其送到输出。功能块支持信号状态传播。多路转换器功能块没有模式或报警检测。

多路转换器(MLTX)功能块

SELECTOR选择要送到输出的输入。

IN1到IN[n]是模拟量输入值和状态(多达16个输入)。

OUT是模拟量输出值和状态。

原理图-多路转换器功能块

下图显示了多路转换器功能块的内部结构:

多路转换器功能块原理图

功能块执行-多路转换器功能块

多路转换器功能块读取多达十六个输入的值和状态并选择SELECTOR参数设计的输入。功能块的输入数是一个可扩展参数。功能块缺省有两个输入。您可以选择功能块原理图,右击并选择扩展参数(Extensible Parameters),然后修改输入的数量。这为功能块创建额外的输入连接器。

从一个输入到另一个输入的转换,可以通过使用平衡时间(BAL_TIME)参数来平滑进行。BAL_TIME参数定义了前一个输入值斜坡变化到新选择的输入值所需要的时间。当BAL_TIME设置为零的时候,输入之间的转换是瞬时的。

通过组态SELECT_NEXT_GOOD参数,您可以选择让功能块自动选择下一个有良好状态的输入。接下来,如果选择的输入状态为坏,下一个良好状态输入选中,以升序排列并从最后一个到第一个滚动。如果所有输入的状态为坏,功能块将选择的输入放在输出并标记状态为坏。当该选项为假,功能块设置输出到所选择的输入而不管其状态。

下表给出了一个带有三个多路输入的输出值和状态的举例。表里的输入值和状态使用一个值[状态]命名法来表示。例如,1[良好]是值为1并且状态为良好。

相关主题
相关文档
最新文档