Pi Batch Guide
Pi Batch Guide
User Guide
OSIsoft, LLC
777 Davis St., Suite 250
San Leandro, CA 94577 USA
Tel: (01) 510-297-5800
Fax: (01) 510-357-8136
Web: http://www.osisoft.com
Prerequisites for installing PI interfaces for batch and manufacturing execution systems
.................................................................................................................................5
  Security overview for PI interfaces for batch and manufacturing execution systems........................................5
  Create and configure the interface instance.................................................................................................... 6
  PI Data server connectivity.............................................................................................................................. 7
  Logging and error messages............................................................................................................................7
                                                             PI Interfaces for Batch and Manufacturing Execution Systems User Guide                           iii
Contents
Supported features.................................................................................................127
                    Note:
                    These interfaces are designed for recipes that constrain a unit to run only one unit
                    procedure at a time.
             Two different models are used to describe batch processes. The equipment model describes
             the physical equipment necessary to create a batch while the recipe model describes the
             procedures that are performed during the execution of a recipe. There is no intrinsic or direct
             relationship between the models. With the exception of arbitration events, journal files contain
             only recipe model event information.
             The S88 process model is composed of the following hierarchy:
              • Procedure (recipe)
              • Unit procedures
              • Operations
              • Phases
              • Phase steps
              • Phase states
                    Note:
                    According to the ISA S88.01 standard, procedures and unit procedures are optional. A
                    recipe can be composed solely of operations and phases.
             The physical model is composed of the following equipment-oriented hierarchy:
              • Enterprise
              • Site
              • Area
              • Process cell
              • Unit
              • Equipment module
              • Control module
             The PI Batch Database does not use a strict S88 approach to describe or record batch data. Unit
             procedures from the data source are mapped to PI UnitBatches. Only a single unit procedure
             can be active in a unit at any given time, which restricts the configuration of recipes that can be
             run by the batch execution system if batch data is to be captured by the interface in a reliable
             and meaningful way. By contrast, event frames support parallel unit procedures natively.
             You can configure interfaces to create PI tags and equipment (elements in PI AF or PI Units in
             the PI Module Database) by defining templates, which specify the events that trigger creation
             and configure how the tag or equipment item is to be created.
             Related manuals:
For details about the format and contents of source data, refer to the documentation provided
by your batch execution system vendor.
       • Verify that the PI Data Archive is running and that the PI Data server is accessible from the
         computer where you intend to run the interface (the interface node).
       • If you intended to generate event frames, make sure that the PI Asset Framework is running
         and that the PI Asset server is accessible from the interface node.
       • Ensure that the system time on all these computers is correct.
       • Verify that your batch execution system is up and running and that the data source is
         accessible from the interface node.
       To install the interface, download and run its setup kit. By default, the interface is installed in
       an interface-specific folder in the following location: %PIHOME%\Interfaces\
       The interface installation directory contains all the files and folders required to configure and
       run the interface, and includes example configurations.
       The interface can run on the same computer as the BES or on a dedicated node. To avoid
       affecting the performance of the PI Data Archive, do not install the interface on the PI Data
       server. When installing the interface, reserve the C: drive for the operating system, and install
       the interface on another drive.
       If the data source is Microsoft SQL Server, you must install the Microsoft SQL Native Client on
       the interface node. You can download the client from the MSDN web site. If the data source is
       an Oracle database, you must install the corresponding version of Oracle Provider for OLE DB.
       • PI Data Archive permissions (PI SMT: Browse to Security > Database Security)
          ◦ Database security: Enable read/write access for the PIPOINT table and read access for
            PIBACKUP
          ◦ Point Database security: Set both PtSecurity and DataSecurity to read/write
          ◦ Enable read access to the active points
       • PI Asset Framework permissions
          ◦ Database: read/write
          ◦ Categories: read
          ◦ Element: read/write
             Procedure
             1. On the Interface Selection tab, click Add Interface. The Interface Selection window opens.
             2. Browse to the directory where the interface is installed and choose its executable file. For
                example: C:\Program Files (x86)\PIPC\Interfaces\FTBInt\PIFTBInt.exe.
             3. Save your entry, then click OK.
             4. On the File Selection tab, browse to the INI file where you want to store templates.
                 The installer installs a sample INI file, named with a "_new" extension, which you can copy
                 and rename.
             5. On the Server Information tab, specify settings for your PI servers.
                 If you intend to create event frames, check Create event frames and specify the PI Asset
                 server and AF database.
             6. On the Source tab, configure the settings for the data source (the BES).
                 Note that you can configure multiple data sources for the same interface instance.
             7. On the Templates tab, define templates for creating and updating PI tags, overriding
                incoming batch data, and creating and updating batch properties or event frame attributes.
       • PIBatch/Procedure
          The PIBatch is the highest level recorded in the PI Batch Database (or as an event frame). Its
          properties record general data such as the batch ID, recipe name and type, and so on. If a
          recipe is composed solely of levels below the unit batch (for example, an operation- or
          phase-level recipe), the interface generates parent batches and unit batches. The best way
          for the interface to determine the precise start and end time for a unit batch is to use
          equipment arbitration events, which record the time a unit was acquired or released. If the
          BES does not support arbitration events, the interface uses unit batch start and end events,
          which can be affected by the start and end of lower levels and are inherently less precise
          than equipment acquisition events.
       • PIUnitBatch/Unit Procedure
          For each unit procedure that it reads from the data source, the interface creates a
          PIUnitBatch or an equivalent event frame. The start and end times record the duration of
          physical processing within a unit.
          The PIUnitBatch or event frame properties contain the batch ID and procedure name as
          recorded by the data source unless you override it by configuring a batch ID mask using PI
          Event Frames Interface Manager (on the Batch Setup tab). When operation- or phase-level
          recipes are run, the interface creates a parent unit batch, using the operation or phase name
          as the procedure name.
              • Phase/PISubBatch
                 For each phase that it reads from the data source, the interface creates a PISubBatch or an
                 equivalent event frame as a child of the parent operation-level object. For recipes that occur
                 below the unit batch level, the interface generates parent events.
              • Phase State/PISubBatch
                 For each phase state that it reads from the data source, the interface creates a PISubBatch
                 or an equivalent event frame as a child of the parent phase-level object. The start of a new
                 phase state ends the previous phase state, except for the terminating COMPLETE, ABORTED
                 and STOPPED phase states.
                       Note:
                       No phase state data is available from an Emerson DeltaV Alarms & Events data source.
              • Phase Step/PISubBatch
                 Phase steps are not S88-compliant and are implemented differently by BES vendors (some
                 vendors do not support them). By default, phase steps are not enabled. To enable phase
                 steps using PI Event Frames Interface Manager, go to the Batch Setup tab, select the Report
                 as step check box, and specify the strings recorded by the BES to indicate the start and end
                 of a phase step.
                 For each phase step that it reads from the data source, the interface creates a PISubBatch or
                 corresponding event frame as a child of the parent phase-state-level object. Phase steps are
                 always created beneath the first RUNNING phase state, regardless of whether the parent
                 phase state has ended. The first start event starts a phase step, and subsequent start events
                 for the same phase step are ignored. Likewise, the first end event ends a phase step, and
                 subsequent end events for the same phase step are ignored.
                 If the parent phase is not found, phase steps do not create higher-level procedures, unit
                 procedures, phase states or operations. If the phase step is not closed by an appropriate
                 closing event, it is closed by the end of the parent phase. Zero-duration phase steps are
                 ignored.
  interface reads from the data source, you can configure a batch ID mask that extracts a
  common substring of the incoming ID to be used as the batch ID. The mask must match a
  contiguous substring from the incoming batch ID (that is, you cannot define a mask that
  skips characters).
  To configure the mask using PI Event Frame Interface Manager as follows: on the Batch
  Setup tab, set the Batch ID mask field. Specify the mask using fixed text and the following
  wildcards:
   Wildcard                                         Description
   #                                                Single digit numerical value, 0-9
   @                                                Single alpha character, a-z, A-Z
   ?                                                Any single symbol
   !                                                Repeat the previous mask symbol
   *                                                Any set of symbols
  You can specify multiple masks as a comma-separated list. The interface uses the result
  from the first mask that successfully generates a substring. If the interface cannot match the
  mask to the data in the incoming field, the entire field is used.
  Example: For the data source BatchID column that contains the text lot30112 /
  90dev123 / 12345stp / ld567, the following table lists masks and results.
   Mask                           Result                             Matches…
   #####                          30112                              The first five contiguous digits.
                                                                     The first matching substring is
                                                                     used.
   ###                            301                                The first three contiguous
                                                                     digits.
   @@@#####                       lot30112                           Five contiguous digits with
                                                                     three contiguous characters and
                                                                     the characters are placed before
                                                                     the sequence of digits.
   ##@@@###                       90dev123                           Five contiguous digits with
                                                                     three contiguous characters and
                                                                     the characters are placed before
                                                                     the third digit.
   #####@@@                       12345stp                           Five contiguous digits with
                                                                     three contiguous characters and
                                                                     the characters are followed the
                                                                     digits.
   ?????                          lot30                              The first five characters,
                                                                     regardless of type.
                 batch execution system, configure a dedicated interface instance and specify the same PI AF
                 linking element. The interface creates a consolidated set of references under the linking
                 element, which provides a consolidated view of all the related events from the different
                 batch execution systems.
                 For example, the following figure illustrates an event frame created based on a batch from
                 an Emerson DeltaV batch execution system. This event frame is referenced under a linking
                 element to an event frame created by a Werum PAS-X manufacturing execution system.
                 Other batch interface instances that are configured to use the same linking element create
                 references to their batches under the same link.
              You can configure templates that map the source data to string, integer or float data types and
              configure the format of the information to be written to the target. The precise format of the
              events coming from the data source depends on the BES vendor. For detailed information,
              refer to the vendor-specific topic.
              When you define templates using the PI Event Frame Interface Manager, you can choose from
              a list of supported placeholders. To use a placeholder in a field when editing a template, click
              the Add Placeholder… button and choose the desired placeholder.
              You can define placeholders that read data from PI tags when triggered by batch events. To
              specify a tag-based placeholder, use the following syntax:
              [Tag, Name="PI Tag Name", <comma-delimited list of parameters>]
              For example:
              total:[Tag, name="sinusoid", range="10d", func="TOTAL"]
            Following are wildcards, which you can use to define a mask for template settings and
            placeholders, to match incoming data and format data to be written to the PI System.
Wildcard                                                Description
#                                                       Single digit numerical value, 0-9
@                                                       Single alpha character, a-z, A-Z
?                                                       Any single symbol
!                                                       Repeat the previous mask symbol
*                                                       Any set of symbols
            For example, to match any event that starts with "Repo", use the * wildcard as follows:
            [EVENT, VALUE="Repo*"].
            The interface supports a set of parameters that provide fine control over how incoming data is
            parsed. These advanced parsing parameters can be used in all types of templates. To enable
            you to incorporate these parsing parameters into a placeholder expression, the Build a
            Placeholder dialog provides an Add Substring Parsing option.
            If you specify parsing parameters for one or more placeholders and no matching data is found,
            the entry is set to blank. The following table lists the parameters for parsing incoming data.
            The names of parameters, placeholders, and value substrings are not case-sensitive.
Parameter                                               Description
LBE=ʺsubstringʺ                                         Defines the left bound of the target substring value. The
                                                        resulting substring does not include the specified
                                                        substring.
LBI=ʺsubstringʺ                                         Defines the left bound of the target substring value. The
                                                        resulting substring includes the specified substring.
Parameter                                                    Description
RBE=ʺsubstringʺ                                              Defines the right bound of the target substring value. The
                                                             resulting substring does not include the specified
                                                             substring.
RBI=ʺsubstringʺ                                              Defines the right bound of the target substring value. The
                                                             resulting substring includes the specified substring.
DELIM=ʺsubstringʺ                                            Specifies the field separator character or substring. Must
                                                             be used in conjunction with the COUNT parameter. It
                                                             narrows the results to the substring contained in
                                                             delimiters, where the starting delimiter index is specified
                                                             by the COUNT parameter. To parse the delimited
                                                             substring, you can specify right and left boundary
                                                             substrings.
COUNT=#                                                      Index (position) of the delimiter from which to start
                                                             parsing. Must be used in conjunction with the DELIM
                                                             parameter.
             To search all fields of an incoming event, specify a wildcard for the placeholder name (for
             example [*,lbe="u:"]).
             The following table lists examples of parsing a field that contains the following data: |
             U:browntod|C:SP_CHARGE_AMOUNT|O:1200|N:1123|E:kg|M:Local
              Example                                                Resulting Data
              [value, lbe=ʺN:ʺ]                                      1123|E:kg|M:Local
              [value, lbi=ʺN:ʺ]                                      N:1123|E:kg|M:Local
              [value, rbe=ʺtodʺ]                                     |U:brown
              [value, rbi=ʺtodʺ]                                     |U:browntod
              [value, lbe=ʺU:ʺ, rbe=ʺ|ʺ]                             Browntod
              [value, lbi=ʺU:ʺ, rbe=ʺ|ʺ]                             U:browntod
              [value, lbe=ʺO:ʺ, rbi=ʺkgʺ]                            1200|N:1123|E:kg
              [value, delim=ʺ|ʺ,count=3]                             O:1200
              [value, delim=ʺ|ʺ,count=3,lbe=ʺO:ʺ]                    1200
              [value, delim=ʺ|ʺ,count=3,lbe=ʺC:SPʺ,rbe=ʺUNTʺ]        _CHARGE_AMO
              [value, delim=ʺ|ʺ,count=6,lbe=ʺM:ʺ]                    Local
             Procedure
             1. To create or update PI tags when specified events are read, you configure tag templates.
             2. To create or update PI tags based on alarms read from an Emerson DeltaV Alarms & Events
                data source, you configure alarm tag templates.
             3. To define tag templates using PI Event Frame Interface Manager, go to the Templates page
                and click the Tag tab.
