使用Intergraph Smart® Instrumentation前如何进行前期准备工作
郁幸恒 鹰图软件技术(青岛)有限公司
背景介绍
对于使用Intergraph Smart Instrumentation进行仪表设计来说,前期准备其实是很重要的,特别当项目规模庞大时,尤为关键。抛开硬件准备、人员配置等方面,我们讲一讲在软件层面有哪些前期准备需要做。
前期准备
我们应该根据项目上的统一规定及其他相关的文件内容来执行项目。对应到Smart Instrumentation,有几个地方需要在项目启动前设置好:
1、Administration
2、Rule Manager
3、主程序内
Administration

在Domain Definition中,较重要的几个:
工厂结构(Plant Hierarchy)
命名规则(Naming Convention)自定义字段(UDF & UDT)权限分配(Access Right)
偏好管理(Preferences Management)
Smart Instrumentation主要涉及的范畴是在详细设计方面。
工厂结构
例如我们需要创建项目要求的工厂结构,但是由于SmartInstrumentation软件的底层限制,基本都是用3层(Plant/Area/Unit),所以如果和实际情况(假如4层)不太一致的话,我们会需要在“Plant Hierarchy”窗口中,去添加额外的结构,如:
Plant Hierarchy | X | |
Leve Name | ||
星 | Help | |
AIes | ||
Unit | ||
3 SubUnk | ||
OK Cancel Add Deletn |
Smart Instrumentation会将最下面一层(即上图中的SubUnit)视为Unit,中间的视为Area,第一层为Plant。
不过一般我们还是习惯保持默认的3层结构,如果有需要,可以使用Plant/Area/Unit中的某个UDF自定义字段来表示额外的结构信息。
命名规则
我们需要将每一个单元(或装置)下的仪表、回路、规格书号、接线箱号、分支电缆号都定义好,以方便开展工作。其中仪表和回路是必须的,其它的可以后续中途再去调整。
对仪表而言,一般就是沿用软件提供的ISA Standard即可,我们会在Instrument Type一栏中多留出一些长度,以免出现不够的情况。因为中途再去修改命名规则是大忌。

有的项目,如果能够仪表的序号都和其回路的一致,我们可以换种方式:

这样,当仪表关联某个回路时,就自动有了其回路的序号,而没必要每个仪表都再去输入一遍。
对于分支电缆,如果项目中定义明确,我们一般会这样去定义:

而不是采用下面这种通常的做法:

第一种做法,有点类似于字符串的截取,好处是,这样出来的分支电缆,并不会因为仪表位号有空格而产生空格,比较紧凑。
自定义字段
现在越来越多的项目开始采用数字化设计及交付,而每个项目对于属性的要求都会不一样。比如A业主要求的项目,仪表是否带安全栅位于UDF_C10,而B业主要求的项目,该属性又要求是UDF_C20。
因此,我们会为这个项目所需要的属性来配置自定义字段(全称为User Defined Field)和自定义表(全称为UserDefined Table)。
前者是一个属性(可以是字符串、数值、日期类型),后者是一个列表值(如阀门故障位置的FC、FO等)。
我们要做的,就是选择需要的自定义字段,在Visible处打勾即可。另外,自定义属性的名字(Custom Field Name)这里有一个注意点,如果在管理员模块中把它修改了,如下图中,由默认的”Instrument UDF 001”改为了”IsBarrier”,那么在设计EDE时,我们搜索到的就变成“IsBarrier”了。
User-Defined Tables andFields Editor | |||
Cunitom Defined Flelds Select List | |||
Item Types | Definition | ||
Sesrch | Hatch searcho Total items:1297 | Databne nane | UDF_C01 |
Cintom feld naee | IsBarrier | ||
Imtrument Date UDF 3 | Existing cfom fiekt sames | ||
Instrument Date UOF 04 Ingtrument Dute UCF 5 | Nuember ef chataclers | 20 | |
BInrutentNumericUOF 01 | Eaisting valses Fieldtype | String | |
Instument Numeric UOF 02 | Select list | ||
lntutent Numeric UDF d3 | SetTios Matme | ||
Insrument Mmeric UOF 04 | Visibie | ||
Insbrument Mumeric UOF 05 | Read-only | ||
Insbrument Mumeric UDF 05 | |||
Ingbrument Nueric UOF 07 | |||
Jnstrumemt Mumeric UDF 08 | |||
Instument Numeric UDF 09 | |||
Ingbrument NumericUOF 10 | |||
Iruent UoF oo (ls Bamer) | |||
如果这样会对搜索造成不便,还可以在设计EDE时,在那里给属性换一个名字,如下图:

同理,对于自定义表也是如此。另外,自定义表的列表值,是在Smart Instrumentation主程序中添加的(如同添加新的IO Type类型一样),而不是在管理员模块中。
权限分配
现在的项目越来越大,对质量的要求也越来越高。特别是海外项目,业主在要求数字化设计的时候,往往会对不同阶段的项目情况,进行数据库的Check(检查),发现不符合其要求的数据库内容,就会驳回。
不过Smart Instrumentation提供了权限分配功能进行配置。一般我们会控制为两个组,一个是管理员组,一个是设计人员组。前者的权限都是Full,而后者对于一些重要列表的权限仅仅是View,如仪表类型、IO Type、安装材料、标准电缆等。这样可以保证项目执行过程中,并不会因为个人随心所欲地修改这些参考库而产生困惑和混乱。
Import Utility Access | Full [Add / Uelete / Update) |
Instal. Index Manager | Full [Add / Delete / Update) |
Instr. Index Supporting Tables | Full [Add / Delete / Update] |
InstrumentCertification | Full(Add / Delete / Update) |
Instrument Criticality | Full (Add / Delete / Update] |
InstrumentLocations | Full[Add / Delete / Update] |
Instrument Manufacturers | Full [Add / Delete / Update] |
Instrument Models | Full[Add / Delete / Update] |
InstrumentStatuses | Full (Add / Delete / Update) |
Instrument Types | View Unly |
目rA 1 |
Smart Instrumentation的权限分配,是基于用户组而言,并不需要针对每个用户,而只需要将用户分配到某个组中,然后对用户组进行一次设置即可。

偏好设置
偏好设置部分,以前是非必需内容,但是现在也变得有必要了,严格来说算是权限分配的一种。在管理员模块的Preferences Management中,我们可以指定某个选项的默认值,然后将该项隐藏,这样所有的用户都是这个设定值,无法修改。
我们一般会将Profile下的Wiring和Specification去掉,然后在Advanced窗口中隐藏掉。
这样一来,设计人员在创建仪表时,不会自动创建出与接线相关的内容(如分支电缆、Device Panel等)和规格书,而是之后人为批量去创建。这样可以避免一些特殊仪表,产生多余的数据。

Rule Manager
Rule Manager功能以前我们也比较少用到。但是在见过一些欧洲业主的种子文件、以及越来越多的项目经验后,发现这个模块其实很好。
常用的功能就是做一些属性限定。这些限定有的是国标内,有的是项目统一规定内的。比如对于IO Type为AI的仪表而言,其Signal Type必须是4-20mA+HART。就可以按下图设置:
RuleProperties | |||||||||||
Grl|lCnate Filter|City | |||||||||||
Oprudl | Progarty | FetiaStrtLangtOprator | OpHrad2 | Propurty/Yalas | |||||||
Iaatrnt L/ Typ | valus | AL | |||||||||
Rule Properties | |||||||||||
Sa|dCptsrilterCisy | |||||||||||
Optrul! Trgerty | Oyru2 | rgertw/Yelst | |||||||||
Laitretit | sioTo | FaatiasSttLagtCpy | Coayars | PA | |||||||
这样做,可以保证数据的质量,如果必要的规则(Rule)建立的完善,那么就可以省去一些设校审的工时。
不过要记得需要在管理员模块中勾选下列选项,以开启整个Domain的Rule Manager功能:

主程序
在主程序中较重要的几个是:
仪表类型(Instrument Type)· 辅助列表(Supporting Tables)参考库(Reference Explorer)安装图类型(Hook-Up Type)典型回路(Typical Loop)预设(Profile)
单位和精度
我们会设置默认的单位和精度,这样当我们进入工艺参数表等地方时,就不用额外去修改工艺参数的单位了。每个单元的设置都是独立的,不过可以互相拷贝设置。

仪表类型
可以说,仪表类型是Smart Instrumentation前期设计的核心。对于业主提供种子文件的情况,这里就不再说了,因为这种情况下的种子文件中,其仪表类型肯定都是基本完善的。
那么自己做种子文件时,我们需要注意什么?
首先,要明确仪表类型在Smart Instrumentation软件中的结构是分为了3层:
· Process Function· Instrument TypeDescription第一层为Process Function,我们一般称之为工艺大类,固定分为了8种(General、Flow、Level、Pressure、Temperature、Analyzer、Control Valve、Relief Valve)。抛开Relief Valve这个一般不用的大类,我们会涉及其它7个大类,在添加仪表类型时,就要往相应的大类中去添加。一来是为了后续查询做分析时方便,二来是为了避免规格书无法选择。因为在Smart Instrumentation中,规格书也是根据Process Function来分的,比如热电偶规格书,肯定是与Temperature这个大类关联的。比如测量火焰、重量等的仪表,也是放在General大类之中,如果需要细分,可以用到General大类下的属性“General Process Function Sub-Category”。对于报警点仪表(如TAHH、TALL等),我们习惯放到General下面,因为这些仪表也没有规格书。另外一种做法就是根据其首字母,来对应放到其他大类,如TAHH放到Temperature。

