Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web...

74
Intellution Fix DMACS (FIX32) / Dynamics (iFIX) Interface to the PI System Version 2.0.1 or Greater OSI Software, Inc.

Transcript of Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web...

Page 1: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS (FIX32) / Dynamics (iFIX)

Interface to the PI System

Version 2.0.1 or Greater

OSI Software, Inc.

Page 2: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

How to Contact UsPhone (510) 297-5800 (main number)

(510) 297-5828 (technical support)

Fax (510) 357-8136

Internet [email protected]

World Wide Web

http://www.osisoft.com

Bulletin Board

(510) 895-9423Telebit WorldBlazer modem (Hayes, MNP, or PEP compatible)8 data bits, 1 stop bit, no parity, up to 14400 bps downloadprotocols: Xmodem, Ymodem, Zmodem, Kermit

Mail OSI Software, Inc.P.O. Box 727San Leandro, CA 94577-0427USA

OSI Software GmbH Hauptstrae 30 D-63674 Altenstadt 1Deutschland

OSI Software, LtdP. O. Box 8256Level One, 6-8 Nugent StreetAuckland 3, New Zealand

Unpublished -- rights reserved under the copyright laws of the United States.RESTRICTED RIGHTS LEGEND

Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013

Trademark statement—PI is a registered trademark of OSI Software, Inc. Microsoft Windows, Microsoft Windows for Workgroups, and Microsoft NT are registered trademarks of Microsoft Corporation. Solaris is a registered trademark of Sun Microsystems.

HP-UX is a registered trademark of Hewlett Packard Corp.. IBM AIX RS/6000 is a registered trademark of the IBM Corporation. DUX, DEC VAX and DEC Alpha are registered trademarks of the Digital Equipment Corporation.

document.doc

1997 OSI Software, Inc. All rights reserved777 Davis Street, Suite 250, San Leandro, CA 94577

Page 3: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Table of ContentsOverview.................................................................................................................................6

Supported Data Types........................................................................................................7

PI Point Definition...................................................................................................................8

FIX Tag Address Format.....................................................................................................8

General PI Tag Configuration Information...........................................................................8

PointSource.....................................................................................................................8PointType.........................................................................................................................8Location1.........................................................................................................................8Location2.........................................................................................................................9Location4.........................................................................................................................9InstrumentTag................................................................................................................10Scan..............................................................................................................................12SourceTag.....................................................................................................................12ExDesc..........................................................................................................................13

Input Tag Configuration.....................................................................................................14

Performance and EDA Usage.......................................................................................14Output Tag Configuration..................................................................................................14

Additional PI2 Configuration..............................................................................................15

Point Source..................................................................................................................15Digital State Code..........................................................................................................15

Hardware and Software........................................................................................................16

Interface Software Requirements......................................................................................16

Interface Hardware Requirements.....................................................................................16

Startup Command File..........................................................................................................17

FIX DMACS Interface Installation.........................................................................................21

NT-Intel Installation Disk File List......................................................................................21

Disk File List..................................................................................................................21Installation Procedure........................................................................................................22

To run as a service........................................................................................................22To run in interactive mode.............................................................................................24To install debug symbols...............................................................................................25

10/15/2004 10:10:00 PM 3

Page 4: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

FIX DMACS Interface System Administration.......................................................................26

Starting the FIX DMACS Interface....................................................................................26

Automatic Service Startup.............................................................................................26Manual Service Startup.................................................................................................26Interactive Startup..........................................................................................................26

Stopping the FIX DMACS Interface...................................................................................26

Status, Warning, and Error Messages..............................................................................27

IORates.................................................................................................................................28

FIX Redundancy and Pi-eda.................................................................................................29

FIX32 View Node..............................................................................................................29

FIX32 Primary SCADA Node.............................................................................................30

FIX32 Backup SCADA Node.............................................................................................32

FIX32 View Node’s Network Status Display......................................................................32

FIX32 Node \winnt\system32\drivers\etc Host File............................................................33

PI Tag Configuration for FIX32 Tag..................................................................................33

iFIX View Node..................................................................................................................33

iFIX Primary SCADA Node................................................................................................34

iFIX Backup SCADA Node................................................................................................35

iFIX Network Status Redundancy Display.........................................................................36

iFIX Node \winnt\system32\drivers\etc Host File...............................................................36

PI Tag Configuration for iFIX Tag......................................................................................36

Appendix A Communication Error Recovery.........................................................................37

Appendix B Troubleshooting.................................................................................................38

Frequently Asked Questions.............................................................................................38

More messages logged to “pipc.log” file and explanations...............................................43

"Completed re-processing tags".............................................................................................43

“EDA error <#> occurred during function XXXX on FIX NTF <X, Y, Z>”...............................43

"Test field for tag T is Z. Interface aborting"...........................................................................43

"Local host XXX restored at day-month-year hour:min:second "..........................................44

"No FIX field type specified for PI tag X"..............................................................................44

"No FIX tag name specified for PI tag X"...............................................................................44

"No conversion is supplied for float"......................................................................................44

"EDA Digital type tags are configured in PI as PI digital types"................................................44

"EDA Multistate Digital type tags are configured in PI as PI digital types"................................44

4 OSI Software, Inc.

Page 5: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

"EDA (A)lphanumeric field is defined, but the PI field is not 'string'"........................................45

"Field type <Z> not supported".............................................................................................45

"No tag configuration specified for <T>"................................................................................45

"Could not retrieve local host name. Interface aborted"............................................................45

"Interface running on local FIX node NNNN".........................................................................45

"Could not create EDA group for scanclass #!".......................................................................45

"Could not create EDA group for event-tag T triggered tags!"...................................................45

"Created group for scanclass #".............................................................................................46

"Created group for event-tag T triggered tags".........................................................................46

"Edited tag T could not be added"..........................................................................................46

"Complete NODE:TAG:FIELD information unavailable for PI tag: T"......................................46

"Fatal Error on tree manipulation".........................................................................................46

"EDA Failed to add tag [N, T, F] to the group".......................................................................46

"Removed tag: [N, T, F]"......................................................................................................46

"Unrecognized state <xxxx> in (Multistate) Digital tag [N, T, F]".............................................46

"Unknown data type for tag [N, T, F]"....................................................................................48

"Connection with node N reestablished".................................................................................48

"Unsupported type for FIX tag [N, T, F]"...............................................................................48

"Driver shutdown"...............................................................................................................48

For FIX EDA Errors, consult Intellution EDA manual..........................................................48

Appendix C Message Logging.............................................................................................49

Logging Configuration.......................................................................................................49

Appendix D FIX to PI Configuration Transfer Utility.............................................................51

Overview...........................................................................................................................51

User Instructions...............................................................................................................53

10/15/2004 10:10:00 PM 5

Page 6: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

OverviewThis is a description of the Intellution FIX DMACS (FIX32) / Dynamics (iFIX) interface to the PI System for Windows NT. In addition to having the previously existing functionalities this version of the interface allows the user to collect the data placed on an alarm/event queue by FIX with subsecond timestamps. This enhanced version can be run on one of the following:

An NT PI3 Server

An NT PI API node with network access to a PI2 or PI3 Server

The interface requires that the Intellution FIX MMI software version 6.x (or FIX32 version 7.0) or later or FIX Dynamics HMI/SCADA version 1.0 or later (or iFIX version 2.1) be present on the same PC as the interface. SCADA support does not need to be enabled in order for this interface to run. That is, this interface can be run on a FIX View node.

Note: Previously several customers have been unable to run the interface on version 6.12 of FIX. With version 1.7 and later the interface runs with FIX 6.12 as well. For important information regarding running this interface with FIX Dynamics, see release notes. Up to FIX Dynamics 1.0 and FIX DMACS 6.15, a FIX Dynamics SCADA node and a FIX DMACS SCADA node do not talk to each other. FIX32 version 7.0 node, however, can be seen by iFIX version 2.1 node and vice versa.

FIX32 version 6.15 and FIX Dynames version 2.0 introduced automatic failover functionality. Pi-eda running on a View node (and View node only – see the section on Redundancy in this manual) can take advantage of this functionality to continuously collect data from partner SCADA nodes if the active one becomes unavailable. See the section on FIX Redundancy in this manual.

Note: This interface requires PI API version at least 1.3.2 (see release notes).

For proper interface operation, configure input points (input tags) and/or output points (output tags) on a PI2 or PI3 home node (the words "point" and "tag" are used interchangeably in this manual). Input tags are used to receive data from FIX nodes, either local or remote. A single interface can collect data from one or more FIX nodes at a time. Data are received either at a given frequency or after a value that is sent to a given "triggertag" passes exception. These tags will be referred to as the event-triggered tags in this manual.

Output tags are used to send commands to FIX. A command is sent to FIX after a value that is sent to a "SourceTag" passes exception or after a value that is sent to the output tag itself passes exception, depending on the configuration of the output tag.

All values that are written to the snapshot or archive use the system time from the PI home node. In addition, this interface is able to fetch data from the user queue where FIX SAC places alarm and event messages. The points for which data are collected this way will be referred to as the event-message tags in this interface manual. The event-message tags MUST be configured as alarm- and/or event message-enabled in FIX database . It is recommended that separate instances of this interface be run for strictly scan-based data

6 OSI Software, Inc.

Page 7: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

collection and event-message collection in order to take full advantage of event-messaging feature of this interface. This will be discussed further in General PI Tag Configuration section. Either WUSERQ1.exe or WUSERQ2.exe (please see FIX manual for details) must be running in order for this feature to work. These executables will monitor alarms/events from alarm areas and make them available to our interface.

Note: WUSERQ1 and WUSERQ2 cannot monitor alarm areas named other than A-P. This interface was designed to use WUSERQ1 or WUSERQ2, and therefore will not work if the alarm areas are named other than A-P. This will be fixed in future release.

At startup, the interface scans the PI Point Database for all associated points and builds its own point list. During runtime, the interface continues to check the PI Point Database for point updates and modifies its point list accordingly. If the Scan field of any point on the point list is set to off, the point is removed from the point list. The point is added once again after the Scan field is turned back on. If neither a fixed scanrate nor a valid triggertag are found for a given point, the point will be removed from, or will not be added to the point list. This applies to event-message tags also - specifically, they must be in scan class 1. See General PI Tag Configuration section.