4. To configure the name of the tag to be created or updated, you specify the Name field. To
   assign tag names based on incoming data, use placeholders.
   For example, to track phase module report events on a per-unit basis, you might configure
   the name as follows:
   [Unit] [phasemodule] Report
   With the preceding template, when the interface reads a report event for the NORTON
   phase module on unit XUNIT_52003, it replaces the placeholders with data from the
   specified fields and creates or updates a PI tag with the following name:
   XUNIT_52003 NORTON Report
   If the name structure contains placeholders, the tag template is triggered only if all the
   corresponding fields from the incoming event contain data (that is, are not blank).
   Different templates can update the same PI tag, if the templates’ name structure resolves to
   the same tag. This capability enables you to write different values to the tag depending on
   the nature of the triggering event. For example, a value of 1 can be written to the tag when a
   unit procedure starts and a value of 0 can be written to the same tag when the unit
   procedure ends.
5. To specify the data to be written to the tag, you configure the Value field. To include data
   read from the data source in the tag value, use placeholders.
   For example, to simply record the incoming value without transforming it, specify the
   [PVAL] placeholder. A more complex example: to configure a value that concatenates phase
   module, event, description, incoming value and engineering units, specify the following:
   [PHASEMODULE].[EVENT].[DESCRIPT]: [PVAL] [EU]
   Unlike placeholders in tag names, value placeholders can be replaced with empty fields
   from the incoming event, unless you use advanced field parsing to configure the value.
6. To update a tag when a particular event is read from the data source, specify the EVENT
   keyword in the Name field, as follows:
   [EVENT, VALUE="event_text"]
   This approach enables you to write different values to the tag depending on the text in the
   EVENT column.
   If you require a more refined approach, specify the incoming data that causes the template
   to be evaluated by configuring one or more triggers on the Trigger tab of the tag template.
   To configure the template to handle multiple different events, specify separate triggers
   ("OR" logic). To ensure that the template is triggered only when a set of multiple conditions
   are all detected ("AND" logic), specify a single trigger containing all the conditions. For
   example, to trigger the template only for system message events that are phase logic
   failures, specify the trigger as follows:
   [EVENT, value="System Message"] [DESCRIPT, value="Phase Logic Failure"]
   To ignore specified incoming values, use "!=" (not equal) . For example, to ignore undefined
   values, specify the following expression:
   [PVAL, VALUE!="UNDEFINED"]
                  Setting                                             Description
                  NAME                                                (Required) Name of PI tag to be created or
                                                                      updated.
                  VALUE                                               (Required) Value to be assigned to PI tag (text)
                  TRIGGER                                             Event text from data source (can be specified
                                                                      using wildcards)
                  TYPE                                                String/integer/float/auto. "Auto" directs the
                                                                      interface to automatically detect the data type.
                  UNITALIAS                                           Configure how unit alias (AF: PI point reference)
                                                                      is created. By default, the alias is created in the
                                                                      unit. To override the default, specify the path
                                                                      where you want the alias created.
                                                                      Example: UNITALIAS = \Building1\Unit2|
                                                                      [PHASE]
                                                                      The alias is created under the Unit2 module,
                                                                      named using the value of the [PHASE] column.
                  PHASEALIAS                                          Configure how the phase alias is created. By
                                                                      default, the alias is created in the phase module.
                                                                      To override the default, specify the path where
                                                                      you want the alias created.
                  DESCRIPTOR                                          Value for PI point descriptor attribute.
                  ENGUNITS                                            Engineering units
                  TRANSLATE                                           To enable translation, set to TRUE (default:
                                                                      FALSE)
                  ANNOTATION                                          Simple annotation to be written to the tag when
                                                                      the interface updates it.
                  ANNOTATION2                                         Structured annotation to be written to the tag
                                                                      when the interface updates it. For details about
                                                                      structured annotations, refer to the PI Data
                                                                      Archive System Management Guide.
             8. To configure tag templates that catch events raised by the interface when it updates the PI
                Batch Database, specify the following placeholders in the TRIGGER setting of the tag
                template:
                  Placeholder                        Values                            Description
                  EVENT                              PIEVENT                           Specify [EVENT,
                                                                                       value="PIEVENT"]
                  DESCRIPT                           BATCH                             Specify the batch level you want
                                                                                       to trigger on. For example:
                                                     UNITBATCH
                                                                                       [DESCRIPT,
                                                     OPERATION
                                                                                       value="UNITBATCH"]
                                                     PHASE
                                                                                       [DESCRIPT, value="PHASE"]
                                                     PHASESTATE
                                                     PHASESTEP
         For example, to detect the start of a batch, specify the following expression:
         [EVENT, VALUE="PIEVENT"][DESCRIPT, VALUE="BATCH"][PVAL, VALUE="START"]
         The following placeholders are supported when the triggering expression contains
         [Parameter, value="PIEVENT"].
          Placeholder                     Batch Database                    Event Frames
          [BATCHID]                       PIBatch and PIUnitBatch:          For a top-level event frame,
                                          BatchID property.                 "Name" property. For second-
                                                                            level event frame, "BatchID"
                                                                            attribute
          [PROCEDURE]                     PIBatch "Recipe" property         Event frame "Recipe" attribute
          [UNITPROCEDURE]                 PIUnitBatch "Procedure"           Event frame "Name" property
                                          property
          [OPERATION]                     PISubBatch "Name" property
          [PHASE]                         Level 4 PISubBatch "Name"
                                          property
          [PHASESTATE]                    Level 5 PISubBatch "Name"
                                          property
          [PHASESTEP]                     Level 6 PISubBatch "Name"
                                          property
          [UNIT]                          PIUnit "Name" property            AF element "Name" property
              Setting                             Description
              Index                               Unique numeric ID (integer)
              Name                                Property name
              Value                               Value to assign to property
              Trigger                             Data source event that triggers updates
              Translate                           true/false (default: false)
              EngUnits                            Engineering units (AF only)
              Type                                INTEGER, FLOAT, STRING or FLOATSTRING (Default is string)
              Category                            Asset category (AF only)
              UOM                                 Unit of measure (AF only)
              Descriptor                          Description (AF only)
             If Type is set to AUTO, the interface assigns the data type for the attribute or property based on
             the first item of data that it receives. If the first value received is an integer but subsequent
             values are floating point, the interface creates an integer attribute or property and truncates
             any subsequent floating point values before storing them. To avoid truncation numeric input
             that includes a mix of integer and floating point values, specify FLOATSTRING rather than AUTO.
             Procedure
             1. To map the units of measure in the data source to the correct PI AF engineering units,
                configure an attribute template using PI Event Frames Interface Manager and select the
                UOM check box, then configure the mapping between the source units of measure and the
                UoM available in PI AF.
             2. To write properties under the root UniqueID PIProperty node or root AF element,
                regardless of the level from which the triggering event originated, specify the $ symbol as
                the first element in name path, as follows: $\[Parameter]
             3. To write properties under the root node, regardless of the level from which the triggering
                event originated, specify the @ symbol as the first element in name path as follows: @\
                [Parameter]
                The property/attribute is updated when a batch starts. For example, to create or update a
                property or attribute named TestTagCalc that contains a ten-day total for the "sinusoid" tag
                and a ten-day minimum for the "test_data_1" tag, configure the template with the following
                settings:
                  Setting                                             Set to
                  Name                                                TestTagCalc
                  Value                                               total:[Tag, name="sinusoid", range="10d",
                                                                      func="TOTAL"]
                  Trigger                                             [Event,value="PIEVENT"]
                                                                      [Descript,value="BATCH"] [Pval,value="START"]
                To populate the product property/attribute with the formula name when a "Recipe header"
                event arrives, ignoring undefined product codes, the template would use the following
                settings:
                  Setting                                             Set to
                  Product                                             [PVAL]
         Setting                                          Set to
         ProductTrigger                                   [EVENT,VALUE="Recipe Header"]
                                                          [DESCRIPT,VALUE="Product Code"] [PVAL,
                                                          VALUE!="UNDEFINED"]
         ProductTrigger                                   [EVENT,VALUE="Formula Header"]
                                                          [DESCRIPT,VALUE="Formula Name"]
     Procedure
     1. To configure the triggering events and the data to be written, you define an alarm tag
        template.
     2. To define an alarm tag template using PI Event Frame Interface Manager, go to the
        Templates tab and click Alarm Tags.
        You specify alarm tag templates the same way as tag templates.
        To handle alarm events you must configure at least one alarm tag template. For details, see
        Templates.
        The following table lists the placeholders that you can use in alarm tag templates.
         Setting                        Allowed Placeholders               Description
         VALUE                          Same as for Name setting, plus     (Required) Specifies the event
                                        [TIME], [TAG]                      value structure for the specific
                                                                           PI Point. Allowed placeholders
                                                                           are not case sensitive. The event
                                                                           timestamp is taken from the
                                                                           incoming event [TIME] field.
         TRIGGER                        Same as for Name setting           (Optional) Specifies an event
                                                                           that triggers evaluation of the
                                                                           template. If you omit column
                                                                           name, the interface checks the
                                                                           incoming EVENT field for the
                                                                           specified text. To check a
                                                                           different field, specify the field
                                                                           name. For example:
                                                                           TAG[1].TRIGGER=[Pval,
                                                                           value="CREATED"]
                For example, to store all alarm and events coming from an Emerson DeltaV Alarms & Events
                data source and create the module/AF element and alias automatically, use the following
                settings:
                  Setting                                             Set to
                  NAME                                                Alarm Test [MODULE]
                  VALUE                                               [EVENT] | [CATEGORY] | [AREA] |
                                                                      [PROCESSCELL] | [UNIT] | [MODULE] |
                                                                      [MODULEDESC] | [ATTRIBUTE] | [STATE] |
                                                                      [LEVEL] | [DESC1] | [DESC2]
                  TRIGGER                                             [EVENT]
                To store alarms and events with level 5 or 10 to 19 in a single global alarm tag, the template
                can use the following settings:
                  Setting                                             Set to
                  NAME                                                Alarm Test Global
                  VALUE                                               [EVENT] | [CATEGORY] | [AREA] |
                                                                      [PROCESSCELL] | [UNIT] | [MODULE] |
                                                                      [MODULEDESC] | [ATTRIBUTE] | [STATE] |
                                                                      [LEVEL] | [DESC1] | [DESC2]
                  TRIGGER                                             [EVENT] [level, value="1#*"]
                  TRIGGER                                             [EVENT] [level, value="5*"]
         To create an integer tag for each combination of module and category using advanced
         parsing to store only numerical values embedded in the Desc2 column for Event type
         "CHANGE" when the Attribute column contains an "ALM_COUNTER" substring, the template
         can use the following settings:
          Setting                                         Set to
          NAME                                            Test [MODULE] [CATEGORY]
          VALUE                                           [DESC2,LBE="VALUE = "]
          TYPE                                            INTEGER
          TRIGGER                                         [EVENT, VALUE="CHANGE"] [ATTRIBUTE,
                                                          VALUE="ALM_COUNTER*"]
      Procedure
      1. To create a recipe template using PI Event Frames Interface Manager, go to the Templates
         tab and click Recipe.
         The following recipe template settings are supported:
          Setting                                         Description
          NAME                                            (Required) Defines the convention used by the
                                                          interface to assign names to procedures, unit
                                                          procedures, etc. You can use the advanced
                                                          parsing parameters to define this field.
                                                          Example:
                                                          abc_[PROCEDURE]
                                                          If the procedure field of the incoming event
                                                          contains "Test", the corresponding Recipe field is
                                                          set to "abc_Test"
                  Setting                                             Description
                  PRODUCTTRIGGER                                      (Optional) Sets the product for the recipe after
                                                                      the recipe object is created. Intended for use
                                                                      when the product is defined in a separate event.
                                                                      If a product trigger is defined, the product is
                                                                      defined by the event that satisfies the trigger. If
                                                                      no product trigger is defined, the product gets its
                                                                      value from the event that created the recipe, and
                                                                      the template is populated by the event’s
                                                                      placeholder data.
                                                                      Example:
                                                                      [Parameter, Value="Recipe Header"] [Descript,
                                                                      value="Product Name"]
             2. To specify the level of hierarchy for the template, set the Index field on the Configuration
                page as follows:
                  Batch Database Field               Default Name                      Index
                  PIBatch Recipe                     Procedure                         1
                  PIUnitBatch Procedure              UnitProcedure                     2
                  PISubBatch Name                    Operation                         3
                  PISubBatch Name                    Phase                             4
                  PISubBatch Name                    PhaseState                        5
                  PISubBatch Name                    PhaseStep                         6
             3. To configure additional settings for event frames, the following settings support the
                placeholders for the NAME setting. These settings are valid only for event frames.
                  Template Name                                       Description
                  Descriptor                                          (Optional) Specifies the Event frame descriptor
                                                                      property for the particular source Recipe object.
                  Category                                            (Optional) For each recipe level, defines the
                                                                      event frame category. If the event that creates an
                                                                      event frame contains insufficient information, no
                                                                      category is assigned. To assign a category to an
                                                                      event frame after its creation, use Category[x].
         ◦ PHASESTEP
         ◦ PROCEDURE
         ◦ PROCESSCELL
         ◦ PVAL
         ◦ UNIQUEID
         ◦ UNIT
         ◦ UNITPROCEDURE
         ◦ USERID
         ◦ [*,value= "Field"]
         ◦ [*,value= "Mask"]
      Procedure
      1. To exclude incoming data from processing using PI Event Frames Interface Manager, go to
         the Filters tab.
      2. Expand the setting for the type of data that you want to filter (phases, units, recipes or
         phase states).
      3. Specify the data that you want to exclude.
         You can use wildcards to define masks for matching.
      Procedure
      1. To configure a translation using PI Event Frame Interface Manager, open the desired
         template.
      2. Select the Translate check box and click Translations.
         The Translations window opens.
      3. Specify the desired source and target text.
         Translations are not case-sensitive.
              • PIBatch
                The interface creates a PIBatch for each batch found in the data source. The PIBatch
                corresponds to the procedure in the recipe. PIBatches are not associated with a specific
                piece of equipment. Each PIBatch contains one or more PI UnitBatches that correspond to
                the unit procedures in the recipe.
                The root property node is named using the batch ID, which is assigned by the BES. The
                interface stores the following batch data in properties under the root node:
                 ◦ BatchID
                 ◦ Product
                 ◦ Formula Name
                 ◦ Recipe
                 ◦ Recipe Type
                 ◦ Start Time UTC
                 ◦ End Time UTC
                 ◦ Interface Name
                 ◦ Interface ID
  ◦ Data Source
  ◦ Data from events captured by configuring properties templates
  The properties collection is organized according to the hierarchy of the recipe model from
  the data source. Events of interest are stored in lists under the appropriate recipe node.
  Each property under the same node must have a unique name. By default, each property is
  named "Event_<event count>", where <event count> is the current number of events
  already stored under a specific node. The PIProperty value can be configured using
  property templates.
  Multiple source batches that have identical IDs or a common subset of characters in their ID
  can be merged into a single PIBatch. The product and recipe properties contain data
  associated with the first source batch that started the merged PIBatch. The original source
  batch properties are stored in PIProperties under a node named using the unique ID of the
  source batch. For each merged source batch, the interface creates a node that is named
  using the unique ID of the source batch containing the original properties.
  Because a source batch can terminate unexpectedly without proper unloading by the
  operator, the interface caches batches in local memory for a timeout period, after which the
  batch is considered abandoned. The interface closes abandoned batches, assigning end time
  using the latest known timestamp for the batch. The default timeout is 100 days. To change
  the default timeout, edit the interface settings using PI Event Frame Interface Manager.
