中文DeltaV入门教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中文DeltaV入门教程
1. DeltaV系统总述(略)
2. 教程总述
本教程讲述如何快速建立一个过程系统并使其运行。
读者将会了解一些相关的基本概念,用于配置工作站和控制节点、定义I/O 、创建控制策略和操作画面。
还可以从操作站的观察点查看系统。
硬件配置往往是一次性工作——而且在软件配置之前已经完成,所以,这一部分的信息我们放到靠后的章节中(第8章)。
如果工作站还没配置,你可以看完本章之后,再看第8章。
如果工作站已经配置完成,你可以在没有操作站,和不设置I/O的情况下,进行第3章到第7章中的所有练习。
不过,为了使练习更具有真实性,而且能够实现某些功能(如给操作站分配模块),读者最好进行硬件配置。
2.1 说在前面
本教程的练习,是针对一个水箱系统——包括测量液位、排水时控制流量——创建控制策略和操作画面。
包括6个部分:
第3章,学习DeltaV浏览器,关于如何打开浏览器并使用导航功能进行查找。
第4章,学习创建和下载控制策略,介绍如何一步步创建水箱系统控制所需的4个模块,和用于定义水箱开关时序的时序功能图。
第5章,创建操作画面,学习DeltaV组态模式中的基本工具,以及如何用图片、面板、零件图、按钮、曲线图组成一个操作画面。
第6章,使用DeltaV运行模式,介绍如何在操作站的观察点上使用操作画面、修改参数、确认报警,以及进行其他设置。
第7章,采集和显示数据,学习如何用DeltaV工具和表格载入功能收集和显示现场设备的实时数据。
第8章,配置网络、装载和分配用户权限、设置帐户。
一步步学习配置工作站、控制器和I/O点。
2.2例子:水箱系统
右图是一个假定的水箱控制系统,可以在排水时控
制流量,作为练习,在下文中,将为它创建一个控制策略
和时序。
2.2.1 控制模块
首先要做的,是为上图中的控制回路创建4个模块。
椭
圆形的标注(LI-101、MTR-101等等),是给4个控制模
块取的名字。
LT-1、FT-1、XI-1等等,是位号(Device Tags),用来
标记变送器、阀,或其它I/O设备。
表2-1详细列出了所有的模块和I/O位号,这些在下文都将用到。
位号作为I/O组态的一部分,用于I/O卡通道,详见第8章。
2.2.2 时序功能图(SFC)
以创建模块了。
练习2: 通过DeltaV 浏览器复制一个电机模块(MTR-101)
水箱系统中有一个排水泵,电机的动作要受一些联锁条件(interlock)的约束。
下面将通过DeltaV浏览器,从库(Library)里找一个模块模板,添加到厂区中,改名。
然后在Control Studio中进行设置,包括设置联锁条件。
从库里复制模块模板时,模块会带着“history collection”。
History collection 是加在模块或节点上的用来定义连续历史数据采集的参数(数值记录、显示、采样周期,等等),这样,你可以在复制模块后,不必重新设置它的history collection。
在练习5——创建模块LI-101的内容里,将会介绍怎样从头开始设置history collection。
稍后,我们将用Process History View application察看the field value。
说明:DeltaV系统中,电机模块(MTR)的名字,一般遵循以下惯例:MTR后第一位数字表示有几个输出点,第二位数字表示有几个输入点。
比如,MTR-11_ILOCK表示有一个输出、一个输入,有联锁。
复制模块的步骤:DeltaV Explorer —〉Library —〉Module Templates —〉Motors-2State ,找到模板MTR-11_ILOCK,把它拖拽到TANK-101厂区下,改名为MTR-101。
如图。
注意:从库里复制东西到厂区,可以直接拖拽。
但是如果要从一个厂区里复制模
块到另一个厂区,必须按住Ctrl键,同时拖拽。
如果不按Ctrl键,效果是移动,而不
是复制。
注意:如果用DeltaV Batch application创建模块,模块的名字最多16个字符(字母、
数字、下划线),而且第一位必须是字母,不能使用破折号。
.
认识Control Studio:
Control Studio是专门用来编辑模块的窗口。
在Control Studio里,有很多可调节
大小的子窗口,可随意用鼠标调节它们的大小,也可以通过Window —〉
Arrange Windows或按钮恢复默认排列,以方便操作。
各子窗口的作用分别如下:
图表窗口(Diagram View):直观表现模块的内部结构。
参数窗口(Parameter View):用来设定模块的特性、报警上下限、缺省值(default values)、模式(mode),及其它参数。
层级窗口(Hierarchy View):显示模块的所有组成元素。
报警窗口(Alarm View):显示定义过的所有报警,及它们的报警限、优先级(priorities),及其它信息。
元素板(Palette):包含所有可用来组成模块的元素。
共分6类。
其中5类是库里就有的基本功能块,1类是特殊功能块(Special Items)。
可通过“右键—〉Switch Sides”或“View —〉Palette —〉Switch sides”移动元素板的位置,也可以通过“View —〉Palette —〉icon size”或“右键—〉icon size”调整图标的大小。
注意:如果在“Tools (工具)—〉Diagram Preferences(画面预设)”里修改了设置,实际显示可能和上图不太一样。
画面预设的
默认设置如下:
参数筛选:
参数是功能块里执行计算和逻辑的数据。
有一些参数,
在特定的功能块里是不可修改的;还有些参数,系统设有
默认值,但也可以根据需要修改;另一些参数,则必须由
用户设定。
有些功能块的参数非常多,为方便用户迅速找到需要的
参数,参数窗口中的Common(常用)筛选出了一组在模
块配置中最常见的参数。
这些参数都有默认值,不过应该
根据实际需要改成合适的值。
参数和参数筛选在Books
Online(在线说明)的Configuration(配置)菜单里有详
细的描述。
练习3:创建控制模块(XV-101)
在本节练习中,将使用模板为截止阀创建一个控制模块。
这次通过Control Studio调用库里的模板,而不是通过浏览器。
1,打开Control Studio:All Programs(文件)—〉DeltaV —〉Engineering(工程)—〉Control Studio。
或者在DeltaV Explorer
的工具条里点击按钮,也可以进入Control Studio。
(一般情况下,DeltaV Explorer被最小化以保持界面的整洁,如果你能够熟练使用Windows,你可以让几个DeltaV application 窗口一起打开。
)
2,从库里选择模板:点击File(文件)—〉New(新建),在新建对话框里,选中“Start from Existing”(从现有模板中查找),点Browse(浏览),出现浏览对话框,如图:
选择Object Type field(对象型文件)—〉Module Templates(模块模板)—〉Valves-Normally Closed(常闭阀)—〉VLVNC-11。
点OK。
1,点新建对话框的OK,完成设置。
这时Control Studio里出现一个未命名的VLVNC-11模块的复制品。
如图:
修改XV-101 控制模块:
系统提供的模板非常简单,只有一个功能块。
为了使它符合我们的水箱系统的控制需要,还需要进行一个必要的修改,就是用设备信号标识来定义模块的输入和输出(“位号”和“设备信号标识”不是一个概念,它们与I/O通道的分配过程有关,详见第8章)。
步骤如下:1,在Control Studio的图表窗口,选中功能块DC1 (表示“Device Control”功能块),在参数窗口选择一个参数,点右键,选择Filter Parameter List.,出现参数筛选对话框。
选中Common configuration和On-line,前者表示最常用的参数,后者表示关于操作的常用参数。
点OK。
2,这时,在参数窗口中列出了必须的参数。
找到IO_IN_1,双击,
出现属性(Properties)对话框。
在Device Tag栏中,输入LSC-1,点
OK。
位号LSC-1在本例中是一个限位开关。
下面Parameter一栏中的FIELD_V AL_D表示参数的类型。
“位号”
和“参数”两项,共同构成了“设备信号标识”(简称DST)。
如果已经完成I/O卡的配置(如第8章所述),可以直接通过“Browse
(浏览)”来查找设备。
3,在参数窗口中,双击IO_OUT_1,出现属性对话框,在
Device Tag栏输入XV-1,点OK。
在本例中XV-1是截止阀。
系统给出的Parameter默认值是OUT_D。
设置完成后的参数窗口如图:
练习4: 完成控制模块:
创建控制模块,都有四个必须的步骤:
1,定义与模块相关的操作画面。
2,分配模块给控制器(控制器是控制网络与I/O通道之间的信号中转装置,见DeltaV硬件
结构图)。
3,把模块保存到数据库。
4,校验模块配置。
下面将依次介绍这些步骤。
(还有一个余外的步骤是下载。
可以把模块分别下载到控制器上。
不过本例中将要下载的是整个控制策略,下载方法见本章结尾。
)
定义相关的操作画面:
与控制模块相关的画面有三种:主控画面(Primary control)、面板画面
(Faceplate)、详情画面(Detail)。
这三种画面的特点和作用在第5章、第
6章有详细说明。
在这里,只是简单介绍如何把画面和模块链接起来。
主控画面与控制模块的链接——在Control Studio中,点击工具栏的属性
按钮(或者选择File —〉Properties),出现属性对话框。
选择Displays
(显示)选项卡,在Primary Control(主控)下输入TANK101。
以后在第
5章里,将创建一个名为TANK101的主控画面(画面的名字必须字母开头,
不可以用连字符- ,不可以有DeltaV的关键字)。
同样,在下面的Detail和Faceplate 两栏可以分别填入“详情”和“面板”
两种画面的名字,实现另外两种画面链接。
完成后,点OK。
分配模块到控制器节点:
如果你已经配置了控制器或添加了占位器,接下来可以把
模块下载到控制器,或分配到占位器。
如果还没有做这些配
置,请参考第8章“配置控制器节点”。
关于控制器的硬件
连接,参考硬件手册——《Installing Your DeltaV Digital
Automation System》。
分配步骤如下:
在工具栏点“分配到节点”按钮,或选择File —〉
Assign to Node,出现浏览对话框。
如右图。
在对话框里选择
合适的控制器,点OK。
保存模块:
点击按钮,或File —〉Save,出现保存对话框,在Objects Type
(对象形式)框里选择Modules,在Look in框里找到Control Strategies—〉
TANK-101.,把模块命名为XV-101,保存。
校验模块配置:
点击属性按钮,或File —〉Properties,出现属性对话框,选择Tools
(工具)选项卡,点Verify Now(现在校验)按钮。
如右图。
系统会弹出一
个对话框,提示校验成功。
现在,我们已经完成了两个模块,一个控制电机,一个控制截止阀。
下一
个练习创建液位计模块LI—101。
练习5:从头开始创建一个模块(LI-101)
在本练习中,将创建一个模块,用来监测液位。
包括一个模拟量输入块(AI块),一个输出块,一个“提升”块。
“提升”块在元素板的Special Items里。
作用是把AI块的输出参数升格成一个独立的功能块,使之更容易被系统接受。
另外还有4个任务:
1,修改输入块的IO参数,使之对应到液位变送器的DST(信号标识)——LT-1。
2,修改输入块的OUT_SCALE参数,从默认的100改为10000(加仑)。
3,HI_HI_LIM值设为1000。
4,给输入块的PV添加历史采集(History collection),使液位记录能在“过程历史查看”(Process History View)子程序中显示。
新建:
在Control Studio界面中点击或File —〉New,弹出新建对话框。
直接点OK,确认默认设置。
Control Studio出现一个未命名的空白页。
添加和修改模拟量输入(AI)块:
从元素板的IO类里找到Analog Input (AI) function block,用鼠标拖拽到页面上,如下图。
如果想知道关于AI功能块的更多信息,选中AI块,点右键,选择What’s this?,将出现关于AI块的简要说明。
如下图。
在参数窗口中双击HI_HI_LIM(或右键选择Properties),弹出属性对话框,把数值改为1000,点OK。
然后,在参数窗口双击IO_IN,在Device Signal Tag框输入LT-1(液位变送器的位号)。
点OK。
注意:参数列表中,有一个L_TYPE参数,表示线性方式(linearization type),默认值为Indirect.(间接方式)。
必须保证这一参数为默认的Indirect.方式,不作改动,才能进行下一步:定义输入量的工程单位
(Engineering Units)。
设置工程单位(EU)和测量范围:双击OUT_SCALE参数,属性对话框设
置如右图。
其中scale表示测量范围,Engineering unit表示单位(这里选加仑),
Decimal place表示小数点位置。
设置完成,点OK。
为实测值(process value,即PV值)的输出添加一个功能块:
设置PV块的作用:对于一个输出值来说,作为一个独立的功能块——而不仅
仅是某个功能块下的一个参数——更容易被系统识别、计算、处理。
本练习中要
为AI块的OUT做历史曲线,那么,LI-101/PV比LI-101/AI1/OUT更适合做
历史采集的数据源。
在元素板中选择Special Items(特殊功能块),找到Output Parameter(输出
参数),用鼠标拖拽到AI块右边,弹出属性对话框,把参数名字改为PV(实测
值)。
其他设置:Parameter(参数)= Floating point with status(浮点型),
Parameter category(参数类型)= I/O。
完成,点OK。
功能块图上出现一个名为PV的功能块。
给PV添加历史采集(history collection):
选中AI块,在参数窗口找到PV参数,右键,选择Add History Recorder(添
加历史记录),出现历史采集对话框,如下图。
在Parameter field path(参数路径)框显示历史采集的对象为PV参量的当前值(current value,即CV),如果这里没有显示AI1/PV.CV,可以通过Browse(浏览)找到。
然后勾选Enabled(激活)。
Display Representation(显示方法)选择Line(线形)。
取样周期选择默认的60秒。
设置完成,点OK。
注意:“Line”可以在Process History View子程序中修改。
稍后,我们将把Area (TANK-101) 配置到Continuous Historian (连
续历史数据库)子系统中,激活工作站的历史数据采集功能,然后下
载工作站,使历史记录被收集和显示。
连接两个功能块:
点击工具条上的功能块连接按钮,鼠标变成铅笔形状,在AI块
的OUT参数和PV参数间画一条直线。
当右端连接到位时,铅笔会变
成形状。
点空白处或按钮,鼠标恢复常态。
完成后的图形如下:
完成LI-101模块:
创建一个模块的最后几步,在练习4里已有详细介绍,这里只简述一下,不再细讲:
1,连接控制画面。
选择File —〉Properties,把Primary Control picture设为TANK101。
2,分配模块到控制器。
File —〉Assign to Node,在浏览对话框里选择合适的控制节点。
3,保存模块。
File —〉Save,找到Control Strategies—〉TANK-101,保存形式为module,名字为LI-101。
完成之后,关闭Control Studio。
练习6:创建PID控制回路模块(FIC-101)
本练习中,将使用PID_LOOP模块模板(在模板库的Analog Control group里)建立一个PID控制模块,作为控制流量阀的基础模块。
这次,我们将通过DeltaV浏览器创建模块,将其分配到控制器,并且设定大多数相关的参数。
创建模块、分配到控制器:
1,新建。
打开DeltaV Explorer,,选择Library —〉Module Templates —〉Analog Control —〉PID_LOOP,把PID_LOOP 模板拖到厂区TANK-101下。
在TANK-101 area中,把PID_LOOP_1改名为FIC-101。
2,分配。
右键,选择Assign,或者直接把FIC-101拖拽到Physical Network —〉Control Network下,在浏览对话框找到合适的控制器,点OK。
设置模块:
在浏览器里双击FIC-101,右侧窗口列出了
FIC-101模块下的所有功能块。
选择PID1(一个PID回路功能块),右侧
窗口显示出它的所有参数。
如右图。
接下来,设定一些必要的参数。
双击IO_IN,在弹出的属性对话框里,把
Device Tag(位号)设为FT-1。
同样方法设置如下参数:
IO_OUT:Device Tag = FY-1;
GAIN(调谐):value = 1;
RESET:value = 3(每次重复间隔3秒);
PV_SCALE:Engineering unit = GPM(加
仑每分钟);
另外,CONTROL_OPTS
(control options)参数表示作用方式,
如果不选正作用(Direct acting)的话,
默认为反作用(reverse acting)。
IO_OPTS (I/O options)参数,
Increase to close is not selected,
meaning that it is set as increase to
open。
转换到Control Studio界面:
在浏览器中选择FIC-101,右键,
Open —〉Open with Control Studio,
打开Control Studio界面。
如右图。
为PID模块设置报警:
报警主要用于DeltaV操作子程序
(在run模式下),提醒操作人员现场
发生的异常状况。
在操作画面上,通常
以报警栏的形式显示在主控画面的最
下方,以及面板画面(Faceplate)、或其它设置了报警显示的画面上。
作为FIC-101模块的核心功能块,PID_LOOP块带有多种类型的报警,可以在Control Studio界面下方的报警窗口中查看。
本例中,只有3个报警可用:HI_ALM,LO_ALM,和PVBAD_ALM。
在报警窗口双击HI_ALM,或右键—Properties,弹出属性窗口。
如右图。
把Limit value(最低值)改为90。
当流量超过90加仑每分钟的时候,激活高报。
完成模块:
前面已经把模块分配到了控制器,这里只需连接到主控画面TANK101,然后保存模块。
练习7:对电机模块(MTR-101)进行设置
在练习2中,我们利用MTR_11_ILOCK模板创建了一个电机模块MTR-101,本练习中,我们将在Control Studio里对其进行编辑。
注意:如果有打印机,可以通过File —〉Print,把Control Studio界面中的模块结构图打印出来。
电机模块内部结构比较复杂,如下图所示。
图中所有功能块都来自元素板的Logical(逻辑)分类。
主要包括:8个条件功能块(Condition blocks,CND),Boolean Fan Input (BFI) ,逻辑与(AND)、逻辑非(NOT)、逻辑或(OR)功能块,设备控制(Device Control ,DC)功能块。
其中,CND,BFI,AND,NOT,OR几个功
能块用来实现联锁。
DC块用来控制电机。
本节练习的主要任务:
1,删除多余的条件块。
2,用剩余的三个条件块确定联锁条件。
3,为输入和输出参数指定设备信号标识(DST)
4,连接详情画面(Detail)到本模块(含三个
条件块)。
打开模块进行编辑:
在Control Studio界面点,或选择File —〉
Open,弹出浏览框。
在浏览框中,指定Object Type为
Modules,然后在Control Strategies —〉TANK-101目
录下找到MTR-101模块,双击打开。
如前所述,MTR-101模块是从模板库直接复制而
来,内部结构比较复杂,包括很多不同的功能块,如果
需要了解每个功能块的详细资料,可以选择相应的块,
通过右键—What’s This?查看。
删除多余的条件块:
虽然在模块里保留多余的功能块并不影响模块的作用,但是为了整洁起见,应该善掉无用的功能块。
模板默认的电机模块带有8个条件块,而我们的水箱控制只需要3个就够。
可以直接选中相应的块或线,然后按Delete键,或右键—〉Delete就可以删除。
想要一次多选,可以用鼠标框选,或按住Shift键,逐个选择。
用表达式编辑器(Expression Editor)指定条件
当下面三种情况任意一个发生时,电机必须关闭:
截止阀关闭,水箱液位降到100加仑以下,调节阀开度
降到5%以下。
在DeltaV系统中,可以通过精确的数学和逻辑语
言,给条件块编写表达式,来实现上述联锁控制。
每一
个条件功能块,都对应一段表达式,来准确地描述一个
控制条件。
除了条件块(Condition),表达式也可以用
在动作块(Action),计算块(Calculation),逻辑块
(Logic)上。
表达式由操作数、运算符、公式、常数、
关键字组成。
编写表达式,必须记住两条基本规则:每句话都要以分号(;)结尾,参数值都要用单引号(‘)标记。
选中一个条件块,选择菜单栏Object —〉Expression,或右键—〉Expression,就进入了表达式编辑器。
界面如右图。
也可以先用其它文本工具编写好表达式,再复制到编辑器中。
表达式中使用的符号,如下表所示。
参数标签(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;
其中,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_V AL_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。
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。
设置完毕,点OK 。
在Action 窗口选中A1,右键 —〉Rename ,把名字改为SET_TO_IDLE (设
为静止)。
4, 设置转换条件。
在元素板的All SFC Items 类中选择Transition (转换)图标,拖到第一个步程STOP_AND_W AIT 下方。
一个名为T1的加号图标出现。
双击T1,出现属性对话框。
设置
Description (转换描述) = Wait until Start (等待到启动)
Transition Condition = 'SFCCTRL:START';意思是当SP 变为START 状态时就转到下一步。
点OK 确认。
把名字T1改为W AIT_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 )
用连接工具,依次连接所有的步程和转换条件。
完成后的效果如右图所示。
完成SFC模块:
1,属性对话框,连接模块到主控画面TANK101;
2,工具栏Assign to Node按钮,分配SFC模块到控制器;
3,文件—〉保存模块为SFC-START。
练习9:下载模块
到此为止,所有模块创建完毕。
接下来要把它们分配到控制器上(假设已经完成了控制器的配置)。
如果用的是占位器(controller placeholder),你可以分配模块到占位器上,但是不能进行下载操作。
在DeltaV Explorer里,下载有三种不同的级别:下载单个模块、下载控制器节点、下载控制网络(包括工作站和控制器)。
注意:进行模块下载之前,必须先下载控制器的授权(licenses)。
关于如何下载和分配授权,请看第8章。