Supported Data TypesThe FIX DMACS interface provides support for analog, digital, and string values from FIX. Digital values in FIX are stored as strings. The interface converts the strings to a numerical state corresponding to the position of the string within the FIX setup. For digital points, the values returned to PI will be either 1 or 0. For multi-state digital points, the values returned to PI will be from 0 to 7. Values for all FIX tags that are alarm and/or event-message enabled can be collected via this interface, provided that they belong to scan class 1 and event message flag (/EM) is set in the startup command file. Mapping a FIX float to a PI digital is also supported in versions 1.9.5 or greater. That is, if a point is defined as a float in FIX (field is F_CV) but is configured as a digital in PI, values read as float is typecast to integer and this integer is sent as digital offset in PI. For example, value 0 will be mapped to the first digital state in the digital set associated with the tag, and value 1 will be mapped to the second digital state, and so on. Fixtopi utility will convert FIX float types to PI float32 by default. It is the user's responsibility to modify the script file generated by fixtopi (fixtopi.scr) to change the pointtype to digital if mapping is desired. For more information on fixtopi utility see Appendix D.

Note: FIX analog values can be stored as PI integers, however there is a risk of a significant loss of precision due to the truncation of analog data into an integer value.

10/15/2004 10:10:00 PM 7

Page 8: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

PI Point DefinitionFIX Tag Address Format

The FIX DMACS interface uses a "node-tag-field" (NTF) identifier to reference a specific point in FIX. The node references the FIX node on which the tag resides. Tag references the actual tag within the specified node, and field determines which of the tag’s attributes to reference.

General PI Tag Configuration InformationOne PI point (PI tag) must be configured for each FIX field the user wants to read from or write to. The points can be configured on a PI2 or PI3 home node.

The following describes the field names associated with PI point configuration that have specific meaning for use with the FIX DMACS interface. Other fields may also need to be specified for proper configuration of the PI point. Some of these fields include point name (tag name), typical value, engineering units, resolution code (PI2 only), filter code, etc. The user may wish to create I/O Rate Tags for each interface. For more information on PI Point configuration see the Data Archive (DA) section of the PI System Manual (for PI2 home nodes) or the PI Data Archive Manual for Windows NT and UNIX (for PI3 home nodes).

The field names in the table below are consistent with the field names in the Data Archive Manual for PI3. Please refer to the Appendix regarding use of the FixToPI transfer utility to facilitate in the creation of PI points.

PointSourceAll points to be used by the FIX DMACS interface must share a common point source (for example, M). For a PI2 home node, one must edit the point source table to include this PointSource (choose "point source" from the PI2 System main menu). See "Additional configuration for PI2" below. For PI3, the only requirement is to configure the tag with the same PointSource that is defined in the PI-EDA#.bat startup command file.

PointTypeThe interface supports all three PI point types for PI2, i.e., real R, integer I, and Discrete D, and Float16, Float32, Int16, Int32 and Discrete point types for PI3. The interface also supports the PI String point type.

Location1This parameter is used to specify the interface number, which corresponds to the /id=# flag in the PI-EDA#.bat file. Valid interface numbers are integer values 0 to 98, inclusive.

8 OSI Software, Inc.

Page 9: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Location2This parameter identifies the I/O type for the tag. If the tag is an output tag, this parameter must be set to 1.

= 0 Input tag

= 1 Output tag

Invalid Location2 values will cause the tag not to be added to the scan list. However, the interface will add other valid tags to the list and continue to run.

Location4This field determines the frequency at which an input tag is scanned. The field is ignored for output tags (I/O type 1). The field is also ignored for input tags (I/O type 0) if a "triggertag" is specified in the extended descriptor. By specifying a triggertag, the associated input tag is scanned after an "event" instead of being scanned at the frequency specified in Location4. See the section entitled "Input Tag Configuration" for essential details on input tags and triggertags. To be safe, set Location4 to 0 for event-based input tags or for output tags.The possible scanning frequencies for a given interface are specified by the user on the command line in the PI-EDA#.bat file (see the section entitled "Startup Command File"). For example,if part of the command line is as follows:

/f=00:00:05 /f=00:00:15 /f=00:01:00,00:00:10 /f=00:00:0.05,0

Then, the point can be configured to scan FIX every 5 seconds, every 15 seconds, or every 1 minute. For the 5-second and 15 second periods, scanning will begin on the hour or at a multiple of 5 or 15 seconds after the hour. For the 1-minute period, scanning will begin 10 seconds after the hour or at a multiple of 1minute and 10 seconds after the hour. If Location4 is 1 for the above command line, then the point will be scanned every 5 seconds. If Location4 is 2, then the point will be scanned every 15 seconds, and so on. The last scanclass shows the format for subsecond scan frequency.

Note: The highest scan resolution available in FIX is 0.05 seconds as of FIX32 verison 7.0 and iFIX version 2.1. Pi-eda has about the same resolution with buffering on. User should watch CPU usage on the node pi-eda is installed on. Depending on how loaded the CPU is, this performance can improve or degrade. The absolute limit on resolution is 0.01 second.

Important notes for event-message tags:

For all event-message tags, Location4 value MUST be 1 . It does not matter what that frequency is as long as the event-message tags are configured so that they all belong to scan frequency class 1 (Location4 = 1). This configuration in combination with /EM switch in the startup command file is used to let the interface know that these tags are to receive values from the alram/event-message queue instead of FIX database which the interface polls at pre-specified intervals. If /EM switch is set and the tags that have Location4 value equal to 1 are not alarm/event-message enabled in FIX, they will receive NO data through this interface. It is the user’s responsibility to configure these tags correctly within FIX database.

It is strongly recommended to run separate instances of the interface for scan-based tags and event-message based tags. Although this interface is capable of doing both types of data collection, if the interface has to spend time scanning at fixed intervals, it cannot take full advantage of the event-messaging feature. This interface is a UniInt (OSI interface standard) based interface and fetches event messages from the queue

10/15/2004 10:10:00 PM 9

Page 10: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

while the interface is not scanning (during so-called “inbetween scan times”). Both collection methods’ performances will be compromised if the list of each is long.

Due to the current UniInt limitation, scan-based tags cannot be scanned at subsecond intervals. However, event-message tags receive sub-second timestamps upto the current FIX subsecond scanning resolution.

The sub-second timestamp resolution for event-message tags in PI is only as good as that of FIX’s SCAN rate. That is, if FIX can only send alarms to the queue every 0.05 seconds, that is the highest resolution that the PI tags will get. For the latest information on the highest resolution available, please contact Intellution TechSupport.

InstrumentTagThis field is used to specify the NTF address for FIX. NTF stands for Node-Tag-Field, and is used to address a specific tag within FIX. Each entry in the NTF must be separated with a comma, with no spaces between the commas and text.

F_CV (F for float) is the only Field that is specified for analog FIX points (for other supported analog Fields see the next paragraph). Qualifying FIX float-valued blocks are converted to PI float tags by our utility FixToPI and are assigned this Field. For block types that are automatically converted (without requiring manual intervention by the user), see the section on FixToPI at the end of this manual. Other block types that result in float value are also supported by this interface, but they need to be manually configured in PI. This attribute is also specified in the InstrumentTag field for the PI tag.

If FIX NTF = LocalNode,TagX,F_CV the InstrumentTag field for a PI tag would contain:

LocalNode,TagX,F_CV

Note: The Analog Alarm types in FIX are supported by this interface by configuring them as one of the following three PI data types: digital (two states only), multi-state digital or strings (if the server is PI3).

For digital and multi-state digital FIX points, the Field specified in FIX is A_CV for both types of digital points (A for alphanumeric). However, when configuring PI tags for FIX digital and multi-state digital points, the field name must be modified from the FIX format. For digital tags, the field must always start with D_ and for multi-state tags, the field name must start with M_. This is an interface-specific requirement, and no modification of the FIX database is required.

The following example shows the contents of the InstrumentTag field for a digital tag whose FIX NTF = LocalNode,TagX,A_CV

The InstrumentTag field for a PI tag would contain:

LocalNode,TagX,D_CV

The following example shows the contents of the InstrumentTag field for a multi-state digital tag whose FIX NTF = LocalNode,TagX,A_CV

10 OSI Software, Inc.

Page 11: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

The InstrumentTag field for a PI tag would contain:

LocalNode,TagX,M_CV

It should be emphasized that the interface does support string values as string values. If required by the user, the PI point in this case could be configured as a string tag and the NTF could be put in the Instrument tag as:

LocalNode,TagX,A_CV

and the current value as an ASCII string will be stored in PI.

Similarly, each field in the EDA database has an associated field name. The numeric fields have both a "A_" and a "F_" type fieldname associated with them, whereas the fields which store alphanumeric data (such as Tag Name) has an "A_" type fieldname associated with it. If desired, a PI Tag can be configured as a string tag, and the information in this field could be sent to PI via this interface.

For example, DESC field can be configured as a PI string tag by setting the field in instrument tag as A_DESC. Or, if the field HIHI (for HIHI alarm limit) is to be obtained as a PI tag, a PI tag can be configured as a float32 point type with field value equal to F_HIHI. However, most information in the database other than the current value ("F_CV and/or A_CV) is static, i.e. it does not change over a long period of time. Therefore, querying the EDA database for values other than the current value would be, for most users, a waste of time.

If the InstrumentTag field is specified on a PI3 home node with the piconfig utility, then the InstrumentTag field should be encased within double quotes (" "). This is required because PIConfig, by default, uses a comma as a delimiter.

In those rare cases where the 32 characters of the InstrumentTag will not suffice to contain the entire NTF, the Node name or the Field name or both can be placed in the PI Extended Descriptor field (ExDesc). If the full NTF is specified in the instrument tag, then the interface does NOT check the ExDesc field for additional information - the interface already has all the information required. Utilizing the ExDesc for this purpose means the InstrumentTag field will contain two or even one of the designators - the others will be in the ExDesc.

If the NTF entry in the InstrumentTag is not complete, the ExDesc will be checked. Remember that the Tag name MUST be in the InstrumentTag field. This can be the Tag name by itself, or the node name may be prepended with a comma between the two, or the Field name may be appended with a comma separating the two. The ExDesc will provide the missing field.

10/15/2004 10:10:00 PM 11

Page 12: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Note: If the instrument tag contains two fields separated by a comma and both the Node name and Field name are provided in the ExDesc, the interface uses both the Field Name and the Node Name from the ExDesc. In this case, it assumes that the first field in the InstrumentTag is the Tag Name. If this is not the case, then an error will occur when the tag is accessed.

Another Important Note: If the tag is of type float in FIX but is configured as a digital tag in PI, the instrumenttag attribute in PI should contain LocalNode,TagX,F_CV rather than LocalNode,TagX,D_CV. In that case FIX float is mapped to PI digital type by sending the float value typecast to integer as the offset to the digital set that the tag is associated with in PI. That is, if FIX generates 0, 1, 2, 3, 4 that is read in the F_CV field, user can define this tag in PI as a digital tag with 5 digital states. Value 0 will be mapped to the first digital state in the corresponding digital set and value 1 will be mapped to the second digital state, and so on. Fixtopi utility will convert FIX float types to PI float32 by default. It is the user's responsibility to modify the script file generated by fixtopi (fixtopi.scr) to change the pointtype to digital if mapping is desired.

Summary of FIX tag to PI tag conversion: Below, **** represents the FIELD name in FIX for the value you are interested in.

For whatever field value in FIX to be converted to a PI type:

1) If it is represented as a text string (except for digital state), it should have A_**** for FIELD in PI InstrumentTag field and PI type defined as String.