第二层为Instrument Type,我们一般称为仪表类型,因为Smart Instrumentation中允许这个地方重名,如上图中有3个FE。那么相同的FE,它们在数据库底层,会以不同的ID号来记录这些不同的仪表类型。这里要注意的是,字母个数一定要小于等于命名规则中Instrument Type的长度。
第三层为Description,我们一般叫做仪表描述,也就是大部分索引表上会填充的那个,比如说控制阀、质量流量计等。虽然说这里可以输入中文,但是现在的数字化设计,基本都是输入英文的。另外,描述可以缩写的情况下,尽量去缩写,因为描述部分在数据库底层只有40个字符的长度。
另外,在权限控制中,我们建议一定要区分出不同的用户组。一来可以修改仪表类型,另一个则只能使用不能修改,否则出现设计上的差异是比较头疼的一件事。
在前期准备时,由于仪表类型很多,如果考虑细致,根据标准HG/T 20505-2014 或ANSI/ISA-5.1-2009 中的字母意义,基本会有超500种仪表。这么多仪表类型,可以考虑做成一张Excel表格,然后使用Import Utility导入SmartInstrumentation数据库,以提高效率。
必要的辅助列表
所谓的辅助列表,就是使用Smart Instrumentation时常用的那些下拉列表。可以在Smart Instrumentation中打开Index模块,点击主菜单中的Tables看到如下:
SmartPlant Instrumentation-TtT |
Tables SmartPlantToolsWindowHelp Instrument Types... |
General Procecs Function Sub-Caoegoriet Iestrumeet Statuses- 1/OTypes-- Dnstrument Locations. Equipment |
P&D Drawing References... Lines.. Tag Categories. Ctlx Instrument Criticality- |
Deetrument Certifcasion Instrumeet Manufacturers Ltrumeet Models. Function Blocks.. Intrinsically Safe Circuit Types |
Loop Mearured Variables Loop Types.. Loop Functions.. |
Custom Tables.. |
Electrical Equipment |
Telecom PowerSupply |
Signal Type-- |
Linearity Types |
在Reference Explorer里,在软件中按F8调出。参考电缆、参考设备这一类主要是在接线模块工作时,提供标准的参考库,比如接线箱(48端子的,每个端子叫什么)、电缆(电缆型号、几芯的、多粗)、安装材料(磅级、材质),这里主要讲这一部分:
参考电缆及设备
严格上来说,仪表类型Instrument Type也属于它们,但是这些辅助列表的优先级并没有仪表类型那么高。但是,我们还是建议在项目前期就做好,比如I/O Types、InstrumentL o c a t i o n s 、L o o pMeasured Variables、Lo o p Fu n c t i o n s 、Signal Type以及自定义表(Custom Tables,即之前提到的U s e rDefined Tables)。
可以看到二线制下面有一个端子排(TS-1)和两个端子(+和-),之后可以连接一根分支电缆。
对于Device Cable,即分支电缆,我们会根据统一规定中的要求建立需要的,同时给出那些固定的属性,如电缆型号、电缆规格等。
安装图类型
在Domain Explorer下可以事先创建好一些标准的安装图类型。不过事先需要在Reference Explorer中新建一个安装材料库(Item Library),并设置其为激活状态。


之后在Domain Explorer下,可以根据需要创建Hook-Up Type和Hook-Up,它们是父子关系。我们一般把Hook-Up Type称之为安装大类,Hook-Up称之为安装图类型。软件里只能这样创建,不能直接新建一个Hook-Up。
Profile

对于Device Panel,中文我们一般称之为仪表接线盒。一般二线制、三线制、四线制各做一个即可:
优先级较高的是Panels下的Device Panels、C a b l e s (主要是用于分支电缆的D e v i c eCable):
上面提到的4类,其最终的用途除了设计过程中的使用,在我们日常的使用上来看主要是为Profile服务的。Profile是什么?从哪里进入?
在仪表类型界面下就有一个Profile的按钮。针对每一个仪表类型,都有其单独的Profile设置界面。


