1、DeltaV 入门教程 翻译:李俊峰1. DeltaV 系统总述(略)2. 教程总述本教程讲述如何快速建立一个过程系统并使其运行。读者将会了解一些相关的基本概念,用于配置工作站和控制节点、定义 I/O 、创建控制策略和操作画面。还可以从操作站的观察点查看系统。硬件配置往往是一次性工作而且在软件配置之前已经完成,所以,这一部分的信息我们放到靠后的章节中(第 8 章) 。如果工作站还没配置,你可以看完本章之后,再看第 8 章。如果工作站已经配置完成,你可以在没有操作站,和不设置 I/O 的情况下,进行第 3 章到第 7 章中的所有练习。不过,为了使练习更具有真实性,而且能够实现某些功能(如给操作站
2、分配模块) ,读者最好进行硬件配置。2 1 说在前面本教程的练习,是针对一个水箱系统包括测量液位、排水时控制流量创建控制策略和操作画面。包括 6 个部分:第章,学习 DeltaV 浏览器,关于如何打开浏览器并使用导航功能进行查找。第 4 章,学习创建和下载控制策略,介绍如何一步步创建水箱系统控制所需的 4 个模块,和用于定义水箱开关时序的时序功能图。第 5 章,创建操作画面,学习 DeltaV 组态模式中的基本工具,以及如何用图片、面板、零件图、按钮、曲线图组成一个操作画面。第 6 章,使用 DeltaV 运行模式,介绍如何在操作站的观察点上使用操作画面、修改参数、确认报警,以及进行其他设置。
3、第 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 设
4、备。表 2-1 详细列出了所有的模块和 I/O 位号,这些在下文都将用到。位号作为 I/O 组态的一部分,用于 I/O 卡通道,详见第 8章。2 2 2 时序功能图( SFC)DeltaV 入门教程 翻译:李俊峰创建控制模块后,还需要创建一个模块 (SFC-START),通过时序功能图算法,实现自动排水。时序如下:1,启动出水阀( FIC-101 )的流量控制回路。 2,为流量回路指定动作点。 3,等待调节阀打开,再打开截止阀( XV-101)。 4,打开排水泵电机( MTR-101)。5,确认电机开启。2 2 3 操作画面接下来,需要为水箱系统创建一个画面,以便操作人员进行监测和控制,如右图
5、所示。2 2 4 开始学习至此,已经了解了本教程的主要学习任务,读者可以通过在线实践,或只阅读本书来学习。 DeltaV 浏览器( DeltaV Explorer )(略)创建和下载控制策略( Control Strategy )在以后的章节中,将按照以下步骤,创建一个控制策略:1, 创建一个“厂区” ( Plant Area)来放置模块。2, 创建件不同的模块,分别用于输入、数据处理、输出、报警、运行条件、控制回路等等。3, 创建时序功能图( SFC) ,实现自动控制。严格说来,创建时序功能图并不是一个必要步骤,操作人员完全可以通过画面,手动开启系统、修改参数,控制阀的开闭、泵的启停。但是在
6、大多数情况下,需要使系统实现全部或部分的自动控制,这就需要建立时序功能图,以节省人力。创建模块时,有时候需要调用基本功能块,来新建一个模块,但大多数情况下,可以直接使用系统提供的模板。创建模块的几种不同方法:1, 通过 DeltaV 浏览器找到库( library ) ,用鼠标直接从库里拖拽到厂区下面,改名。2, 在 Control Studio 里,找到合适的模板,修改相关属性,改名。3, 在 Control Studio 里,找出所需的功能块,把块连接起来,然后修改参数,从而自制一个模块。4, 使用组态助手( Configuration Assistant ) ,从模板库里复制需要的模块。
7、在后的练习中,主要用前三种方法。练习 1:创建和命名厂区( Plant Area)“厂区”是组态中的一个虚拟的分区,与工厂的实际划分情况没有必然联系 ,在 DeltaV 组态里,一个厂区往往对应一套基本独立的系统,如一个锅炉系统、一个反应釜系统、一套包装设备等等。厂区里面配置一个或几个不同的模块,共同完成控制任务,每个模块完成一项特定的功能,如阀的开闭、泵的启停、信号的计算等等。一个 DeltaV 系统里可以设置 100 个厂区。能否将整个生产系统的控制关系,合理地划分成若干厂区,将从根本上影响工厂生产的安全与稳定。DeltaV 系统为厂区提供的默认名字是“ AREA_A ” ,可以根据需要改
8、名字,也可以另外新建厂区。 厂区的名字必须在 16 个字符以内, 可以使用阿拉伯数字、 下划线( _) 、短横线( -) 。针对本教材中的水箱系统,我们将要创建一个名为 TANK-101 的厂区。步骤如下:浏览器 ( DeltaV Explorer ) 控制策略 ( Control Strategies) , 按右键, 选择 “ New Area” , 如下图所示。出现一个名为“ AREA1 ”的新厂区。把名字改为“ TANK-101 ” 。接下来就可以创建模块了。DeltaV 入门教程 翻译:李俊峰练习 2: 通过 DeltaV 浏览器复制一个电机模块 (MTR-101) 水箱系统中有一个排
9、水泵,电机的动作要受一些联锁条件( interlock )的约束。下面将通过 DeltaV 浏览器,从库( Library )里找一个模块模板,添加到厂区中,改名。然后在 Control Studio 中进行设置,包括设置联锁条件。从库里复制模块模板时, 模块会带着 “ history collection ” 。 History collection 是加在模块或节点上的用来定义连续历史数据采集的参数 (数值记录、显示、采样周期,等等) ,这样,你可以在复制模块后,不必重新设置它的 history collection 。在练习 5创建模块 LI-101 的内容里,将会介绍怎样从头开始设置
10、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-10
11、1 。如图。注意: 从库里复制东西到厂区, 可以直接拖拽。 但是如果要从一个厂区里复制模块到另一个厂区, 必须按住 Ctrl 键, 同时拖拽。 如果不按 Ctrl 键, 效果是移动, 而不是复制。注意:如果用 DeltaV Batch application 创建模块,模块的名字最多 16 个字符(字母、数字、下划线) ,而且第一位必须是字母,不能使用破折号。 . 认识 Control Studio :Control Studio 是专门用来编辑模块的窗口。在 Control Studio 里,有很多可调节大小的子窗口,可随意用鼠标调节它们的 大小,也可以通过 Window Arrange W
12、indows 或按钮恢复默认排列, 以方 便操作。各子窗口的作用分别如下:图表窗口( Diagram View ) :直观表现模块的内部结构。参数窗口( Parameter View) :用来设定模块的特性、报警上下限、缺省值( default values) 、模式( mode) ,及其它参数。层级窗口( Hierarchy View ) :显示模块的所有组成元素。报警窗口( Alarm View ) :显示定义过的所有报警,及它们的报警限、优先级( priorities) ,及其它信息。元素板( Palette) :包含所有可用来组成模块的元素。共分 6 类。其中 5 类是库里就有的基本功
13、能块, 1 类是特殊功能块( Special Items) 。DeltaV 入门教程 翻译:李俊峰可通过“右键 Switch Sides”或“ View Palette Switch sides”移动元素板的位置,也可以通过“ View Palette icon size”或“右键 icon size”调整图标的大小。注意:如果在“ Tools (工具) Diagram Preferences(画面预设) ”里修改了设置,实际显示可能和上图不太一样。画面预设的默认设置如下:参数筛选:参数是功能块里执行计算和逻辑的数据。有一些参数,在特定的功能块里是不可修改的;还有些参数,系统设有默认值,但也可
14、以根据需要修改;另一些参数,则必须由用户设定。有些功能块的参数非常多,为方便用户迅速找到需要的参数,参数窗口中的 Common (常用)筛选出了一组在模块配置中最常见的参数。这些参数都有默认值,不过应该根据实际需要改成合适的值。参数和参数筛选在 Books Online(在线说明)的 Configuration (配置)菜单里有详细的描述。练习 3:创建控制模块 (XV-101) 在本节练习中,将使用模板为截止阀创建一个控制模块。这次通过 Control Studio 调用库里的模板,而不是通过浏览器。1,打开 Control Studio : All Programs (文件) DeltaV
15、 Engineering(工程) Control Studio。或者在 DeltaV Explorer 的工具条里点击 按钮,也可以进入 Control Studio。 (一般情况下, DeltaV Explorer 被最小化以保持界面的整洁,如果你能够熟练使用Windows,你可以让几个 DeltaV application 窗口一起打开。 )2, 从库里选择模板: 点击 File(文件) New(新建) , 在新建对话框里, 选中 “ Start from Existing ” (从现有模板中查找) , 点 Browse(浏览) ,出现浏览对话框,如图:DeltaV 入门教程 翻译:李俊峰
16、选择 Object Type field (对象型文件) Module Templates(模块模板) Valves-Normally Closed (常闭阀) VLVNC-11 。点OK。4, 点新建对话框的 OK,完成设置。这时 Control Studio 里出现一个未命名的 VLVNC-11 模块的复制品。如图:修改 XV-101 控制模块:系统提供的模板非常简单,只有一个功能块。为了使它符合我们的水箱系统的控制需要,还需要进行一个必要的修改,就是用设备信号标识来定义模块的输入和输出( “位号”和“设备信号标识”不是一个概念,它们与 I/O 通道的分配过程有关,详见第 8 章) 。步骤
17、如下:1, 在 Control Studio 的图表窗口, 选中功能块 DC1 (表示“ Device Control ”功能块) ,在参数窗口选择一个参数, 点右键, 选择Filter Parameter List. ,出现参数筛选对话框。DeltaV 入门教程 翻译:李俊峰选中 Common configuration 和 On-line ,前者表示最常用的参数,后者表示关于操作的常用参数。点 OK。2,这时,在参数窗口中列出了必须的参数。找到 IO_IN_1 ,双击,出现属性( Properties)对话框。在 Device Tag 栏中,输入 LSC-1,点OK 。位号 LSC-1 在
18、本例中是一个限位开关。下面 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, 定义与模块
19、相关的操作画面。 2, 分配模块给控制器 (控制器是控制网络与 I/O 通道之间的信号中转装置, 见 DeltaV 硬件结构图) 。3,把模块保存到数据库。 4,校验模块配置。DeltaV 入门教程 翻译:李俊峰下面将依次介绍这些步骤。 (还有一个余外的步骤是下载。可以把模块分别下载到控制器上。不过本例中将要下载的是整个控制策略,下载方法见本章结尾。 )定义相关的操作画面:与控制模块相关的画面有三种:主控画面( Primary control) 、面板画面( Faceplate) 、详情画面( Detail) 。这三种画面的特点和作用在第 5 章、第 6章有详细说明。在这里,只是简单介绍如何把
20、画面和模块链接起来。主控画面与控制模块的链接在 Control Studio 中,点击工具栏的属性按钮 (或者选择 File Properties) , 出现属性对话框。 选择 Displays(显示)选项卡,在 Primary Control (主控)下输入 TANK101 。以后在第 5章里,将创建一个名为 TANK101 的主控画面(画面的名字必须字母开头,不可以用连字符 - ,不可以有 DeltaV 的关键字) 。同样,在下面的 Detail 和 Faceplate 两栏可以分别填入“详情”和“面板”两种画面的名字,实现另外两种画面链接。完成后,点 OK 。分配模块到控制器节点:如果你
21、已经配置了控制器或添加了占位器, 接下来可以把模块下载到控制器,或分配到占位器。如果还没有做这些配置, 请参考第 8 章 “配置控制器节点” 。 关于控制器的硬件连接 , 参 考 硬 件 手 册 Installing Your DeltaV Digital Automation System 。分配步骤如下:在工具栏点“分配到节点”按钮 ,或选择 File Assign to Node,出现浏览对话框。如右图。在对话框里选择合适的控制器,点 OK 。保存模块:点击 按钮, 或 File Save, 出现保存对话框, 在 Objects Type(对象形式)框里选择 Modules ,在 Loo
22、k in 框里找到 Control StrategiesTANK-101. ,把模块命名为 XV-101 ,保存。校验模块配置:点击属性按钮 , 或 File Properties, 出现属性对话框, 选择 Tools(工具)选项卡,点 Verify Now (现在校验)按钮。如右图。系统会弹出一个对话框,提示校验成功。现在,我们已经完成了两个模块,一个控制电机,一个控制截止阀。下一个练习创建液位计模块 LI 101。练习 5:从头开始创建一个模块( LI-101 )DeltaV 入门教程 翻译:李俊峰在本练习中,将创建一个模块,用来监测液位。包括一个模拟量输入块( AI 块) ,一个输出块,
23、一个“提升”块。 “提升”块在元素板的 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 Studi
24、o 界面中点击或 File New,弹出新建对话框。直接点 OK ,确认默认设置。 Control Studio 出现一个未命名的空白页。添加和修改模拟量输入( AI )块:从元素板的 IO 类里找到 Analog Input (AI) function block ,用鼠标拖拽到页面上,如下图。如果想知道关于 AI 功能块的更多信息,选中 AI 块,点右键,选择 What s this?,将出现关于 AI 块的简要说明。如下图。DeltaV 入门教程 翻译:李俊峰在参数窗口中双击 HI_HI_LIM (或右键选择 Properties) ,弹出属性对话框,把数值改为 1000,点 OK 。然
25、后,在参数窗口双击 IO_IN ,在 Device Signal Tag 框输入 LT-1(液位变送器的位号) 。点 OK。注意:参数列表中,有一个 L_TYPE 参数,表示线性方式( linearization type ) ,默认值为 Indirect.(间接方式) 。必须保证这一参数为默认的 Indirect. 方式,不作改动,才能进行下一步: 定义输入量的工程单位( Engineering Units ) 。设置工程单位( EU)和测量范围:双击 OUT_SCALE 参数,属性对话框设置如右图。其中 scale 表示测量范围, Engineering unit 表示单位 (这里选加仑)
26、 ,Decimal place 表示小数点位置。设置完成,点 OK 。为实测值( process value,即 PV 值)的输出添加一个功能块:设置 PV 块的作用:对于一个输出值来说,作为一个独立的功能块而不仅仅是某个功能块下的一个参数更容易被系统识别、计算、处理。本练习中要为 AI 块的 OUT 做历史曲线,那么, LI-101/PV 比 LI-101/AI1/OUT 更适合做历史采集的数据源。在元素板中选择 Special Items(特殊功能块) , 找到 Output Parameter(输出参数) , 用鼠标拖拽到 AI 块右边, 弹出属性对话框, 把参数名字改为 PV(实测值)
27、 。其他设置: Parameter(参数) = Floating point with status(浮点型) , Parameter category(参数类型) = I/O 。完成,点 OK 。功能块图上出现一个名为 PV 的功能块。给 PV 添加历史采集( history collection ) :选中 AI 块,在参数窗口找到 PV 参数,右键,选择 Add History Recorder(添加历史记录) ,出现历史采集对话框,如下图。DeltaV 入门教程 翻译:李俊峰在 Parameter field path(参数路径)框显示历史采集的对象为 PV 参量的当前值( curre
28、nt value,即 CV) ,如果这里没有显示 AI1/PV .CV ,可以通过 Browse(浏览)找到。然后勾选 Enabled(激活) 。 Display Representation(显示方法)选择 Line (线形) 。取样周期选择默认的60 秒。设置完成,点 OK。注意: “ Line”可以在 Process History View 子程序中修改。稍后,我们将把 Area (TANK-101) 配置到 Continuous Historian ( 连续历史数据库 )子系统中,激活工作站的历史数据采集功能,然后下载工作站,使历史记录被收集和显示。连接两个功能块:点击工具条上的功能
29、块连接按钮 ,鼠标变成铅笔形状,在 AI 块的 OUT 参数和 PV 参数间画一条直线。 当右端连接到位时, 铅笔会变成形状。点空白处或 按钮,鼠标恢复常态。完成后的图形如下:完成 LI-101 模块:创建一个模块的最后几步,在练习 4 里已有详细介绍,这里只简述一下,不再细讲:1, 连接控制画面。选择 File Properties,把 Primary Control picture 设为 TANK101 。2, 分配模块到控制器。 File Assign to Node,在浏览对话框里选择合适的控制节点。3, 保存模块。 File Save,找到 Control Strategies TA
30、NK-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_L
31、OOP , 把 PID_LOOP 模 板 拖 到 厂 区TANK-101 下 。 在 TANK-101 area 中 , 把PID_LOOP_1 改名为 FIC-101 。2, 分配。右键 , 选择 Assign,或者直接把FIC-101 拖拽到 Physical Network Control Network 下,在浏览对话框找到合适的控制器,点 OK。设置模块:DeltaV 入门教程 翻译:李俊峰在浏览器里双击 FIC-101 ,右侧窗口列出了 FIC-101 模块下的所有功能块。选择 PID1 (一个 PID 回路功能块) ,右侧窗口显示出它的所有参数。如右图。接下来,设定一些必要的参数
32、。双击 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) 参
33、 数 ,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) 、或其它设置了报警显
34、示的画面上。作为 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 中, 我们利
35、用 MTR_11_ILOCK 模板创建了一个电机模块 MTR-101 ,本练习中,我们将在 Control Studio 里对其进行编辑。注意:如果有打印机,可以通过 File Print,把 Control Studio 界面中的模块结构图打印出来。电机模块内部结构比较复杂,如下图所示。DeltaV 入门教程 翻译:李俊峰图中所有功能块都来自元素板的 Logical( 逻辑) 分类。 主要包括: 8 个条件功能块 ( Condition blocks , CND) , Boolean Fan Input (BFI) ,逻辑与 (AND) 、逻辑非 (NOT) 、逻辑或 (OR)功能块,设备控
36、制( Device Control , DC) 功能块。其中, CND , BFI , AND , NOT , OR 几个功能块用来实现联锁。 DC 块用来控制电机。本节练习的主要任务:,删除多余的条件块。,用剩余的三个条件块确定联锁条件。,为输入和输出参数指定设备信号标识( DST), 连接详情画面( Detail )到本模块(含三个条件块) 。打开模块进行编辑:在 Control Studio 界面点 ,或选择 File Open,弹出浏览框。在浏览框中,指定 Object Type 为Modules, 然后在 Control Strategies TANK-101 目录下找到 MTR-1
37、01 模块,双击打开。如前所述, MTR-101 模块是从模板库直接复制而来,内部结构比较复杂,包括很多不同的功能块,如果需要了解每个功能块的详细资料,可以选择相应的块,通过右键 What s This?查看。删除多余的条件块:虽然在模块里保留多余的功能块并不影响模块的作用,但是为了整洁起见,应该善掉无用的功能块。模板默认的电机模块带有 8 个条件块,而我们的水箱控制只需要 3 个就够。可以直接选中相应的块或线,然后按 Delete 键,或右键 Delete 就可以删除。想要一次多选,可以用鼠标框选,或按住 Shift 键,逐个选择。用表达式编辑器( Expression Editor )指定
38、条件当下面三种情况任意一个发生时,电机必须关闭:截止阀关闭,水箱液位降到 100 加仑以下,调节阀开度降到 5%以下。在 DeltaV 系统中,可以通过精确的数学和逻辑语言,给条件块编写表达式,来实现上述联锁控制。每一个条件功能块,都对应一段表达式,来准确地描述一个控制条件。除了条件块( Condition ) ,表达式也可以用在动作块 ( Action ) , 计算块 ( Calculation ) , 逻辑块 ( Logic )上。表达式由操作数、运算符、公式、常数、关键字组成。编写表达式,必须记住两条基本规则:每句话都要以分号(; )结尾,参数值都要用单引号( )标记。选 中 一 个 条
39、 件 块 , 选 择 菜 单 栏 Object Expression,或右键 Expression,就进入了表达式编辑器。界面如右图。也可以先用其它文本工具编写好表达式,再复制到编辑器中。表达式中使用的符号,如下表所示。DeltaV 入门教程 翻译:李俊峰符号 作用 举例/ 引出一个路径,指向一个内部参数(在当前模块里) ,可以通过 Insert Internal Parameter 按钮浏览这些参数。/ 引出一个路径, 指向一个内部参数 up one block level, 可以通过 Insert Internal Parameter 按钮浏览这些参数。/ 引出一个路径,指向一个外部参数(
40、在另一个模块里) ,可以通过 Insert External Parameter 按钮浏览这些参数。/XV-101/DC1/PV_D.CV # # 批处理时,定义一个统一的名称。: 分隔参数名和参数值。 vlvnc-sp:OPEN:= 赋值符号。 Step actions use this Operator。右侧的值赋给左侧。SP:=SFCCTRL:IDLE = 等于号。类似的比较符号还有 , =, (不等于) . Transitions use these operators. SP=SFCCTRL:START + 加号。用于两个数值或字符串的相加。Used for addition of
41、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) :在表达式中,参数
42、用标签( tagnames,简称 tags)的形式来描述:模块名 / 功能块名 / 参数名。编写表达式需要输入参数标签时,可以手工输入,也可以通过浏览窗口在数据库中查找。联锁条件:接下来,我们将用表达式编辑器给 3 个条件块编写表达式,指定联锁条件。1, 选中条件功能块 CND1,右键 Expression,打开编辑器。删除默认的第一行 FALSE. 。点击 Insert External Parameter(插入外部参数)按钮,弹出浏览框,一步步找到 TANK-101 XV-101 DC1 PV_D CV 。编辑器将在文本框里自动生成参数标签。点击或输入“ = ” ,点击 Insert Na
43、med 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
44、下完成,功能相当于 C 语言中的宏定义,即命名一个概念,使它等同于某个常量。点击 Parse(分析)按钮,进行检验。如果编写的语句中有语法错误,将给出提示。检验完成,点 OK 。2, 同样步骤,给第二个条件块输入表达式: /LI-101/AI1/PV .CV保存。关闭画面。切换到运行模式:从组态模式切换到运行模式,有以下两种办法。,点 Workspace Switch to Run ,或按 Ctrl+W。,点“打开”按钮,选择 TANK101。如果有控制器,数据链接将以 I/O 卡通道号的形式显示(当然是不可用的,因为还没有进行分配),如果有虚拟控制器,数字型的数据链接将显示为问号。回到组态模
45、式的方法,右键 Quick Edit 。Dynamo:DeltaV 入门教程 翻译:李俊峰创建主控画面时,有些部件如管道、泵、阀需要在不同的画面中重复使用,你可以把这些自定义的小图案保存起来,以便多次使用,这样的部件就叫做 Dynamo。动态属性也可以保存为 Dynamo。DeltaV 提供了很多常用的 dynamo,比如各种形状的泵,设计画面时可以直接把它们粘贴到画面上,不用自己绘制。你也可以自己设计、保存一些常用的 dynamo部件。本教程的 Tank101 画面,需要用到一些Dynamos, 然后修改它们的动态属性。 在后面的练习中,将要完成以下任务:1, 添加一个泵, 并且设置颜色,
46、泵关闭时显示红色,开启时显示绿色。 . 2, 添加一个有动态属性的水箱, 可以显示液位高低。3, 添加截止阀和调节阀, 可以通过颜色表示开关状态。4,添加管道(管道也可以设置变化颜色,不过本例中不使用这一功能) 。完成后的效果如右图:用 Dynamo 添加泵:(如果编辑画面还没打开,先打开 DeltaV Operate 组态模式,在系统树里找到 Pictures 文件夹,里面有 TANK101 画面),在 系 统 树 里 找 到 Dynamo Sets PumpsAnim PumpsAnimVertA1 。,用鼠标把 PumpsAnimVertA1 拖到画面上。,因为这一类 dynamo 带有
47、动画属性,这时会出现对话框,如右图。你可以选择是否改变泵的颜色。如果勾选 Animate Pump Color,泵会随着开闭状态的改变而变换颜色。,勾选之后, 出现 Color By(决定颜色状态的信号源) 对话框,如下图。浏览找到 MTR-101/DC1/SP_D/CV ,作为泵的信号源。选择 Exact Match(精确对应,数字量型号一般选择这一项) ,点 Delete Row 删掉多余的行,只留两种颜色。设第一种颜色 value 为 0.00, 红色;第二种颜色 value 为 1.00,绿色。点 OK 。确认。设置完成。把泵放到合适的位置。DeltaV 入门教程 翻译:李俊峰用 Dy
48、namo 添加水箱:下面创建一个水箱,可以通过颜色变化来反映水位高低。,首先,关闭 PumpsAnim dynamo set 。在系统树里选择 PumpsAnim,右键 Close。,在系统树里双击 TanksAnim1 dynamo set ,把 TankWDoorD1 拖到画面上。,在 Tank Dynamo 对话框,浏览找到路径 LI-101/AI1/PV/CV 。体统自动添加 .F_CV 后缀。,选择 Fetch Limits from Data Source (从信号源提取上下限) 。点 OK。完成过程控制画面:按照下表,完成其它的 dynamo。注意关于截止阀和调节阀的说明 a、
49、b。内容 动态属性的路径 Dynamo Set Dynamo 管道 没有动态属性 Pipes 根据需要,选择各种形状的管道截止阀 XV-101/DC1/PV_D/CV ValvesAnim ValveHorizontalAnim1 注 a 调节阀 FIC-101/PID1/PV/CV ValvesAnim ValveHorizontal Control1 注 b a, 使用 Valve Dynamo 对话框的默认设置。b, 在 Valve Dynamo 对话框, 选择 Animate Valve Color , 在 Color By 对话框, 选择 Color by Current Value 。在 Color Threshold 栏,选 Range,设 0-50 为红色, 50-