2) If it is represented as a digital state (2-state) in FIX then FIELD=D_**** and PI type is defined as Digital.

3) If it is represented as a digital state (multi-state) in FIX then FIELD=M_**** and PI type is defined as Digital.

4) If it is represented as an integer out of finite number of values (that is, it is a tag whose value is an integer in FIX but is to be mapped to a digital state in PI) in FIX then FIELD=F_**** and PI point type is digital.

5) If it is represented as a float in FIX then FIELD=F_**** and PI point type is float32.

Note: For any FIX data type to be converted to a digital state in PI, a digital set containing the digital state must have been defined PRIOR to the tag definition itself.

ScanThe Scan field is used by the interface to determine whether or not the tag is to be scanned. This allows the user to turn a tag on or off while the interface is on-line.

SourceTagA SourceTag can be used in conjunction with an output tag. An output tag is a tag for which the I/O type has been set to 1 Location3. See the section entitled "Output Tag Configuration" for essential details on output tags and SourceTags.

12 OSI Software, Inc.

Page 13: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

ExDescThe extended descriptor (ExDesc) can be used to specify a "triggertag" (for input tags only) and is specified by the following syntax in the extended descriptor:

event=triggertag

By specifying a triggertag, the associated input tag is scanned after an "event" instead of being scanned at the frequency specified in Location4. See the section entitled "Input Tag Configuration" for essential details on input tags and triggertags.

The extended descriptor can also be used to offload components from the NTF contained in the InstrumentTag (q.v.). To add either a node name or a field name to the extended descriptor, these fields are labeled as in the triggertag above. To add the node name to the extended descriptor, the syntax is:

NODE=nodename

To add the field name to the extended descriptor, the syntax is:

FIELD=fieldname

Please note, that all three (event=, node=, and field=) can be in the extended descriptor at the same time. A semicolon (;) is utilized as a separator between the node name and the field name. If the user desires the tag to be triggered by a change in tag XXXX, and also wishes to include a node name of YYYY and a field name of F_CV, the syntax is:

EVENT=XXXX,NODE=YYYY;FIELD=F_CV or

EVENT=XXXX,NODE=YYYY,FIELD=F_CV or

NODE=YYYY;EVENT=XXXX,FIELD=F_CV or

FIELD=F_CV;NODE=YYYY,EVENT=XXXX

Either a semicolon (‘;’) or a comma (‘,’) can be used as the delimiter to indicate the end of NODE name and FIELD name. However, a comma (‘,’) must be used to indicate the end of EVENT tag.

For an important message regarding the performance of the interface for event-triggered tags see Performance and EDA Usage below under Input Tag Configuration.

Input Tag ConfigurationInput tags are used to receive data from FIX nodes. A tag is an input tag if a 0 is specified in Location2. Values are requested from FIX at a given frequency or after an "event," depending on the configuration of the input tag.

10/15/2004 10:10:00 PM 13

Page 14: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Configuration 1:Values are requested from FIX and sent to an input tag at a given frequency. This frequency is specified in Location4. Configuration 1 is enabled if no "triggertag" is specified the input tag’s extended descriptor.

Configuration 2: Values are requested from FIX and sent to an input tag after an event is detected for a "triggertag." The triggertag is specified in the input tag’s extended descriptor. An event occurs whenever a value reaches the snapshot of the triggertag.

For both configuration 1 and configuration 2, BAD INPUT (digital state 255) is sent to the input tag if a communication error occurs.

Performance and EDA UsageThe interface uses the standard FIX EDA library for communication to local and remote FIX nodes. The interfaces also use the concept of groups of points to logically organize points. The interface defines one EDA group for every scan class defined when the interface is started. A separate group for output tags is also created.

To maximize performance, tags on different nodes should not be included in the same group. This may require that several scan classes with the same interval be defined. By keeping all tags for individual nodes within the same group, EDA does not have to poll multiple nodes in order to read values for a specific group. Also, note that event-triggered tags take much longer to process since a separate group needs to be defined for each event tag, which is less efficient than scanning multiple tags grouped together.

For event-message tags, groups are not created.

Output Tag ConfigurationOutput tags are used to send commands to FIX. A tag is an output tag if a 1 is specified in Location2. Commands are sent to FIX only upon an event. An event is triggered in one of two ways, depending upon the configuration of the output tag.

Configuration 1: (Recommended): In this configuration, a command is written to FIX when an event is detected for a SourceTag. A SourceTag is associated with an output tag through the output tag’s SourceTag field (see the section entitled "PI Point Definition" above). The value of the SourceTag is written to the output tag if the command is successful. The output tag and the SourceTag should be given the same exception specifications (ExcDev, ExcMin, and ExcMax). Otherwise, values that appear in the snapshot of the SourceTag may not appear in the snapshot of the output tag. The PointType of the output tag and the SourceTag do not need to be the same, but data loss could result from differences in precision for different PointTypes.

Configuration 2: In this configuration, a command is written to FIX when an event is detected for the output tag itself. This configuration is enabled if no SourceTag is defined in the output tag’s SourceTag field.

When do "events" occur? An event occurrs whenever a value reaches the snapshot of the SourceTag (configuration 1) or the output tag (configuration 2). The actual value of the snapshot does not need to change to trigger an event. For example, say the current value in the snapshot of a SourceTag tag is 51, and say that exception testing is turned on for the SourceTag. Even if the value of the SourceTag does not change, the exception maximum time for the SourceTag will eventually be exceeded. When this happens, a value of 51 will

14 OSI Software, Inc.

Page 15: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

be sent to the snapshot of the SourceTag, triggering an event that will cause a command to be sent to FIX.

Additional PI2 Configuration

Point SourceOn PI 2 systems, the point source range is specified by selecting the PointSrc option on the PI Menu, choosing a blank field from the point source list, and entering the following location parameter limits. After the limits have been defined, you will be prompted to define the point source for the point source list.

Location 1 Location 2 Location 3 Location 4 Location 5

0 0 -20000000 1 -20000000

98 1 2000000 256 2000000

Digital State CodeFor PI 2 systems only, check that the following codes are defined in the Digital States Table (the states are already present in PI 3):

Digital State Code

Digital State String

237 Bad Output

238 Scan Off

239 Scan On

246 I/O Timeout

251 Under Range

252 Over Range

255 Bad Input

299 Invalid Data

10/15/2004 10:10:00 PM 15

Page 16: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Hardware and Software Interface Software Requirements

The PC must be running the Windows NT-Intel operating system. In order for the interface to run, the PC must be configured with the ability to connect to FIX on the local or remote PC. That is, FIX SCADA and/or VIEW node support must be available on the interface node. The eda.dll and fixtools.dll must also be installed (this is normally done during the installation of FIX).

Interface Hardware RequirementsNo hardware is required beyond the PC and suitable network hardware for access to remote FIX nodes.

16 OSI Software, Inc.

Page 17: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Startup Command FileThe FIX DMACS interface requires several command-line arguments for successful execution. For convenience, the arguments are defined in a startup command file called PI-EDA#.bat. A sample PI-EDA#.bat file is included on the installation disks. The command line in the PI-EDA#.bat file must be on a single line and cannot exceed the 255 character limit.

Startup Command File Parameters and Syntax

/id=# Defines a unique identifier (#) between 0 and 98 for each version of the interface that is running. The identifier corresponds to Location1 of the PI tag definition.

/ps=x Defines the point source x, where x can be any single character. A corresponding point source must be defined on the PI2 or PI3 home node.

/f=hh:mm:ss Defines the time period in between scans in terms of hours (hh), minutes (mm), and seconds (ss). Several time periods can be defined on a single command line (however, one must be careful not to exceed the 255-character limit of the command line). Location4 determines which time period is used.

Home node on PI3: /host=x:5450Home node on PI2: /host=x:545Defaults: see right

Defines the node name, x, of the PI home node. Defaults are:If the interface is installed on a PI3 home node: /host=localhost:5450If the interface is installed on a client PC and the PI home node is a PI3 system: /host=servername:5450where "servername" should be replaced with the name of the PI3 server.If the interface is installed on a client PC and the PI home node is a PI2 system: /host=servername:545where "servername" should be replaced with the name of the PI2 server.5450 and 545 refer port numbers

/q When this flag is specified, data is queued on the NT system before it is transmitted to the PI home node. Data is sent less frequently but in larger packets. This flag is recommended.

/LS When this flag is specified, local system time rather than PI server time is used for PI timestamps. This option must be used with caution since the interface node clock should not be ahead of PI server node clock as PI ignores “future” data. Also, at the time of the interface shutdown, PI Server timestamp will be assigned to all tags. This switch should only be used if there is a compelling reason to do so.

10/15/2004 10:10:00 PM 17

Page 18: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Startup Command File Parameters and Syntax

/ec=x

default: none

The /ec flag is used to specify an IORate tag from the iorates.dat file. Example entries from an iorates.dat file are given below:

Tagname1,1 Tagname2, 2

Where tagname1 and tagname2 can be any legal tag name. The number after the tag name can be between 1 and 33 or between 51 and 200, inclusive. Numbers 34 to 50 are reserved for future use. If /ec=2 is used on the command line for the above iorates.dat file, then the rate (events per minute) at which data is sent to the snapshot will be stored in Tagname2. The rate that is sent to Tagname2 is a 10-minute average (i.e. the total number of events collected by the interface divided by 10 minutes). Therefore the IORate will appear to be zero for the first 10 minutes of interface operation. IORates for individual tags cannot be measured at this time.

The iorates.dat file must be created by hand. The file should be placed in the dat\ directory. The dat\ directory is located in the directory designated by the PIHOME entry in the pipc.ini file. Normally the PIHOME entry points to the c:\PIPC\ directory so that the iorates.dat file will reside in the c:\PIPC\dat\ directory.

Once the iorates.dat file is created, the interface must be stopped and restarted before the interface begins measuring the IORate.

Although the interface will allow multiple instances of the /ec flag to be specified on the command line, the rate will only be nonzero for the first rate tag that is referenced.

/stopstat

default: none

One can specify /stopstat = digstate, where digstate is a system digital state that will be written to all input tags upon shutdown. For interfaces that are run interactively, the entire argument must be encased within quotes when there is a space in the digital state. For example, /stopstat=Bad Input will work for an interface that is run interactively. This new feature was enabled due to the new version of UniInt (OSI interface standard).