Instrument Type Profile | ||
GgC CT|Can Insument type Inumer lype descron | ||
FE OuleePae Hookcpt | ||
Ingbumeet apeciicatons Incde inuent ectcaon | [Incdehookugt IncdeinOM Hokp | |
Speciicatiog fom [PRIMARYFLOWELEMENT 129 | ||
Hookup | ||
Copv data fron leopiee | ||
0/ | ||
Mairtenance event lom | 厂Incde1/0 | |
Macclscout | Location Incude jocaton | |
Skipop cron Procest dalia moddlowregued pqalft dooiugpeoueg | ||
Dinensional da | ||
Incde enn dla | ||
Syebol fle nomg and pat Browoe. | Droupne AlGroupt | |
Set as delauat instument ype OK. Canoe | ||
Apol Copy Fiom hrdorhri Help |
那么Profile的作用是什么?在我们看来,运用好Profile,可以极大减少项目前期的工时。其作用就是在我们创建一个新仪表时,自动执行那些在Profile中设置的内容,当然也可以对已有仪表进行更新(手动右击批量执行)。
举个例子,如上图中的Instrument Specification区域:
Instrument specificabions |
Include instrument specification! Specification form: PRIMARY FLOW ELEMENT 128 |
Mulbi-tag list format: |
Copy dsla from template |
Mainbenance event formc |
按照上图中的设置,那么其结果就是,每当我们创建一个仪表类型为“FE – Orifice Plate”的仪表时,就会自动帮我们创建出128号规格书出来。(前提是没有在Preference中禁用)
此外,常用的设置还有:
General标签页
规格书号(Specification Form)
规格书号的模板(Copy Data from Template)
是否需要出安装图
安装图类型是哪个
是否忽略回路号
IO Type是哪个
Location是哪个
DDP组是哪个 Wiring and Control System
是否允许接线
是否允许进入卡件
是否允许自动创建CS Tag
仪表关联的接线盒(Reference Device Panel)用
哪个
仪表关联的分支电缆(Reference Device Cable)
用哪个
接线盒和分支电缆之间是如何连接的
Custom Tables
16个自定义表的缺省列表值是什么所以说,用好Profile的前提是之前的那些准备工作(仪表类型、辅助列表、参考电缆及设备、安装图等)要做好。虽然Profile也可以随时进行更新,但是其设置的越早、越完善,前期的工作将越快。
典型回路
典型回路(Typical Loop)的入口位于R e f e r e n c eExplorer中。从名字中不难看出,其作用就是定义好典型的回路,然后用于项目上实际回路及其仪表的创建。例如下面是一个针对PICA的典型回路定义:

LoapTyp4 | HLeH | typtt | HESSKETRNESMTEKHDCATOCONTROSANDALARM 中 | Loe | IO | Sys | FrereiTe | H/NNa | |
PIESS AMITR | On-ane-(FHRd) | DCS | |||||||
LMETR FAUALT ALAFM | COR | $50 | |||||||
C | VESSRO CTRL | COR | DCS | ||||||
PAH | PIESS ALAPRMHIGHI | S | |||||||
PAL | PRESSALARNLOW | DCS |

可以看到,其典型回路号为P-103,下面含了5个典型仪表(Typical Instruments)及其缺省的属性(如PT的I.O类型为AI)。典型回路和典型仪表的属性窗口,和普通回路和仪表的属性窗口是一样的,该怎么改就怎么改。要注意一点,就是典型回路和典型仪表的命名规则是固定的,并不会因为在管理员模块中定义的命名规则而改变。以典型回路为例,其命名规则就是回路测量变量 ^+ 序号 + 后缀。而且这个序号并不是真正的序号,随意输入,能做到自己辨识即可。
LoopTypeName | |||||
Item | Diff. | Interface | |||
Description | Pressure | Pressure | Level | Level | |
1 | LocalGauges(Pressure/DP/Level/Flow/Temperature) | P -001 | P-051 | L-001 | L-051 |
2 3 | Transmitters+Indication | P-101 | P-151 | L-101 L-102 | |
4 | Transmitter+Indication+Alarm Transmitter+Indication+Controller+Alarm | P-102 P-103 | P-152 | L-103 | |
5 | Transmitter+ControlValve | P-104 | P154 | L-104 | |
L -154 | |||||
6 | Transmitter+ControlValve+LimitSwitch+ESDSolenoidValve | P-105 | L-105 | ||
7 | Transmitter+ControlValve+PositionTransmitter | P-106 | L-106 | ||
8 | TransmitterwithLocalIndicator | ||||
6 | FlowIntegratorwithindication+Alarm |
配合Macro功能,可以批量创建多个不同流水号的回路及其仪表。

用Macro去批量创建时,可以根据需要设定序号,如下:

这样就会创建出111到119、121和123,总计11个回路及其仪表。另外,在Batch Macro Creation窗口下,还有一个Property按钮,可以在执行Macro之前再去设定一些通用的属性。比如所有仪表的UDF_C02都为xxx。
当然用这个典型回路的前提是,上游工艺专业绘制P&ID,需要按照典型的方式来定义及绘制。否则,这个典型的含义就没有意义了。