• PIUnitBatch
  A PIUnitBatch is created for each unit procedure recorded in the data source. The start and
  end times of a PIUnitBatch are intended to reflect the start and completion of physical
  processing in a unit, so they require both a start event and an "equipment acquired" event.
  The unit batch ends when an "end" event or an "equipment released" event is detected.
  By default, PIUnitBatches contain the batch ID and procedure name from the data source.
  To override the default, use PI Event Frame Interface Manager to edit the settings. When
  operation or phase-level recipes are run, the interface uses the operation or phase name as
  the PIUnitBatch procedure name.
  If unit procedures on the same unit overlap, the interface closes the conflicting PI
  UnitBatches. The actual end time for a truncated unit batch is stored in its product property,
  and the product is appended with the text "_TrueEndUTC=", followed by the actual end time
  of the unit batch, specified as UTC in seconds.
                 Subbatches populate parent levels of the hierarchy with the name of the source operation,
                 phase, phase state and phase step as required.
                 Phase steps are not S88-compliant and support for phase steps varies among BES vendors.
                 (ABB800xA, Foxboro IA Series, Siemens SIMATIC, and WonderWare InBatch do not support
                 phase steps.) Phase steps are created beneath the first phase state subbatch named
                 "RUNNING", regardless of whether the parent phase state is ended. The name of phase step
                 start and stop events is read from the data source [DESCRIPT] column. The triggering event
                 is "Report". If the parent phase is not found, phase steps do not trigger the creation of
                 PIBatches, UnitBatches and SubBatches. If the phase step was not closed by an appropriate
                 closing event, the interface closes it by the end of its parent operation-level PI SubBatch.
                 Zero-duration phase steps are ignored.
     Event frames
             As an alternative to the PI Batch Database, you can use event frames to record batch data.
             Unlike the PI Batch Database, which records a predefined and fixed set of data at each level,
             you can define the attributes to be stored in event frames at every level of the hierarchy.
             Each event frame contains the following fields:
              • Name
              • Description
              • Start time
              • End time
              • Template
              • Category (Default is "OSIBatch")
              • Event-specific attributes
              • Referenced elements such as unit or phase module
             To view batch event frames and AF elements generated by the interface, use PI System
             Explorer. The following figure illustrates the event frame hierarchy that the interface creates.
In the root-level event frame, the Name field contains the batch ID from the data source. In
lower-level event frames, the Name field contains the recipe name. In event frames for a
procedure-level recipe, the product and recipe properties from the data source are stored as
attributes. For unit procedure-level recipes, the batch ID and product from the data source are
stored as attributes.
If the highest recipe level is an operation or phase (that is, neither procedure nor unit
procedure levels are defined), the interface creates event frames that correspond to the
procedure and unit procedure level.
The following sections explain how data is stored in event frames for each level of the batch
hierarchy.
• Procedure
   For each batch in the data source, the interface creates a root-level event frame that
   represents the procedure in the recipe. Each root-level event frame contains a collection of
   child event frames that correspond to unit procedures. Data from source batch events can
   be recorded in the attributes of the event frame and in PI points. Source batches can have
   identical IDs and recipe names in the same time frame. To match the source batch with an
   event frame, the interface stores additional information in the extended properties of the
   root event frame. The Name property contains the ID of the source batch, and the Value
   property contains an XML structure composed of the following batch data:
   ◦ Batch ID
   ◦ Product (searchable)
   ◦ Formula name
   ◦ Recipe (searchable)
   ◦ Recipe type
   ◦ Start time UTC
   ◦ End time UTC
   ◦ Interface name
                 ◦ Interface ID
                 ◦ Data source
                 The following table shows how the source batch properties map to event frame attributes.
                  Source Procedure Properties        Event Frame Fields              Event Frame Attributes
                  BatchID                            Name
                  Procedure Name                                                     Recipe
                  Product                                                            Product
                  Start Time                         Start Time
                  End Time                           End Time
                                                     Template="Procedure"            Recipe, Product
                 By default, the interface captures the following batch-associated events and stores them in
                 procedure-level event frame attributes:
                 ◦ Recipe header
                 ◦ Formula header
                 ◦ Recipe value
                 ◦ Report
                 For the preceding attributes, the name is assigned from the source [DESCRIPTION] column,
                 the value from the source [PVALUE] columns, and the unit of measure attribute from the
                 [EU] column.
                 The procedure-level event frame can represent merged source batches. The product and
                 recipe attributes contain data associated with the source batch that started the merged
                 event frame. For each merged source batch, the interface creates an entry node in the event
                 frame’s extended properties, named using the unique ID of the source batch, with its value
                 containing an XML structure composed of the original source batch properties.
              • Unit Procedure
                 The interface creates a unit procedure-level event frame for each unit procedure read from
                 the data source. Each unit procedure-level event frame is a child of the procedure-level
                 event frame and contains the subset of event frames that represent the source batch
                 operation-level recipe. The start and end times of an event frame record the start and end of
                 physical processing in a unit.
                 The name field of the unit procedure-level event frames contains the unit procedure name
                 as read from the data source. The batch ID and product properties are searchable attributes
                 of the event frame. The following table shows how the source batch properties map to event
                 frame attributes:
                  Source UnitProcedure      Event Frame Fields        Event frame Attributes Referenced Elements
                  Properties
                  BatchID                                             BatchID
                  UnitProcedure Name        Name                      Procedure
                  Product                                             Product
                  Start Time                Start Time
                  End Time                  End Time
   Source UnitProcedure      Event Frame Fields        Event frame Attributes Referenced Elements
   Properties
   Unit                                                                          Unit
                             Template="UnitProced      default Attributes:
                             ure"                      BatchID, Procedure,
                                                       Product
  In addition to batch ID, procedure and product attributes, the interface records recipe and
  report events in event frame attributes. For these events, the attribute name is assigned
  from the [DESCRIPTION] column, the value from the source [PVALUE] column, and units of
  measure from the [EU] column.
  Unit procedure-level event frame properties do not change if the parent object is a merged
  event frame. By default, unit procedure event frames contain the batch ID and procedure
  name read from the data source. (To override the default, use PI Event Frame Interface
  Manager to configure the Batch ID mask field on the Batch Settings page.)
  When operation or phase-level recipes are run, the interface uses the operation or phase
  name as the name of the unit procedure-level event frame.
• Operation
  The interface creates an operation-level event frame for each operation read from the data
  source. Each operation-level event frame is a child of the unit procedure-level event frame
  and contains the subset of event frames that represent the source batch phase-level recipe.
  The name field of the operation-level event frames is the operation name read from the data
  source. The following table shows how the source batch properties map to event frame
  attributes:
   Source Operation Properties       Event Frame Fields                 Referenced Elements
   Operation Name                    Name
   Start Time                        Start Time
   End Time                          End Time
   Unit                                                                 Unit
                                     Template="Operation"
  By default, the interface records recipe value and report events in event frame attributes.
  For these events, the attribute name is assigned from the [DESCRIPTION] column, the value
  from the source [PVALUE] column, and units of measure from the [EU] column.