Unfortunately, /stopstat=Bad Input will not work when the interface is run as a service because UniInt will interpret the argument as two separate arguments, the first being /stopstat=Bad and the second being Input. This will be corrected in the next released version of UniInt (for current version see PI-EDA release notes).

Specifying /stopstat on the command line by itself will still cause IO Timeout to be written to all input points upon shutdown.

/w=n

Optional. Default is 120 (2 minutes).

This specifies how many seconds the interface waits for the FIX software to come up completely since the initial startup before loading tags.

/em

default: none

This specifies collecting events from the alarm/event queue for tags in scan class 1. FIX SAC places the alarms and/or event messages on the queue, if the alarm conditions (see Intellution FIX Alarm and Messaging Manual) are met. The resolution of the event messaging is the same as the SCAN time in FIX.

18 OSI Software, Inc.

Page 19: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Startup Command File Parameters and Syntax

/qn=n

default:1

This specifies which queue should be used for alarms/event messages. If /em is set, default of 1 is used. The number must be either 1 or 2, and the corresponding user queue (tasks Wuserq1.exe or Wuserq2.exe) must be started in FIX.

When launching Wuserq1.exe and/or Wuserq2.exe in iFIX, one must specify (via command line parameters) which alarm area or areas the queue is to monitor for events. Please see Intellution Fix manual. Note that if the alarm areas are named other than A-P, these queue- monitoring executables, and therefore pi-eda also, will not work. This will be fixed in future release.

/c=nnn:pp

default: none

This parameter specifies the beginning position of the tag’s value in its alarm message format. See figure below. This dialogue box will appear when Message Format button is clicked in SCU/Alarm menu. This information is necessary when /em switch is set in order to allow different data types to be fetched from the queue. To configure the numbers correctly, add the numbers in the Length boxes that are not grayed out, up to and not including the Value column. Add additional 1 (for space between columns, which FIX adds automatically) for each column before Value column. That is, if Value is in the 5 th column as below (this corresponds to the Column Order on the right), add 4 to the sum of column lengths. For the format shown below, the /c should be

/c=63:13

This parameter must be specified if /em switch is set. Both integers must be greater than zero and less than the total Message Length.

This configuration may need to be modified if not all alarm/event message formats are the same as the default setting. The best way to confirm your /c switch is set correctly is to run Alarm History in FIX and make sure the alarms are coming in in the format you expect.

10/15/2004 10:10:00 PM 19

Page 20: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Startup Command File Parameters and Syntax

/pc

default = false

Fix point check. The interface will check to see if this point can be read from FIX at the interface startup if this switch is set. To set it to true, simply add /pc in pi-eda#.bat file. This switch is useful when trouble-shooting why a point is not collecting data since the startup. It will show if the point was not added and why. The disadvantages of using this switch are: 1. The point-loading process will take much longer. 2. If the point is off-scan at the interface startup, and comes on-line later the interface will not attempt to reload the point if the switch is not set. If, on the other hand, the switch is not set, the test will be performed on this tag unless it is the first tag to be added to a FIX node, and the point will have been added. Only use this for debugging.

/L=fff

default: see right

This parameter specifies the logging configuration file. The interface provides logging facilities beyond the standard PI logging. See the section on Message Logging later in this manual for a full explanation. It is very important that the full path for the logging configuration file is specified. For example c:\pi\interfaces\pi-eda\edalogcfg.txt instead of, say, edalogcfg.txt. The interface will not start if the full path is not given.

20 OSI Software, Inc.

Page 21: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

FIX DMACS Interface Installation NT-Intel Installation Disk File List

Disk File List

File Name Description

PI-EDA.EXE FIX DMACS interface executable file

PI-EDA.BAT Startup command file

PI-EDA.DBG Debug symbol file

Installation notes:

The installation can be done on either a PI home node (the node where the PI Data Archive resides) or on a PI API node (a node which communicates to the PI home node across a network). The installation procedure assumes the following:

1. You are installing the interface on the C drive. If you are installing the interface on a different drive than your C: drive, substitute the appropriate drive name in the procedure below.

2. Your floppy drive is the B drive. If your floppy drive is not your B: drive, substitute the appropriate drive name in the procedure below.

3. You have met the appropriate hardware and software requirements described in the section entitled "Hardware and Software" above.

4. For a PI3 home node: The PI Firewall Database and the PI Proxy Database are configured so that the interface is allowed to write data to the PI Data Archive. See "Modifying the Firewall Database" and "Modifying the Proxy Database" in the PI Data Archive Manual. If the interface cannot write data to the PI Data Archive owing to permission problems, an error –10401 will occur. Note that /host=localhost:5450 in the PI-EDA#.bat file corresponds to the loopback node 127.0.0.1, which is present by default in the Firewall and Proxy Databases.

5. For a PI2 home node: The client must be allowed write access to the PI2 Data Archive. Read and write access is controlled in PI2 with the pisysdat:piserver.dat file.

10/15/2004 10:10:00 PM 21

Page 22: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Installation Procedure1. Create the following directory:

c:\PI\interfaces\pi-EDA\ if running on a PI3 home node or

c:\pipc\interfaces\pi-EDA\ if running on a PI API node

2. Insert the installation disk, and execute the following commands from an MsDos prompt:copy b:\PI-EDA.exe c:\pipc\interfaces\EDA\PI-EDA#.execopy b:\PI-EDA.bat c:\pipc\interfaces\EDA\PI-EDA#.bat# should be replaced by a number between 0 and 98, inclusive. # should correspond to the interface number that is specified using the /id flag in the PI-EDA#.bat file.

3. Modify the command-line arguments in your PI-EDA#.bat file to customize your interface. For example,

..\interfaces\EDA\PI-EDA1.exe /id=1 /q /ps=M /f=00:01:00 The command line must be on a single line and cannot exceed 1024 characters (1 kilobyte). This is a limitation set by the interface, not by the NT Operating system. The command-line arguments are discussed earlier in this manual. Running the interface either manually or as a service is discussed below. Manual startup is recommended the first time the interface is started because manual startup is easier to troubleshoot.

To run as a serviceThe procedure for installing the FIX DMACS interface as a service depends upon whether or not Bufserv is being used. Once the interface has been installed as a service, the procedure for starting, stopping and removing the interface as a service is the same whether or not Bufserv is used. The purpose of the Bufserv utility is to continue to collect data from an interface in the event that the PI Data Archive is shut down for some reason.

For example, if the FIX DMACS interface is installed on the PI home node and the PI Data Archive is shut down for an upgrade, the Bufserv utility on the PI home node will buffer the data in a file until the PI Data Archive is brought back online.

Another possibility is that the FIX DMACS interface is installed on an API node. If there are problems with the PI home node, then the Bufserv utility on the API node will buffer the data in a file until the PI home node is brought back online.

The procedure for installing the interface in conjunction with the Bufserv Utility assumes that the user has Bufserv 1.04 or higher because the procedure implicitly assumes that Bufserv will be installed as a service. The actual installation of the Bufserv Utility itself is not discussed. For these instructions, refer to the PI-API Bufserv 1.x Release Notes. Also, the installation procedure below does not discuss the details related to shutdown events that the user should be aware of when the Bufserv Utility is used. For more information, refer to the PI-API Bufserv 1.x Release Notes.

To run as a service, complete the following steps:

1. One can get help for installing the interface a service at any time by typing the following:

22 OSI Software, Inc.

Page 23: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

PI-EDA# -helpNote that the –query flag that is described when help is invoked is not implemented at this time.

The EDA# service can be installed either as a manual or an automatic service. Automatic services are started automatically when the NT operating system is rebooted. This feature is useful in the event of a power failure.

To install the interface as a manual service, execute the following command from the EDA#\ directory.

Without Bufserv:PI-EDA# -install -depend tcpipWith Bufserv:PI-EDA# -install -depend "tcpip bufserv"

To install the interface as an automatic service, execute the following command from the EDA#\ directory.

Without Bufserv:PI-EDA# -install –auto -depend tcpipWith Bufserv:PI-EDA# -install –auto -depend "tcpip bufserv"Check the Microsoft Windows NT services control panel to verify that the service has been successfully added. One can use the services control panel at any time to change the PI-EDA# service from an automatic service to a manual service or vice versa. Once the PI-EDA# service has been installed, the rest of the procedure is the same whether or not Bufserv has been implemented. The PI-EDA# service can be started from the services control panel or by executing the following command from the PI_EDA#\ directory:PI-EDA# -startA message will be echoed to the screen informing the user whether or not the interface has been successfully started as a service. If the service is successfully started, the interface will attempt to read the command-line arguments from the PI-EDA#.bat file. For this to succeed, the root name (the part of the file name before the .exe and .bat extensions) of the batch file must be the same as the root name of the executable. Also, the batch file and the executable file must be in the same directory. If the interface is unable to read the command-line arguments, or if the command-line arguments that the interface reads are invalid, the service will terminate with no error messages echoed to the screen.For this reason, the user MUST check the pipc.log file to verify that the interface is running correctly. In the pipc.log file, messages pertaining to the FIX DMACS interface will be prepended by PI-EDA #>. The location of the pipc.log file is determined by the PIHOME entry in the pipc.ini file. The pipc.ini file is located in the WinNT directory. Usually, the pipc.log file will reside in the c:\pipc\dat\ directory. If the service was successfully started, the user can verify that the service is still running from the services control panel. If the service has been terminated, the reason for its termination will be given in the pipc.log file. If the service is still running, the user can use c:\PI\bin\apisnap.exe or ProcessBook to verify that data is being successfully transferred to the PI Data Archive.

10/15/2004 10:10:00 PM 23

Page 24: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

The PI-EDA# service can be stopped at any time by issuing the following command:PI-EDA# -stopThe PI-EDA# service can be removed byPI-EDA# -remove

2. If the PI-EDA# service is installed as a manual service on the PI home node, the user may wish to edit the c:\PI\adm\pisrvsitestart.bat and the c:\PI\adm\pisrvsitestop.bat command files. These command files are invoked only when the PI data archive is started and stopped as a manual service with the c:\PI\adm\pisrvstart.bat and the c:\PI\adm\pisitestop.bat command files. In the c:\PI\adm\pisrvsitestart.bat file, make sure that the second to last line ends in:& wait 5000 If not, append & wait 5000 to the end of the line. In the same file, add the following command just above :theend :C:\PI\interfaces\EDA\PI-EDA# -start & wait 5000Add the following command to the c:\PI\adm\pisrvsitestop.bat file just above :theend :C:\PI\interfaces\EDA\PI-EDA# -stopNote that the full path name to the EDA# executable must be given in both the c:\PI\adm\pisrvsitestart.bat and the c:\PI\adm\pisrvsitestop.bat command files.

To run in interactive modeTo run in interactive mode, complete the following steps

