(苏州和旭智慧能源发展有限公司 江苏苏州 215100)
摘要:在Foxboro Evo过程自动化系统中,Direct Access是一款通过脚本命令来对各种数据处理和查询的工具,通过它可以直接访问GALAXY数据库中的控制软件对象,并对这些控制软件对象属性值进行更新。脚本命令在文本文件内编辑后存储为XML文件,Direct Access工具则通过编辑好的XML文件来对数据库内控制对象进行处理各种操作。
关键字:Direct Access工具;Foxboro Evo系统;脚本命令
1 引言
国家电投集团协鑫滨海发电有限公司1号机组和2号机组为2台1000MW超超临界燃煤发电机组,分散控制系统采用了上海福克斯波罗公司推出的Foxboro Evo过程自动化系统。
本文描述了Foxboro Evo控制软件中包含Direct Access工具的脚本功能,介绍了通过Direct Access工具可获得的命令,并给出了使用命令访问和修改Galaxy数据库和操作控制软件对象的示例。
2 Direct Access工具介绍
Direct Access是一款通过脚本命令来对各种数据处理和查询的工具,通过它可以直接访问GALAXY数据库中的控制软件对象,并对这些控制软件对象属性值进行更新。脚本命令在文本文件内编辑后存储为XML文件,Direct Access工具则通过编辑好的XML文件来对数据库内控制对象进行处理各种操作。
2.1 对话框介绍
当打开时,Direct Access将显示如图1对话框。
图1 Direct Access对话框
在“Direct Access”对话框中输入以下信息:
1)Node将初始化为您访问的最后一个Galaxy节点文件存储库。如果这是您第一次在平台上运行直接访问,它将被初始化为平台的名称。要访问在另一个节点上运行的Galaxy,请选择“节点”字段旁边的“浏览”按钮,然后选择所需的域和Galaxy服务器。
2)Galaxy将初始化为您访问的最后一个Galaxy。如果这是您第一次在您的平台上运行直接访问,它将被初始化为在您的平台上找到的第一个Galaxy数据库。如果当前指定Node上不存在数据库内,则会显示文本<none>,表示未选择任何数据库。
3)在File中,指定包含要执行的命令的XML文件。使用提供的浏览按钮浏览到包含命令文件的正确目录。
4)如果在Galaxy中启用了安全性,请在UserName和Password中提供用户名和密码。否则,将这些字段留空。
5)如果需要,请选择“Show XML”。如果选择此选项,则输入文件的行在执行时将显示在输出窗口中。启用此选项有助于调试。
2.2 XML文件脚本命令
Direct Access 工具的XML文件必须以有效的XML声明开头,如:
<?xml version="1.0" encoding="utf-8"?>
注意:如果手动编辑XML文件,则必须使用UTF-8编码保存这些文件。此选项适用于大多数文本编辑器中。
在XML声明之后,XML命令必须用以下XML根括起来:
<DirectAccess>
…
</DirectAccess>
包含在Direct Access命令文件中的每个命令都以一个操作开始。操作命令后面跟着一个或多个关键字和关键字值,提供执行指定操作所需的其他数据。
操作、关键字和相关关键字值都包含在尖括号内,如下所示:
<Action Keyword1="Value1" Keyword2="Value2"..../>
连续关键字及其值必须至少用一个空格分隔。
所有关键字值必须用引号括起来。结束尖括号(“>”)前面必须紧跟一个正斜杠(“/”),指示操作规范已完成,否则将发生读取XML文件的错误。
注:直接访问区分大小写。在创建直接访问XML文件时,每个操作和关键字都必须为此文档中与其关联的命令列出确切的大小写。如果操作或关键字的大小写不正确,则Direct Access工具将无法识别它。
3 Direct Access功能
Direct Access工具提供以下功能:
•SQL Table Operations允许您创建一个或多个SQL表,并在表中存储导出数据和报告数据。
•Support Operations允许您创建、删除或备份Galaxy、批量编译控制策略模板或实例、指定要从中执行一个或多个附加命令的命令文件、将信息日志消息插入SMC日志、签入对象或通过指定变量和关联值在任何命令中执行字符串替换。
•Query Filters允许您查找控制软件和ArchestrA平台对象,包括block和ECB派生模板,定义要处理的block和ECB实例,以及定义要处理的属性。
•Timer Functions允许您启动和停止指定的计时器,查看特定计时器所用的时间,并在指定的时间段内暂时暂停直接访问的执行。当计时器启动时,直接访问将创建与指定计时器关联的“*.csv”文件。
•Assign Operations允许您将软件和硬件系统组件分配给其他系统组件,例如,您可以将控制器分配给设备单元或以太网交换机、FBM分配给FCM或控制器等等。
•Create Operations允许您创建新的派生控制软件对象、实例或模板。
•Delete Operations允许您删除派生的控制软件对象。
•Deployment/Undeployment Operations允许您下装指定的控制软件对象,如block、compound、控制器、ECB、对象或strategy,将系统组件标记为已下装或未下装(不实际下装或取消下装),有选择地下装标记为“修改”的控制软件对象的属性。
•Import/Export Operations允许您从指定的URL导入不同格式的指定控制软件文件,并将指定的控制软件对象从Galaxy数据库导出到不同格式的控制软件文件,并将其导出到用户指定的目录。
•Rename Operations允许您重命名控制软件中各种对象的名称,名称包括TagName和Contained name。
•Reporting Operations允许您为查询结果生成可定制的报告。例如,Direct Access软件支持文本和图形报告格式,这些格式可以包含选定的对象属性和值,或者策略和网络图形。
•Repeat Operations允许您执行单个或嵌套的命令循环。Repeat Operations对于只使用少数命令快速构建具有唯一命名对象的大型配置非常有用。
•Reset Operations允许您重置或更改最近引用的对象,这样您就不需要每次引用时都重新输入它。
•Attribute Update Operations允许您更新各种可配置控制软件对象的属性,如block、compound、控制器、ECB、软件等。
•Lock/Unlock Operations允许您锁定/解锁策略模板上的块模板或实例上的属性,锁定/解锁一个或多个复合模板上的属性,以及锁定/解锁策略模板中的用户属性。
命令执行仅限于已由控制软件安全模型建立的授权用户,对于未完全理解者应严禁使用,以防将正确逻辑批量修改无法恢复,造成经济损失。会话结果可以打印或存储在用户指定的文件中。此外,错误日志允许您记录所有命令执行失败,以执行脚本中包含的命令。
4 Direct Access的应用
我厂两台机组因实际需要,分别需要增加锅炉壁温测点700余点,合计一千四百多点数,对于DCS组态工作任务极重,但通过Direct Access工具的使用,给此项工作带来极大简便。在实际组态中,先创建12个RIN的Block在一个Strategy中,定义Strategy的名称为IDAS01A,定义Block的名称分别为IDAS0101、IDAS0102。。。IDAS0112,同样在创建12个RIN的Block在另一个Strategy中定义Strategy的名称为IDAS01B,定义Block的名称分别为IDAS01013、IDAS01014。。。IDAS0124,创建完成后进行保存,然后使用如下脚本进行批量复制:
<?xml version="1.0" encoding="utf-8"?>
<DirectAccess>
<CopyStrategy OldStrategy="IDAS01A" NewStrategy="IDAS02A"/>
<CopyStrategy OldStrategy="IDAS01B" NewStrategy="IDAS02B"/>
。
。
<CopyStrategy OldStrategy="IDAS01A" NewStrategy="IDAS30A"/>
<CopyStrategy OldStrategy="IDAS01B" NewStrategy="IDAS30B"/>
</DirectAccess>
执行结束后,将会在组态软件中自动复制出所有的点的Block。通过Rename Operations功能将所有Block改为设计的点名即可。然后通过Attribute Update Operations脚本语句进行Block的属性参数批量修改,包括描述、通道、报警值、KKS码等,以下以修改各Block的LOPPID参数为例,语句如下:
<?xml version="1.0" encoding="utf-8"?>
<DirectAccess>
<UpdateBlockAttribute Strategy="IDAS01A" Block="IDA1001" ParmName="LOOPID" ParmValue="10HAH12CT001" TypeName="TypeName"/>
<UpdateBlockAttribute Strategy="IDAS01A" Block="IDA1002" ParmName="LOOPID" ParmValue="10HAH12CT002" TypeName="TypeName"/>
。
。
<UpdateBlockAttribute Strategy="IDAS30B" Block="IDA3024" ParmName="LOOPID" ParmValue="10HAH12CT720" TypeName="TypeName"/>
</DirectAccess>
确认所有参数修改正确无误后,利用Deployment/Undeployment Operations功能语句进行批量下装即可,至此,DCS逻辑组态工作全部结束,对比一个点一个点进行修改和Direct Access工具批量修改,节省大量时间,为作业人员带来极大方便。
5 结语
Direct Access工具软件在DCS系统日常使用过程中,为工程师组态逻辑、数据分析、报表生成等提供极大便捷,该工具软件具备的诸多功能在Foxboro Evo系统使用中具有很好的实用性。
参考文献
[1]《Scripting with Direct Access User’s Guide》.
[2]《Access Manager User’s Guide》.
[3]黄宏森.浅析Foxboro I/A Series系统的基本维护[J].科技探索与应用,2018,(14):274-275.
作者简介
马先松(1989-),男,江苏省沭阳县,本科,工程师,苏州和旭智慧能源发展有限公司、江苏省苏州市吴中区、热控自动化。