• Phase
  The interface creates a phase-level event frame for each phase read from the data source.
  Each phase-level event frame is created as a child of an operation-level event frame and
  contains the subset of event frames that represent the source batch phase states-level
  recipe.
  The name field of the phase-level event frame contains the phase name read from the data
  source. The following table shows how the source batch properties map to event frame
  attributes:
   Source Phase Properties           Event Frame Fields                 Referenced Elements
   Phase Name                        Name
                 By default, the interface records recipe value and report events in event frame attributes.
                 For these events, the attribute name is assigned from the [DESCRIPTION] column, the value
                 from the source [PVALUE] column, and units of measure from the [EU] column.
              • Phase State
                 The interface creates a phase state-level event frame for each phase state read from the
                 data source. Each phase state-level event frame is created as a child of a phase-level event
                 frame and, if so configured, can contain the subset of event frames that represent the phase
                 steps. The start of new phase state ends the previous one, unless the new state is
                 COMPLETE, ABORTED or STOPPED, which end the current phase state without beginning a
                 new one. These phase states have a zero-duration time frame.
                 The name field of the phase state event frames reflects an actual source recipe phase state
                 name. Below is the mapping of source phase state to event frame fields and attributes:
                  Source Phase State Properties      Event Frame Fields         Referenced Elements
                  Phase State                        Name
                  Start Time                         Start Time
                  End Time                           End Time
                  Unit                                                          Unit
                  Operation Module                                              Operation Module
                  Phase Module                                                  Phase Module
                                                     Template="Phase State"
              • Phase Step
                 Phase steps are not S88-compliant and support varies among BES vendors. (ABB800xA,
                 Foxboro IA Series , Siemens Simatic , and WonderWareInBatch do not support phase step.)
                 Phase steps are created beneath the first phase state sub-batch named "RUNNING",
                 regardless of whether the parent phase state is ended. The name of phase step start and
                 stop events is read from the data source [DESCRIPT] column. The triggering event is
                 "Report". Phase steps do not trigger the creation of parent-level events if the parent phase
                 is not found. If the phase step was not closed by an appropriate closing event, the interface
                 closes it by the end of its parent operation-level event frame. Zero-duration phase steps are
                 ignored.
     Equipment hierarchy
             When recording batch data from the data source in the PI Batch Database, the interface creates
             PIUnits (modules representing equipment) as required. If you configure the interface to create
             Event frames, it creates AF elements representing the equipment hierarchy. The following
             levels of the equipment hierarchy are created:
     • Area
     • Process Cell
     • Unit
     • Phase Module
    The following diagram shows the default equipment hierarchy generated by the interface.
    By default, the hierarchy is located at the root level of the PI Module Database or the PI AF
    database, depending on whether you are creating PIBatches or event frames. To specify a
    different root, use PI Event Frame Interface Manager to configure the start module path.
    Unit aliases are created for a tag if the template includes the [UNIT] placeholder, phase aliases
    are created if it contains the [PHASEMODULE] placeholder. Unit aliases are also created if the
    tag name contains the unit name (for example, if the unit name is UNIT202 and the tag name is
    "UNIT202 report tag", a unit alias is created; likewise for phase modules.
Interface modes
    PI Interfaces for Batch and Manufacturing Execution Systems can be run in five different
    modes:
     • RealTime (default)
     • Recovery
     • Preprocess
     • Statistics
     • Delete
    RealTime Mode
    In RealTime mode, the interface monitors the data source for events that indicate the start or
    end of a batch or any child level thereof, recording these events in the PI System according to
    your batch configuration. The interface records newly-acquired data at the end of each scan
             regardless of whether batches are completed on the source. At startup, before it begins real-
             time data collection, the interfaces attempts to recover any data written after it was shut down.
             Recovery Mode
             To recover events that occurred during interface downtime, the interface scans the data source
             for a specified period. If you omit an end time or specify "*" (current time), the interface
             recovers data and then starts collecting data in RealTime mode. If you specify an end time, the
             interface recovers data for the specified period and then exits.
             In recovery mode, the interface reads batch data from the data source for the specified time
             period. This mode can be used to initialize the PI System with historical data from the data
             source. If batch data for the specified period already exists in the PI System and the interface
             detects discrepancies, it attempts to correct the PI System data, logging any errors.
             For example, the following figure shows a data source that contains batch data for seven
             batches.
             If you recover data for the period from 12/15/2007 16:00:00 through 05/11/2008 2:00:05,
             the interface recovers contained batches (Batch 4 and 5) as well as border batches (Batch 1,
             Batch 3 and Batch 6). Batches outside the time frame (Batch 2 and 7) are not recovered.
             Preprocess Mode
             If your data source contains data with timestamps that are earlier than the period covered by
             the primary archive, you can recover events by running the interface in Preprocess mode,
             which scans the data source and creates the required tags, modules and units in the PI System.
             After running the interface in Preprocess mode, you must reprocess older archives to create
             entries for the tags, modules and units, then run the interface in recovery mode. This process is
             also referred to as "backfilling." (See the PI Data Archive System Management Guide for details
             on reprocessing archives.)
             Statistics Mode
             In Statistics mode, the interface scans a specified period, comparing data from the data source
             with the corresponding data in the PI Batch database. After comparing data, the interface
             reports the results and exits. If you omit an end time, the interface scans from the specified
             start time until the current time. To run the interface in Statistics mode using PI Event Frames
             Interface Manager, go to the Operation Settings tab, choose Statistics mode and specify the
start and end times for the period to be analyzed. To analyze data through the current time,
omit the end time. The interface logs results to the specified output file and exits.
Delete Mode
To delete batch data from the PI Batch Database or from event frames, run the interface in
Delete mode, specifying the time period to be deleted. To run the interface in Delete mode
using PI Event Frames Interface Manager, go to the Operation Settings tab, choose Delete
mode and specify the start and end times for the period to be deleted. To delete data through
the current time, omit the end time. If you intend to recover events from the data source for a
specified time period, consider deleting existing batch data for that time period first.
             This batch interface enables you to recover batches from restored archives in the ABB 800xA
             data source. To enable recovery from restored archives, launch PI Event Frames Interface
             Manager. On the Source settings page, check Collect batches from restored archives. Note that,
             if you have configured multiple data sources, the interface recovers batches from restored
             archives in all the data sources that you configured.
             PIBatch/Procedure
             The start and end times for the batch is taken from the Task event in which the [LevelNumber]
             field contains "1". The event is retrieved using a complex query against the following tables:
             • task
             • task_variables_occurrences (for recipe name)
             PIUnitBatch/Unit Procedure
             The start and end times for a unit procedure are taken from the Task event in which the
             [LevelNumber] field contains "1" or "2" (depending on the unit associations). The event is
             retrieved using a complex query performed against the following tables:
              • task
              • task_variables_occurrences (for recipe name)
              • resource_associations (for allocated equipment).
             Operation
             The start and end times for an operation are taken from the Task event in which the
             [LevelNumber] field contains "2" or "3" (depending on the unit procedure level). The event is
             retrieved using a complex query performed against the following tables:
              • task
              • task_variables_occurrences (for recipe name)
              • resource_associations (for allocated equipment)
             Phase
             The start and end times for a phase are taken from the Task event in which the [LevelNumber]
             field contains "4" or "5" (depending on the unit procedure level). The event is retrieved using a
             complex query performed against the following tables:
              • task
              • task_variables_occurrences (for recipe name)
              • resource_associations (for allocated equipment)
              • [BATCHID]
              • [OPERATION]
              • [PARAMETER]
              • [PHASE]
              • [PROCEDURE]
              • [TIME]
              • [UNIQUEID]
              • [UNIT]
              • [UNITPROCEDURE]
              • [VALUE]
     Event journals
     Event journals are text files in which the BES logs batch events. For the Emerson DeltaV
     systems, the interface expects each line in the event journal to be composed of the following
     tab-delimited fields, in the order specified:
              • [UNIT]
              • [PHASE]
              • [PHASEDESC]
              • [USERID]
              • [UNIQUEID]
              • [COMMENT]
             In event journals, the product ID information is stored in the [PVALUE] field, in the row that
             contains the description "Product Code". Typically this is a recipe header event.
             If the BES indicates the product ID using a value other than "Product Code," you must translate
             the value to "Product Code" to ensure that the interface detects it. To configure the translation
             using PI Event Frame Interface Manager, check the Translation field on the template’s
             Configuration tab and specify the source and target string on the Translations dialog.
1. On the Data Source tab, right-click the Sources node and choose Add SQL Source. The
   Configuration page is displayed.
2. Check Use Alarm and Events Historian.
3. To specify mappings that ensure that process cell data is recorded correctly (DeltaV does
   not emit process cell information), click Area to Process Cell... or Unit to Process Cell... and
   specify the process cell to be recorded with its events.
4. To configure the interface to use the equipment hierarchy XML file that is generated by
   DeltaV, specify the path to the XML file in the DeltaV equipment hierarchy field.
5. To configure an OPCAE server as a data source to be read in conjunction with an Emerson
   DeltaV Alarms & Events data source, click the DeltaV OPCAE disclosure and specify the host
                node and server name. When you configure an OPCAE server, the DeltaV Batch Historian
                serves as a backup source and the source for additional batch-associated events.
                The interface starts a batch when it reads the BATCH-EVENT event with its event attribute
                [6] = "LOAD" (using a 0-based index).
             The interface creates the batch when it identifies the recipe type of the batch, which normally
             occurs when the recipe is loaded and started. The interface starts a batch when it reads the
             BATCH-EVENT event with its event attribute [6] = "REMOVED". The recipe structure is read
             from the events that trigger the start and end of levels, such as Procedure Started/Finished,
             UnitProcedure Started/Finished, etc.
             For all levels below batch, the interface checks event attribute [6] for the value "State Change"
             and parses event attribute [8] to determine whether the event was a start or end event and to
             find out what level of the batch hierarchy is affected.
             The interface starts a level when it reads the BATCH-EVENT event containing the following
             data:
             Syncade
             Emerson Syncade creates and executes recipes on DeltaV batch execution systems. The
             interface requires Syncade version 4.0.1 or higher.
     Emerson Syncade
             For each level, Syncade records the start time in the [StartUtcDateTime] timestamp and end
             time in the [EndUtcDateTime] timestamp of the object in which the event is recorded. For
             phase- and operation-level recipes, the interface creates parent procedures and unit
             procedures, using the start and end times of the operation or phase to start and end the parent
             levels. Syncade does not provide phase state or phase step data.
             The batch ID comes from the batch object’s [OrderNumber] property, and the batch recipe
             type is provided for each object by the data source.
      Default
      To set the start time for a unit batch, the interface requires events indicating that the unit
      procedure has started and the required unit has been acquired. Batches and unit batches are
      also created when the interface processes operation- and phase-level recipes. In both cases,
      the unit batch start time is taken from the start event or the arbitration event in which the unit
      was acquired, whichever is later. The end time is taken from the end event or the event that
      releases the unit, whichever is earlier.
      Phase steps are disabled by default. To process them, you must enable processing and specify
      the strings that indicate start and end. The interface parses the description field to determine
      the name of the phase step.
      The fields that indicate the start and end of levels in the batch hierarchy depend on whether
      you are using event journals or SQL Server as your data source, as follows:
       Data source              Trigger Field             Start/End Field            Level Field
       Event journals           [EVENT]                   [PVALUE]                   [RECIPE]
       SQL Server               [EVENTTYPE]               [EVENTDESCRIPT]            [ACTION]
      The following table lists the fields and values that trigger the start and end of batch events.
       Level                    Trigger Field Text                           Start/End Text
       PIBatch/Procedure        "State change"            CREATED                    REMOVED
       PIUnitBatch/Unit                                   RUNNING                    COMPLETE
       Procedure
                                                                                     STOPPED
       Operation
                                                                                     ABORTED
       Phase
       Phase State              "Report"
      Phase steps are disabled by default. To detect them, you must enable processing and specify
      the strings that indicate start and end. The interface parses the description field to determine if
      the start or end string is present.
             the unit batch start time is taken from the start event or the arbitration event in which the unit
             was acquired, whichever is later. The end time is taken from the end event or the event that
             releases the unit, whichever is earlier.
             Phase steps are disabled by default. To process them, you must enable processing and specify
             the strings that indicate start and end. The interface parses the description field to determine
             the name of the phase step.
             The fields that indicate the start and end of levels in the batch hierarchy depend on whether
             you are using event journals or SQL Server as your data source, as follows:
              Data source                Trigger Field              Start/End Field          Level Field
              Event journals             [EVENT]                    [PVALUE]                 [RECIPE]
              SQL Server                 [EVENTTYPE]                [EVENTDESCRIPT]          [ACTION]
             The following table lists the fields and values that trigger the start and end of batch events.
              Level                      Trigger Field Text                           Start/End Text
              PIBatch/Procedure          "State change"             CREATED                  REMOVED
              PIUnitBatch/Unit                                      RUNNING                  COMPLETE
              Procedure
                                                                                             STOPPED
              Operation
                                                                                             ABORTED
              Phase
              Phase State                "Report"
             Phase steps are disabled by default. To detect them, you must enable processing and specify
             the strings that indicate start and end. The interface parses the description field to determine if
             the start or end string is present.
             Emerson PIBatch/procedure
             Event journal start/end events
              • Start
                [EVENT] = "System Message" and [PVALUE] = "Beginning Of BATCH"
• End
   Either of these events end a batch:
   ◦ [EVENT] = "System Message" and [PVALUE] = "End Of BATCH"
   ◦ [EVENT] = "State Change" and [PVALUE] field = "REMOVED", "COMPLETE" or
     "ABORTED"
• Start
   Batch recipe event with [DEACTIVATETIME] set, read from the batchview view.
• End
   The interface ends a batch when it reads an event containing a timestamp in the
   [DEACTIVATETIME] field, which is retrieved from the batchview table.
• [EVENT] field = "Recipe Arbitration", [DESCRIPT] field = "Resource Acquired by recipe" and
  [EU] field = "Unit". The [PVALUE] field contains the actual unit name.
The latest timestamp is used as the start time for the unit batch.
Operation and phase-level recipes create parent batches and unit batches automatically.
Operation-level recipes require a start event and an "equipment acquired" event. Phase-level
recipes set the unit batch start time from the event that starts the phase; no equipment
acquisition event is required.
End
For procedure- and unit procedure-level recipes, the interface requires both an end event and
an "equipment released" event, as follows:
• [EVENT] field = "Recipe Arbitration", [DESCRIPT] field = "Resource Released by recipe" and
  [EU] field = "Unit". The [PVALUE] field contains the actual unit name.
The earliest timestamp is used as the end time.
             Operation-level recipes require an end event and an "equipment released" event. Phase-level
             recipes set the unit-batch end time from the event that ends the phase; no equipment release
             event is required.
              • The batch recipe event containing the [STARTTIME] timestamp associated with the specific
                "unitprocedure" object retrieved from the batchrecipeview view.
              • The arbitration event containing the [ACQUIRETIME] timestamp associated with the
                specific unit arbitration object retrieved from the batchequipmentview view.
             Operation- and phase-level recipes create parent batches and unit batches automatically.
             Operation-level recipes require a "start" event and an "equipment acquired" event. Phase-level
             recipes set the unit batch start time from the event that starts the phase; no equipment
             acquisition event is required.
             For operation-level recipes, the following two events are required to start a unit batch:
              • The batch recipe event containing the [STARTTIME] timestamp associated with the
                operation retrieved from the batchrecipeview view.
              • The arbitration event containing the [ACQUIRETIME] timestamp associated with the unit
                arbitration event retrieved from the batchequipmentview view.
             The latest timestamp is used as the start time.
             For phase-level recipes, the start time is set using the [STARTTIME] field of the batch recipe
             associated with the phase object.
             End
             To end a unit batch, the interface requires both an "end" event and an "equipment released"
             event. It uses the earliest timestamp as the end time for the unit batch. Specifically, the
             interface scans for the following events:
              • The batch recipe event containing the [ENDTIME] timestamp associated with the specific
                "unitprocedure" object retrieved from the "batchrecipeview" view.
              • The arbitration event containing the [RELEASETIME] timestamp associated with the
                specific unit arbitration object retrieved from the batchequipmentview view.
             For operation-level recipes, the following two events are required to end a unit batch:
              • The batch recipe event containing the [STARTTIME] timestamp associated with the
                operation retrieved from the batchrecipeview view.
              • The arbitration event containing the [ACQUIRETIME] timestamp associated with the unit
                arbitration event retrieved from the batchequipmentview view.
             The earliest timestamp is used as the end time.
For phase-level recipes, the end time is set using the [ENDTIME] field of the batch recipe
associated with the phase object.
• The event containing [EVENT] = "System Message" and [DESCRIPT] field = "Operation
  Finished"
Or
• The event containing [EVENT] = "State Change" and [PVALUE] field = "REMOVED" and
  [RECIPE] = "Operation".
For phase-level recipes, the interface assigns the operation start time from the batch recipe
event containing [EVENT] = "State Change" and [PVALUE] = "RUNNING".
    The event containing [EVENT] = "Report" and [DESCRIPT] or [PVALUE] field = <Start
    Substring> starts a phase step. The name of the phase step is parsed from the text in the
    [DESCRIPT] or [PVALUE] field.
    End
    The event containing [EVENT] = "Report" and [DESCRIPT] or [PVALUE] field = <End
    Substring> ends a phase step. The name of the phase step is parsed from the text in the
    [DESCRIPT] or [PVALUE] field.
             For the VALUE setting and for NAME in property and attribute templates, the additional
             placeholders [TAG] and [TIME] are supported.
• [USER]
• [VALUE]
             The following table lists the fields and values that trigger the start and end of batch events.
              Level                      Trigger Field Text                           Start/End Text
              PIBatch/Procedure          "State change"             CREATED                  REMOVED
              PIUnitBatch/Unit                                      RUNNING                  COMPLETE
              Procedure
                                                                                             STOPPED
              Operation
                                                                                             ABORTED
              Phase
              Phase State                "Report"
             Phase steps are disabled by default. To detect them, you must enable processing and specify
             the strings that indicate start and end. The interface parses the description field to determine if
             the start or end string is present.
             "Use batch recipe" Enabled
             By default, to detect the beginning of a batch, the interface scans the Event column for "State
             Change" events. To configure the interface to scan for "System Message" events instead, enable
             the Use original batch event view option. This logic is the approach used by the PI Event File
             interface. Be advised that, when this option is enabled, the batch start time is taken from the
             event that loads the batch, not the event that begins execution. There can be a significant delay
             between loading and execution.
      The following sections describe how the interface determines whether a particular level has
      started or ended when the Use batch recipe option is enabled. The precise logic depends on
      your data source.
      • [EVENT] field = "Recipe Arbitration", [DESCRIPT] field = "Resource Acquired by recipe" and
        [EU] field = "Unit". The [PVALUE] field contains the actual unit name.
      The latest timestamp is used as the start time for the unit batch.
      Operation and phase-level recipes create parent batches and unit batches automatically.
      Operation-level recipes require a start event and an "equipment acquired" event. Phase-level
      recipes set the unit batch start time from the event that starts the phase; no equipment
      acquisition event is required.
      End
             For procedure- and unit procedure-level recipes, the interface requires both an end event and
             an "equipment released" event, as follows:
              • [EVENT] field = "Recipe Arbitration", [DESCRIPT] field = "Resource Released by recipe" and
                [EU] field = "Unit". The [PVALUE] field contains the actual unit name.
             The earliest timestamp is used as the end time.
             Operation-level recipes require an end event and an "equipment released" event. Phase-level
             recipes set the unit-batch end time from the event that ends the phase; no equipment release
             event is required.
              • The batch recipe event containing the [STARTTIME] timestamp associated with the specific
                "unitprocedure" object retrieved from the batchrecipeview view.
              • The arbitration event containing the [ACQUIRETIME] timestamp associated with the
                specific unit arbitration object retrieved from the batchequipmentview view.
             Operation- and phase-level recipes create parent batches and unit batches automatically.
             Operation-level recipes require a "start" event and an "equipment acquired" event. Phase-level
             recipes set the unit batch start time from the event that starts the phase; no equipment
             acquisition event is required.
             For operation-level recipes, the following two events are required to start a unit batch:
              • The batch recipe event containing the [STARTTIME] timestamp associated with the
                operation retrieved from the batchrecipeview view.
              • The arbitration event containing the [ACQUIRETIME] timestamp associated with the unit
                arbitration event retrieved from the batchequipmentview view.
             The latest timestamp is used as the start time.
             For phase-level recipes, the start time is set using the [STARTTIME] field of the batch recipe
             associated with the phase object.
             End
             To end a unit batch, the interface requires both an "end" event and an "equipment released"
             event. It uses the earliest timestamp as the end time for the unit batch. Specifically, the
             interface scans for the following events:
      • The batch recipe event containing the [ENDTIME] timestamp associated with the specific
        "unitprocedure" object retrieved from the "batchrecipeview" view.
      • The arbitration event containing the [RELEASETIME] timestamp associated with the
        specific unit arbitration object retrieved from the batchequipmentview view.
      For operation-level recipes, the following two events are required to end a unit batch:
      • The batch recipe event containing the [STARTTIME] timestamp associated with the
        operation retrieved from the batchrecipeview view.
      • The arbitration event containing the [ACQUIRETIME] timestamp associated with the unit
        arbitration event retrieved from the batchequipmentview view.
      The earliest timestamp is used as the end time.
      For operation-level recipes, the following two events are required to end a unit batch:
      • The batch recipe event containing the [STARTTIME] timestamp associated with the
        operation retrieved from the batchrecipeview view.
      • The arbitration event containing the [ACQUIRETIME] timestamp associated with the unit
        arbitration event retrieved from the batchequipmentview view.
      The earliest timestamp is used as the end time.
      For phase-level recipes, the end time is set using the [ENDTIME] field of the batch recipe
      associated with the phase object.
      • The event containing [EVENT] = "System Message" and [DESCRIPT] field = "Operation
        Finished"
      Or
      • The event containing [EVENT] = "State Change" and [PVALUE] field = "REMOVED" and
        [RECIPE] = "Operation".
      For phase-level recipes, the interface assigns the operation start time from the batch recipe
      event containing [EVENT] = "State Change" and [PVALUE] = "RUNNING".
              • [EU]
              • [EVENT]
              • [LABEL]
              • [LOTNAME]
              • [MATERIALID]
              • [MATERIALNAME]
              • [OPERATION]
              • [PHASE]
              • [PHASEMODULE]
              • [PROCEDURE]
              • [PROCESSCELL]
              • [PVAL]
              • [TIME]
              • [UNIQUEID]
              • [UNIT]
              • [UNITPROCEDURE]
              • [USERID] or [USER]
       Category                        Available Category field values:      Required for parameter event (in
                                        • ProcessInput                       Event field)
                                        • ProcessOutput                      Act_Val
                                        • ProcessParameter                   SetPoint
     • [AREA]
     • [BATCHID]
     • [CATEGORY]
     • [DESCRIPT]
     • [EU]
     • [EVENT] or [PARAMETER]
     • [EXTVALUE]
     • [MATERIALID]
     • [MATERIALNAME]
     • [OPERATION]
     • [OPERATIONACTIVATION]
     • [OPERATIONCONTID]
     • [PARAMETERID]
     • [PHASE]
     • [PHASEACTIVATION]
     • [PHASECONTID]
     • [PHASEMODULE]
     • [PHASESTATE]
     • [PHASETERMID]
     • [PROCEDURE]
     • [PROCESSCELL]
     • [TAG]
              • [TIME]
              • [UNIQUEID]
              • [UNIT],[OPERATIONMODULE]
              • [UNITACTIVATION]
              • [UNITCONTID]
              • [UNITID]
              • [UNITPROCEDURE]
              • [VALUE]
              WONUMBER                                              MDSE2S_PFC_TRAIL_MAN.WONUMBER
              PICODE                                                MDSE2S_PFC_TRAIL_MAN.PICODE
              PIVERSION                                             MDSE2S_PFC_TRAIL_MAN.PIVERSION
              • "WOQUANITITY "
              • "WEIGHTEQUQUANTITY "
              • "WEIGHTEQUUNIT "
              • "PRODUCTCODE "
              • "PHARMALOTNUMBER "
              • "WONUMBER "
              • "WOINDEX "
              • "STATE "
              • "PRODUCTDESCRIPTION "
              • "WOUNIT "
              • "PRIORITY "
              • "REFERENCECODE "
              • "STABILITY "
              • "CUSTOMERCODEREF "
              • "ALLOCATIONPART "
              • "ORIGINE "
              • "DTCREATIONDATEBYSYSTEM "
• "DTPLANNEDLAUNCHINGDATE "
• "DTLASTCHANGESTATEDATE "
• "TRANSACTIONCODE "
• "FUNCTIONCODE "
• "PICODE "
• "PIVERSION "
• "COMBINATIONEDITNUMBER "
• "XFIELD_00 "
• "XFIELD_01 "
• "XFIELD_02 "
• "XFIELD_03 "
• "XFIELD_04 "
• "XFIELD_05 "
• "XFIELD_06 "
• "XFIELD_07 "
• "XFIELD_08 "
• "MANUALWEIGHTSTARTDATE "
• "MANUALWEIGHTENDDATE "
              TITLE                                                  MDSE2S_PFC_TRAIL_MAN.TITLE
              UNIQUEID                                               MDSE2S_PFC_TRAIL_MAN.WONUMBER
              WONUMBER                                               MDSE2S_PFC_TRAIL_MAN.WONUMBER
              PICODE                                                 MDSE2S_PFC_TRAIL_MAN.PICODE
              PIVERSION                                              MDSE2S_PFC_TRAIL_MAN.PIVERSION
              TIMESTAMP                                              MDSXFP_WOCONSUMPTION. DTWEIGHENDDATE
              • "WONUMBER"
              • "WOINDEX"
              • "PHASE"
              • "PHASESEQNUM"
              • "DOSE"
              • "ACTION"
              • "ITEMCODE"
              • "WEIGHINGINDEX"
              • "LABELNUM"
              • "OPERATOR"
              • "WORKSTATION"
              • "WORKCENTER"
              • "WDUCLEANTYPE"
              • "LOTNUMBER"
              • "LOCATION"
              • "CONTAINER"
              • "LOTPOTENCY"
              • "LOTPOTENCY2"
              • "LOTDENSITY"
              • "LOTSTATUS"
• "ITEMUNIT"
• "FLAGPOTENCY"
• "FLAGPOTENCY2"
• "ITEMPOTENCY"
• "ITEMPOTENCY2"
• "ITEMDENSITY"
• "TOLERANCE"
• "FLAGDENSITYTAG"
• "CONCORDANCENUM"
• "STARTGROSS"
• "ENDGROSS"
• "CALCULATEDNET"
• "TARE"
• "NET"
• "GROSS"
• "WEIGHUNIT"
• "WEIGHGAP"
• "FORCEDWEIGHING"
• "FLAGSAMECONTAINER"
• "PALLETCODE"
• "NUMCONTAINERS"
• "WEIGHINGMODE"
• "WEIGHINGTYPE"
• "WEIGHINGSTATUS"
• "BALANCENUMBER"
• "BALANCETYPE"
• "BALANCEDESCRIPTION"
• "FLAGFORCEDPRECISION"
• "FLAGFORCEDRELEASE"
• "ENDOFCONTAINER"
• "FLAGMESSAGE"
• "FLAGFORCEDLOT"
• "FLAGCORRECTLOT"
• "FLAGKEYBOARDINPUT"
• "FLAGPRINTEDLABEL"
              • "BARCODELABEL"
              • "CHECK"
              • "STOCKUNIT"
              • "NOTICKET"
              • "RFCHECK"
              • "COMBINATION"
              • "INITIALEQTCODE"
              • "TARGETEQTCODE"
              • "COUNTINGUNIT"
              • "DTWDUCLEANDATE"
              • "DTWEIGHSTARTDATE"
              • "DTWEIGHENDDATE"
              • "ACTIONID"
              • "XFIELD_00"
              • "XFIELD_01"
              • "XFIELD_02"
              • "XFIELD_03"
              • "XFIELD_04"
              • "XFIELD_05"
              • "XFIELD_06"
              • "XFIELD_07"
              • "XFIELD_08"
              • "XFIELD_09"
              • "CONS_XFIELD_00"
              • "CONS_XFIELD_01"
              • "CONS_XFIELD_02"
              • "CONS_XFIELD_03"
              • "CONS_XFIELD_04"
              • "CONS_XFIELD_05"
              • "CONS_XFIELD_06"
              • "CONS_XFIELD_07"
              • "CONS_XFIELD_08"
              • "CONS_XFIELD_09"
              • "IDENTIFIER"
              • "LOCATIONDESCR"
• "ITEMDESCR"
• "ITEMLONGDESCR"
• "CONTSTATUS"
• "LOTEXPIRYDATE"
• "REMAININGQTY"
• "SHORTNAME"
• "FULLNAME"
• "MATLINESTATUS"
• "ITEMPOTENCYUNIT1"
• "ITEMPOTENCYUNIT2"
COMMENT Event
Data sent when there is a comment for the deviation in the PICODE.
Field                                             Contents
EVENT                                             "COMMENT"
BATCHID                                           Recipe template-dependent
PRODUCT                                           Recipe template-dependent
PROCEDURE                                         Recipe template-dependent
UNITPROCEDURE                                     Recipe template-dependent
OPERATION                                         Recipe template-dependent
PHASE                                             Recipe template-dependent
PHASESTATE                                        Recipe template-dependent
PHASESTEP                                         Recipe template-dependent
PHASESTEP2                                        Recipe template-dependent
PHASESTEP3                                        Recipe template-dependent
EQPCODE_{level}_{equipment number}                MDSEQP_EQPEXE_TRACES. EQPCODE
EQPNAME_{level}_{equipment number}                MDSEQP_EQPEXE_TRACES. EQPNAME
LOCATION_{level}_{equipment number}               MDSEQP_EQPEXE_TRACES. LOCATION
AREA_{level}_{equipment number}                   MDS_SITE. SITE_NAME_ENG
LOTID                                             MDSXFP_WOHEADER.PHARMALOTNUMBER
TITLE                                             MDSE2S_PFC_TRAIL_MAN.TITLE
UNIQUEID                                          MDSE2S_PFC_TRAIL_MAN.WONUMBER
WONUMBER                                          MDSE2S_PFC_TRAIL_MAN.WONUMBER
PICODE                                            MDSE2S_PFC_TRAIL_MAN.PICODE
PIVERSION                                         MDSE2S_PFC_TRAIL_MAN.PIVERSION
TIMESTAMP                                         MDSE2S_PICOMMENTS_MAN.DTCOMMENTDATE
              • "SITE_NAME_ENG"
              • "PICODE"
              • "PIVERSION"
              • "STATUS"
              • "LOGIN"
              • "SHORTNAME"
              • "FULLNAME"
              • "TYPE"
              • "COMMENTTYPE"
              • "WORKSTATION"
              • "WORKCENTER"
              • "ORIGIN"
              • "TASKTITLE"
              • "PRODUCTCODE"
              • "PHARMALOTNUMBER"
              • WEIGHINGINDEX
              • WOINDEX
              • WONUMBER
              • WONUMBER
              • WORKCENTER
              • WORKSTATION
              • XFPBATCHID
              • XFPTASKID
PIEVENT placeholders
These placeholders are supported for expression triggered by PI batch events (Parameter,
value="PIEVENT"]).
Place Holder            Batch Level                                     How Stored
                                                    Batch Database             Event Frames