1. Execute the following command from an Ms Dos prompt:cd c:\PI\interfacesstart "EDA#" EDA\PI-EDA#.bat A new Ms Dos window will appear, and the user will see several messages echoed to the screen. Then the messages will simply stop. The user will not regain a command prompt on the mdse. window until the interface has been stopped. Pressing <CNTRL-C> key combination while the Ms Dos window is selected stops the interface. The user can use c:\PI\bin\apisnap.exe or ProcessBook to verify that data is being successfully transferred to the PI Data Archive.Check whether or not there is any error messages to verify successful execution of the interface. Messages that are sent to the screen are also sent to the pipc.log file. Check the pipc.log file. Some messages are written to this file that are not echoed to the screen when the interface is started up. Messages in the pipc.log file that pertain to the FIX DMACS interface will be pre-pended by PI-EDA #>. The location of the pipc.log file is determined by the PIHOME entry in the pipc.ini file. The pipc.ini file is located in the WinNT directory. Usually, the pipc.log file will be placed in the c:\pipc\dat\ directory.

2. If you plan on starting both the PI Data Archive and the FIX DMACS interface manually, you may wish to start the FIX DMACS interface along with the PI data archive. To do this you must edit the c:\PI\adm\pisitestart.bat command file (there is no such thing as a c:\PI\adm\pisitestop.bat command file). Make sure that the last line of the c:\PI\adm\pisitestart.bat file ends in:& wait 5000

24 OSI Software, Inc.

Page 25: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

If not, append & wait 5000 to the end of the line. In the same file, add the following two commands:echo Starting EDA# Interfacestart "EDA#" /min ..\interfaces\EDA\PI-EDA#.bat & wait 5000The EDA# interface should now be started in interactive mode. The /min flag minimizes the Ms Dos window that is created when the FIX DMACS interface is executed.

To Install Debug SymbolsTo install the debug symbols, copy the file pi-eda.dbg to directory

%SystemRoot%\Symbols\exe

Service Control Manager can use the symbols contained in this file to match Dr. Watson dumps with the extracted symbol information. This directory is usually created by PI 3.2 installation program. If it does not exist, however, the user should create it. Dr. Watson is installed as the default debugger by typing drwtsn32 –i at DOS prompt.

10/15/2004 10:10:00 PM 25

Page 26: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

FIX DMACS Interface System AdministrationStarting the FIX DMACS Interface

Automatic Service StartupIf the FIX DMACS interface was configured as an automatic service, the FIX DMACS interface will automatically start after the NT system reboots. This configuration is useful in the event of a power failure.

Manual Service StartupIf the FIX DMACS interface, as well as the PI system, is configured as a manual service, the FIX DMACS interface can be started along with the PI system when the following command file is executed from the adm\ directory (assuming installation procedure discussed above was completed):pisrvstart.bat

If you wish to start a manual PI-EDA service separately from the PI Data Archive, execute the following command from the PI-EDA#\ directory:

PI-EDA# -start

Interactive StartupIf both PI and the FIX DMACS interface are started interactively, one can start both of them with:pistart.bat

Alternatively, one can start the interface independently of the PI Data Archive by typing the following command from the interfaces\ directory:start "PI-EDA#" PI-EDA#\PI-EDA#.bat

Or one can issue the following command from the interfaces\ directory:PI-EDA#\PI-EDA#.batWhen start “PI-EDA#”… command is used, a new MsDos window is created.

Stopping the FIX DMACS InterfaceIf the FIX DMACS interface was configured as an automatic or a manual service, and if the PI system was also configured as an automatic or manual service, then the PI-EDA# service is stopped along with the PI system by executing the following command file from the adm\ directory:pisrvstop.bat

26 OSI Software, Inc.

Page 27: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Alternatively, one can stop the PI-EDA# service independently from stopping the PI system by executing the following command from the PI-EDA#\ directory: PI-EDA# -stop

One can also stop the EDA# service from the services control panel.

If the interface was started in interactive mode, it can be stopped by either selecting the Ms Dos window that corresponds to the PI-EDA# interface or holding down the control key while typing the letter c.

Note: There is no pisitestop.bat file to correspond to the pisitestart.bat file.

Status, Warning, and Error MessagesSuch messages will be written to the pipc.log file. This file should be checked to verify successful execution of the interface because not all error messages are echoed to the screen. The location of this file is determined by the PIHOME entry in the pipc.ini file, which is located in the WinNT directory. For example, if the PIHOME entry is c:\PIPC, then the pipc.log file will be located in the c:\PIPC\dat directory.

The interface will report all FIX errors with a context-sensitive description.

10/15/2004 10:10:00 PM 27

Page 28: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

IORatesThe total rate (events per minute) that the FIX DMACS interface sends data to the snapshot can be measured. The interface calculates a 10-minute average (i.e. it counts the total number of snapshot events over a 10-minute period and then divides by 10 minutes). IORates for individual tags cannot be measured at this time.

For instructions regarding implementation of IORates, see the description of the /ec flag of the startup command file under the section entitled "Startup Command File."

28 OSI Software, Inc.

Page 29: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

FIX Redundancy and Pi-edaBoth FIX32 and iFIX support failover1 (starting from FIX32 version 6.15 and FIX Dynamics version 2.0). Pi-eda can take advantage of this functionality by running on a View node. A View node can look at a pair of SCADA nodes that have the identical databases (and connected to the same PLC) and obtain data from the currently active node. More information on Failover can be found in Intellution’s documentation for FIX32 or iFIX. Although FIX allows a backup SCADA configuration that involves two SCADA servers and no View node, pi-eda, as of version 2.0.0, does not support this configuration.

Note: iFIX does not synchronize the process databases on the SCADA servers. You must ensure that both databases are identical. It is also important that the failover paired SCADA nodes’ clocks are synchronized in order to ensure that the tags get the same data regardless of which SCADA the values are pulled from.

This section describes the setup on VIEW node and the failover-pair SCADA nodes and PI tag configurations so that pi-eda can seamlessly collect data regardless of which SCADA node is active. Configurations are slightly different depending on whether the system is FIX32 or iFIX.

FIX32 View NodeIn Configure/Network dialog, enter remote node names with which the VIEW node communicates.

Note: Only the primary node of the pair SCADA nodes needs to be entered here.

1 FIX32 version 7.0 and iFIX 2.1 have been tested at OSI for failover support and pi-eda compatibility with FIX redundancy. The redundancy system tested consisted of pure FIX32 or pure iFIX combinations, i.e., 2 FIX32 SCADA nodes and 1 FIX32 VIEW node, or 2 iFIX SCADA nodes and 1 iFIX VIEW node. The average time it (VIEW node) took to fail over from one SCADA node to the other was about 20-30 seconds. This is reflected in the data gap in PI archive.

10/15/2004 10:10:00 PM 29

Page 30: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Click on Configure … button and get the following screen.

Enter the backup node name for this remote SCADA node.

FIX32 Primary SCADA NodeIn SCU,

In Configure/SCADA screen, fill in the database name. This database must reside both on the primary SCADA node and the backup SCADA node with the identical tag definitions. Define Partner SCADA in Redundancy box.

30 OSI Software, Inc.

Page 31: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Then in Configure/Network dialogue,

Enter the View node name and the SCADA partner node name in Remote Nodes box. Then highlight the SCADA partner node (i.e., this node’s backup node) and click on Configure… Then enter its backup node’s name in redundancy box (since this is backup nodes’s backup, it would be primary node’s name).

10/15/2004 10:10:00 PM 31

Page 32: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

FIX32 Backup SCADA NodeDo the same thing as on the primary node, except that the local node name is the backup node name, Partner SCADA is the primary node, and the remote node’s backup node is the backup node.

FIX32 View Node’s Network Status DisplayIn FIX View, when you open nsdredun.odf you will see which SCADA node is active currently. This is the SCADA node from which pi-eda will be getting tag values. For details on how to set this up, see FIX documentation.

32 OSI Software, Inc.

Page 33: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

FIX32 Node \winnt\system32\drivers\etc Host FileView node and both SCADA nodes must all have host files with the View node name, primary and backup SCADA node names and IP addresses. For example,

xxx.xxx.xxx.1 FIXVIEWxxx.xxx.xxx.2 FIXPRMRYxxx.xxx.xxx.3 FIXBAKUP

PI Tag Configuration for FIX32 TagAll configuration settings are the same as when no redundancy is required except that the NODE field in InstrumentTag attribute must be the primary node name.

iFIX View NodeIn SCU/Configure/Network screen, enter the logical name that the View node is to communicate with in the Remote Node Name field. Click the Add button. The logical node name appears in the Configured Remote Nodes list.

Then click on Configure button and check Enable Logical Names box. Enter the local node name of the primary node in the Primary Node field. Enter the local node name of the backup node in the Backup Node field.

10/15/2004 10:10:00 PM 33

Page 34: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

iFIX Primary SCADA NodeIn SCU/Configure/LocalStartup screen, enter the logical name for the primary node and the backup SCADA pair.

Then in SCU/Configure/SCADA screen, enter the backup SCADA name.

Then go to SCU/Configure/Network screen and enter the logical name for this SCADA and its backup SCADA nodes in the Remote Node Name box. Click Add.

34 OSI Software, Inc.

Page 35: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Then click on Configure button and check Enable Logical Names box. Enter the local node name of the primary node in the Primary Node field. Enter the local node name of the backup node in the Backup Node field.

Go back to SCU/Configure/Network screen and add the View node name in Remote Node Name box.

iFIX Backup SCADA NodeDo the same thing as on the primary node, except that the local node name is the backup node name, and the Partner SCADA name in Configure/SCADA is the primary node name. The Configure/Network setting is identical to that of the primary SCADA node.

iFIX Network Status Redundancy Display

10/15/2004 10:10:00 PM 35

Page 36: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

NetworkStatusRedundancyDisplay.grf file can bet setup to show which SCADA node is currently active. Pi-eda gets its data from this active node.

iFIX Node \winnt\system32\drivers\etc Host FileView node and both SCADA nodes must all have host files with the View node name and primary and backup SCADA node names and IP addresses. For example,

xxx.xxx.xxx.1 FIXVIEWxxx.xxx.xxx.2 FIXPRMRYxxx.xxx.xxx.3 FIXBAKUP

PI Tag Configuration for iFIX TagAll configuration settings are the same as when no redundancy is required, except that the NODE field in InstrumentTag attribute must be the logical SCADA node name for the failover (aka redundancy) SCADA pair.

36 OSI Software, Inc.

Page 37: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Appendix A Communication Error Recovery

If a remote FIX node "goes down" (becomes inoperable), the tags associated with that node will return an error code to PI (BAD INPUT), and will not report any future values to PI until the remote node becomes operable again. Once the remote node is operable, the interface automatically starts sending data to PI.

