中文DeltaV入门教程 下载本文

DeltaV入门教程 翻译:李俊峰

符号 作用 引出一个路径,指向一个内部参数(在当前模块里),可以通过 Insert Internal Parameter按钮浏览这些参数。 引出一个路径,指向一个内部参数up one block level,可以通过 Insert Internal Parameter按钮浏览这些参数。 引出一个路径,指向一个外部参数(在另一个模块里),可以通过 Insert External Parameter按钮浏览这些参数。 批处理时,定义一个统一的名称。 分隔参数名和参数值。 赋值符号。Step actions use this Operator。右侧的值赋给左侧。 等于号。类似的比较符号还有 >, <, >=, <=,!=(不等于), <>(不等于). Transitions use these operators. 加号。用于两个数值或字符串的相加。 + Used for addition of numeric values or for concatenation of strings ‘ ’ 单引号。把参数括起来。 Single quotes are used to enclose parameters. 双引号。把字符串括起来。 Double quotes are used to enclose strings. 放在每条语句的结尾。表示一句话的结束。 ; Used to continue action statements on subsequent lines of the Expression Editor.

参数标签(Parameter Tagnames):

在表达式中,参数用标签(tagnames,简称tags)的形式来描述:模块名 / 功能块名 / 参数名。 编写表达式需要输入参数标签时,可以手工输入,也可以通过浏览窗口在数据库中查找。

联锁条件:

接下来,我们将用表达式编辑器给3个条件块编写表达式,指定联锁条件。

1, 选中条件功能块CND1,右键—〉 Expression,打开编辑器。删除默认的第一行FALSE.。点击Insert External Parameter(插入外部参数)按钮,弹出浏览框,一步步找到TANK-101 —〉XV-101 —〉DC1 —〉PV_D —〉CV。编辑器将在文本框里自动生成参数标签。点击或输入“ = ”,点击Insert Named State(插入预定义状态),找到预定义设置“ vlvnc-pv ”,选择状态CLOSED,点OK确认。最后,加上分号(;)。

完成后的表达式: '//XV-101/DC1/PV_D.CV' = 'vlvnc-pv:CLOSED';

XV-101是截止阀模块,DC1是功能块, PV表示实测值,CV表示当前值。CLOSED 是预定义设置vlvnc-pv的状态之一。这个表达式的意思是,当截止阀关闭时,发出联锁信号(使电机停下来)。

说明:“预定义设置”( Named sets)在DeltaV Explorer —〉System Configuration —〉Setup下完成,功能相当于C语言中的宏定义,即命名一个概念,使它等同于某个常量。

点击Parse(分析)按钮,进行检验。如果编写的语句中有语法错误,将给出提示。检验完成,点OK。 2,

同样步骤,给第二个条件块输入表达式: '//LI-101/AI1/PV.CV'< 100;

举例 / ^/ '//XV-101/DC1/PV_D.CV' 'vlvnc-sp:OPEN’ 'SP':='SFCCTRL:IDLE' 'SP'='SFCCTRL:START' // # # : := = \ DeltaV入门教程 翻译:李俊峰

其中,LI-101是液位计的模块,AI1是模拟量输入块,PV.CV是模拟量输入的当前值。表达式的意思是,如果液位低于100,则发生联锁。

3, 给第三个条件块输入表达式: '//FIC-101/PID1/PV.CV' < 5;

FIC-10是输出流量调节阀的控制模块,PID1是回路功能块。PV.CV是调节阀开度的当前值(单位:%)。含义:如果调节阀开度小于5%,则发生联锁。

给MTR-101指定DSTs:

选中设备控制功能块DC1,在参数窗口,双击IO_IN_1参数(the parameter for the run status signal),弹出属性对话框,在Device Tag(位号)栏输入XI-1(如果已经配置了控制器和I/O通道,可以直接浏览搜索),参数栏自动变为正确的参数FIELD_VAL_D。 双击IO_OUT_1参数(Discrete Loop功能块给现场设备的输出信号),设定位号 = ZX-1,参数自动变为OUT_D。

完成MTR-101模块

1,连接到画面TANK101。过程略。注意:这一模块有两个系统预定义的画面,Detail(详情)画面DL_DT8,和Faceplate(面板)

画面DL_FP。把详情画面的连接DL_DT8改成DL_DT3(本例只有三个条件块)。 2,分配模块到控制器。过程略。保存模块。过程略。 3,把Control Studio最小化。

练习8:创建时序功能图(SFC图)

时序功能图是一种特殊的模块,用来定义一个“时间—事件”流程,比如在特定步骤、特定条件下,使某个设备自动开启或关闭。时序功能图由步程(Step)和转换条件(Transition condition)组成,每一步程发生一个或几个动作。步程和步程之间是转换条件。系统以非常高的频率对SFC图进行扫描,如果发现某个条件的值为“真”(True),就关闭上一步,启动条件后面的下一步。