[BATCHID]               1 or 2                      String value that is       Top-level event frame:
                                                    stored as PIBatch          Name property. Second-
                                                    BatchID and                level event frame:
                                                    PIUnitBatch BatchID        BatchID attribute
                                                    property
[PROCEDURE]             1                           PIBatch Recipe property Top level event frame
                                                                            "Recipe" Attribute.
[UNITPROCEDURE]         2                           PIUnitBatch Procedure      Name property
                                                    property
[OPERATION]             3                           PISubBatch Name
                                                    property
[PHASE]                 4
[PHASESTATE]            5
[PHASESTEP]             6
[UNIT]                  n/a                         PIModule Name              AF element Name
                                                    property                   property.
     To communicate with SQL Server databases, the interface requires Microsoft ADO driver for
     Microsoft SQL, part of the SQL Native client package, to be installed on the interface node. To
     download the SQL Native client package, go to the MSDN web site.
     PIBatch/Procedure
     The start time for a batch is taken from the event in which the [Action_CD] field contains "201".
     The end time for a batch is taken from the event in which the [Action_CD] field contains "205",
     "206" or "209".
     PIUnitBatch/Unit Procedure
     The start time for a batch is taken from the event in which the [Action_CD] field contains "500".
     The end time for a batch is taken from the event in which the [Action_CD] field contains "501".
     Operation
     The start time for a batch is taken from the event in which the [Action_CD] field contains "502".
     The end time for a batch is taken from the event in which the [Action_CD] field contains "503".
             Phase
             The start time for a batch is taken from the event in which the [Action_CD] field contains a
             value from "227" to "246" and "415", excluding "236" and "240".
             The end time for a batch is taken from the event in which the [Action_CD] field contains one of
             the following values:
              • 233
              • 234
              • 239
              • 415
     Source tab
             On this tab you configure the data sources that you want the interface to read. To add a data
             source, right-click the top Sources node and choose the Add option. After you add the first data
             source, all additional data sources must be the same type (event journal or SQL database); the
             configuration utility no longer offers you the other option.
             Active sources are displayed in black text, inactive sources in gray. To activate or deactivate a
             source, right-click it and choose the desired option.
             To configure the SQL Alarm and Event Historian, you must specify mappings that ensure that
             process cell data is recorded correctly, because DeltaV does not emit process cell information.
             To map process cells to areas, click Area to Process Cell... and, for each unique area, specify the
             process cell to be recorded with its events. Alternately, to assign units to process cells, click
             Unit to Process Cell...
     Templates
             Templates map data from the data source to PI tags. Depending on your interface, you can
             define the following types of templates:
     Tag templates
             Tag templates create and update PI tags when events are read from the data source. Alarm tag
             templates create and update PI tags based on alarms raised by the Emerson DeltaV Alarms &
             Events Historian. If you define one or more triggers, the target PI tag is updated only when the
             specified events occur. If you do not define any triggers, every event from the data source
             triggers an update of the target PI tag.