If the local FIX node goes down, access to all remote FIX nodes is also inhibited. In this case, every tag’s status will be set to BAD INPUT. When the local node is re-started, all tags will be redefined in EDA, and polling will continue as before the node went down.

10/15/2004 10:10:00 PM 37

Page 38: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Appendix B TroubleshootingIf the interface is behaving in an unexpected manner, check the pipc.log file and the user-specified log file (see "Appendix C"). Even when the interface runs in interactive mode, not all error messages are written to the screen. In general, the user-specified logfile will contain greater detail then the pipc.log file.

Frequently Asked QuestionsQ. As soon as I start the interface, an application error message box comes up. The interface crashes. What could cause this?

A. Check tag configuration. Common causes may be:

Missing InstrumentTag value. FixToPI does not automatically convert all block types to PI type. See the PI PointDefinition section in this manual.

See release notes for most current info on known problems. This is important if you are running FIX Dynamics instead of FIX DMACS.

A required interface DLL is missing (see "FIX DMACS Interface Installation"). Check ControlPanel applet, System/Environemnt/Path variable. This should contain the FIX base directory. If not set it and restart the system. If this does not work, you are probably missing the file. You may need to copy that file from FIX installation CD.

Q. Why does it take several minutes to see new values after I add a new tag while the interface is running?

A. The interface checks for changes in the PI point database every two minutes. Any new values won’t be sent to PI until the first scan after the tag was added.

Q. When I stop and restart FIX Dynamics while PI-EDA is still running I get the following message. Why?

A. FIX may have been configured to run only interactively. Make sure that FIX is installed as a service (this requires checking the “Continue running after Logoff “ option in SCU\LocalStartup in FIX as well as the hardware key from Intellution in the back of the

38 OSI Software, Inc.

Page 39: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

computer). Whether FIX started as a service or not can be verified by checking if FIX service in ControlPanel\Services shows “started”. Or, FIX wasn’t completely dead from previous operation. Check Task Manager for possible remnant components of FIX since the last time it was shutdown.

Q. Why do I constantly get a timed-out status for tags on a remote node?

A. Most likely, the remote FIX node is not running. If the node is running, check the tag configuration to make sure that the proper node, tag, and field have been specified.

Q. A remote SCADA node seems invisible to the local SCADA node although network connection is good and the remote SCADA node is up and running. Why?

A. If that remote SCADA node name is not the same as its machine name on the network, the SCADA name and IP address need to be added to \winnt\system32\drivers\etc\hosts file.

Q. What do the following error messages (“EVM List lost--will attempt to re-establish,” “Error establishing tag jpb001:010-T (12709),” etc) in pipc.log mean?

24-Nov-98 22:11:38

PI-EDA 1> Local FIX software went down at 24-Nov-98 22:11:38. Waiting for FIX to restart...

25-Nov-98 08:33:55

PI-EDA 1> Local host JPB001 restored at 25-Nov-98 08:33:55

25-Nov-98 08:33:55

PI-EDA 1> Waiting 30 seconds for FIX to start completely before loading pts...

25-Nov-98 08:34:37

PI-EDA 1> Completed re-processing tags

25-Nov-98 08:34:40

PI-EDA 1> PI get exception system error -75

25-Nov-98 08:34:40

PI-EDA 1> EVM List lost--will attempt to re-establish

25-Nov-98 08:34:40

PI-EDA 1> Error establishing tag jpb001:010-T (12709)

25-Nov-98 08:34:40

PI-EDA 1> Error establishing tag jpb001:010-T (12710)

10/15/2004 10:10:00 PM 39

Page 40: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

25-Nov-98 08:34:40

PI-EDA 1> Scan Performance summary

25-Nov-98 08:34:40

PI-EDA 1> Class 1,(1 sec): Scans on time: 1.3%, Scans skipped: 98.7%

25-Nov-98 08:34:41

PI-EDA 1> EVM get exception no longer in error

A. Tags that correspond to these errors are event tags. All event tags get signed up for exception reports. This signing up is called “establishing.” These tags get disestablished if their exception values, or “events,” are not requested from the snapshot subsystem for 30 minutes. Since the PI-EDA interface does not request the events while the local FIX node is down, if it is down for longer than 30 minutes, error messages PI get exception system error –75 and EVM List lost--will attempt to re-establish will be printed in pipc.log file. The message Error establishing tag ... is a UniInt (OSI interface standard upon which PI-EDA is built) version 2.29 bug and can be ignored. This just indicates the tag is being signed up for exception reports again. The event tags should start getting values after the EVM get exception no longer in error message.

Q. Why do some tags get EDA error <1707> at startup?

24-Nov-98 15:47:45

PI-EDA 1> Starting interface, Point source: 1

24-Nov-98 15:47:45