模板库不提供SFC模块的模板,必须根据需要,自己设计。因为对于不同的控制流程,相应的SFC图千差万别。设计SFC图的基本步骤,是先确定步程,再确定步程之间的转换条件。

水箱系统的时序:

本节内容我们将为水箱系统设计一个SFC图,来控制排水的流量。为了能够控制SFC,需要先创建一个SFC参数SP(作用和C语言里的指针相同),然后命名一个预定义设置SFCCTRL,以及它的两个取值:0=IDLE ,1=START。

水箱控制时序如下:

Step 1:Stop (即, SP = IDLE)。 Transition:等待用户将 SP 转为 START。

Step 2:把流量回路社为自动模式,设置动作点为 50 gpm(加仑每分钟)。 Transition:等待调解阀达到 30% 开度。 Step 3:打开截止阀。.

Transition:确认截止阀已打开。 Step 4:启动水泵。 Transition:确认水泵开启。

我们需要先在DeltaV 浏览器里创建一个预定义设置SFCCTRL。之后再到Control Studio里创建一个包含SFC图的模块。

创建预定义设置:

1, DeltaV Explorer —〉System Configuration —〉 Setup —〉Named Sets。

2,右键 —〉New Named Set,一个默认名字为NamedSet n的预定义设置出现,把名字改为SFCCTRL。

DeltaV入门教程 翻译:李俊峰

3,双击SFCCTRL(或右键 — Properties),出现属性对话框,如右图: 4,在Description(类型)栏输入Sequence Control(时序控制)。 5,点Add,出现状态属性对话框,如图。输入IDLE,点OK。

注意:预定义设置的命名要区分大小写。

6, 同样方法,创建另一个预定义状态“START”,Value为1。 7,点OK,关闭属性对话框,最小化DeltaV浏览器。

创建SFC模块: 接下来,正式开始创建时序功能图。创建SFC图的基本步骤如下:创建SFC模块,创建参数SP(使操作人员可以对模

块进行启动操作),添加步程和条件。

1,新建。打开Control Studio,选择File —〉 New,在弹出的新建对话框设置Object Type(对象类型)为Control Module or Template,设置Algorithm Type(算法类型)为Sequential Function Chart,点OK。一个SFC模块出现,默认包含一个步程:S1。如右图:

2,创建SP参数。点击参数窗口,右键 —〉Add,出现添加对话框,如下左图。设置Parameter type 为 Named Set。然后在属性框里,Named set 和 Named state分别设为SFCCTRL和IDLE。点OK完成。

3,添加步程。选中S1,把名字改为STOP_AND_WAIT。在右下角的Action(动作窗口),右键 —〉Add,出现属性对话框,如下右图。设置

Step Description(步程描述)= Stop and Wait(停止并等待), Type(动作类型)= Assignment(分配,即分配表达式结果到目标), Qualifier(动作限定)= Pulse(脉冲,即表达式的赋值语句只在第一次扫描时有效)。

动作表达式 = ' SP':='SFCCTRL:IDLE'; (注意区分大小写),作用是把起始状态定义为静止。

提示:也可以点Expression Assistant(表达式助手)按钮,打开表达式编辑器,来编写表达式。在编辑器里,可以通过Insert Named State按钮找到SFCCTRL:IDLE。

DeltaV入门教程 翻译:李俊峰

设置完毕,点OK。

在Action窗口选中A1,右键 —〉Rename,把名字改为SET_TO_IDLE(设4, 设置转换条件。在元素板的All SFC Items类中选择Transition(转换)方。一个名为T1的加号图标出现。双击T1,出现属性对话框。设置

Description(转换描述) = Wait until Start(等待到启动)

Transition Condition = 'SFCCTRL:START';意思是当SP变为START状态时就转到下一步。

点OK确认。把名字T1改为WAIT_UNTIL_START(等待到启动)。

5, 完成SFC图。参照表4 - 2,添加其余的步程和转换条件,最后一步用一个Termination(终止)图标结束。这一过程中可以借助Tools —〉Diagram Preferences (偏好) 、Display Grid (显示网格) 、Snap to Grid (对齐到网格)等工具,使画面更整齐。

注意:本例中,所有的 Action Type(动作类型)都设为Assignment。除了第二个步程Step2外,所有的Action Qualifiers(动作限定)都是 Pulse。Step2的限定设为Non-stored,原因是,如果 Action 2 Step 2 设为 Pulse,it might not get set because it waits until the actual mode is Auto. It would fail on the first try and never be set)

用连接工具

,依次连接所有的步程和转换条件。

为静止)。

图标,拖到第一个步程STOP_AND_WAIT下

完成后的效果如右图所示。