Tag configuration
• Index
  Specify a unique numeric identifier for the entry.
• Name
  The name of the field from the data source. The name can include wildcards.
• Value
  The value to be written to the PI tag. Composed of placeholders, which are aliases for data
  fields read from the data source.
• Type
  The data type to be used to write the value to the tag. Note that if the incoming value is
  incompatible with the tag type, the event is not processed, and an error is logged.
• Translate
  Maps text from the data source to the text that you want to record in the PI System.
• Engineering units
  The engineering units for the data.
• Unit Alias
  Specifies an alias to be recorded under the Aliases node in the corresponding PIUnit or AF
  element.
• Phase Alias
  Specifies an alias to be recorded under the Phases > Aliases node in the corresponding
  PIUnit or element.
• Annotation
  Specifies the annotation to be associated with the event. The result is stored in a PI tag as a
  string.
             Configuration
              • Index
                Assigns a unique numeric identifier for the template.
              • Name
                Specifies how the target attribute or property is named. You can use placeholders to
                configure values emitted by the data source. The interface adds attributes and properties as
                required when new equipment is added.
              • Value
                Specifies the value to be recorded. Use placeholders to derive values from the data emitted
                by the data source.
              • Data type
                PI data type of the value. Note that if the incoming value is incompatible with the tag type,
                the event is not processed, and an error is logged.
              • Translate
                Maps text from the data source to the text that you want to record in the PI System.
              • UOM
                Unit of measure to be used to store value, if different from unit provided by data source.
              • Engineering units
                Unit of measurement.
              • Level
                Specifies the recipe level as follows:
                  Level value                                         Corresponds to:
                  -1                                                  Same level as in data source
                  1                                                   Unit Procedure
                  2                                                   Procedure
                  3                                                   Operation
                  4                                                   Phase
      • Category
        Specifies the PI AF category to be associated with the value.
Recipe templates
     Recipe templates enable you to override the default recipe name read from the data source.
     Configuration
      • Index
        Specifies the level in recipe hierarchy as follows:
         Level                                        Index              PI object          Default
         Procedure                                    1                  PIBatch Recipe     Recipe[1].Name
                                                                                            =[Procedure]
         Unit Procedure                               2                  PIUnitBatch        Recipe[2].Name
                                                                         Procedure          =
                                                                                            [UnitProcedure]
         Operation                                    3                  PISubBatch         Recipe[3].Name
                                                                         Name field         =[Operation]
         Phase                                        4                  PISubBatch         Recipe[4].Name
                                                                         Name field         =[Phase]
         Phase State                                  5                  PISubBatch         Recipe[5].Name
                                                                         Name field         =[PhaseState]
         Phase Step                                   6                  PISubBatch         Recipe[6].Name
                                                                         Name field         =[PhaseStep]
      • Name
        Defines the naming convention used by the interface to assign names to batch events. For
        event frames, this template modifies the Recipe AF attribute. For the Batch database, this
        template modifies the PIBatch name.
        For example: abc_[Procedure] If the incoming event's [Procedure] field contains "Test", the
        resulting procedure Recipe field is "abc_Test".
      • Value
        The value to be written to the property or attribute. Can be defined using placeholders as
        well as fixed text.