PI-EDA 1> Uniint version>@(#)uniint.cxx 2.29 22-Apr-98

24-Nov-98 15:47:45

PI-EDA 1> API version> 1.2.3.4

24-Nov-98 15:47:45

PI-EDA 1> successfully connect to piserver localhost:5450

24-Nov-98 15:47:45

PI-EDA 1> IORATE: tag jpb1rate configured.

24-Nov-98 15:47:45

PI-EDA 1> Version 1.8.5+ of PI-EDA Interface started

24-Nov-98 15:47:45

40 OSI Software, Inc.

Page 41: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

PI-EDA 1> Interface running on local FIX node JPB001

24-Nov-98 15:47:45

PI-EDA 1> Waiting 10 seconds for FIX to start completely before loading pts...

24-Nov-98 15:47:55

PI-EDA 1> 1 Scan classes have been defined

24-Nov-98 15:47:55

PI-EDA 1> Scan class 1, update period = 1 seconds, phase offset = 0

24-Nov-98 15:53:31

PI-EDA 1> EDA error <1707> occurred during function eda_set_float() on FIX NTF <JPB001,010-TIME-DO02,F_CV>

24-Nov-98 15:53:31

PI-EDA 1> Value out of range

24-Nov-98 15:58:05

PI-EDA 1> EDA error <1707> occurred during function eda_set_float() on FIX NTF <JPB001,091-TIME-JPB001-DAY,F_CV>

24-Nov-98 15:58:05

PI-EDA 1> Value out of range

24-Nov-98 15:58:58

PI-EDA 1> 2504 points found for point source 1

24-Nov-98 15:58:58

PI-EDA 1> 0 unique event classes have been established

24-Nov-98 15:58:58

PI-EDA 1> 8 output points have been established

A. When this EDA error <1707> appears in pipc.log, check the current value and the zero and span of the tag. These errors occur when the current value of the tag is outside the range specified by the zero and span attributes of the tag.

One common instance of this error occurring is when an output tag has itself as a sourcetag, which was not initialized correctly. The interface initializes the current value of this tag as 0. If the value zero falls outside of the zero to zero+span range, the tag will get EDA error <1707>. The point conversion utility fixtopi included with this interface automatically sets the source tags of all converted FIX output tags as themselves. Unless the user manually modifies the output script of this utility, these tags will receive <1707> error if 0 is not in their defined zero and zero+span range.

10/15/2004 10:10:00 PM 41

Page 42: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Q. What causes the EDA error <1212>?

A. This error means that the field value (e.g. F_CV, A_CV, etc) is not available. For register tags (analog and digital) this error is returned as a result of an attempt to read the register that went to sleep. If your i/o driver supports Disable Access Time (for more details consult your i/o driver manual) then you can prevent the register from going to sleep. Usually, this error is returned at the first attempt to read the asleep register. At the next attempt, the field value will be returned correctly. Check your data retrieval tool when a tag gets this error to see if the values did come in after the first message of this kind.

Q. What causes the EDA error <1750>? The error message in pipc.log looks like:

EDA error <1750> occurred during function InitializeStates() on FIX NTF <Node-Tagname,A_CV>

A. EDA error 1750 means Tag name not defined. Check if the database is loaded or the tag really exists in FIX.

Q. “Event tag XXXXXX, point #####, removed” is found in pipc.log file although this tag was not deleted in PI. Why?

A. This tag was probably the event tag for some event-triggered tag that was deleted or edited.

Q. All tags suddenly are getting BAD-INPUT values and are not changing.

A. Check pipc.log file. Most likely the local FIX node went down.

Q: Tags that previously received data well, no longer get any data after FIX point database has been modified.

A: Updates in FIX point database are not automatically transferred to PI point database. FixToPi utility transfers FIX point information to Pi only when it is run. If there are significant changes to the FIX point configuration, PI point database should be checked and/or modified to make sure that the FIX and PI point attributes are compatible.

Q: When the interface starts, it prints message "No service libraries are loaded" although all EDA dll’s are in FIX directory.

A: Check PATH variable in ControlPanel/System/Environment. Make sure there is a path to FIX directory. FIX can run without this, but EDA client needs to know where to find the dll’s.

Q: The interface starts up and then reports that local node does not appear to be running when it is running and one can see data changing in Database Builder.

A: Check to see if both FIX DMACS and FIX Dynamics are (or have been) installed on the API node. If this is the case, it is likely that EDA will recognize only one of them. Try running the other FIX software (other than the one against which pi-eda is running and getting this message). If that succeeds, contact Intellution and get instructions as to how to install both safely or remove one of them completely the correct way.

42 OSI Software, Inc.

Page 43: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

More Messages Logged to pipc.log File and Explanations

“Waiting ### seconds for FIX to start completely before loading pts...”

### is specified by the user via /w switch in command line. PI-EDA waits ### seconds before starting to collect information on tags and scan the data. This is to allow FIX itself to finish loading all its subsystems and database.

"Completed re-processing tags"

When FIX local node goes down while the interface is running, the interface waits in a loop, periodically checking to see if FIX has come back up. When FIX restarts, the interface reinitializes FIX-PI related information. This message indicates PI-EDA has finished loading such information to memory so that it can start scanning.

“EDA error <#> occurred during function XXXX on FIX NTF <X, Y, Z>”

An error occurred while making an EDA call. The EDA error number, #, is explained at the end of this section under the subsection “FIX EDA Errors”. XXXX is the EDA function called. X is the FIX node name, Y is the FIX tag name, and Z is the field name.

Common errors are:

<1707> PI tag value is out of range of its corresponding FIX tag. This occurs if an attempt is made to write a value to the FIX tag, and the value is out of range defined in FIX.

<1212> Field value is not available. Usually, this means FIX tag is off-scan. Make sure FIX database is loaded and the tag is configured to scan.

"Test field for tag T is Z. Interface aborting"

PI-EDA was checking to see if data for the tag T is now available at FIX startup, and found that data type specified in ‘FIX field’ for this tag is not set to either A (for analog) or F (for float). Interface aborts if this happens.

“EDA Failed to add tag [JPBALM,014-SOMM-AL03,A_CV] to the group. xxxxxxxxxxx”

Point loading failed due to reasons xxxxxxxxxxx. For example, Tag name is not defined. Check FIX database if the point is configured correctly and is on-scan. This point will not be added to the scan list unless it is edited in PI or the interface is restarted, and even then, only when the FIX tag is configured correctly and is available on-scan. If /pc switch is not set, only the first tag on the node will be checked and receive this message if there is an error.

10/15/2004 10:10:00 PM 43

Page 44: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

"Local FIX software went down at day-month-year hour:min:second. Waiting for FIX to restart..."

FIX local node down condition is detected. PI-EDA will wait in a loop, periodically checking to see if FIX restarted.

"Local host XXX restored at day-month-year hour:min:second "

The FIX local node restart condition is detected by PI-EDA, which had been waiting in a loop while it was down.

"No FIX field type specified for PI tag X"

The required FIX field type information is missing for this tag. This message is followed by the following PI InstrumentTag and ExDesc (extended descriptor) information:

PI InstrumentTag = "XXXX"

PI ExDesc = "YYYY"

"No FIX tag name specified for PI tag X"

The required FIX tag name information is missing for this tag. This message is followed by the following PI InstrumentTag and ExDesc (extended descriptor) information:

"PI InstrumentTag = "XXXX"

"PI ExDesc = “YYYY"

"No conversion is supplied for float"

This tag is defined as FIX float but is not configured as either float or integer in PI, the only allowed conversion from FIX float to PI. This message is followed by:

"Float tag <X> cannot be used for EDA [T, N, F]"

T is the tag name, N is the FIX node name, and F is the FIX field type.

"EDA Digital type tags are configured in PI as PI digital types"

This PI tag’s corresponding FIX tag is digital, but it was not configured as digital in PI. This message is followed by:

"Tag <xxx> cannot be used for EDA [T, N, F] as it is not a digital type”

T is the tag name, N is the FIX node name, and F is the FIX field type.

"EDA Multistate Digital type tags are configured in PI as PI digital types"

This PI tag’s corresponding FIX tag is of type ‘multiple-state digital’, and has to be configured as type digital in PI. This message is followed by:

"Tag <X> cannot be used for EDA [T, N, F] as it is not a digital tag"

T is the tag name, N is the FIX node name, and F is the FIX field type.

44 OSI Software, Inc.

Page 45: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

"EDA (A)lphanumeric field is defined, but the PI field is not 'string'"

The corresponding FIX tag is of type alphanumeric, and has to be configured as type string in PI. This message is followed by:

Tag <X> cannot be used for EDA [T, N, F] as it is not a string tag"

T is the tag name, N is the FIX node name, and F is the FIX field type.

"Field type <Z> not supported"

FIX type specified as Field value Z in this PI tag’s InstrumentTag or ExDesc is not one of the following: F for float, A for alphanumeric (string), D for digital, M for multistate digital; which are legal types in FIX.

"No tag configuration specified for <T>"

InstrumentTag does not contain the corresponding FIX tag information (at least the corresponding FIX tag name; node name and Field value may be specified in extended descriptor) required to correctly associate this PI tag with a FIX tag.

"Local host FIX software does not appear to be running. Waiting..."

Local FIX node is not running at the time of interface startup. It waits in a loop until FIX starts.

"Could not retrieve local host name. Interface aborted"

The EDA function ‘eda_get_myname(LocalHostName)’ returned an error. For some reason local host name was not obtained. Since PI-EDA needs FIX SCADA to be running on the same machine, it will abort.

"Interface running on local FIX node NNNN"

The interface detected the local FIX node name to be NNNN.

"EDA Failed to add tag, T, to the group. Location2 out of range."

Tag T’s location2 value is not either 0 or 1.

"Could not create EDA group for scanclass #!"

An attempt to group tags with the same scan frequency # (specified in command line) was made and failed when the EDA function ‘eda_define_group’ was called.

"Could not create EDA group for event-tag T triggered tags!"

An attempt to create a FIX scan group, the scanning of which will be triggered by an event in PI tag T, was made and failed.

10/15/2004 10:10:00 PM 45

Page 46: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

"Created group for scanclass #"

A FIX scan group was created for tags that belong to the same scan frequency class.

"Created group for event-tag T triggered tags"

A FIX scan group was created for tags that have the same event tag (see manual for definition of event tag).

"Edited tag T could not be added"

Tag T was edited in PI and its parameters. Related FIX information such as tag name, node name and field type, could not be set correctly. Check InstrumentTag and extended descriptor attributes for this tag and/or its corresponding FIX tag’s configuration.

"Complete NODE:TAG:FIELD information unavailable for PI tag: T"

PI tag attributes InstrumentTag and ExDesc did not contain all of valid FIX tag name, FIX node name, and FIX block type. Setting those parameters failed and this point will not be scanned. This message is followed by:

"PI InstrumentTag = XXXX"

"PI ExDesc = "YYYY"

which show the current contents of InstrumentTag and ExDesc.

"Fatal Error on tree manipulation"

FIX node as specified either in InstrumentTag or ExDesc is not found. Interface will abort. Check if NODE was specified correctly and if this FIX node really exists.

"EDA Failed to add tag [N, T, F] to the group"

While setting the necessary parameters so that FIX database and PI can exchange information on this tag T, on node N, of data type F, an error occurred. The type of error is indicated in the messages prior to this one. If the error is not due to network problems, the point will not be added to the scan group and will not be scanned by the interface.

"Removed tag: [N, T, F]"

Tag T belonging to node N, and of type F, has been removed from PI-EDA list of tags to scan.

"Unrecognized state <xxxx> in (Multistate) Digital tag [N, T, F]"

Tag T on Node N contains a value not defined in the PI digital set for this tag.

N=node name, T=tag name, F=data type

"pisn_putsnapshotx() returned result # after reading xxxx from EDA nft [N,T,F]"

An attempt to put the string value in FIX to PI snapshot failed during scan routine. # = PI-API error code. xxxx = the current string value for tag T. N = node name. T = tag name, F =

46 OSI Software, Inc.

Page 47: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

data type. PI-API function pisn_putsnapshotx() adds an array of new events to the PI system snapshot. Error codes are:

-991 Not implemented

-30000 Success, but some points had errors

-30200 No data provided

This error indicates that read operation for the tag failed, due to reasons other than network failure.

"pisn_getsnapshotx() returned result # after attempt to get string value from tag T"

An attempt to get the string value to write to FIX from PI snapshot failed during output routine. Error codes are:

-991 Not implemented

-998 Memory allocation error

-15010 Value truncated

See "pisn_getarcvaluesx() returned result # after attempt to get string value from tag T"

"pisn_getarcvaluesx() returned result # after attempt to get string value from tag T"

An attempt to get the string value to write to FIX from PI archive failed during output routine. Error codes are:

100 All values have been returned (no more values)

>0 (other than 100) System error

-1 Point not found

-982 Invalid function code

-983 Invalid archive mode (compressed data or evenly-spaced data)

-991 Not implemented

-992 Invalid bsize

-993 Invalid count

-998 Memory allocation error

-11049 Invalid timestamp

-15010 Value truncated

The PI-EDA interface gets exception reports from PI for input tags triggered by event tags and for output tags. When the interface is notified of an event in the snapshot, it also receives a timestamp for that event in the snapshot. However, the API function pisn_evmexceptions, which is used to get the exceptions, cannot handle PI3 extended data types. This interface handles strings. Thus, the string value is retrieved via extended API calls. First, pisn_getsnapshotx() is called to get the current snapshot value and timestamp. The value in the snapshot may or may not be the actual value written, i.e. if the (PI output) tag was written with a timestamp earlier than the timestamp in the snapshot (this would happen if the source tag had an event (exception) and time lapsed since then and when pisn_getsnapshotx() is called), then that value is not in the snapshot, but in the archive. So, the value has to be retrieved from the archive for this timestamp.

10/15/2004 10:10:00 PM 47

Page 48: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

"Unknown data type for tag [N, T, F]"

The data type for this tag, specified by F, is not a known FIX data type.

"Connection with node N reestablished"

FIX was restarted on node N.

"Value of PI tag for FIX tag [N, T, F] out of range. Ignored."

The digital state of PI output tag is out of range for the corresponding FIX tag T. This value is thrown out and the tag receives FAILED status.

"Unsupported type for FIX tag [N, T, F]"

Same as "Unknown data type for tag [N, T, F]" except that this message is printed by a write routine, where as "Unknown data type for tag [N, T, F]" is printed by a read routine.

"Driver shutdown"

Interface cleanup routine called before the interface exits.

For FIX EDA Errors, consult Intellution EDA manual.

48 OSI Software, Inc.

Page 49: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Appendix C Message LoggingThe FIX DMACS interface provides extensive run-time operation logging facilities. The logging facility provides the following capabilities:

Multiple detail levels: low, medium, high, none, all;

A forced writes option that, when enabled, commits all data to the drive after each write (slows the process significantly). That is, this option forces the log file to be closed after each write.

A screen logging option that will echo the log entries to the console;

Ability to append or overwrite existing log;

Circular log file format with selectable size (only if –N, see below, is true); and

A common log file viewer for Windows95 and Windows NT.

The circular log file algorithm allows (when the log file is opened with –Ntrue option) the user to put a maximum limit to the log file size. When the maximum limit for log file size is reached the oldest messages will be overwritten in the log file as new messages come in.

Logging ConfigurationThese options can set or selected using a logging configuration file. The configuration file is a text file with a "loose" format, that is, only lines beginning with a minus sign (-) are treated as parameters, and all parameters are case-insensitive. Any parameters not included in the file will be set to the default values.

The following parameters are supported:

-F = forced writes, either TRUE or FALSE, default=FALSE

-D = detail level, 0 to 9 (see table later in this appendix) default=LOG_MEDIUM

-L = logfile name, required

-M = max logfile size, in bytes, default=500000. This is also the minimum log file size. If the specified file size is smaller than 500000 bytes, it will be ignored.

-N = start new file, either TRUE or FALSE, default=TRUE. When this is set to FALSE messages will be appended to the log file leaving the older messages intact. If this is set to False, -M switch will have no effect.

-S = enable screen logging, either TRUE or FALSE, default=FALSE. This option has no effect if the interface is run in service mode.

There are no limits on the size or filename of the configuration file. A sample configuration file is shown below. Note that for –L option, the full path must be given.

** Set log level to LOG_MEDIUM

-D2

** Set log filename

-Lc:\temp\test.log

10/15/2004 10:10:00 PM 49

Page 50: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

** Enable screen logging

-Strue

** Set max logfile size to 10K

-M10240

50 OSI Software, Inc.

Page 51: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Appendix D FIX to PI Configuration Transfer UtilityOverview

A utility is provided to transfer configuration information contained in the FIX EDA database to tags in the PI Data archive. This utility must be considered as an aid rather than a total solution for configuring the PI Data Archive to work with the FIX EDA database.

The utility is a command line program called "FIXToPI.exe".

The utility transfers the configuration information of the active raw data points in the FIX database, and formats them in a text file of appropriate commands for entry into the piconfig program.

The text file is named "FIXToPI.scr", and it may be utilized in either of two ways. The first method is to run the piconfig utility with input redirected from this file. The second method is to use the @INPUT command of the piconfig utility.

The configuration transfer utility is designed to transfer information contained in Analog Input, Analog Output, Analog Register, Digital Input, Digital Output, Digital Register, and Multiple Digital Input blocks. If you wish to archive information contained in other than those blocks, this must be done manually. In addition, the "Register" type blocks are configured as PI input points and thus will be read by the interface instead of being able to write to the Registers. If the client wishes to configure "Register" type blocks as PI output tags, the tag must be edited manually in piconfig.

The utility must be run on a FIX SCADA node, as it uses FIX functions that will not work on a simple VIEW node.

The program is designed to be flexible, allowing the transfer of all the information contained for the above type blocks as a default, and allowing the user to restrict that transfer in a manner of the user's choosing.

The user can choose to allow the program to transfer configuration information from the SCADA node that the utility is running on and all the attached SCADA nodes, or he can choose to restrict it to any subset of those nodes.

He can choose to allow it to transfer all tags of the types described above, or he can restrict that to any subset of those types.

He can choose to allow transfer of all tags on the specified nodes, or he can exclude certain tagnames based on a simple pattern-matching scheme.

He can also choose to only include tagnames that match a particular pattern. The pattern-matching scheme is simple - it is the one used in MS-DOS to match filenames; the '?' character matches any character, the

10/15/2004 10:10:00 PM 51

Page 52: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

'*' character matches all characters from that point on, and any other character is an exact match. Please note that the pattern matching is case sensitive, so "ONE" is not the same pattern as "one".

The utility creates a unique digital set for each unique digital set in FIX when building the file to create the PI tags. The digital set names assigned to the digital sets all start with the prefix dmFIXds. The suffix XXXX is appended where XXXX is a value from 0000 to 9999. The first digital set will be named dmFIXds0000, the second digital set will be named dmFIXds0001, etc. The user should edit the digital state set names in the file where appropriate.

All digital output tags are assigned a source tag with the same name as the tag tame. This should be edited and the appropriate source tag name used.

52 OSI Software, Inc.

Page 53: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

User InstructionsThe format of the command line for using the utility is:

FIXToPI /p=<pointsource> [/n=<node> [/n=<node>…]] [/t=<type> [/t=<type> …]]

[/I=<include pattern> [/I=<include pattern> …]]

[/e=<exclude pattern> [/e=<exclude pattern> …]]

The parameters are:

/p The PI point source that you would like these points to have. This is a

required parameter, and if not included, the program will exit with nothing

done

/n (optional) a name of a node. This parameter may be repeated for each node

that the user wishes to include in the list of nodes. If no parameter of this

type is specified, the program defaults to all nodes accessible by the machine

on which the program is running

/t (optional) a name of a block type. This parameter may be repeated for each

block type that the user wishes to include in the list of block types. These

can be any of "AI","AO","AR","DI","DO","DR","MDI, "AA", "DA". If no parameter of this type is specified, the default is to include all the above in the list of types

/e (optional) a pattern to match to the FIX block name to exclude from

configuration transfer. The parameter may be repeated for each pattern the

the user wishes to exclude. If any of these type of parameters appears, the

utility attempts to match each block name as encountered, and if the pattern

match succeeds, the configuration information is NOT transferred. If

multiple patterns are included, if the block name matches ANY of the

patterns, the configuration information is NOT transferred

/I (optional) a pattern to match to the FIX block name to transfer configuration

information. This parameter may be repeated for each pattern that the user

wishes to include. If no parameter of this type is specified, the default is to

include all the tags with the exception of the above exclude list.

If one or more of these parameters are included, the configuration

Information is transferred for any block whose name matches any of the

Patterns in the list.

10/15/2004 10:10:00 PM 53

Page 54: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

Note: Exclude processing is done before include processing, and therefore, if a block name matches the pattern of something on the exclude list, it will not be subjected to include list processing.

Examples:

FIXToPI /p=E /n=SCADA1

Transfer all tags on node SCADA1

FIXToPI /p=G /t=AO /t=AI /t=AR

Transfer all the analog points for all connected SCADA nodes

FIXToPI /p=x /I=I* /I=J* /n=LOCAL /t=DI

Transfer the Digital Input block information on node "LOCAL" whose names begin with the letters 'I' or 'J'

FIXToPI /p=k /e=1??CHK*

Transfers all configuration information of all blocks on all connected nodes except for the blocks with names containing a '1' as the first character, anything in the next two characters, "CHK" as the next three characters and anything after that.

Once the Utility has been run, the user should first edit the file FIXToPI.scr prior to creating the PI tags and digital sets. The following example output shows the file that will be created in order to create a PI tag for each FIX point type.

FIX Tag Name FIX Point Type

AI1 AI

AO1 AO

AR! AR

DI1 DI

DO1 DO

DR1 DR

MDI1 MD

AA1 AA (supported but not shown)

DA1 DA (supported but not shown)

54 OSI Software, Inc.

Page 55: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

The output from the utilities is:

@table pids@mode create, t@istructure set,state,...dmFIXds0000,OPEN,CLOSEdmFIXds0001,OPENUP,CLOSEUPdmFIXds0002,state0,state1,state2,state3,state4,state5,state6,state7@endsection@table pipoint@ptclass classic@mode create, t@istructuretag,pointsource,descriptor,pointtype,digitalset,ptaccess,dataaccess,archiving,scan,instrumenttag,location1,location2,location4DAVID:DI1,E,Digital Input 1,Digital,dmFIXds0000,o:rw g:rw w:rw,o:rw g:rww:rw,1,1,"DAVID,DI1,D_CV",1,0,1DAVID:DO1,E,Digital Output 1,Digital,dmFIXds0001,o:rw g:rw w:rw,o:rw g:rww:rw,1,1,"DAVID,DO1,D_CV",1,1,1DAVID:DR1,E,Digital Register 1,Digital,dmFIXds0000,o:rw g:rw w:rw,o:rw g:rww:rw,1,1,"DAVID,DR1,D_CV",1,0,1DAVID:MDI1,E,,Digital,dmFIXds0002,o:rw g:rw w:rw,o:rw g:rww:rw,1,1,"DAVID,MDI1,M_CV",1,0,1@endsection@istructure tag,sourcetagDAVID:DO1,DAVID:DO1@endsection@table pipoint@ptclass classic@mode create, t@istructuretag,pointsource,descriptor,pointtype,zero,span,typicalvalue,engunits,excdev,excmin,excmax,compdev,compmin,compmax,ptaccess,dataaccess,archiving,compressing,scan,instrumenttag,location1,location2,location4DAVID:AI1,E,Analog Input 1,Float32,0.000000,100.000000,50.000000,,1.000000,0, 600, 2.000000, 0, 28800,o:rw g:rw w:rw,o:rw g:rww:rw,1,1,1,"DAVID,AI1,F_CV",1,0,1DAVID:AO1,E,Analog Output1,Float32,0.000000,100.000000,50.000000,ao1,1.000000, 0, 600, 2.000000, 0,28800,o:rw g:rw w:rw,o:rw g:rw w:rw,1,1,1,"DAVID,AO1,F_CV",1,1,1DAVID:AR1,E,Analog Register1,Float32,0.000000,100.000000,50.000000,,1.000000, 0, 600, 2.000000, 0,28800,o:rw g:rw w:rw,o:rw g:rw w:rw,1,1,1,"DAVID,AR1,F_CV",1,0,1@endsection@istructure tag,sourcetagDAVID:AO1,DAVID:AO1

10/15/2004 10:10:00 PM 55

Page 56: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

@endsection@bye

Once the editing has been done, the last step is to utilize the text file generated by this utility to generate tags in the PI Data Archive itself. There are two methods of doing this. The first involves standard input redirection, which means that you run the piconfig utility but instead of accepting input from the keyboard, you redirect that input so that it comes from the file.

Piconfig < FIXToPI.scr

The second way of utilizing this file is to use the @INPUT command of the piconfig command set. To do this, start the piconfig utility:

Piconfig

Then, at the command prompt, enter the command @INPUT followed by the file name:

(Ls - ) PIconfig>@INPUT FIXToPI.scr

In both cases, ensure that you prepend the correct path information if this file is not in the current subdirectory.

Note: FixToPI utility is not a tag auto-synchronization program. Once it is run and changes are made later in FIX point database, it is the user’s responsibility to check that the changes are still compatible with PI point attributes and if necessary PI point database is appropriately modified.

56 OSI Software, Inc.

Page 57: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Revision HistoryDate Author Comments

10/21/97 MH First draft

10/22/97 MH First version reviewed

11/11/97 DM Data type revisions

11/12/97 DM Local failure detection

01/23/98 DM Added configuration transfer utilities

04/09/98 DM Offloaded NTF components to ExDesc field in PI

04/15/98 JFZ Re-added utility info from version 1.3 manual.

05/13/1998 DM Additional information on string tags

06/16/98 HAO Fixed table of contents, page nums were all listed as 0

07/17/98 KL Noted changes since version 1.4.

08/08/98 KL Corrected descriptions in /L switch and logging tag sections.

08/08/98 KL Deleted Logging Tag secion. Modified /L description to reflect the change in code which causes the interface to abort instead of hanging (v1.8).

09/10/98 KL Corrected the error in manuals up to version 1.8.2 regarding the delimitor after event=xxxx entry in the PI extended descriptor. Now both ‘,’ and ‘;’ are allowed to end NODE name and FIELD name. However, a comma must still be used to end event tag name.

12/3/98 KL Added a more detailed message list under Trouble-shooting section. Added comments on added features (optional local server time switch).

03/29/99 KL Added descriptions of enhancement features.

04/15/99 KL Modified explanation for eda error 1212. Included debug symbol installation instructions. Added descriptions of more debug switches in command line.

08/03/99 KL Added explanation for new data type support (FIX float to PI digital mapping) .

01/25/00 KL Added FIX redundancy information.

07/03/00 KL Corrected Location1 range from 1 to 99 to 0 to 98.

07/28/00 KL Added more comments about user queue in /qn section

10/15/2004 10:10:00 PM 57

Page 58: Intellution Fix DMACS - OSIsoftcdn.osisoft.com/interfaces/1188/PI_IntFix_2.0.1+.doc · Web viewDepending on how loaded the CPU is, this performance can improve or degrade. The absolute

Intellution Fix DMACS Interface Documentation

58 OSI Software, Inc.