Advanced features
              • Batch ID
                 Configures the batch ID of the particular recipe object, overriding the incoming (default)
                 batch ID. If you override the batch ID for the procedure, the batch ID is propagated to the
                 child unit batches Batch ID field. For event frames, this template modifies the event frame
                 name.
                        Note:
                        If you use a recipe template to set the batch ID, the recipe template overrides any
                        batch ID mask you might have configured to enable merging of batches.
              • Module/Element Path
                 Redirects the entry to a unit or PI AF element other than the one in the event. Specifies the
                 path for the desired module or AF element. Supports only unit procedure (level 2 and 4).
              • Product
                 Specifies the product of the particular recipe object. Supports the procedure and unit
                 procedure [Product] fields, which must be present in the source event that creates the
                 batch. If a product trigger is not defined, this template is populated based on the data in the
                 event that creates the particular Recipe object.
              • Product Trigger
                 Populates the [Product] field of the particular recipe object after the object is created, which
                 is useful if the product is defined in a separate event.
                 For example: [Parameter, Value="Recipe Header"] [Descript, value="Product
                 Name"].
      Triggers
              To specify the events that initiate updates to tags, properties or attributes, you define triggers.
              You can define triggers for events read from the data source and for batch-related events
              raised by the PI System itself (PI Events). To define triggers using PI Event Frame Interface
              Manager, go to the Templates page, navigate to the desired tag, property or attribute template,
              and click the Triggers tab.
              If you omit triggers, the target is updated by every event. If you specify multiple conditions in a
              single trigger, data is written only when all conditions are met (logical AND). If you define
              multiple triggers, data is written when any one of the conditions is met (logical OR).
              In the following example, the template is triggered when the PI System records the start of a
              batch: [Event,value="PIEVENT"] [Descript, value="BATCH"] [Pval,
              value="START"]
100    PI Interfaces for Batch and Manufacturing Execution Systems User Guide
                                                              PI Event Frames Interface Manager reference
Filters
     You use the Filters tab to configure the recipes, units, phases, or phase states to be excluded
     from processing by the interface.
                                   PI Interfaces for Batch and Manufacturing Execution Systems User Guide   101
PI Event Frames Interface Manager reference
              PI connection settings
              • PI connection timeout (/PICONNTO=<seconds>)
                 Override the default PI SDK Connection TimeOut property.
              • Retry (/RETRY=<seconds>)
                 Specifies how often the interface retries failed attempts to write data. The default is 60
                 seconds.
102    PI Interfaces for Batch and Manufacturing Execution Systems User Guide
                                                       PI Event Frames Interface Manager reference
   Mode                                               Description
   Recovery                                           Scan data source and generate or correct events
                                                      accordingly. always starts in recovery mode,
                                                      then switches to realtime mode.
   Statistics                                         Compare data source history against events and
                                                      report results without updating any data.
   Delete                                             Delete events for a specified period.
• Interface ID (/ID=x)
  Specifies the numeric interface instance identifier (maximum nine digits). To detect PI
  points maintained by the interface instance, the interface matches this setting against the
  value in the points’ Location1 attribute.
Failover settings
• Failover tag (/FAILOVERTAG=x)
  The PI tag to be used to coordinate failover.
                            PI Interfaces for Batch and Manufacturing Execution Systems User Guide   103
PI Event Frames Interface Manager reference
               • Failover ID (/FAILOVERID=x)
                  A unique identifier for this interace instance, used to coordinate which instance is primary.
               • Failover swap time (/SWAPTIME=<seconds>)
                  Specify how long an interface can be inactive before failover to another instance occurs.
               Security settings
               • Specify point security (/PTSEC=x)
                  Override the default point security created by the interface.
               • PI Data Archive permissions (PI SMT: Browse to Security > Database Security)
                   ◦ Database security: Enable read/write access for the PIPOINT table and read access for
                     PIBACKUP
                   ◦ Point Database security: Set both PtSecurity and DataSecurity to read/write
                   ◦ Enable read access to the active points
               • PI Asset Framework permissions
                   ◦ Database: read/write
                   ◦ Categories: read
                   ◦ Element: read/write
104     PI Interfaces for Batch and Manufacturing Execution Systems User Guide
                                                             PI Event Frames Interface Manager reference
      Procedure
      1. To assign permissions for the PI Data Archive, launch PI System Management Tools, and
         click Security > Database Security.
      2. For the user account under which the batch interfaces run, set the PIPOINT table to read
         and write permission.
      3. For the user account under which the batch interfaces run, set the PIBACKUP table to read
         permission.
      4. For PI points maintained by batch interfaces, set security as follows:
         a. Set the PtSecurity to read and write permission for any point that the interface creates.
         b. Set the DataSecurity to read and write permission for any point to which the interface
            writes data.
         You can set PI point permissions using PI System Management Tools by choosing Points >
         Point Builder.
         You can change point settings in bulk using the PI SMT plug-in for Microsoft Excel.
      Procedure
      1. Launch PI System Explorer.
      2. Click Database on the toolbar.
                                  PI Interfaces for Batch and Manufacturing Execution Systems User Guide   105
PI Event Frames Interface Manager reference
              Procedure
              1. To create a trust, launch PI System Management Tools and connect to the target server.
              2. Click Security, and then click Mappings & Trusts.
              3. Right-click within the Trusts tab, and click New Trust… . The Add Trust wizard launches.
              4. Enter a meaningful name and description for the trust.
              5. Configure the following settings:
                  Program                            Type of Trust                Application Name
                  PI Event Frame Interface           PI-API application           BIFConfig.exe
                  Manager
                  Interface executable               PI-SDK application           Executable name
106    PI Interfaces for Batch and Manufacturing Execution Systems User Guide
                                                       PI Event Frames Interface Manager reference
Procedure
1. Configure instances of the interface on different host computers. Assign the same interface
   ID and point source, and assign unique failover IDs to each instance.
   You can configure more than two instances for failover.
2. In the target PI Data Archive, create a string tag and configure it with the same point source
   and Location1 (interface ID) as the interfaces.
   The interface instance uses this string tag to coordinate failover.
3. Using PI Event Frame Interface Manager, go to the Operational Settings tab and configure
   the failover settings.
   ◦ Failover tag
      The name of the tag that you created in the previous step.
   ◦ Failover identifier
      A unique ID for the interface instance.
                            PI Interfaces for Batch and Manufacturing Execution Systems User Guide   107
PI Event Frames Interface Manager reference
108   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
Command-line parameter reference
     To configure an interface, you use the PI Event Frames Interface Manager, which maintains a
     Windows command (.bat) file that specifies settings using command line parameters. This
     appendix describes the command line parameters in the .bat file and is provided for
     troubleshooting purposes.
          Note:
          To ensure a valid .bat file, do not edit the file manually. Always use PI Event Frames
          Interface Manager to configure settings.
     The following table is a compilation of the command line parameters from all the OSIsoft batch
     framework interfaces. Some parameters are specific to an interface. To list the parameters
     supported by your interface, invoke its executable at the command line, specifying the -? flag.
      Parameter                                         Description
      /abto=<#days>                                     (Optional) Specifies how long, in addition to the
                                                        CACHETIME setting, the interface waits before
                                                        closing a batch for which no end event has arrived.
                                                        When an abandoned batch is closed, the interface
                                                        uses the timestamp of its last event as the end time
                                                        and logs an "Abandoned batch found" message.
                                                        Default is 100 days, minimum is .042 days
                                                        (approximately one hour), and maximum is 365
                                                        days.
      /adu=[true | false]                               (Optional) Enable the creation of unit batches for
                                                        recipes in units that are allocated at the phase
                                                        level rather than the unit batch level. By default,
                                                        the interface requires the unit name to be present
                                                        in the unit batch start event. When you enable /
                                                        adu, the interface creates the unit batch and defers
                                                        setting the unit name until the phase-level
                                                        allocation event arrives.
                                PI Interfaces for Batch and Manufacturing Execution Systems User Guide   109
Command-line parameter reference
              Parameter                                             Description
              /bidm=<list>                                          (Optional) Override the incoming batch ID by
                                                                    selecting a substring. Specify one or more masks
                                                                    composed of text and wildcards, to be used to
                                                                    compose the desired batch ID from the contents of
                                                                    the source BatchID field. The resulting batch ID is
                                                                    used for the Batch ID field of the top-level
                                                                    procedure and for the [BATCHID] placeholder. By
                                                                    default, the batch ID field in unit procedures
                                                                    contain the full batch ID from the data source. To
                                                                    use the truncated batch ID instead, configure the
                                                                    TBID setting.
                                                                    Valid wildcards are as follows:
                                                                     Wildcard                  Description
                                                                     #                         Single digit numerical
                                                                                               value, 0-9
                                                                     @                         Single alpha character,
                                                                                               a-z, A-Z
                                                                     ?                         Any single symbol
                                                                     !                         Repeat the previous
                                                                                               mask symbol
                                                                     *                         Any set of symbols
                                                                     Mask                      Result
                                                                     "#####"                   30112
                                                                     "##@!"                    90dev
                                                                     "*##@!"                   lot30112 / 90dev
                                                                     "@@@@, #8dev4, #!"        30112
110   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
                                                             Command-line parameter reference
Parameter                                      Description
/dac                                           (Optional) Disable arbitration counters: directs the
                                               interface to release a unit on the first resource
                                               release event even if the number of acquire events
                                               is higher than number of release events. By
                                               default, the interface requires the number of
                                               acquire and release events for a unit to be the
                                               same.
/damcae                                        (Optional) Ignore events from Alarms and Events
                                               data source when creating or checking PI Module
                                               Database objects. If the module path defined for an
                                               AlarmTag[#].Alias entry contains $ (root node
                                               symbol), the interface checks the module path
                                               regardless of whether this option is enabled.
/datasec=<string>                              (Optional) Specifies the security settings to be
                                               assigned to interface-generated tags. For PI Data
                                               Archive 3.4.375.99 or earlier, use owner, group,
                                               world format. Example: /datasec="o:rw g:r
                                               w:r" For PI Data Archive 3.4.380.36 or later,
                                               specify an access control list (ACL). Example: /
                                               datasec="piadmin: A(r,w) | PIEngineers:
                                               A(r)"
/db=[#]                                        (Optional) Enabled debugging output:
                                                • 0: Log only errors and warnings (default)
                                                • 1: Log errors, warnings and major success
                                                  messages
                                                • 2: Log all messages (most verbose)
/dpretc                                        (Optional – event frames only) Disable
                                               propagation of referenced elements to children. By
                                               default, the interface propagates each event frame
                                               element reference to its children event frames.
/dumpread=<filename>                           (Optional) Read data from a dump file. For
                                               troubleshooting only.
/dumpwrite=<filename>                          (Optional) Create a dump file containing the data
                                               currently being processed by the interface. For
                                               troubleshooting only.
/equipmentXML=<filepath>                       (Optional) Specifies the location of the DeltaV-
                                               generated equipment hierarchy XML file. The
                                               EMDVB interface uses this reference data to locate
                                               missing ProcessCell field by searching based on
                                               the combination of Area and Unit fields. Valid only
                                               when a DeltaV AE SQL datasource is defined.
                                               Example: /EquipmentXML="C:\DeltaV
                                               \EquipHier.xml"
/failoverID=<string>                           (Optional) Configure a unique failover ID for the
                                               interface instance. Must be used with the /
                                               FailOverTag parameter.
                                               Example: /FailOverID="intf1"
                        PI Interfaces for Batch and Manufacturing Execution Systems User Guide     111
Command-line parameter reference
              Parameter                                             Description
              /failovertag=<tag name>                               (Optional) Specifies the PI tag to be used to track
                                                                    the primary interface instance. Must be used with
                                                                    the /FailOverID parameter.
                                                                    Example:
                                                                    /FailOverTag="Batch_FailoverTag"
112   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
                                                 Command-line parameter reference
Parameter                          Description
/merge                             (Optional) Enable merging of multiple source
                                   batches with same ID. The original data for each
                                   batch merged is stored in PI properties under a
                                   node named using the ID of the original batch. The
                                   data includes the original batch ID, start time
                                   (UTC), end time (UTC), product and formula name.
                                   The interface merges only batches that are cached
                                   in local memory. The time frame for merging is
                                   configured using the /cachetime switch.
                                   If the IDs of the batches you want to merge are
                                   different, use the /bidm flag to override incoming
                                   IDs.
                                   Example: Given the following five batches running
                                   within the cache time frame:
                                    • Test12345_1
                                    • Test_12345_2
                                    • CleaningTest
                                    • USPO12345_test
                                    • CleaningTest
                                   With merging enabled, only the Cleaningtest
                                   batches are merged. To merge the other three
                                   batches, which have IDs containing the string
                                   "12345", specify /bidm=#####.
            PI Interfaces for Batch and Manufacturing Execution Systems User Guide   113
Command-line parameter reference
              Parameter                                             Description
              /mode=<mode>                                          (Optional) Valid modes are as follows:
                                                                    Realtime: (Default) Real-time data collection. If a
                                                                    recovery start time is specified (/rst), the
                                                                    interface recovers data before starting realtime
                                                                    collection.
                                                                    Stat: Statistics mode. Compare source data with
                                                                    the corresponding PI System batch data. The
                                                                    interface does not write to or modify any data PI
                                                                    batch data. On completion, the interface reports
                                                                    results and stops.
                                                                    Delete: Delete batch data from PI archives for
                                                                    specified period, leaving data from all other
                                                                    sources intact. Use only if the interface is unable to
                                                                    synchronize source batch data with the PI System.
                                                                    Must be used in conjunction with the recovery
                                                                    mode switches (/rst and /ret).
                                                                    NoData: Newly-added tags, units and modules are
                                                                    indexed (referenced) in the primary PI archive, but
                                                                    older archives do not have entries for these
                                                                    modules, units and tags. In NoData mode, the
                                                                    interface creates modules, units, tags and tag
                                                                    aliases without processing batch data and writing
                                                                    events to the tags. To recover batch data for a
                                                                    period prior to the one in the primary archive, you
                                                                    must reprocess older archives with the offline
                                                                    archive utility. Manual archive reprocessing
                                                                    creates indexes for newly-added units, modules,
                                                                    tags. Always run the interface in this mode before
                                                                    writing new batch data to older PI archives (that
                                                                    is, archives other than the primary archive).
114   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
                                                   Command-line parameter reference
Parameter                            Description
/ns[=lang]                           (Optional) Perform numerical conversions using
                                     the specified language’s conventions. Useful when
                                     the numerical conventions differ from the default
                                     settings (for example, comma instead of decimal
                                     point). Default is "English_UnitedStates". If you
                                     omit the language parameter, the interface uses
                                     the "Regional and Language Options" settings in
                                     effect for the interface node.
                                     Language types and abbreviations:
                                      • chinese chinese-simplified (chs)
                                      • chinese-traditional (cht)
                                      • czech (csy)
                                      • danish (dan)
                                      • belgian, dutch-belgian (nlb)
                                      • dutch (nld)
                                      • australian, english-aus (ena)
                                      • canadian, english-can (enc)
                                      • english english-nz (enz)
                                      • english-uk (uk)
                                      • american, american-english, english-american,
                                        english-us, english-usa, (enu) (us) (usa)
                                      • finnish (fin)
                                      • french-belgian (frb)
                                      • french-canadian (frc)
                                      • french (fra)
                                      • french-swiss (frs)
                                      • german-swiss, swiss (des)
                                      • german (deu)
                                      • german-austrian (dea)
                                      • greek (ell)
                                      • hungarian (hun)
                                      • icelandic (isl)
                                      • italian (ita)
                                      • italian-swiss (its)
                                      • japanese (jpn)
                                      • korean (kor)
                                      • norwegian-bokmal (nor)
                                      • norwegian norwegian-nynorsk (non)
                                      • polish (plk)
                                      • portuguese-brazilian (ptb)
                                      • portuguese (ptg)
                                      • russian (rus)
                                      • slovak (sky)
                                      • spanish (esp)
                                      • spanish-mexican (esm)
                                      • spanish-modern (esn)
                                      • swedish (sve)
             PI Interfaces for Batch and• Manufacturing
                                           turkish (trk) Execution Systems User Guide   115
Command-line parameter reference
              Parameter                                             Description
              /piconnto=<seconds>                                   (Optional) Override the default SDK setting for PI
                                                                    connection timeout.
              /pidato=<seconds>                                     (Optional) Override the default SDK setting for PI
                                                                    data access timeout.
              /pipswd=<password>                                    (Optional) Specify the user password to be used to
                                                                    connect to the PI Data Archive. By default, the
                                                                    interface uses PI trusts for authentication.
              /piuser=<name>                                        (Optional) Specify the user name to be used to
                                                                    connect to the PI Data Archive. By default, the
                                                                    interface uses PI trusts for authentication.
              /print=<filename>                                     (Optional) Prints the results of first scan to
                                                                    specified text file. The results include the batch
                                                                    tree, tag list, and equipment tree. Used for
                                                                    troubleshooting.
              /ps=pointsource                                       Specifies the point source for the points
                                                                    maintained by the interface.
              /ptsec=<string>                                       (Optional) Specifies the access security settings to
                                                                    be assigned to interface-generated tags. For PI
                                                                    Data Archive version 3.4.375.99 or earlier, use
                                                                    owner, group, world format.
                                                                    Example:
                                                                    /ptsec="o:rw g:r w:r"
                                                                    For PI Data Archive version 3.4.380.36 or later,
                                                                    specify an access control list (ACL). Example:
                                                                    /ptsec="piadmin: A(r,w) | PIEngineers:
                                                                    A(r)"
116   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
                                                              Command-line parameter reference
Parameter                                       Description
/restef                                         (Optional) Enables an event frame with references
                                                to inherit security settings from its primary
                                                reference element.
/ret=<datetime>                                 (Optional) Specifies the end time for data recovery.
                                                The interface recovers batches that start before
                                                the specified time, including batches that end after
                                                the specified end time. Specify the time using the
                                                interface node format and time zone.
/retry=<seconds>                                (Optional) Specifies how often the interface retries
                                                a failed attempt to write data. The default is 60
                                                seconds.
/retryto=<seconds>                              Specifies how long the interface retries a failed
                                                attempt to write data before timing out. By default,
                                                the interface never times out. If you configure a
                                                timeout setting, be advised that you risk losing
                                                data.
/rst=<datetime>                                 (Optional) Specifies recovery start time. The
                                                interface recovers batches that start after the
                                                specified time, as well as batches that start before
                                                the specified time but end after it. Specify the time
                                                using the interface node format and time zone.
/rti                                            Remove trailing index from Recipe fields.
                                                Applicable to Procedure, Unit Procedure and
                                                Operation Recipe fields. Emerson EVT data source
                                                only.
/scan=<seconds>                                 (Optional) Specifies, in seconds, how often to scan
                                                the data source for new data. The default is 60
                                                seconds. A scan that returns a large amount of data
                                                can cause the interface to skip the subsequent
                                                scan.
/singlerun                                      (Optional) Perform one scan and stop.
/smp="equipment path"                           (Optional) Specifies an alternate PI Module path or
                                                PI AF element path for a particular equipment
                                                hierarchy. By default, the interface scans starting
                                                at the root level. Use the following syntax:
                                                \\<RootModule>\<SubModule>\<…>
/sqlconnto=<seconds> (DeltaV SQL only)          (Optional) Override the default SQL timeout
                                                setting (60 seconds).
/sqldato=<seconds> (DeltaV SQL only)            (Optional) Override the default SQL data access
                                                timeout setting (100 seconds).
/swaptime=<seconds>                             (Optional) Specifies, in seconds, how long the
                                                current primary interface must be unavailable
                                                before failover occurs. Default: 300 seconds.
/tbid                                           (Optional) Use the truncated batch ID in the batch
                                                ID field of unit procedures. Incoming batch IDs are
                                                reformatted using the mask defined in the /bidm
                                                parameter.
                         PI Interfaces for Batch and Manufacturing Execution Systems User Guide   117
Command-line parameter reference
              Parameter                                             Description
              /tbse                                                 (Optional) Directs the interface to use top level
                                                                    recipe start/end events for creating batch objects.
                                                                    By default, the interface uses batch load/unload
                                                                    events. Intended for batches with S88 recipe types:
                                                                    Procedure, Unit Procedure, Operation, and Phase.
              /ts=GMT | LCL                                         (Optional) Specifies how the interface interprets
                                                                    event timestamps from an SQL data source.
                                                                    Options are local time or GMT. Default is GMT.
              /uobev                                                (Optional) Directs the interface to use the original
                                                                    batch event view. By default the interface queries
              (DeltaV SQL 9.3+ ONLY)                                17 tables to retrieve data for batch-associated
                                                                    events. Note that this view does not provide
                                                                    explicit [Descript], [Pval] and [EU] fields. Instead
                                                                    the [Descript] field combines data from all three
                                                                    fields. This option is provided for backward
                                                                    compatibility.
              /ubr (Emerson DeltaV only)                            (Optional) Use DeltaV Batch Recipe View data
                                                                    instead of Recipe State Changes to detect start and
                                                                    end events. The Recipe State Change timestamps
                                                                    differs from Batch Recipe timestamps, as a result,
                                                                    inconsistencies in timestamps might occur.
              /uidlist=<list> Optional (FTBInt, WPASX and           (Optional) Recover specified manufacturing
              Wonderware only)                                      orders, then exit. Specify a comma-separated list of
                                                                    unique IDs of the manufacturing orders to be
                                                                    recovered. For WPASX, the IDs can be obtained
                                                                    from the source
                                                                    PASX.ManufacturingOrder.EntityKey column. This
                                                                    parameter overrides any settings specified for
                                                                    the /rst and /ret recovery switches. Example:
                                                                    /uidlist=5010350293,5011438395
118   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
Initialization file reference
      The initialization (.ini) file stores configuration information about data sources, translations,
      product template, equipment template, tag templates and property templates. This file is
      generated and updated by the PI Event Frame Interface Manager configuration tool.
      The information in this appendix is intended for troubleshooting purposes, to enable you to
      understand the contents of the .ini file.
            Note:
            Do not edit the .ini file manually.
      The .ini file is divided into the following sections:
       • SOURCE TEMPLATE: Specifies the settings required to connect to the data source, events to
         be skipped (filtered)
       • GENERAL: Specifies a prefix to be prepended to the unit name when the interface creates a
         PI unit.
       • TAG TEMPLATE: Contains templates that define how tags are to be created based on
         incoming data from the data source.
       • PROPERTY TEMPLATE: Contains templates that define how PI properties are to be created
         based on incoming data from the data source.
       • TRANSLATIONS: Maps text from the data source language to the target language for the PI
         System.
      The following table describes optional settings that are stored in the .ini file.
       Parameter                                          Description
       excludestates=<list>                               Specifies a comma-separated list of phase states to
                                                          ignore. Not case-sensitive. You can use wildcards
                                                          for matching. Examples:
                                                          excludestates=COMPLETED,AB*ING
                                                          excludestates="COMPLETED, ABO*ING"
                                                          excludestates= IDLING, COMPLE*
                                   PI Interfaces for Batch and Manufacturing Execution Systems User Guide   119
Initialization file reference
               Parameter                                             Description
               skipunits=<list>                                      Specifies a comma-separated list of units to ignore.
                                                                     Not case-sensitive. You can use wildcards for
                                                                     matching. The interface checks the list against the
                                                                     corresponding [Unit] field. Example:
                                                                     skipunits = unit_1, u*2
120    PI Interfaces for Batch and Manufacturing Execution Systems User Guide
Diagnostic tag reference
      Performance tags, which are automatically created for each instance of the interface, enable
      you to monitor the performance of the instance. There are 35 performance tags, categorized as
      follows:
      • Health monitoring
      • Object counters
      • Timers
      • "Good": The interface is properly communicating and reading data from the data sources.
      • "1 | Starting": The interface is executing its initialization routines.
      • "2 | <details>": Indicates successful connection to the data source.
      • "3 | <details>": Indicates failure to access the event journal file directory or failure to read
        data from the event journal file.
      The properties of health monitoring tags are provided in the table below, where the Prefix
      represents <Interface>_<ID>. Note, if these tags do not exist. the interface creates them
      automatically during startup.
       Tag name          Point Type        Loc1              Loc3              PointSource        ExcDesc
       Prefix_DeviceSt   Int32             Intf ID           0                 Intf Pt Src        [UI_DEVSTAT]
       atus
       Prefix_HeartBe    Int32             Intf ID           1                 Intf Pt Src        [UI_HEARTBEA
       at                                                                                         T]
      The attributes for each performance counter tag are provided in the table below where the
      Prefix is defined as _<Interfaceid>. All counters are set to 0 when the interface starts up.
                                      PI Interfaces for Batch and Manufacturing Execution Systems User Guide   121
Diagnostic tag reference
122   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
                                                                             Diagnostic tag reference
Timers
The last performance tag category is composed of timer tags, which are built automatically on
first interface startup. Each timer tag reports on how much time per scan it took the interface
to perform a particular task. There are three categories of timer tag: data source reading, local
data caching and synchronizing cached data with the PI System.
Attributes of performance timer tags
 Tag Name                Loc3                      ExcDesc                     Description
 <interfaceID>_Sourc 26                            [UI_SOURCEREADTIME] The time per scan it
 eReadTime                                                             took the interface to
                                                                       read data from data
                                                                       source(s).
 <interfaceID>_TagCa 27                            [UI_TAGCACHETIME]           The time per scan it
 cheTime                                                                       took the interface to
                                                                               populate local tag cache.
 <interfaceID>_Batch 28                            [UI_BATCHCACHETIME] The time per scan it
 CacheTime                                                             took the interface to
                                                                       populate the local batch
                                                                       cache.
 <interfaceID>_Equip 29                            [UI_EQUIPCACHETIME]         The time per scan it
 mentCacheTime                                                                 took the interface to
                                                                               populate the local
                                                                               equipment (module)
                                                                               cache.
                            PI Interfaces for Batch and Manufacturing Execution Systems User Guide     123
Diagnostic tag reference
124   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
Event file monitor utility
      For interfaces that can use event journal files for a data source, OSIsoft provides a utility that
      automatically copies new event journals from the directory where the BES creates them to the
      directory where the interface processes them.
      The utility is installed in the same directory as the interface, along with a template Windows
      command file that you can copy and edit to launch the utility with the desired settings. The
      executable file name ends with "Sync" (for example, EVTSync.exe).
      To configure the utility, copy and edit the batch file, specifying settings using command line
      parameters as follows:
       Parameter                                          Description
       /dest=<path>                                       Full path to destination directory, where the
                                                          interface processes incoming event journals.
       /rate=#                                            Optional rate in seconds to scan source and
                                                          destination directory. Default scan rate is 30
                                                          seconds. This parameter must be an integer value.
       /src=<path>                                        Full path to source directory, where the BES
                                                          creates event journals.
      After specifying settings, invoke the batch file to verify that the utility launches without errors.
      To ensure that the utility restarts when the interface node is rebooted, configure a Windows
      automatic service. To install the service, invoke the executable, specifying the -install
      switch. For example: EVTSync.exe –install.
      To verify that the service was added successfully, check the Microsoft Windows Services
      control panel.
                                   PI Interfaces for Batch and Manufacturing Execution Systems User Guide   125
Event file monitor utility
126   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
Supported features
     Platforms: (32-bit or 64-bit in emulation mode)
      • Windows Vista
      • Windows 2008 and Windows 2008 R2
      • Windows 7
      • Windows 8
      • Windows Server 2012
     No native 64-bit builds of the interfaces are available.
      Feature                                             Support
      Part Number                                         See interface-specific chapter
      Auto-creates PI Points and equipment assets?        Yes
      Point Builder Utility                               No
      ICU Control                                         No (use PI Event Frame Interface Manager
                                                          configuration tool)
      PI Point Data Types*                                Integer/ Float32/ String
      Sub-second Timestamps                               Yes
      Sub-second Scan Classes                             No
      Automatically Incorporates Changes to PI Point      No
      Attributes
      Exception Reporting                                 No
      Outputs from PI                                     No
      Inputs to PI                                        Event and Scan-based
      Supports Questionable Bit                           No
      Supports Multi-character PointSource                Yes
      Maximum Point Count                                 No maximum
      Uses PI SDK                                         Yes: version 1.3.4.333 or higher required
      Uses AF SDK                                         Yes: version 2.5.x or higher required
      PINet String Support                                N/A
      Source of Timestamps *                              BES (not system time on interface node)
      History Recovery                                    Yes
      UniInt-based                                        No
      Disconnected Startup *                              No
      SetDeviceStatus *                                   Yes
      Failover                                            Yes
      Vendor Software Required on PI Interface Node       No (except for the Siemens SIMATIC interface)
      Vendor Hardware Required                            No
      Additional PI Software Included with Interface      Yes
                                   PI Interfaces for Batch and Manufacturing Execution Systems User Guide   127
Supported features
              Feature                                               Support
              Device Point Types                                    The interface receives data from source as strings
                                                                    and coerces the data into numerical types
                                                                    according to tag templates, if defined.
              Serial-Based Interface                                No
             History recovery
             You can stop the interface without losing any data, because the data is persistent in the data
             source. Data recovery is limited by the history available from the BES, the number of licensed
             PI tags, and the size and time frame of the PI archives into which data is recovered.
128   PI Interfaces for Batch and Manufacturing Execution Systems User Guide
Technical support and other resources
      For technical assistance, contact OSIsoft Technical Support at +1 510-297-5828 or through the
      OSIsoft Tech Support website (https://techsupport.osisoft.com). The website offers additional
      contact options for customers outside of the United States.
      When you contact OSIsoft Technical Support, be prepared to provide this information:
                                 PI Interfaces for Batch and Manufacturing Execution Systems User Guide   129
Technical support and other resources
130 PI Interfaces for Batch and Manufacturing Execution Systems User Guide