0% found this document useful (0 votes)
749 views96 pages

Utilization Capability

Uploaded by

Nhat Tan Mai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
749 views96 pages

Utilization Capability

Uploaded by

Nhat Tan Mai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 96

Manufacturing Execution System (MES)

Utilization Capability Object

User Guide

Version 6.0
June, 2018
© 2018 AVEVA Group plc or its subsidiaries. All rights reserved.
The Schneider Electric industrial soft ware business and AVEVA have merged to trade as AVEVA Group
plc, a UK listed company. The Schneider Electric and Life is On trademarks are owned by Schneider
Electric and are being licensed to AVEVA by Schneider Electric.
No part of this documentation shall be reproduced, stored in a ret rieval system, or transmitted by any
means, electronic, mechanical, photocopying, rec ording, or otherwise, without the prior written
permission of AVEVA. No liability is assumed with respect to the use of the information contained herein.
Although precaution has been taken in the preparation of this docum entation, AVEVA assumes no
responsibility for errors or omissions. The information in this documentation is subject to change without
notice and does not represent a commitment on the part of AVEVA. The soft ware described in this
documentation is furnished under a license agreement. This soft ware may be used or copied only in
accordance with the terms of such license agreement.
ArchestrA, Aquis, Avantis, DYNS IM, eDNA, EYESIM, InBatch, InduSoft, InStep, IntelaTrac, InTouch,
PIPEPHASE, PRiSM, PRO/II, PROV IS IO N, ROMeo, SIM4ME, SimCentral, SimSci, Skelta,
SmartGlance, Spiral Software, Termis, WindowMaker, WindowViewer, and Wonderware are trademarks
of AVEVA and/or its subsidiaries. An extensive listing of AVEVA trademarks can be found at:
https://sw.aveva.com/legal. All other brands may be trademarks of their respective owners.
Publication date: 6/29/2018
Contact Information
AVEVA Group plc
High Cross
Madingley Road
Cambridge
CB3 OHB. UK
https://sw.aveva.com/
For information on how to cont act sales, customer training, and technical support, see
https://sw.aveva.com/contact.
MES Utilization Capability Object User Guide

Contents
Chapter 1 Getting Started with the UCO............................................................................ 7
Introduction to the UCO ............................................................................................................. 7
The UCO, the ArchestrA Equipment Model, and MES Entities ..................................................... 7

Chapter 2 Importing the UCO Package into the ArchestrA IDE ..................................... 9
System Requirements ............................................................................................................... 9
Importing the UCO Package ...................................................................................................... 9
Upgrading the UCO from Previous Versions ............................................................................. 10
UCO No Longer Includes Production Counters.................................................................... 11
Assistance with Migrating the UCO Production Counters to OCOs ....................................... 11
CSV File Structure ....................................................................................................... 11
XML Template/Instance Hierarchy File Structure ........................................................... 12
If Errors Occur During the XML File Creation ................................................................. 12
Fixing References to UCO Production Counter Attributes ..................................................... 13

Chapter 3 Configuring UCO Templates and Instances ................................................. 15


Introduction to UCO Templates and Instances .......................................................................... 15
UCOs, the ArchestrA Equipment Model, and MES Entity Hierarc hy ............................................ 15
UCO Configuration.................................................................................................................. 15
UCO Attribute Inheritance and Planning the Templates and Instances ........................................ 16
Specifying an Attribute and Command Value or Input Source ..................................................... 16
Locking UCO Attributes ........................................................................................................... 17
Setting Attribute Security ......................................................................................................... 17
Considerations Regarding Inherited Raw Reas on Codes ........................................................... 18
MES Utilization Reasons and UCOs ......................................................................................... 18
Without Response Mode and UCO Calls .................................................................................. 18
Adding an Anonymous Logon User to MESAsyncQueue ..................................................... 19

Chapter 4 Configuring Utilization Attributes..................................................................... 21


Introduction to Utilization Attributes .......................................................................................... 21
Utilization Concepts ................................................................................................................ 22
Utilization States ............................................................................................................... 23
Utilization Reasons............................................................................................................ 23
Utilization Reason Groups ................................................................................................. 23
Raw Reason Codes .......................................................................................................... 23
Utilization E vents............................................................................................................... 24
Configuring Raw Reason Codes .............................................................................................. 24
Adding a Raw Reason Code .............................................................................................. 24
Raw Reason Code Attributes ............................................................................................. 26

Version 6.0 3
MES Utilization Capability Object User Guide Contents

Expression .................................................................................................................. 26
Description.................................................................................................................. 26
Default Reas on Group and Reason .............................................................................. 26
Minimum Time Before Activation .................................................................................. 27
Prompt ........................................................................................................................ 27
Allowable Reasons ...................................................................................................... 28
Entering a Raw Reason Code A rchestrA Script Expression .................................................. 28
Ensuring That the Expression E valuat es to a Boolean Value .......................................... 29
Proper Structure for Expressions with Array Attributes ................................................... 30
Validation of Expression Syntax and References ........................................................... 30
Expression E valuation Quality ...................................................................................... 31
Setting the Raw Reason Code E valuation Order ................................................................. 31
Renaming a Raw Reas on Code ......................................................................................... 32
Deleting a Raw Reason Code ............................................................................................ 32
Raw Reason Code Validation Error Messages .................................................................... 32
Exporting and Importing Raw Reason Codes ............................................................................ 33
Sample Raw Reason Codes XML File ................................................................................ 33
Raw Reason Codes XML File Format ................................................................................. 34
Exporting Raw Reason Codes ........................................................................................... 37
Importing Raw Reason Codes ............................................................................................ 37
Import Overwrit e Behavior............................................................................................ 39
Import Validation Errors ............................................................................................... 40
Configuring General Utilization Attributes .................................................................................. 42
Default Raw Reason Code................................................................................................. 42
Resume on Error............................................................................................................... 42
Alarm on Error .................................................................................................................. 42
Spare Comments .............................................................................................................. 43
Log Utilization E vents ........................................................................................................ 43

Chapter 5 Configuring OEE Attributes ............................................................................. 47


Introduction to OEE Attributes .................................................................................................. 47
OEE ....................................................................................................................................... 47
A vailabilty ......................................................................................................................... 47
Quality .............................................................................................................................. 48
Performance ..................................................................................................................... 48
Understanding Batches and Lots for OEE ........................................................................... 48
OEE Performance Target Attributes ......................................................................................... 49
Default Production and Util/OEE Refresh Rate Attributes ........................................................... 49

Chapter 6 Configuring Job Production Attributes and Commands .............................. 51


Introduction to Job Production Attribut es and Commands .......................................................... 51
Enabling Production Attributes and Commands......................................................................... 52
Production Attributes ............................................................................................................... 53
Production Commands ............................................................................................................ 54
Starting and Ending a Job.................................................................................................. 54
Start Job on Deploy Attribut e ............................................................................................. 55
Start and End Job Commands ........................................................................................... 55
Reset Command ............................................................................................................... 55
Production Counters ............................................................................................................... 55

Chapter 7 Adding UCO Instances to ArchestrA Application Objects and Areas ....... 57
4 Version 6.0
Contents MES Utilization Capability Object User Guide

Chapter 8 Building the MES Entity Model from UCOs ................................................... 59


Introduction to the Entity Model Builder..................................................................................... 59
How UCO-E nabled Objects Are Added to the MES Database as Entities .................................... 60
Entity Names .................................................................................................................... 61
Entity Capabilities and Properties Copied to the MES Database ........................................... 61
Building and Deploying an Entity .............................................................................................. 62
Creating an Entity in the MES Database from an Application Object with a UCO ......................... 62
Updating MES Entities with UCO Changes ............................................................................... 63
Swapping the Parent-Child Positions of MES Entity Objects in the Equipment Model ............. 64
Where to Maintain an Entity’s Object Attributes ................................................................... 64

Chapter 9 UCO Run-Time Behavior ................................................................................. 65


Utilization and OEE Run-Time Operations ................................................................................ 65
Production Run-Time Operations ............................................................................................. 65
Utilization Run-Time Attributes ................................................................................................. 67
UCO Run-Time Deployment and Execution .............................................................................. 67
How Raw Reason Code Changes and Utilization E vent Logging Is Handled ......................... 69
UCO Run-Time Status............................................................................................................. 69
Switching the UCO Between Automatic and Manual Mode to Rec ord Downtime E vents .............. 70
Resetting Error Attribute Values ............................................................................................... 70
How Rejected Messages Are Handled ...................................................................................... 70
Column Structure of a Rejected Message ........................................................................... 72
Viewing and Managing Rejected Messages in MES Client ................................................... 73
Effect of Stopping and Restarting the Middleware Connection When the UCO Is Deployed .......... 73
Background User .................................................................................................................... 73

Chapter 10 Troubleshooting............................................................................................... 75
UCO Error Codes.................................................................................................................... 75
UCO Configuration Not A vailable When the MES Middleware Is Down ....................................... 76

Chapter 11 UCO Attributes Reference ............................................................................. 77


Introduction to the UCO Attribut e Reference ............................................................................. 77
Table Legend ......................................................................................................................... 77
UCO Attribute Reference Table................................................................................................ 77

Appendix A Glossary ........................................................................................................... 87


Index ......................................................................................................................................... 93

Version 6.0 5
MES Utilization Capability Object User Guide

C HAPTER 1
Getting Started with the UCO
In This Chapter
Introduction to the UCO................................................................................................................... 7
The UCO, the ArchestrA Equipment Model, and MES Entities ........................................................... 7

Introduction to the UCO


The UCO (Utilization Capability Object) is an ArchestrA automation object that provides machine
performance monitoring. The UCO is contained by another ArchestrA object that is considered an M ES
entity. Utilization events are logged by the UCO for the entity through potentially complex conditions
based on external I/ O values and calculated values. The UCO also queries the MES database for
updates on the current shift OEE, performance, quality, and utilization percentages.
Information configured in the UCO is used to creat e and configure entities in the MES database using the
Entity Model Builder, an ArchestrA IDE extension.
The UCO has the following areas that can be configured:
 Raw reason codes and other utilization attributes
 Target percentages for OEE (Overall Equipment Effectiveness) and its components: performance,
quality, and utilization
 Job production attributes
Once the UCO is deployed, users will be able to perform the following tasks for MES entities associated
with the UCO:
 Log utilization events
 Track the entity’s OEE and OEE components
 Run jobs based on the production attributes that were configured for the entity

The UCO, the ArchestrA Equipment Model, and MES Entities


The UCO adds MES capabilities to the equipment-orient ed application objects in your ArchestrA IDE
equipment model. By adding a UCO instance below anot her application object instance in your
equipment model, you are able to map and configure the Arc hestrA IDE equipment model to the MES
entity model.
Exporting the configured UCO instance int o MES using the Entity Model Builder will create entities that
are represented in your equipment model. These entities will be capable of capturing utilization and
tracking OEE. These entities can also have their job production attributes configured in the UCO.
Exporting UCOs to the MES database also provides an automated alternative to manually creating and
configuring the entities in MES Web Portal or MES Client.

Version 6.0 7
MES Utilization Capability Object User Guide

C HAPTER 2
Importing the UCO Package into the
ArchestrA IDE
In This Chapter
System Requirements ..................................................................................................................... 9
Importing the UCO Package ............................................................................................................ 9
Upgrading the UCO from Previous Versions ................................................................................... 10

System Requirements
 All MES application objects—OCO, SRO, and UCO—must be at the same version; otherwise,
incompatibility errors will occur.
 The Entity Model Builder must be installed. This can be installed during an MES installation with the
Client applications.
 To utilize certain features of the UCO, such as Entity Model B uilder, you need to be able to access
the MES database through t he MES middleware. If the MES middleware is not installed on the same
node where you are using the UCO, you must have the middleware proxy installed on the client
machine to establish a connection with the middleware.
UCO features that require the middleware or middleware proxy are:
o Setting default utilization reasons
o Selecting allowable utilization reasons
o Validating utilization reasons
For information on setting up or installing the middleware proxy, see the MES Installation Guide or online
help.

Importing the UCO Package


Installation of the UCO requires a separate import operation in ArchestrA IDE after you have completed
the MES installation.
1. On the ArchestrA IDE Galaxy menu, click Import and then click Object(s).
The Import Automation Object(s) dialog box appears.
2. Browse for the UCO file (UtilizationCapability.aaPKG) located eit her on your hard drive or on your
MES installation disc.
o If you used the default folder destination during the MES installation, the object file is stored in
the C:\ProgramFiles (x86)\Wonderware\MES\AppObjects directory.
o The UCO Object file can also be found on the installation disc in the \MES\AppObjects
directory.
3. Select the file and click Open.

Version 6.0 9
MES Utilization Capability Object User Guide Importing the UCO Package into the ArchestrA IDE

The Import Preferences dialog box appears.

4. Select the appropriat e import settings.


The UCO is considered a base template. Select whether to migrate (the default) or skip the
installation if an existing UCO base template is in the galaxy.
5. Click OK.
The import process starts.
If the import proc ess completes successfully, the $UtilizationCapability base template object is
available under the Production template toolset.

Upgrading the UCO from Previous Versions


Note: If you are upgrading MES application objects to the current version of MES, the version you are
upgrading from must be MES 2012 (version 4.5) or lat er. If your version of MES is at a version prior to
version 4.5, you must first upgrade it to version 4.5.

When MES is updated from a previous version, you must import the new UCO into the ArchestrA IDE.
Each version of the UCO is compatible only with the MES version with whic h the UCO was shipped.
1. Undeploy any ArchestrA galaxies that have UCO instances before installing the new version of MES.
This ensures that the ArchestrA IDE is disconnected from the MES database and any MES
components.
2. After installing the new version of MES, import the new version of the UCO int o all the galaxies
containing an old version of the UCO with the Migrate option selected so that all existing templates
and instances will be updat ed.
3. Before deploying the objects, make sure that all MES application objects —OCO, SRO, and
UCO—are at the same version and that their existing templates and instances have be en migrated.
Otherwise, incompatibility errors will occur.

10 Version 6.0
Importing the UCO Package into the ArchestrA IDE MES Utilization Capability Object User Guide

UCO No Longer Includes Production Counters


With MES version 5.2, the UCO production counters are no longer a part of the UCO configuration. MES
Performance customers are licensed to use the counters available in the Operations Capability Object
(OCO) and should use those. Refer to the Operations Capability Object User Guide for details on how to
configure the OCO production counters. Note that OCO production counters contain additional
configuration options that were not available with the UCO production counters.

Assistance with Migrating the UCO Production Counters to OCOs


During the migration of an older UCO that cont ains production counters to a newer UCO that does not
contain production counters, two files are created for eac h galaxy for which the UCO migration is
performed:
 A CSV file—CountersBackup.csv— that includes entries for each production counter and its
settings. If a UCO does not have any production counters, then there will not be an entry in the CSV
file for the UCO. If no UCOs have production counters, then no file will be created.
 An XML file—UCODerivationHierarchy.xml—that includes the template/instance hierarchy for the
UCOs in the equipment model, regardless of whet her they have production counters.
These files are stored in the following folder on the local mac hine:
%ProgramData%\WonderwareMES\<galaxy_name>\UCOMigrationCountersBackup
The information in these files can be us ed to assist in the recreation of the production counters in the
OCO.
During the counter information backup, an informational message is logged by the first object/template
that creates the backup folder and files. If file I/O errors occur during the backup, warning messages are
logged and the backup information is instead provided in the ArchestrA Logger.

Note: If you restore the UCOs to a version prior to 5.2 and then want to upgrade again, you must first
remove the CSV and XML files in the UCOMigrationCountersBackup folder. Otherwise, the backup
information will not be properly created during the subsequent migration.

CSV File Structure


The CSV file includes an entry for the four properties of each counter that was found. The ent ry structure
is:
Type, ObjectName, Counter, Property, Value, Lock
These parameters are described below.
Type
Indicates whether the object is an Instance or a Template.
ObjectName
The Application Server Object name.
Counter
The name of the UCO production counter.
Property
Each production counter has the following properties: SetItemID, AddProdQtyCntr.Deadband,
AddProdQtyCntr.MaxValue, and AddProdQtyCntr.UpdateInterval.
Value
The configured value of the counter property.

Version 6.0 11
MES Utilization Capability Object User Guide Importing the UCO Package into the ArchestrA IDE

Lock
Indicates whether the property is locked. Possible values are LockedInMe, LockedInParent, or
UnLocked.
An example CSV file is shown below.
Type, ObjectName, Counter, Property, Value, Lock
Instance, Bundler_UCO, Counter1, SetItemId, 2, UnLocked
Instance, Bundler_UCO, Counter1, AddProdQtyCntr.Deadband, 2.0, UnLocked
Instance, Bundler_UCO, Counter1, AddProdQtyCntr.MaxValue, 5.0, UnLocked
Instance, Bundler_UCO, Counter1, AddProdQtyCntr.UpdateInterval, 00:00:06.0000000,
UnLocked
Template, $cpUtilizationCapability, Counter1, SetItemId, 0, UnLocked
Template, $cpUtilizationCapability, Counter1, AddProdQtyCntr.Deadband, 1.0,
LockedInMe
Template, $cpUtilizationCapability, Counter1, AddProdQtyCntr.MaxValue, 2.0,
LockedInMe
Template, $cpUtilizationCapability, Counter1, AddProdQtyCntr.UpdateInterval,
00:00:03.0000000, UnLocked

XML Template/Instance Hierarchy File Structure


The general structure of the XML file is:
<?xml version="1.0" encoding="UTF-8"?>
<DerivationTree>
<Template Name="uco_base_template_name_1">
<Template Name="uco_derived_template_name_1">
<Instance Name="uco_instance_name_1" />
<Instance Name="uco_instance_name_2" />
</Template>
</Template>
<Template Name="uco_base_template_name_2">
<Template Name="uco_derived_template_name_2" />
<Template Name="uco_derived_template_name_3">
<Instance Name="uco_instance_name_3" />
<Instance Name="uco_instance_name_4" />
</Template>
</Template>
</DerivationTree>

If Errors Occur During the XML File Creation


If any errors occur during the XML file creation (for ex ample, the backup folder cannot be accessed or a
file creation failure occurred), the templat e/instance derivation hierarchy is split into smal ler portions and
information messages are entered in the ArchestrA logger. Sample messages are shown below.

The XML content from the information messages must be concatenated to recreate the entire derivation
hierarchy structure. This concatenation should be performed using the XML content from the messages
logged by the first template/instanc e. If the XML content is taken from messages related to other
templates or instances, the derivation structure might include temporary templates or instances creat ed
by the migration process.

12 Version 6.0
Importing the UCO Package into the ArchestrA IDE MES Utilization Capability Object User Guide

Fixing References to UCO Production Counter Attributes


When upgrading UCOs from versions prior to MES version 5.2, any references to the UCO production
counter attributes such as script references will need to be modified after the UCO has been upgraded
and the counters have been recreated in a corresponding OCO.

Version 6.0 13
MES Utilization Capability Object User Guide

C HAPTER 3
Configuring UCO Templates and Instances
In This Chapter
Introduction to UCO Templates and Instances ................................................................................ 15
UCOs, the ArchestrA Equipment Model, and MES Entity Hierarc hy .................................................. 15
UCO Configuration ....................................................................................................................... 15
UCO Attribute Inheritance and Planning the Templates and Instances ............................................. 16
Specifying an Attribute and Command Value or Input Source .......................................................... 16
Locking UCO Attributes ................................................................................................................. 17
Setting Attribute Security ............................................................................................................... 17
Considerations Regarding Inherited Raw Reas on Codes ................................................................. 18
MES Utilization Reasons and UCOs .............................................................................................. 18
Without Response Mode and UCO Calls ........................................................................................ 18

Introduction to UCO Templates and Instances


The UCO is managed like other ArchestrA application objects. The UCO supports creating derived
templates and instances as needed for placement into your ArchestrA IDE equipment model.
For more information on managing ArchestrA objects, see the Application Server User’s Guide.

UCOs, the ArchestrA Equipment Model, and MES Entity


Hierarchy
In the ArchestrA IDE Model View, you can add a UCO below any application object or system area object
that you want to create in MES as an entity with utilization, OEE, or job production capabilities.
When you place the UCO object as a child to an application or area object in the ArchestrA equipment
model and then run the Entity Model Builder, an entity is created in the MES dat abase fo r the UCO’s
parent object. Additional parent entities are created in the MES database as needed to replicate that
object’s branch of the equipment model in MES.

Note: You can add the UCO as a child under application and area objects only. If you add the U CO as a
child under any other object such as an engine, the UCO does not work properly. An application or area
object can contain only one UCO object as a child.

UCO Configuration
When configuring UCO templates and instances, you define raw reason codes and general utilization
attributes, OEE performance target attributes, and job production attribut es for objects that will be
entities in the MES database.
When you open a UCO template or instance for editing in the ArchestrA IDE Object Editor, the following
tabs include the UCO-specific object attributes:
General tab
Utilization raw reason codes and general utilization attributes. For a description of these attributes,
see Configuring Utilization Attributes on page 21.

Version 6.0 15
MES Utilization Capability Object User Guide Configuring UCO Templates and Instances

Enti ty Configuration tab


OEE attributes, such as target OEE percentages and the default production rat e and unit of
measure. For a description of these attributes, see Configuring OEE Attributes on page 47.
Production Attribute s tab
Production attribut es for configuring work orders, items, production quantities, and target production
rates for jobs running on the entity. For a description of these attribut es, see Configuring Job
Production Attributes and Commands on page 51.

UCO Attribute Inheritance and Planning the Templates and


Instances
A recommended strategy for creating the UCO templates and instances is to first identify the generic raw
reason codes that are common to all of the MES entities in the model and define these in a top-level
template. Then you can create child templates for categories or classes of MES entities that share
subsets of raw reason codes. This approach makes it easier to add or make changes to raw reason
codes, as these changes will ripple down to all child UCOs and their corresponding MES entities.
For example, you might have raw reason codes that apply to an area of a plant or to a class of machines.
So you could create a sub-templat e that includes those area or class-specific raw reason codes and from
which specific UCO instances of that area or class would be created.
Note that, in the UCO templates, you can also define and lock any utilization, OEE, or production
attributes that are generic to areas or classes of equipment.
Once the UCO templates configured with raw reason codes are created, you can creat e instances of
them and assign the UCO instances to the appropriate MES entity application objects. For eac h UCO
instance, you can then define the attributes that are specific to individual entities (these attributes will be
those that are unlocked in the instance’s parent templates ).

Specifying an Attribute and Command Value or Input Source


You can either enter a value for a production attribute or command, or specify an input source.
To enter a value
1. Clear the attribute or command’s Use Input Source check box.
2. Enter or select the value to be used in the Value or Input Source column.

To specify an input source


1. Select the attribute or command’s Use Input Source check box.
The control in the Value or Input Source column becomes a box with the default input source,
MyContainer.<AttributeOrCommand>, automatically entered.

2. To change the default entry, do one of the following:


 Manually edit the input source entry.

16 Version 6.0
Configuring UCO Templates and Instances MES Utilization Capability Object User Guide

 Click the attribute's Browse button. In the Galaxy Browser dialog box that appears, select the
object and its attribute that is the input source.

Locking UCO Attributes


As you configure the UCO templates, you can lock and unlock specific attribute settings by clicking the
attribute's Lock icon. These locked attributes can only be updated by modifying the original template and
redeploying it.

You can choose not to lock some of your template attributes so you can configure specific attribute
settings for child instances of the template th at are assigned to objects in your equipment model.
For more detailed information on attribute locks, see the Application Server User’s Guide.

Setting Attribute Security


Many of the UCO attributes include a security classification setting, as indicated by the Security icon.
You can set the security classification setting of these UCO attributes during configuration.

Version 6.0 17
MES Utilization Capability Object User Guide Configuring UCO Templates and Instances

To set attribute security


 Right -click on the security icon and select the appropriate security option.

For detailed information on managing attribute security, see the Application Server User’s Guide.

Considerations Regarding Inherited Raw Reason Codes


When planning your UCO templates and instances, it is important to understand raw reason c ode
inheritance.
Raw reason c ode definitions are inherently locked at the level at which they are created. Therefore, when
an UCO instance (child) inherits another object’s raw reas on code list and allowable reasons, you cannot
alter the existing parents' raw reason code list or allowable reasons by editing the child UCO instance.
However, you can add new raw reason codes to the child instanc e that are interleaved between the
parent raw reason codes. You can also add new allowable reasons.
Changing a parent UCO’s raw reason codes or allowable reasons will invalidate all derived object
instances. You will have to run the Entity Model Builder and redeploy the object to cascade the changed
raw reas on codes list to its derived object instances.

MES Utilization Reasons and UCOs


It is import ant to understand t he relationship of MES utilization reasons and your UCO configurations that
use them.
When configuring a raw reason code in a UCO template or instance, the default utilization reason and
allowable utilization reasons that you assign to it come directly from the global set of utilization reasons
defined in the MES database. Therefore, the best practice is to first define utilization reason groups and
reasons within the MES database before configuring raw reas on codes in the UCOs.
If this global set of utilization reasons are added, delet ed, or changed in any way, your UCO
configurations that use them might be affected.
The Entity Model Builder will only write the utilization reasons configured for a UCO's raw reas on codes
that exist in the global set to the MES entity that is being created or modified.
Also, each UCO must have a default raw reason code that the Entity Model Builder will pass into the MES
database, whose assigned default utilization reason will become the default unk nown utilization reason
for the entity. If the default utilization reason mapped to the default raw reason code of the UCO does not
exist in the global set of possible utilization reasons, an error is logged and the UCO is marked as invalid.

Without Response Mode and UCO Calls


The UCO us es Without Response mode and Microsoft Message Queuing (MSMQ) to record all
utilization events so that calls can be processed without requiring that the UCO wait for the status of the
message deliveries. Only the logging of utilization events uses Without Response mode and MSMQ. All
other commands, such as starting and ending jobs, use With Response mode.

18 Version 6.0
Configuring UCO Templates and Instances MES Utilization Capability Object User Guide

To allow a UCO to log messages in the Message Queue, an Anonymous Logon user with the Send
Message privilege must be added to the MESAsyncQueue on the middleware server. Otherwise, the
messages will not be logged. See Adding an Anonymous Logon User to MESAsyncQueue on page 19.

Adding an Anonymous Logon User to MESAsyncQueue


To allow MES application objects to log messages in the Microsoft Message Queue (MSMQ) while in
Without Respons e mode, an Anonymous Logon user with the Send Message privilege must be added to
the MESAsyncQueue on the MES middleware node. Otherwise, the messages will not be logged.
Beginning with MES version 5.3, the Anonymous User login is automatically added to the
MESAsyncQueue with the Send Message privilege when the DB/MW Communication component is
configured using the post-install Configurator. However, if the Anonymous User login is removed from
the MESAsyncQueue, you can use the following procedure to add it again.
To add an Anonymous Logon user to MESAsyncQueue
1. In Windows Explorer on the database server node, right-click My Computer and click Manage.
The Server Manager window appears.
2. In the navigat or pane, expand Features, Message Queuing, and then Private Queues.
The mesasyncqueue ent ry appears.
3. Right -click the mesasyncqueue entry and click Properties.
The mesa syncqueue Properties dialog box appears.
4. Go to the Security tab.
5. Click the Add button.
The Select Users, Computers, Service Accounts, or Groups dialog box appears.
6. In the Enter the object names to select box, enter ANONYMOUS LOGON and click OK.
The Anonymous Logon user is added to the Group or user names list.

Version 6.0 19
MES Utilization Capability Object User Guide Configuring UCO Templates and Instances

7. Select the Anonymous Logon user and then in the Permissions list select only the Send Message
check box.

8. Click OK to save your changes.

20 Version 6.0
MES Utilization Capability Object User Guide

C HAPTER 4
Configuring Utilization Attributes
In This Chapter
Introduction to Utilization Attributes ................................................................................................ 21
Utilization Concepts ...................................................................................................................... 22
Configuring Raw Reason Codes .................................................................................................... 24
Exporting and Importing Raw Reason Codes .................................................................................. 33
Configuring General Utilization Attributes ....................................................................................... 42

Introduction to Utilization Attributes


The utilization attributes are on the General tab in the UCO Object Editor.
The General tab includes two areas:
 The raw reason code list; see Configuring Raw Reason Codes on page 24
 General utilization attributes; see Configuring General Utilization Attributes on page 42

Version 6.0 21
MES Utilization Capability Object User Guide Configuring Utilization Attributes

Before configuring utilization attributes, you might find it helpful to review the topic OEE on page 47 for
background information on how utilization is determined in MES.

Utilization Concepts
An entity’s utilization is tracked when an associated Utilization Capability Object (UCO) or production
operator enters events, such as when the entity is running a job or when the entity is down for repairs or
maintenance.
At all times, an entity will have a reason assigned to it. The reason can be assigned by an operator
manually or determined directly from a UCO by input/output (I/O) automatically. The reason will assign a
utilization state. Based on the configuration of the utilization state, the event as classified by the reason
will contribute to either the Performance or A vailability component of OEE, or the time will be excluded
from the OEE calculation entirely.
It is important to understand that "event" does not refer to an isolated occurrence of something at the
entity. All utilization events for an entity form a contiguous series from the time the entity was configured
as being capable of capturing utilization to the present. In other words, one sort of event or another is
always occurring at the entity.
An operator adds an event by selecting a utilization reason for t he entity. The utilization reason specifies:

22 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

 The state of the entity


 A reason for that state
Operators might have to make adjustments to events that have already been entered so that they
represent actual entity activity. These adjustments include:
 Reclassifying an event by selecting a different utilization reason
 Splitting an event into two events
 Merging two adjacent events
 Modifying an event’s start or end time
 Modifying the comment ent ered about an event
The UCO's role is to determine the correct current state of the entity and to log state changes through
events in real time. The UCO has no mechanism for making adjustments to events that have already
been entered. Any necessary adjustments can be made through the MES Utilization .NE T control, the
MES Web Portal, or the MES API.

Utilization States
To support utilization tracking, entities are considered to be in utilization states, such as Running, Idle,
Down, or Maintenance. It is the utilization state that determines if the event duration is classified as
Performance, Utilization, or Neither.
During system configuration, utilization states are assigned to utilization reasons. Therefore, an entity’s
state is defined when a utilization reason is assigned to an entity’s event.

Utilization Reasons
Utilization reasons describe the current condition of an entity and associate eac h reason with a utilization
state. A reason group is a category of reasons. For ex ample, the reason Bottle Jam can belong to the
reason group Bottle Descrambler Down, and results in a Downtime utilization state. On the production
floor, a reason can be selected by a PLC, an input/out put (I/O) connection to a devic e, or an operator.
The utilization reasons that operators can assign to events during production are created during system
configuration.

Utilization Reason Groups


To help production operators navigate a large list of utilization reasons, reasons can be assigned to
utilization reason groups during system configuration.
In the MES applications or application objects, the reason groups are displayed as expandable nodes in
the reason list.
It is helpful to understand the difference between utilization states and utilization reason groups. While
both terms represent an aggregation of utilization reasons, states are sets of reasons that imply
something about the physical situation of the entity, with respect to the way it is operating or not
operating. Utilization reason groups are strictly a navigational aid for lists of utilization reasons in the user
interface.

Raw Reason Codes


Machine utilization raw reason codes can be sent directly from an entity to MES via a UCO. Depending
on how the raw reas on code is configured in the UCO or in MES Client, it will create a new utilization
event in the MES database, using the utilization reason to which the raw reason code was mapped.

Version 6.0 23
MES Utilization Capability Object User Guide Configuring Utilization Attributes

One and only one raw reason code can be active at a time. If more than one raw reason code expression
evaluates to True simultaneously, the active raw reason code is the one with the highest priority. The
priority is determined by their order in the raw reas on code list and the Minimum Time Before Activation
setting in the UCO instance.
If a raw reason code that is not configured for the entity is received, the Unknown Reas on utilization
reason, which is configurable for each entity or UCO instance, is used.

Utilization Events
A utilization event indicates the curre nt operational state of the entity. An entity is always considered to
be in a utilization event. The events that are typically of interest are those that indicate that the entity is
down or when it is idle when it should be running.
If so configured, the system can set an entity’s event automatically based on changes in the operational
state of the entity.
Production operat ors can also manually change the event that an entity is in when the condition or state
of the entity changes. When changing to a new event, the operat or assigns a utilization reason to the
new event. The reason specifies the entity’s utilization state and the reason for that state. For example,
the utilization reasons Running - Normal Speed, Running - High Speed, and Running - Low Speed all
indicate a utilization state of Running. However, each reason indicates a running speed.

Configuring Raw Reason Codes


Adding a Raw Reason Code
To configure utilization events, you must add one or more raw reason codes in the Raw Reason Code
list on the General tab. You must also select a default raw reason code; see Configuring General
Utilization Attributes on page 42. These two conditions must be met to successfully include the object
instance in an Entity Model Builder build.
When defining raw reas on codes, it is important to understand that codes higher in the list take
precedence over codes lower in the list. The UCO processes the codes in order and records the first
code whose expression evaluat es to True. In general, this means you should add more specific codes
higher in the list and more generic codes lower in the list. Another good practice is to have the last code
in the list always evaluate to true and set an Unknown reason that requires further operator selection of
an actual reason.
Note the following when adding or modifying a UCO’s raw reason codes:
 When a UCO instance (child) inherits anot her object’s raw reason code list and allowable reasons,
you cannot alter the raw reason code list or allowable reasons that are inherit ed from a parent UCO’s
raw reason code list. You can add new raw reason codes interleaved between the parent raw reason
codes and allowable reasons.
 Changing a parent object’s raw reason codes or allowable reasons will invalidate all derived object
instances. You will have to run the Entity Model Builder and redeploy the object to cascade the
changed raw reason codes list to it’s derived object instances. For more detailed information, see
Lock ing UCO Attributes on page 17.
To add a raw reason code
1. In the Arc hetstrA IDE, open the UCO template or instance that you want to configure and go to the
General tab.
2. Select the + Add button.

24 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

A text box appears in the raw reason code list.

3. Enter the raw reason code name in the text box.


The raw reason code name must adhere to the following rules:
o Consist of alphanumeric or special characters ($, #, _)
o Cont ain no more than 40 characters
o Cont ain at least one letter
4. Press the Enter key.
The new raw reason code is added to the list.

5. Configure the raw reason code attributes. For a description of the attributes, see Raw Reason Code
Attributes on page 26.

Version 6.0 25
MES Utilization Capability Object User Guide Configuring Utilization Attributes

Raw Reason Code Attributes


The following topics describe the raw reason code attributes.

Expression
Raw reason codes are defined by creating an expression that is evaluated at run time to determine if the
raw reas on code is True or False. These expressions are similar to the expressions used in ot her
application objects and are evaluated every scan cycle.
For information about entering and validating raw reason code expressions, see Entering a Raw Reason
Code ArchestrA Script Expression on page 28

Description
A description of the raw reason code. The description is stored in the MES database, but otherwise not
used.

Default Reason Group and Reason


The default utilization reason group and reason for the selected raw reason code.
Selecting a default utilization reason group and reason requires the following:
 The ability to communicate to the MES database through the MES middleware. If you do not have
the MES middleware loaded on the same node on which you are configuring the UCO, you must
have the MES middleware proxy installed. For more information on the middleware or middleware
proxy, see System Requirements on page 9.
 The default utilization reason groups and reasons configured in the MES, using either the MES Web
Portal or the MES Client application.

26 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

To select the default utilization reason:


1. Select the raw reason code you want to configure.
2. Select the Default Reason browser button to display the default reason tree.

3. Select a default utilization reason and click OK.

Minimum Time Before Activation


The period of time that determines how long a raw reason code’s expression has to be True before it is
considered a candidate to be the active raw reason code. This value has the format
hour:minute:second.millisecond (for example, 00:00: 10.5 for 10 and a h alf seconds).
For a raw reason code to become the active raw reas on code, the raw reason code expression must
evaluate to True and meet the minimum time to activation requirement.
One use of t his parameter is to filter out noise conditions. Another use would be to define two raw reason
codes with identical expressions where one has a minimum activation time and the other has none. Once
the event has been in a specific reason greater than the minimum activation time, the entity can change
into a different reason that might have a different utilization state so as to classify the event time as
performance instead of utilization.
If a raw reason code expression evaluates to True and stays True beyond the minimum time before
activation, and has the highest priority of all the True raw reason c odes, it becomes the active raw reason
code.
The time logged for a new active raw reason code will be the time when the minimum activation time
elapses.
All timers for raw reason code expressions that are still true after a higher priority raw reason code
became true will not be reset and will continue to be evaluated as True.
Once an active raw reason code transitions from True, to False, and back to True, its timer is reset from
the point it evaluates True once again.

Prompt
Determines whet her an operator will be prompted to manually select a utilization reason from the list of
allowable reasons (specified in the Allowable Reasons tree) when a new raw reas on code becomes
active.

Version 6.0 27
MES Utilization Capability Object User Guide Configuring Utilization Attributes

When this option is selected and the raw reas on code evaluates to True, the event logged in the
database has the Prompt flag set to True, which is indicated in the utilization grid .NE T control and in
MES Web Portal.

Allowable Reasons
Select the utilization reas ons from which a user will be allowed to choose, when prompted (that is, if the
Prompt attribut e is selected), when the raw reason code becomes the active raw reas on code.
If no reasons are selected, all reasons will be allowed. By default, no reason is selected.
When a raw reason code becomes active and a utilization event is logged, a utilization reason is
assigned to the event based on the default allowable reason assigned to that raw reason code.
If a new reason is added in MES Client to an existing reason group that has been selected as an
allowable reason group in the UCO configuration, the new reason will not be selected automatically. You
must edit the raw reas on code definition in Object Editor and select the newly defined reason in the list of
allowable reasons.
Selecting an allowable utilization reason group and reason requires the ability to communicate with the
MES databas e through the MES middleware. If you do not have the MES middleware loaded on the
same node on which you are configuring the UCO, you must have the MES middleware proxy installed.
For more information on the middleware or middleware proxy, see System Requirements on page 9.
Derived UCOs can have additional allowable reasons selected. However, reasons that are already
selected in parent templates cannot be cleared.

Entering a Raw Reason Code ArchestrA Script Expression


The raw reason code ex pression is an ArchestrA script expression that will determine whether the
selected raw reason code is active.
More than one raw reason code ex pression can evaluate to True simultaneously, but only one of the
True raw reason codes can be the active raw reason code. The active raw reason code is based on the
priority of the raw reason codes, which is determined by their order in the raw reason code list, and the
Minimum Time Before Activation setting. At run time, when a raw reason code becomes the active raw
reason code, a utilization event is logged against the associated entity.
To enter a raw reason code expression:
1. Select the raw reason code you want to configure.
2. Specify the expression by doing one of the following:
 In the Expression text box, enter a valid ArchestrA script expression that will determine whet her
the selected raw reason code is active.

28 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

 To specify an existing attribute as a contained attribute reference, click the Expression Browser
button. In the Galaxy Browser dialog box, select the instance and attribute and click OK.

Array attributes are supported in raw reason code expressions.


For more information on using ArchestrA expressions, see the Application Server User’s Guide.
3. Check to make sure that the expression is valid by clicking the Validate Expression button.

A message appears, indicating whether the expression is valid or invalid. If invalid, the message will
indicate the areas of the script that are causing the issue.
For information about expression validation, see Validation of E xpression S yntax and References on
page 30.

Ensuring That the Expression Evaluates to a Boolean Value


At run time, when an ex pression evaluates to True, the raw reas on code can be considered as a
candidate to be the active raw reason code. The expression should evaluate to a Boolean value or to
some other value that can easily be converted to a Boolean value. For example, an integer with a
non-zero value will evaluat e to True at run time.
If the type of the expression is other than Boolean, then the result of the expression at run time will be
cast to a Boolean type according to t he standard coercion rules applied t hroughout ArchestrA expression
evaluation.

Version 6.0 29
MES Utilization Capability Object User Guide Configuring Utilization Attributes

Proper Structure for Expressions with Array Attributes


MyContainer or Me should be only used to refer to attributes on the object. They should not be used to
navigate the hierarchy of an expression. For example, if the expression references an array, a reference
with the syntax AnotherObject.IndexAttribute should be used to access the value of the array,
and not MyContainer.AnotherObject.IndexAttribute. So the proper syntax for an expression
that references an array would be:
MyContainer.ArrayUDA[AnotherObject.IndexAttribute] == n
Attempting to access this attribute using the syntax
MyContainer.AnotherObject.IndexAttribute would result in the logging of warnings that the
quality of the attribut e is not accessible. This is because ArchestrA will not be able to resolve the
reference properly.

Validation of Expression Syntax and References


Validation of a raw reason code expression’s syntax and references are handled separately.
 Syntax validation is performed for templates and instances when the Validate E xpression button is
clicked, when the object is saved, and when Object Editor is closed. Syntax errors will be reported in
the raw reason code status box immediat ely after the expression validation is completed or, if
initiated by closing Object Editor, wh en the object is reopened in Object Editor.
 Referenc e validation is performed for instances (not for templates) only when the Object Editor is
closed. Therefore, to see if there are any reference validation errors in the status box for an object
instance’s raw reason code expressions, you must close the object and then reopen it in Object
Editor.
Errors are generated for syntactically incorrect expressions. Warnings are generated for unresolved
references. For information about how these errors are display ed, see Raw Reason Code Validation
Error Messages on page 32.
Note that syntax errors take precedence over reference errors. So, if Object Editor is closed and both a
syntax and referenc e error are detected in a raw reason c ode's expression, only the syntax error will be
displayed when the object is reopened in Object Editor. You would not see the reference error until you
corrected the syntax error, closed Object Editor, and reopened the object.
Examples of Expression Syntax and Reference Validation Behavior for an UCO Instance
 If the expression is MyContainer.NonExistentReference == 1 and the Validate Expression button is
clicked, no error would be reported even though the reference does not exist because only syntax
validation is performed.
 If the expression is MyContainer.NonExistentReference === 1 and the Validate Expression button is
clicked, an error regarding the unexpected equal sign (=) would appear.
 If the expression is MyContainer.NonExistentReference == 1 and the Object Editor is closed, a
warning would be reported for the nonexistent reference.
 If the expression is MyContainer.NonExistentReference === 1 and the Object Editor is closed, a
syntax error would be report ed for the unexpected equal sign (=), but the reference error would not
be reported.
 If after reopening the object, the expression MyContainer.NonExistentReference == 1 is fixed to
MyContainer.ExistingReferenc e == 1 and the Validate Expression button is clicked or the object is
saved, the reference error will still appear, since a reference validation was not performed.

30 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

 If after reopening the object, the expression MyContainer.NonExistentReference === 1 is fixed to


MyContainer.NonExistentReference == 1 and the Validate Expression button is clicked or the object
is saved, the syntax error will be cleared but the referenc e error will not be reported. This is because,
for validation error message dis play purposes, the syntax error took precedenc e over the referenc e
error. The Object Editor would have to be closed and the object reopened to see the reference error
in the status box.

Expression Evaluation Quality


Expression evaluation for raw reason codes follows the ArchestrA scripting evaluation logic in terms of
quality of expression references. Expression references are considered to be the individual reference
values.
When attempting to determine raw reason co de evaluated values and its quality for an expression, the
following rules apply:
 If the quality of all expression references is Good, then the expression evaluates True or False
depending on the outcome of the Boolean logic, and the expression Quality evaluates Good.
 If the quality of all expression references is Bad, then the expression quality evaluates Bad.
 If all expression references with Good quality evaluat e properly and at least one expression
reference has Bad quality, the expression quality evaluates Bad. This is because those references
with Good quality evaluate properly, and there is no way to verify whether the final referenc es
evaluate properly as well because their quality is Bad.
 If at least one expression reference with Good quality evaluat es False, it does not matter what the
quality or value of the rest of the expression reference is; the expression will evaluate False with
Good quality. This is because if at least one expression with Good quality evaluates False, the
expression as a whole will evaluate False, so the quality on the remaining expression references are
ignored.
If an expression’s quality evaluates Bad, the UCO will:
 Go into an error state if ResumeOnError = False.
 Skip the expression and treat it as if it evaluates False if ResumeOnE rror = True.

Setting the Raw Reason Code Evaluation Order


At run time, the order of the raw reason codes in the list on the General tab is used to determine which
raw reason code should become the active raw reason code when several raw reason code expressions
become True. If this condition occurs, the raw reason codes are evaluated starting at the top of the list
through to the bottom of the list.
The raw reason codes at the top of the list should be more specific in nature. General raw reason codes
should be listed near the bottom of the list and used as fallback raw reason codes when the raw reason
codes higher on the list are not True. The last raw reason code in the list should always evaluate to True
and should be set to some unknown reason requiring operator selection of a true reason.
To change a raw reason code’s position in the evaluation order:
1. Select the raw reason code in the list.

Version 6.0 31
MES Utilization Capability Object User Guide Configuring Utilization Attributes

2. Click the up arrow or down arrow to move the selected raw reason code up or down in the list.

Renaming a Raw Reason Code


1. Select the raw reason code you want to rename, wait one second, and select it again.
The name becomes edit able.
2. Rename the raw reason code and press the Enter key to save the new name.

Deleting a Raw Reason Code


1. Select the raw reason code you want to delete.
2. Click the X Delete button.

The raw reason code is deleted.

Raw Reason Code Validation Error Messages


Whenever the UCO is saved in Object Editor, a validation of the raw reason codes is performed. This
validation is performed on the syntax of all expressions and the existence of the default utilization reason
group and reason. The validation takes approximately 5 seconds for 1000 raw reason codes. In addition,
expression referenc e validation is performed for instances (not for templ ates) when the Object Editor is
closed.

32 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

If any errors are found, they appear in the error message area above the attribute settings on the
General tab. These errors must be resolved for the object to be deployed and used at run time. For
object instances, raw reason code errors can be reported for the object regardless of whether the raw
reason code is unique to the object or derived from a template.

The error message list behavior is as follows:


 If there is more than one error, you can scroll through the messages using the up and down arrows.
The raw reason code corres ponding to the current error messag e is automatically selected.
However, note that selecting a raw reason code does not cause its error messages to be selected.
You have to use the error message up and down arrows to navigate to its error messages.
 Scroll controls will appear for long error messages.
 If the raw reason code name is too long to fit in the error message header area, you can hover over
the name to see the full name in a tool tip.
 If you correct an error, the error messages are not automatically cleared or updated. You must
perform a Save, or Save/Clos e/Reopen for expression reference errors in an instance, to refresh the
error message list.

Exporting and Importing Raw Reason Codes


Raw reason codes can be exported to and imported from an XML file. This capability allows you to:
 Trans fer sets of raw reason codes to other UCOs (for ex ample, in ot her Arc hestrA galaxies).
 Create raw reason code XML files manually or programmatically outside of Arc hestrA to facilitate
entry and management of your site's raw reason codes. These files c an then be imported int o
selected UCOs as needed.

Sample Raw Reason Codes XML File


The following is sample content for a raw reason codes XML file.
<?xml version="1.0" encoding="utf-8"?>
<raw_reason_list>
<default_raw_reason raw_reas_cd="PumpProducingChocolate" overwrite="False" />
<raw_reason raw_reas_cd="PumpDown" prompt="False" priority="100"
min_time_before_activation="00:00:00" last_edit_comment="" description="">
<expression><![CDATA[UserDefined_001.PumpRunning == false]]></expression>
<available_reason reas_grp_desc_1="Example Util. Reason Group"
reas_desc="Unknown" last_edit_comment="" />

Version 6.0 33
MES Utilization Capability Object User Guide Configuring Utilization Attributes

<default_reason reas_grp_desc_1="Example Util. Reason Group"


reas_desc="Unknown" last_edit_comment="" />
</raw_reason>
<raw_reason raw_reas_cd="PumpRunning_NotProducingChocolate" prompt="False"
priority="200" min_time_before_activation="00:00:00" last_edit_comment=""
description="">
<expression><![CDATA[UserDefined_001.PumpRunning == true AND
UserDefined_001.PumpingChocolate == false]]></expression>
<available_reason reas_grp_desc_1="Example Util. Reason Group"
reas_desc="Idle" last_edit_comment="" />
<default_reason reas_grp_desc_1="Example Util. Reason Group"
reas_desc="Idle" last_edit_comment="" />
</raw_reason>
<raw_reason raw_reas_cd="PumpProducingChocolate" prompt="False"
priority="300" min_time_before_activation="00:00:00" last_edit_comment=""
description="">
<expression><![CDATA[UserDefined_001.PumpRunning == true AND
UserDefined_001.PumpingChocolate == true]]></expression>
<available_reason reas_grp_desc_1="Example Util. Reason Group"
reas_desc="Running" last_edit_comment="" />
<default_reason reas_grp_desc_1="Example Util. Reason Group"
reas_desc="Running" last_edit_comment="" />
</raw_reason>
</raw_reason_list>

Raw Reason Codes XML File Format


The raw reason codes XML file format includes the following tagged elements to define a raw reas on
code list.
Raw Reason List Element
<raw_reason_li st>
Specifies the content as a raw reason code list.
There can be only one <raw_reas on_list> element per XML file.
Default Raw Reason Element
<default_raw_reason parameters>
The default raw reason code for the UCO. For more information, see Default Raw Reason Code on
page 42.
There must be one and only one <default_raw_reason> element per list.
raw_reas_cd
The name of the default raw reason code. This name must be unique among the raw reason codes
included in the XML file.
The value should specify a raw reason code that is either included in this list or already defined in the
UCO. Otherwise, an error will occur during the import operation.
This parameter can also be null (raw_reas _cd="").
overwrite
Specifies whether to overwrite the object's current default raw reason code value, if one has been
specified. If set to True, the default raw reason code value will be overwritten by the raw reason
code specified in this element unless the current default raw reason code setting i s locked. If set to
False, the current default raw reason code setting will not be overwritten. However, if a default raw
reason code has not been defined for the object, then the raw reason code specified in this element
will be used regardless of the overwrit e setting.

34 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

Raw Reason Code Element


<raw_reason parameters>
Specifies a raw reason code. Each <raw_reason> element includes one <expression> element, one
or more <available_reason> elements, and one <default _reason> element.
There can be one or more <raw_reason> elements per list.
raw_reas_cd
The name of the raw reason code.
Raw reason code names are case insensitive. For example, raw reason codes named
RunningSlow and runningslow would be considered duplicate raw reason code records and
would cause an error during import.
prompt
True or False (t he default). Determines whether an operator will be prompted to manually select a
utilization reason from the list of allowable reasons (s pecified by the <available_reason> elements)
when a new raw reason code becomes active.
This parameter cannot be null.
priority
Required. A positive int eger value that indicates the evaluation order of the raw reason code in the
list. The value must be unique among raw reason codes included in the import file. If this parameter
has no value or an invalid value, the file import will fail.
Each raw reason code element must have the priority value specified, and the value must be a
positive integer. Otherwise, that raw reason code will not be imported. There should also not be
duplicate priority values among the raw reason code elements in the file. If a duplicate priority value
is found, that raw reason code and those that follow it will not be imported.
Priority is used to det ermine the order of the raw reason codes when they are imported into a UCO at
the selected location among existing raw reason codes. For more information, see Setting the Raw
Reas on Code Evaluation Order on page 31.
When ex porting raw reason codes, the priority of the first raw reason code in the list is set at 100 and
each raw reason code after that is incremented by 100. This allows you to modify the XML file to add
additional raw reason codes between the existing ones.
When importing a raw reason code XML file, the raw reason codes being imported are sorted by
ascending priority before adding them at the selected location in the raw reason code list on the
General tab.
min_time_before_activation
The period of time that determines how long t he raw reason code’s expression has to be True before
it is considered a candidate to be the active raw reason code. This value has the format
hour:minute:second.millisecond (for example, 00:00: 10.5 for 10 and a half seconds). For more
information, see Minimum Time Before Activation on page 27.
The value must be in the proper format (hh:mm:ss). Otherwise, the raw reason code will not be
imported.
last_edit_comment
A comment regarding when the raw reason code was created or last modified.
This parameter can be null.
description
A description of the raw reason code.
This parameter can be null. However, the string cannot exceed 1024 characters. Otherwise, the raw
reason code will not be imported.

Version 6.0 35
MES Utilization Capability Object User Guide Configuring Utilization Attributes

<expression><![CDATA[expression]>
An ArchestrA script expression that will determine whether the selected raw reason code is active.
For more information, see Entering a Raw Reason Code ArchestrA Script Expression on page 28
and its sub-topics. The expression will be validated automatically when the object is saved aft er the
import operation.
There must be one and only one <expression> element per <raw_reason> element.
<available_reason parameters>
A utilization reason that a user will be allowed to choose, when prompted (that is, if the prompt
parameter is True), from a list of allowable reasons when the raw reason code becomes the active
raw reas on code.
There can be one or more <available_reason> elements per <raw_reason> element, or none. Each
allowable reason must include values for both the reas_grp_desc and the reas_desc parameters.
If no <available_reason> element is included, then the user will be able to select from all utilization
reasons in the MES database.
reas_grp_desc
The name of the raw reason group for the allowable raw reason.
The value should be a reason group that is actually in the MES database. The reason group and
reason will be validat ed against the MES database on the first object Save operation after import. If it
does not exist, the raw reas on code will be indicated to be in an error state.
This parameter can be null.
reas_desc
The name of the allowable raw reason.
The value should be a reason that is actually in the MES database and in the reason group specified
by the reas_grp_desc parameter. The reason group and reas on will be validated against the MES
database on the first object Save operation after import. If it does not exist, the raw reason code will
be indicat ed to be in an error state.
This parameter can be null.
last_edit_comment
A comment regarding when the allowable reason group and reason were added or last modified.
This parameter can be null.
<default_reason parameters>
The default utilization reason for the raw reason code. For more information, see Default Reason
Group and Reason on page 26.
There must be one and only one <default_reason> element per <raw_reas on> element. Values for
both the reas_grp_desc and the reas_desc parameters must be defined.
reas_grp_desc
The name of the default utilization reason group for the raw reason code.
The value should be a utilization reason group that is actually in the MES database. This value will be
validated automatically when the object is saved after the import operation.
reas_desc
The name of the default utilization reason.
The value should be a utilization reason that is actually in the MES database and in the utilization
reason group specified by the reas_grp_desc parameter. This value will be validated automatically
when the object is saved after the import operation.
last_edit_comment
A comment regarding when the default reason was added or last modified.

36 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

This parameter can be null.

Exporting Raw Reason Codes


1. With the UCO opened in Object Editor, on the General tab click the Export button.

A confirmation dialog box appears, indicating the number of raw reason codes that will be exported.

2. To confirm the export, click OK.


The Export dialog box appears.
3. Navigate to the destination directory for the XML file, ent er a name for the file, and click Save.
When the export file has been created, a success message appears.

4. Click OK to dismiss the message.


The priority order of the raw reas on code list is preserved by assigning priority values of 100, 200, and so
on to the raw reason codes listed in the XML file.

Importing Raw Reason Codes


The ability to import raw reason codes from an XML file allows you to more easily create a large number
of raw reason codes than adding them using Object Editor. It also allows you to import raw reason codes
that were exported from another UCO.
For an explanation of the raw reason code XML file structure and a sample file, see Raw Reason Codes
XML File Format on page 34 and Sample Raw Reason Codes XML File on page 33.
1. With the UCO opened in Object Editor, on the General tab select the raw reason code in the list
before or after which you want to insert the imported raw reason codes.
If you want to insert the imported raw reason codes at the beginning or end of the current list, it does
not matter what raw reason code is selected.

Version 6.0 37
MES Utilization Capability Object User Guide Configuring Utilization Attributes

2. Click the Import button.

The Import dialog box appears.


3. Navigate to and select the raw reas on code XML file that you want to import.
4. Click Open.
The Import Preferences dialog box appears.

5. Select where you want to insert the imported raw reas on codes in the current list (that is, at the
beginning or end of the list, or before or after the selected raw reason code).
6. Select how to handle imported raw reason codes that have the same name as existing codes:
Skip: Do not import
Do not import the duplicate raw reason code.
Overwrite existing Raw Reason Code
Overwrite the existing duplicate raw reason code with the import ed code.
Rename importing Raw Reason Code
Append the text string in the box to the imported raw reas on code, so that the name is not duplicated.

38 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

7. After selecting the insert and duplicate actions, click OK.


The contents of the XML file are validat ed. This validation includes the syntax of the expression, but
not the validity of a cont ained attribute reference in the expression. An expression’s contained
attribute reference will be validated when a Save operation is performed, or by clicking the Validate
Expression button above the Expression box. See Entering a Raw Reason Code ArchestrA Script
Expression on page 28 and Validation of Expression S yntax and Ref erences on page 30.
If there are validation errors, see Import Validation Errors on page 40.
If there are no file validation errors, the raw reason codes are import ed into the object. The import
process will take approximately 5 seconds per 1000 raw reason code records in the XML file.
When the import has successfully complet ed, a message appears that includes the number of raw
reason codes imported.

8. Click OK to dismiss the message.


The imported raw reason codes appear in the list at the specified location.

Import Overwrite Behavior


If a raw reason code in the import file matches a raw reason code already in the list for the UCO, the
existing raw reas on code will be overwritten unless it is locked.
Whether the default raw reason in the import file overwrites the UCO's current default raw reas on
depends on the default raw reason overwrite setting in the import file:
 If set to True, the current default raw reason code value will be overwritten by the default raw reason
code specified in the import file unless the current default raw reason setting is locked. If the default
raw reason code in the import file matches the name of a locked default raw reason code setting, an
error will not be raised.
 If set to False, t he current default raw reason setting will not be overwritten. However, if a default raw
reason code has not been defined for the object, then the default raw reason code specified in the
import file will be used regardless of the overwrite setting.

Version 6.0 39
MES Utilization Capability Object User Guide Configuring Utilization Attributes

Import Validation Errors


Errors That Cause the Import to Fail
The following conditions will cause the import operation to fail.
More than one raw reason code has the same priority value

If a duplicate priority value is found, that raw reason code and thos e that follow it in the priority order
will not be import ed.
The Default Raw Reason attribute has not been included

If a default raw reas on attribute has not been included, the entire import operation will fail.
There are XML syntax errors

If there are any XML syntax errors, the entire import operation will fail.
If any of these validation errors occur, edit the XML file to fix the cause of the error and then try importing
the file again.
Errors That Prevent a Raw Reason Code from Being Imported

40 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

The following errors will cause a raw reason code to not be imported:
 The Priority attribute is missing or invalid (it must be a positive integer).
 The length of the Description is more than 1024 characters.
 The time ent ered for Minimum Time Before Activation is negative.
If any of these validation errors occur, you can either edit XML file to fix the cause of the error and then try
importing the file again or add the raw reason code directly on the General tab in Object Editor.
Errors That Cause a Raw Reason Code to Be Imported with Warnings

The raw reason code will be imported with warnings for the following errors:
 An attribute other than Priority is missing.
 The validity compilation of the Expression resulted in errors. However, because this compilation is
done after parsing t he raw reason code, the import ed with warnings count will not include expression
compilation errors.
 The validation of t he Allowable Reas ons failed when checked against actual allowable reasons in the
MES databas e.
These errors result in the effected attribute of the imported raw reason code being empty.
You can check the ArchestrA System Management Console Log Viewer to see which attributes were
missing.

Also, when a Save operation is performed, which runs a validation on the entire list of raw reason codes,
errors are indicated in red above the raw reason code attribute settings. For more information, see Raw
Reas on Code Validation Error Messages on page 32.

Version 6.0 41
MES Utilization Capability Object User Guide Configuring Utilization Attributes

Configuring General Utilization Attributes


The following topics describe the general utilization attributes.

Default Raw Reason Code


Select the default raw reason code to be used upon initial deployment of the UCO.
Note the following about the use of the default raw reason code:
 Each UCO must have a default reason code that the Entity Model Builder will pass into the MES
database, which will become the default unknown utilization reason for the entity. If the default raw
reason of the UCO does not exist in the global set of possible reason codes, an error is logged and
the UCO is marked as invalid.
 The default raw reason code will be used only immediately after the deployment of the UCO object
instance when the status of the equipment (entity) cannot be determined and all of the other raw
reason codes evaluate to False. During run time, if all expressed values become False, the last raw
reason code to have a state of True will be used, and not the default raw reason code.

Resume on Error
The Re sume on Error attribute allows expression evaluation errors to be ignored while the system is
trying to determine the active raw reas on code at run time. When the Re sume on Error attribute is not
selected, expression errors (for example, due to quality issues) will stop the raw reason code evaluation,
leave the UCO in its last known utilization reason, and will re-evaluat e all expressions in the next scan
cycle of the object. In addition, you can specify an alarm if a raw reason code expression error occurs.

Alarm on Error
This attribute determines whether an entity will produce an alarm when a UCO -related error occurs. They
include:
 Expression errors
Note that, if the quality on an expression is bad and the Resume on E rror check box is selected, an
alarm will not be produced.
 Client session errors
 Utilization event errors
 Entity naming errors
 OEE and utilization value errors
If the Alarm on Error attribute is selected, then the following attributes become available.

42 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

Alarm Priority
A number that is logged and that represents the priority of the ArchestrA alarm.
Alarm Message
The ArchestrA alarm message that is logged.
You can manually enter the alarm message, or click the Browse button to select and insert an
ArchestrA attribute referenc e into the alarm message.
Two types of alarm conditions are available for equipment monitoring:
 An alarm indicating that an error occurred while attempting to determine the current raw reason
code. For example, an attribute reference contained in an expression for a raw reason code goes to
bad quality.
 You can monitor the current raw reason code and use scripting in conjunction with alarm extensions
to trigger an alarm. For instance, a field attribute of type Boolean can be added to the UCO and an
alarm extension set on it. Then, a script can be written to set this attribute if a specific raw reason
code or set of raw reason codes is detected on the object.

Spare Comments
When utilization events are logged, the user can use the Spare 1 to 4 fields to provide additional context
that will be logged along wit h the utilization event data. These attribut es are writable during run time.
The spare comments can be up to 80 characters.

Log Utilization Events


The Log Utilization E vents attribute allows for stopping the UCO from logging utilization events. The
events can then be entered manually by an operator using a .NE T controls -based UI (such as MES
Operator or a custom UI) or using MES Web Portal.
 If selected, the UCO will automatically log utilization events.
 If cleared, the UCO will stop logging utilization events. Utilization events can be logged manually.
This capability can be useful when, for example, the PLC providing the equipment raw reason code fails
or malfunctions for some reason. The UCO can then be switched to manual mode by an operator or
through script detection switches. Although the UCO will stop logging utilization events, it will continue to
update other UCO attributes, such as OEE attributes, so that current utilization data can continue to be
viewed in the UI.
To change the logging mode during configuration by value
1. Clear the Use Input Source check box.
2. Select or clear the Value or Input Source check box.

3. Save your changes and deploy the UCO.


To change the logging mode during configuration using script detection switches
1. Select the attribute or command’s Use Input Source check box.

Version 6.0 43
MES Utilization Capability Object User Guide Configuring Utilization Attributes

The control in the Value or Input Source column becomes a box.

2. To specify the input source, do one of the following:


 Manually enter the input source.
 Click the attribute's Browse button. In the Galaxy Browser dialog box that appears, select the
object and its attribute that is the input source.

To change the logging mode during run time


 Open the application object in Object Viewer and set the Log Utilization Events to True or False.
Automatic Mode Behavior
When the utilization event logging is in aut omatic mode, raw reas on code expressions are evaluat ed,
run-time attributes are read from the MES database, and utilization events are logged into the MES
database.
Manual Mode Behavior
When the utilization event logging is in manual mode, the object continues to evaluate the raw reason
codes and sets the following attributes. However, no events are logged to the MES database. The object
does not read current reasons from the database. Instead, it continues evaluating its logic to determine
the correct raw reason code to log when it transitions back to automatic mode.
 Previous RawReasonCode
 RawReasonCode

44 Version 6.0
Configuring Utilization Attributes MES Utilization Capability Object User Guide

 RawReasonCodeDefaultReason
 RawReasonCodeDescription
 TimeEntered
 TimeInRawReasonCode
The following run-time attributes continue to be read from the MES databas e:
 CurrentOEEPerc ent
 CurrentPerformancePercent
 CurrentQualityPercent
 CurrentA vailabilityPercent
Failover Behavior
During failover, the current mode will continue to be active. For ex ample, if the utilization event logging is
in manual mode and a failover occurs, the logging will continue to be in manual mode.

Version 6.0 45
MES Utilization Capability Object User Guide

C HAPTER 5
Configuring OEE Attributes
In This Chapter
Introduction to OEE Attributes........................................................................................................ 47
OEE............................................................................................................................................. 47
OEE Performance Target Attributes ............................................................................................... 49
Default Production and Util/OEE Refresh Rate Attributes ................................................................ 49

Introduction to OEE Attributes


The OEE attributes are on the Enti ty Configuration tab in the UCO Object Editor.
These attributes are used to configure OEE performanc e targets and default production rates for entities.

OEE
The efficiency calculation implemented in the MES is based on the industry standard OEE (Overall
Equipment Effectiveness) efficiency methodology.
OEE is determined as follows:
OEE = Availability x Quality x Performance
OEE as implemented by MES is described in the following topics.

Availabilty
The availability component of OEE measures a system's availability during the scheduled operation time
for a given time period, based on the following equation:
A vailability = Runtime / Net Operating Time

Version 6.0 47
MES Utilization Capability Object User Guide Configuring OEE Attributes

To support the determination of entity availability, utilization events are applied to each entity. A
utilization event indic ates the current operational state of the entity. Utilization events can be applied
automatically based on an entity's default utilization settings (see Configuring Default Utilization
Reas ons for Standard E vents) or manually by an operator.
The component of a utilization event that is used to determine entity availability is OEE Use. Each
utilization event, via its utilization reason and that reason’s assigned utilization state, is assigned an OEE
Use value of Runtime, Downtime, or Neither. MES bases the calculation of an entity’s availability by
summarizing the duration of its Runtime and Downtime events in the given time period for eac h OEE
Use. E vents with an OEE Use value of Neither are not included in the calculation.
So for MES, an entity’s availability is:
Entity Availability = Runtime / (Runtime + Downtime)

Quality
The quality efficiency component of OEE measures a system's output quality while producing units
during a given interval.
Quality = Good Output / Total Out put
In MES, entity quality is:
Quality = Good Production / (Good Production + Rejected Production)
where only production at the entity is considered.

Performance
The performanc e efficiency component of OEE measures a system's ability to produce at the target
production rate:
Performance = Total Output / Target Output
In MES, an entity's performance during a time period is based solely on the production reported on the
entity only while the entity is in a Runtime utilization state. If multiple work orders are run during the
period, producing different items with different unit of measures, the performance calculation is based
purely on item production counts with no effort to convert units of measure.

Understanding Batches and Lots for OEE


It is important to understand the difference between batches and lots so that your OEE results are within
expected ranges.
 A lot is generally used to uniquely identify a group of consumed or produced items for tracking
purposes.
 A batch is an amount of product that is processed simultaneously. A batch is used to determ ine the
standard production time for a given amount of product. Standard production times are expressed
either in time per batch, or batches per time.
For example, assume that you want to track all of the cookies that are baked during a shift as a group,
and that you want to det ermine the cookie production’s OEE. A unique lot number can be assigned to the
group of cookies produced during the shift. But the lot size has nothing to do with the OEE calculation.
That calculation would be based on the batch size and the batch production rate. If a batch size is 100
cookies and it takes 20 minutes to bak e a batch of cookies, then up to 24 batches of cookies could be
baked during an 8-hour shift, or a maximum of 2,400 cookies in a lot.

48 Version 6.0
Configuring OEE Attributes MES Utilization Capability Object User Guide

Also, note that the amount of production might not be an integral number of batches. This is because the
standard production time for a batch will be constant, regardless of whether the batch actually includes
the maximum number of items for the batch. For example, if the oven capacit y, and thus a batch, is 100
cookies, it takes as long to bake 90 cookies as it does to bake 100. The performance component of OEE
factors into this nonlinear behavior. So, for OEE to be reported accurately, it is important that the batch
size be set according to the way production actually occurs.

OEE Performance Target Attributes


By establishing your own target percentage setpoints for each OEE component, you can accurately
evaluate your OEE and pinpoint out-of-target parameters.
Used in conjunction with graphical OEE KPI control displays, users can visually see run -time
performance percent ages against the target percentages.
Use the OEE Performance Targets attributes to set the target percent age setpoints for OEE,
Performance, Quality, and A vailability.

Percentage values must be from 0 to 100 and in decimal form.


These values are written to the MES database by running Entity Model Builder. There is no run -time
functionality with these attributes.

Default Production and Util/OEE Refresh Rate Attributes


The Default Production Rate attribut es are used to calculate the utilization and performance of
corresponding entities.

The Default Production Rate values are written to the MES database by running Entity Model Builder.
There is no run-time functionality with these attributes. When written to the database, these values will
overwrite the existing values in the dat abas e for the entity. Therefore, you should run Entity Model
Builder only when the entity is not running a job that might have set these rates to a different value.
Rate
The default production rate for the entity. The default value is 1.0.
The default production rate must be greater than 0. An entry of 0 will cause an error.
Rate Unit of Measure
The default unit of meas ure for the production rat e. The default is hours/batch.
o hours/batch (the default )
o minutes/batch
o seconds/batch

Version 6.0 49
MES Utilization Capability Object User Guide Configuring OEE Attributes

o batches/hour
o batches/minute
o batches/second

Batch Size
If using batches during production, ent er the default batch size. The default is 1.
The batch size cannot be 0.
The decimal place resolution of the batch size is controlled by the system paramet er Maximum
number of decimals for batch entry. For information about setting this parameter, see t he MES Client
User Guide or online help.
Util/OEE Refre sh Rate
At run time, OEE information is retrieved from MES and displayed via current OEE, Performance,
Quality, and Utilization attributes.
The OEE information is updated within the attributes at a time interval defined by this attribute. The
minimum refresh rate is 15 seconds. The default value is 00:01: 00.0000000 (1 min).
Although a refresh rate can be specified, if no new data is available from MES within the specified
interval, the values will not be updated until a subsequent scan when new data is available.

50 Version 6.0
MES Utilization Capability Object User Guide

C HAPTER 6
Configuring Job Production Attributes and
Commands
In This Chapter
Introduction to Job Production Attribut es and Commands ................................................................ 51
Enabling Production Attributes and Commands .............................................................................. 52
Production Attributes ..................................................................................................................... 53
Production Commands .................................................................................................................. 54
Production Counters ..................................................................................................................... 55

Introduction to Job Production Attributes and Commands


Job production attributes are defined on the Production Attribute s tab. They allow you to specify
parameters associated with running a job on an entity with UCO capabilities.
These attributes are provided when the system is licensed only for Performance. If MES Operations
functionality is also licensed, then use the corresponding production attribut es available in the
Operations Capability Object (OCO).

Version 6.0 51
MES Utilization Capability Object User Guide Configuring Job Production Attributes and Commands

You can also specify how jobs will start and end using the production attribute commands on the
Production Attribute s tab.

The jobs that are available within the UCO are referred to as dat a entry jobs. Like jobs associated to a
process, data entry jobs have work order, operation, sequence number, and item information. However,
the data entry jobs are not linked to a process and are tied to a single entity. Data entry jobs do not have
the concept of a bill of material for cons umption transactions and p roduce just the one item.

Enabling Production Attributes and Commands


To enable the use of production attributes and commands through the UCO
 Select the Enable Production Attribute s check box.

You can now configure the production attributes and commands.

52 Version 6.0
Configuring Job Production Attributes and Commands MES Utilization Capability Object User Guide

Production Attributes
The production attributes specify the parameters associated with running a job on an entity with UCO
capabilities.

Each production attribute can be configured to get its value from an A rchestrA input source by setting the
production attribute value directly or by browsing to an object attribute.
If an input source is used, the value is retrieved at run time with each scan and is written t o the production
attribute value (for example, the Batch Size value is written to the BatchSize attribute).
Work Order
A data entry job consists of a work order performing some operation and a sequence number. This
attribute is the work order description. If left blank, then the default work order system parameter
value will be used.
Item Class
A job produces an item and every item belongs to an item class. If the Item class specified here does
not exist, it will be created when a job is started. If left blank, then the default item class system
parameter value will be used.
Item
A job produces an item. If the item specified here does not exist, it will be created when a job is
started. If left blank, then the default item system parameter value will be used.
Item Unit of Measure
A job produces an item and every item has a unit of measure. If the item UOM specified here does
not exist, it will be created when a job is started. If left blank, then the default item UOM system
parameter value will be used.
Operation
A data entry job consists of a work order performing some operation and a sequence number. This
attribute is the operation ID. If left blank, then the default operation system paramet er value will be
used.
Required Quantity
The required quantity for the job. This value must be equal to or less than the start quantity.
This attribute represents the required good u nits produced at the operation.
Start Quantity
The start quantity for the job. This value must be equal to or greater than the required quantity.

Version 6.0 53
MES Utilization Capability Object User Guide Configuring Job Production Attributes and Commands

This attribute represents the quantity to start at the operation to ens ure the required good quantity is
produced. The start quantity would be greater than the required to take into consideration expected
scrap counts.
Batch Size
The size of a single batch. The value must be greater than 0. This is the batch size for the job and
usually is the same as the entity batch size.
The batch size represents the group of quantities that are processed together. Batch size is used to
calculate the production statistics, such as OEE.
Target Job Production Rate
The target production rate for the running jo b, which may change depending on the item being
produced.
The production rate represents the number of batches with specified size that you want to produce
within a period. For example, 10 batches per hour.
Target Job Production Rate Unit of Measure
The job production rate unit of measure based on the batch size. Select one of the available options:
o Hours per batch
o Minutes per batch
o Seconds per batch
o Batches per hour
o Batches per minute
o Batches per second

Operator
The MES username of the user to which production activity will be assigned.
If you do not specify a user name, the default user that is configured in the system is associated with
this job, which might not be a legitimate user.
For more information, see Back ground User on page 73.

Production Commands
You can use the production commands to control when a job on the entity is started or ended.

Starting and Ending a Job


When the UCO is managing the jobs running on an entity, the object can start a job (which will create the
data entry job and start it) and end the job. Optionally, the UCO can start a job on deploy of the object to
ensure that a job is running on the entity without having to write code to trigger the start command on
deploy.

54 Version 6.0
Configuring Job Production Attributes and Commands MES Utilization Capability Object User Guide

Start Job on Deploy Attribute


When selected, the entity will create a new data entry job and start the job on the deployment of the
object.

Start and End Job Commands


The Start Job and End Job commands are used to trigger a change in the job running on the entity.
 To start a job, first set all the desired production attributes as needed to define the job and then
trigger the Start Job command.
 To end a job, trigger the End Job command (no production attributes are needed). All jobs running
on the entity will be stopped.
The trigger attribute will stay True until the transaction is complete, at which time it will go False and you
can set it again. If there are errors with one of the production attribut es, or if there are errors while
processing the transaction, or if none of the values have changed since the last transaction, an error will
appear in the ProdAttrs.ErrorCode attribute and the transaction will not be completed.
In the event of an error, the trigger attribute will stay True and no other commands will be allowed. The
object status will change to E rror and the error code and error message attributes will be updated with the
error information.

Reset Command
Use the Re set command to clear an error code and error message, reset the job command attributes,
and place the object status back to Ready.

Production Counters
Beginning with MES version 5.2, the UCO does not have any production counters.
To record good and bad production counts, use the Operations Capability Object (OCO). The
Performance license allows for the use of the OCO to reco rd good and bad production counts. For more
information about migrating UCO production counters to the OCO, see Assistance with Migrating the
UCO Production Counters to OCOs on page 11.
If the UCO is being used to only capture utilization events, then production counters are not required.

Version 6.0 55
MES Utilization Capability Object User Guide

C HAPTER 7
Adding UCO Instances to ArchestrA
Application Objects and Areas
Once you have created your UCO templat es, you can add instances of the templates to your equipment
model in the ArchestrA IDE below any application object or area that you want to create in MES as an
entity with utilization, OEE, or job production cap abilities.
1. In the Arc hestrA IDE Model View, configure your equipment model, including any application objects
that represent MES entities that require UCO -related capabilities.
For detailed information about creating your equipment model in the Arc hestrA IDE, see the
Application Server User’s Guide.
2. Create and add a UCO instance as a child of any modeled application object or area that represents
an MES entity that requires UCO -related capabilities.
You can add the UCO as a child under application and area objects only. If you add the UCO as a
child under any other object such as an engine, the UCO does not work properly. An application or
area object can contain only one UCO object as a child.

3. Configure the individual UCO instances in your equipment model as needed.


For general UCO configuration information, refer to Configuring UCO Templat es and Instances on
page 15.
For information about the specific configuration attributes, refer to:
o Configuring Utilization Attributes on page 21
o Configuring OEE Attributes on page 47
o Configuring Job Production Attributes and Commands on page 51
When you are ready to export the UCO instance to the MES database as an MES entity, see Building the
MES Entity Model from UCOs on page 59.

Version 6.0 57
MES Utilization Capability Object User Guide

C HAPTER 8
Building the MES Entity Model from UCOs
In This Chapter
Introduction to the Entity Model Builder .......................................................................................... 59
How UCO-E nabled Objects Are Added to the MES Database as Entities ......................................... 60
Building and Deploying an Entity.................................................................................................... 62
Creating an Entity in the MES Database from an Application Object with a UCO ............................... 62
Updating MES Entities with UCO Changes ..................................................................................... 63

Introduction to the Entity Model Builder


The Entity Model Builder is an ArchestrA IDE extension for creating entities from your ArchestrA
equipment model that use the UCO for configuring utilization, OEE tracking, and job production support.
You can also use the Entity Model Builder to export existing ArchestrA users and roles to create
corresponding users and groups. For more information about this capability, refer to the MES Entity
Model Builder User Guide.

Version 6.0 59
MES Utilization Capability Object User Guide Building the MES Entity Model from UCOs

How UCO-Enabled Objects Are Added to the MES Database as


Entities
In the following example, if you select the UCO that is a child of the AAS_1_SQA_1 object, the Entity
Model Builder creates MES entities only for the objects above it in the branc h, up to and including the
Bearing Plant (area). The utilization, OEE, and job production attribute configuration information is
extracted from the UCOs and stored as the corres ponding property settings for the target entity (in this
case, the AAS_1_SQA_1 entity).

The following figure shows the resulting entity tree in MES Client. You could also have selected the
parent application object that has a UCO child attached to it and then run Entity Model Builder to create
the same structure.

Since the other UCOs in the same equipment model are not directly part of the selected equipment t ree
branch, they are not included in the entity creation because they are not part of the direct parent/child
equipment structure to the AAS_1_SQA_1 object.

60 Version 6.0
Building the MES Entity Model from UCOs MES Utilization Capability Object User Guide

Note the following additional behaviors about UCOs and using Entity Model Builder to create or modi fy
their entities in the MES dat abase:
 If y ou select multiple application objects with UCOs, the Entity Model Builder creates entities for all of
them.
 If the selected application object is not a UCO, does not have a UCO below it, and is not part of a
utilization/OEE configuration hierarchy, then the Entity Model Builder does not create any entities.
 The Entity Model Builder only creates new entities and new entity hierarchies that do not already
exist.
 To delete an entity, you must delete it using MES Client. For more information on managing entities,
see the MES Client User Guide.
 If there is already an entity in the MES database with the same name as the application object with a
UCO, Entity Model B uilder will overwrite its corresponding properties with the UCO attribute settings.
 Though the E ntity Model Builder never deletes an existing entity or removes any capabilities
(including UCO capabilities), it can re-parent entities at any level to reflect new structural changes to
the ArchestrA equipment model hierarchy.
 When the E ntity Model Builder encount ers an error, the error will be indicat ed in t he progress window
and the UCO will remain in the unsynchronized state. It will not be possible to deploy or redeploy the
UCO until it is synchronized with the MES database. Additional diagnostic information is also
available in the ArchestrA Logger.

Entity Names
When the Entity Model Builder creates entities, it bases the new entity names on the TagName attribute
in the source application object.
From the ex ample above, the Entity Model Builder produces four entities using the TagNames
accordingly, with the final entity with the UCO child having the UCO capabilities set.
+ Bearing_Plant
+ Assembly_Area
+ Station1
+ AAS_1_SQA_1

Entity Capabilities and Properties Copied to the MES Database


The Entity Model Builder creates new entities with the following configured UCO capabilities or features:
 Scheduling jobs
 Running jobs
 Capt uring utilization
 Tracking OEE
The following performance parameter information is extracted from the UCO objects and written to the
corresponding entities:
 Target OEE perc ent
 Target utilization percent
 Target performance percent
 Target quality percent
 Default production rate

Version 6.0 61
MES Utilization Capability Object User Guide Building the MES Entity Model from UCOs

 Default production unit of measure


 Default batch size
 Raw reason codes
For each raw reason code in the UCO, the following information is written to the entit y.
 Raw reason code
 Default reason code
 Prompt flag
 Set of allowable reasons codes
If a raw reason code is deleted in the UCO, it will be deleted from the entity.

Building and Deploying an Entity


Once you are finished configuring the UCO, save the UCO and fix any errors that are reported.
Depending on the changes you made, you will have to build the entity model.
 If you made a change to a UCO template, you might have to update your entities to cascade your
changes to any derived UCO instances. This depends on what you changed and what attributes you
may have locked in your template.
 If you made a change to a UCO instance, you will only have to build the entity for the instance.
UCO instances that need to have their corresponding entities built or updat ed using Entity Model Builder
will display an error indicator on the UCO icon in the ArchestrA IDE.

After you have saved your configured UCO, you can then create or update the corresponding MES
entities by building your entity models. See Creating an Entity in the MES Database from an Application
Object with a UCO on page 62 and Updating MES Entities with UCO Changes on page 63.
After you have built or updated the entities, you can deploy your equipment model for run -time operation.
For detailed information deploying your galaxy, see the Application Server User’s Guide.
When you deploy the UCO OnScan, it will begin using the defined UCO configuration for run-time
operations.
You can configure system parameters, such as default reasons or good and rejected production records
in MES Client application. For more information about configuring system paramet ers, see MES Client
User Guide or online help.

Creating an Entity in the MES Database from an Application


Object with a UCO
When you select a UCO or any parent application object in the IDE equipment model tree and run the
Entity Model Builder, their parent objects up to and including the area object and their associated
properties are replicated in MES.

62 Version 6.0
Building the MES Entity Model from UCOs MES Utilization Capability Object User Guide

To create a new entity


1. To avoid conflicts with other MES applications that are capable of adding or modifying entities, exit
any MES applications that are currently running.
2. In the Arc hestrA IDE equipment model, do one of the following:
 Right -click a UCO instance or any of its parent objects and click Build MES Entity Model.

 Select a UCO instance or any of its parent objects and, on the Object menu, click Build MES
Enti ty Model.

Note: You cannot cancel the entity creation process, so make sure you have selected the right UCO
or parent object before continuing.

The Entity Model Builder dialog box appears. It displays the status, errors, and percent complete.

Note: If you have more than one UCO under a single parent application object, the UCO will not be
created and an error will be displayed in the progress dialog box.

3. When the 100% Completed message appears, click Close.


After the build process has successfully completed, the Entity Model Builder validates the UCO and
marks it as being synchronized wit h MES. You can now deploy the parent application object in the
ArchestrA IDE.

Updating MES Entities with UCO Changes


You can use the Entity Model Builder to update your MES entities with any of the following changes
made to the UCOs in the ArchestrA IDE:
 Changing the configuration of a UCO.
 Adding a UCO at a higher level in the equipment model.
 Moving a UCO to a higher level in the equipment model (re-parenting).

Version 6.0 63
MES Utilization Capability Object User Guide Building the MES Entity Model from UCOs

 Renaming a parent to a UCO at a higher level in the equipment model. This creates a new entity in
the MES database and re-parents the old entity's children, if there are any.
 Adding a UCO to the equipment model that has the same name as an entity manually configured
using MES Web Portal or MES Client. The existing entity's children (if any) are re-parented.
 Moving a UCO to another parent application object. The old parent is no longer considered an entity
(although it still exists in MES). This creates a new entity and parent entities, if needed.
If you remove an entity in your IDE equipment model, the entity is not deleted in MES.
If you have not made any changes to the ArchestrA equipment model, the Entity Model Builder just
checks that the utilization/OEE configuration in the ArchestrA equipment model also exists in the entity
model. If there are any differences, the MES configuration is updated to match the A rchestrA
configuration.

Swapping the Parent-Child Positions of MES Entity Objects in the


Equipment Model
If you are swapping the parent-child positions of MES entity objects in the equipment model that have a
UCO object assigned to them (t hat is, entity_object_A was the parent of entity_object_B, but now
entity_object_B is the parent of entity_object_A), you must do either of the following in MES Client before
running Entity Model Builder:
 Delet e the two entities, or
 Move the child entity to another level in the entity hierarchy

Where to Maintain an Entity’s Object Attributes


For MES entities that are created from ArchestrA objects, changes to the object’s attributes are
one-directional—that is, from the ArchestrA IDE to the MES database. There is no mechanism to update
the object’s attributes if the corresponding entity’s properties are changed in the MES database using
MES Web Portal or MES Client
Also, when Entity Model Builder is run, it overwrites the entity’s property settings in the MES database
with the current object attribute settings. So if you make changes to such an entity’s object attributes
outside the ArchestrA IDE equipment model (for example, using MES Web Portal or MES Client), those
changes will be overwritten by the Entity Model Builder the next time it is run.
For this reason, once y ou create an MES entity using an object and Entity Model Builder, you should only
maintain the object’s attributes in the ArchestrA IDE.

64 Version 6.0
MES Utilization Capability Object User Guide

C HAPTER 9
UCO Run-Time Behavior
In This Chapter
Utilization and OEE Run-Time Operations ...................................................................................... 65
Production Run-Time Operations ................................................................................................... 65
Utilization Run-Time Attributes ....................................................................................................... 67
UCO Run-Time Deployment and Execution .................................................................................... 67
UCO Run-Time Status .................................................................................................................. 69
Switching the UCO Between Automatic and Manual Mode to Rec ord Downtime E vents .................... 70
Resetting Error Attribute Values ..................................................................................................... 70
How Rejected Messages Are Handled ........................................................................................... 70
Effect of Stopping and Restarting the Middleware Connection When the UCO Is Deployed ............... 73
Background User .......................................................................................................................... 73

Utilization and OEE Run-Time Operations


Once you deploy the configured UCO OnScan, you can start evaluating raw reason codes and logging
utilization events when the active raw reason code changes.
At run time you can:
 Monitor the raw reason code attributes:
o RawReasonCode
o Previous RawReasonCode
o RawReasonCodeDefaultReason
o RawReasonCodeDelay
o RawReasonCodeDescription
o TimeEntered
o TimeInRawReasonCode
 Monitor for errors using the ErrorCode, ErrorMessage, and Status attributes.
 Reset any error condition using the Reset attribute.
 Enable/disable logging of utilization events to the MES database.
 Monitor current performance parameter values are based on the current shift.

Production Run-Time Operations


When you deploy the UCO OnScan, it will begin using the defined production attributes. At run time you
can:
 Monitor for errors using the ProdAttrs.ErrorCode and ProdAttrs.ErrorMessage attributes.
 Change a production attribute input source or UseInputSource attribute to change how or where it
will get its value.

Version 6.0 65
MES Utilization Capability Object User Guide UCO Run-Time Behavior

 Set a production attribute value directly if its UseInputSource attribute is False.


When the product start job attribute is triggered (P rodAttrs.StartJobCmd= True), the production attribute
values will be us ed to creat e a new work order.
Configured production attribute values that do not exist in the MES database, when triggered, will be
created based on the properties in the table below.
The meanings of the table columns are:
Provide default value if blank
Indicates whether a default value will be provided if the production attribute value is left blank.
Default value
Indicates the default value provided for production attributes when no value is configured.
Create if doesn’t exist
Indicates whether a new MES type will be created wit h the value specified if it doesn’t already exist.
For example, if the Item production attribute is set to "SuperWidget" and "SuperWidget" does not
currently exist, it will be created when ProdAttrs.StartJobCmd is set True.
Create new data entry job if changed
Indicates whether a new job will be created if the specified p roduction attribute’s value is changed
and ProdAttrs.StartJobCmd is set True.

Provide
default Create if Create new
value if doesn't data entry job
Production Attribute blank Default Value exist if changed

BatchSize No N/A No Yes

Item Yes "Example Item" Yes Yes

ItemClass Yes "Example Item Class" Yes Yes

Operation Yes "DefaultOper" Yes Yes

Operator Yes "__" No No

TargetJobProductionRate No N/A No Yes

TargetJobProductionRateUoM No N/A No Yes

WorkOrder Yes DefaultWO Yes Yes

StartQuantity No N/A No Yes

RequiredQuantity No N/A No Yes

ItemUoM Yes "Pounds" Yes Yes

For the Operator attribute value, labor usage data will only be attributed to a valid user. If the user is not
a valid user, the default background user will be used to execute the job and no labor will be capt ured. If
the entity is configured to capture labor and a user is not provided for the Operat or attribute, no labor
records will be added.
None of the production attributes of type S TRING have default values during configuration. The values
listed are the defaults that will be supplied through system parameters when ProdAttrs.StartJob Cmd is
set True if the production attributes are blank. For information about configuring default values, see MES
Client Us er Guide or online help.

66 Version 6.0
UCO Run-Time Behavior MES Utilization Capability Object User Guide

The triggered work order creation will occur once the product start job command attribute is set
(ProdAttrs.StartJobCmd= True).
 If t riggered and no production attribut e values have cha nged since the last trigger, no new work order
will be created.
 If triggered and a job containing a work order that requires a minimum quantity is running:
o If the required quantity has been met, a new work order will be creat ed.
o If the required quantity has not been met, a new work order will not be created, and an error will
be ret urned in the ProdAttrs.ErrorCode and ProdAttrs.ErrorMessage attributes.
 If a UCO creates a new job on an entity that is already running another UCO jo b, the running job will
be completed and its operator will be logged off the entity. The operator associated with the new job
will then be logged on to the entity and the new job is started if they are a valid user.
 If another user logs into the entity on which a UCO job is running through operator, that user will not
receive labor for the job.
When the production end job attribute is triggered (P rodAttrs.EndJobCmd= True), an unc onditional
request will be sent to the middleware to end all jobs on the related entity.
Passing a new value to the Item attribute and supplying a WorkOrder value that already exists does not
alter the item associated with the existing work order. A new job will be created using the new item and
the existing work order ID, but the work order record itself will still be associated with the original item.
If an error is returned to a call to start or end a job, then the Reset command will need t o be c alled to clear
the error message and reset the production attributes primitive to the Ready state.

Utilization Run-Time Attributes


The UCO includes run-time attribut es that are used to display the current active raw reason code as
determined by the UCO, the previous raw reason code, the time the entity entered the raw reason code,
and the current performance parameters.
In addition, when an equipment raw reason code error condition exists, an error attribut e will be set. In
most cases errors will go away automatically, such as when the quality of I/O goes bad and later goes
good again or the MES middleware communication is lost and then res umed. Other errors might be more
serious, requiring the use of the Reset command attribut e to get raw reason code evaluation running
again.
For a complete list of the run-time attribut es, see UCO Attributes Reference on page 77.

UCO Run-Time Deployment and Execution


Once deployed, all objects within A pplication Server go through states of Startup, On Scan, Execute, and
Off Scan. With the UCO, the following functionality happens during these states.
Startup
o The first MES application object (UCO, OCO, or S RO) to startup will create a stateful client
session to the MES middleware. All subsequent objects will retrieve a reference to the session.
o All raw reason code expressions will be compiled.
o If the ProdAttrs.StartJobOnDeploy attribut e is set to True, the values of all production attributes
will be used and a call to PrepareProductionAttribute s method will be made t o start a new data
entry job.

Version 6.0 67
MES Utilization Capability Object User Guide UCO Run-Time Behavior

OnScan
o When the object goes OnScan, the equipment status primitive will go into the default raw reason
code. The default raw reason code will appear in the exposed raw reason code attribut e. The
default raw reason code will be written to the MES database if the Log Utilization E vents property
is set to True. All attribute references contained in raw reason code expressions will be resolved
and set on advis e. The quality of the current raw reason code attribute will be set to initializing.
o If the object is starting from a check-pointed raw reason code, it will resume with last known raw
reason code until a new raw reason code is determined.
o The input references for production attribut es will be resolved and set on advised.
The quality of the raw reason code attribut e repres ents an aggregation of the object’s ability to
calculate the raw reason code expressions. There is no recording of the quality into the MES
database.

Execute
o During each execution cycle, the equipment status primitive will evaluate each expression
associated with a raw reason code to determine if a raw reason code transition has occurred.
During evaluation, if any expression encounters an error, the evaluation will stop if
ResumeOnE rror is False and the object will go into an error state. If ResumeOnError is True, the
expression with an error will evaluate False and the object will continue with the next expression.
Independent of the ResumeOnE rror setting, the object will reset expression errors and
re-evaluate on the next scan cycle.
o When a raw reason code transition occurs, the published attributes for the entity are:
– The new raw reason code.
– The raw reason code description.
– The raw reason code default reason.
– The time that the raw reason code was ent ered. Time ent ered represents the time that the
expression was evaluated as True (not the time any configured delay has expired).
– The length of time the raw reason code has been active. The time in raw reason code
attribute will be updated to reflect the elapsed time since the last raw reason code transition.
– The configured minimum activation time.
– The previous raw reason code.
– If the Log Util E vents attribute is True, the new raw reason code is logged to the MES
database as a new utilization event. Depending on the setting of the system parameter How
to handle raw reason codes when merging utilization events , the Util_Log table might have a
new event or might modify the existing event.
o When a raw reason code becomes active (its expression is True, its delay has expired, and it is
the highest priority of all RRCs), its delay timer will be reset. All other potential raw reason code
delay timers will continue.
o Production attributes will be logged (set) if the ProdAttrs.StartJobCmd Trigger attribute is set
(True).
o All jobs will be complet ed if the ProdAttrs.EndJobCmd trigger attribut e is set (True).

Though the time entered is stored in as a UTC value in the attribute, some clients such as Object
Viewer convert the time value to local time for display purposes.

68 Version 6.0
UCO Run-Time Behavior MES Utilization Capability Object User Guide

Note: Utilization events are logged in the MES database to the nearest second. If t wo or more events
are logged within the same second, only the final event will remain in the dat abase. Note that the
application engine scan rate defaults to 500 ms and can be set even lower.

For an explanation of how raw reason code changes are handled, see How Raw Reason Code
Changes and Utilization Event Logging Is Handled on page 69.
OffS can
o The final MES object to go off scan will end the stateful session to the MES middleware
o All attribute references that were put on Advis e during OnScan will be Unadvised. The raw
reason code attribute will ret ain its last known raw reason code, and the quality of t he raw reason
code attribute will be set to Bad.
The quality of the raw reason code attribut e repres ents an aggregation of the object’s ability to
calculate the raw reason code expressions. There is no feedback of the quality into the MES
database.

How Raw Reason Code Changes and Utilization Event Logging Is


Handled
Whenever a raw reason code change occurs, a new utilization event is logged in the dat abase. All
utilization event logging uses Without Response mode and Microso ft Message Queuing (MSMQ) so that
the utilization events are properly resolved and rec orded.
In Without Response mode, the UCO does not receive the notifications about the delivery status of
messages for its calls. The MES middleware pulls the event logs f rom the queue and records them in the
MES databas e. If the middleware detects that more than one event occurred within the same 1 -second
time slice, the most recent utilization event is logged and the other events that occurred in that 1-second
time slice are overwritten. No errors are logged as this is standard behavior of MES. If other errors are
encountered while logging an event, such as the entity can no longer capture utilization data or the raw
reason code is no longer associated to the entity, then the middleware will log a rejected message to the
MES databas e. These errors will be read by the UCO later and shown in the Rejected Messages
attributes.
To allow a UCO to log messages in the Message Queue while in Without Response mode, an
Anonymous Logon user with the Send Message privilege must be added to the MESAsyncQueue on the
middleware s erver. Otherwise, the messages will not be logged. See Adding an A nonymous Logon User
to MESAsyncQueue on page 19.

UCO Run-Time Status


The UCO has Status attributes to indicate the current state of the object's pri mitives (grouping of
functionality).
The status initially starts as Ready. The ready state indicates that the object is performing normally and is
waiting for a command.
When the UCO is processing a command, the Status goes to Busy while it waits for a res ponse from the
MES middleware. While in the Busy state, no other commands will be processed.
If t he command processes successfully, the status will go back to Ready. If t he command fails, the status
will go to Error.
If the UCO is in Without Response mode, then the object does not wait for a res ponse from the MES
middleware and immediately transitions back to a ready state. The production attribute commands are
executed in With Response mode and will reject commands while in the Busy or Error state. The log ging
of utilization events is done in Without Response mode and will remain in the Ready state.

Version 6.0 69
MES Utilization Capability Object User Guide UCO Run-Time Behavior

Switching the UCO Between Automatic and Manual Mode to


Record Downtime Events
The Log Utilization E vents attribute determines if the UCO should log raw reason code transitions to the
MES databas e or not. When True, the UCO will log raw reason code transitions as utilization events to
the MES database against the entity (that is, the parent object to the UCO). If the Log Utilization E vents
attribute is False, the object will continue to evaluate raw reason code transitions and update the object
attributes, but it will not log utilization events to the MES database.
When the Log Utilization E vents attribute transitions from True to False, the next scan of the object will
not log any further raw reason code transitions to the MES database. When the Log Utilization E vents
attribute transitions from False to True, the next scan of the object will immediately log the current raw
reason code as a utilization event to the MES database. The UCO does not require a raw reas on code
transition to occur; the transition of the Log Utilization E vents attribute from False to True will trigger a
write to the MES dat abase.

Resetting Error Attribute Values


During ex ecution of the UCO, the object might encounter an error. Some examples are:
 The quality of the input sources for a Raw Reason Code is not good
 The quality of production attributes are not good
 The MES middleware is not responding
 The MES API call returns an error back to the UCO
Depending on the error, the UCO might transition into an error condition. If it does, the Status at tribute
will be Error and the appropriate error code and error message will be updated. Once in an error state,
the UCO will not accept a new command until the error is cleared.
To clear the Error status, the Reset command must be set. This will reset the status to Ready, clear out
all error code and error message properties, and reset all command attributes to False. Certain errors
such as bad quality of I/O inputs will log an error to the logger, but the UCO will r emain in a Ready state
as these might be temporary issues with the I/O and do not indicate a failure of the UCO.

How Rejected Messages Are Handled


The object includes a set of RejectedMessages attributes for retrieving, viewing, and acknowledgi ng
rejected messages that occur during run time. The rejected messages are stored in the MES database.
There is no configuration of the RejectedMessages attributes as these are set by the object.
With the exception of the RejectedMessages.Filter.Max Hours attribut e, the RejectedMessage attributes
configuration, such as I/O extensions, is not supported on UCO -specific tabs in Object Editor. However,
RejectedMessages attributes can be interacted wit h through scripts, LMX-based read/write operations,
Object Viewer, and also through System Platform's I/O extensions on the Attribute s tab.
OnScan Behavior
At OnScan, a subscription to rejected message events is established. A filter is applied to specify a
representative rejected message dataset. The filter comprises the following attribut es.
RejectedMessages.Filter.Entity
The MES entity by which to filter the rejected messages that will be visible. This will be the object's
parent entity.
This attribute is auto-set at run time by the UCO. Its value should not be changed to ensure correct
retrieval of rejected messages.

70 Version 6.0
UCO Run-Time Behavior MES Utilization Capability Object User Guide

RejectedMessages.Filter.MaxHours
The rejected messages that occurred up to the number of previous hours entered for this attribute
will be retrieved.
The range of allowable values is from 1 to 100. However, any values greater than 24 will cause the
filter to behave as if the value is 24. This is because, every hour, the UCO resets the Time filter to the
previous 24 hours.
RejectedMessages.Filter.MsgType
The message type by which to filter the rejected messages that will be visible. For example, for a
UCO, this filter will be set to raw reason code change events.
RejectedMessages.Filter.Time
Only rejected messages that are more recent than this time stamp value will be retrieved. At
OnScan, the time stamp value is set to the current time. During execution, this time stamp is checked
every hour to see whether it is older than 24 hours. If it is, it is reset to ens ure that rejected messages
older than 24 hours are not retrieved.
A count of the rejected messages that match the filter criteria and a string array of the messages
themselves will be available through the RejectedMessages.Count and RejectedMessages.Messages
attributes. The RejectedMessages.Messages attribute can hold up to 200 messages. For example, in a
12-hour period, 450 rejected messages might be logged. The RejectedMessages.Count attribut e would
have a value of 450 but the RejectedMessages.Messages attribute would have only the 200 most recent
messages.
The message array is ordered with t he most recent message at the t op (that is, with the first index value).
Time stamps are in the object’s local time.
Rejected Message Retrieval Failures
If t he rejected message retrieval fails, the RejectedMessages.Status attribut e value changes from Ready
to Error. Also, an error code (RejectedMessages.ErrorCode) and error message
(RejectedMessages.ErrorMessage) are returned.
The error codes are:
 -100, which indicates a communication error or MES middleware exception.
 -1, which indicates an unknown error.
The RejectedMessages.ResetCmd is used to clear the error condition. The res et command:
 Clears the ErrorCode and ErrorMessage attributes.
 Sets the Status attribute to Ready.
 Re-s ubscribes if the subscription has become invalid due to the error.
Acknowledging Rejected Messages and Resetting the Subscription
The RejectedMessages.AckRejectedMessagesCmd command attribute is used to acknowledge the
rejected messages and clear them.
Setting this command to True acknowledges that the currently visible rejected messages have been
viewed. The active rejected message subscription is removed and a new one is established. Also, the
time stamp filter is set to the current time, effectively clearing any previous rejected messages.
Failover Behavior
On failover to a redundant engine, the most recent RejectedMessages.Filters.Time value is retained and
used when the new subscription is established from the redundant engine. The
RejectedMessages.Filters.Entity and RejectedMessages.Filters.MsgType attributes will be set to their
default values. This will cause the rejected message dataset that was current at the time of the failure to
be ret rieved.

Version 6.0 71
MES Utilization Capability Object User Guide UCO Run-Time Behavior

OffScan and Shutdown Behavior


At OffScan or Shutdown, the rejected message subscription is removed.
Alarms and History
Rejected message alarm or history configuration is not supported for the object on the object -specific
tabs in Object Editor. However, alarms an d history can be configured for any of the attributes on the
Attribute s tab.

Column Structure of a Rejected Message


The column structure and order of a message in the RejectedMessages.Mes sages array is provided
here to allow you to set up processing of rejected messages. The message in the array is formatted in
JSON.
 The timestamp of the rejected message in the local time where the object is running
 The XML error message ret urned by the MES middleware
 The XML message that was originally submitted
 The timestamp of the rejected message, in UTC
 The status of the rejected message after originally being submitted to the MES database:
o 0 = Never submitted before
o 1 = Resubmitted with error
o 2 = Resubmitted with success
o 3 = Edited and resubmitted with error
o 4 = Edited and resubmitted with success
 The name of the object that submitted the original message
 The name of the object section from where the message was initiated
 The region from where the original message was initiated
 The message locale
 The message version
 A comment about the last edit made to the rejected message record, if one was provided
 Who last edited the rejected message record
 When the rejected message was initially logged or last edited
 The row ID of the rejected message record
An example message is shown below.
[{“rejected_message_local":"2015-10-09 4:14:21 pm",
“xml_error_message":"A row does not exist in util_exec for this entity{3243}”,
"xml_message":"<?xml version='1.0'?><request><object>util_exec</object>
<msgtype>exec</msgtype><cmd>setrawreasonbyname</cmd><session_id>29</session_
id>
<ent_name>Roaster</ent_name><raw_reas_cd>Idle</raw_reas_cd>
<new_reas_start_utc>10/9/2015 11:14:21 PM</new_reas_start_utc>
<comments></comments></request>",
"rejected_message_utc":"2015-10-09T23:14:21","message_status":0,
"object_name":"Roaster","object_section":null,

72 Version 6.0
UCO Run-Time Behavior MES Utilization Capability Object User Guide

"message_region":"Pacific Standard
Time","message_locale":"en-US","message_version":1,
"last_edit_comment":null,"last_edit_by":"oneuser",
"last_edit_at":"2015-10-09 11:14:21 pm","row_id":18}]

Viewing and Managing Rejected Messages in MES Client


In addition to being exposed in the RejectedMessages attributes and viewable in Object Viewer, rejected
messages can be viewed on the Rejected Message Viewer in MES Client. MES Client users with
appropriate privileges can also edit, resubmit, and delete rejected messages. For more i nformation, see
the MES Client User User Guide or online help.

Effect of Stopping and Restarting the Middleware Connection


When the UCO Is Deployed
If the UCO is deployed and the MES middleware is stopped, an error will eventually be logged indicating
that communication with the middleware has been lost. When the middleware is running again, the UCO
will aut omatically clear any of the communication errors that were logged and reestablish communication
with the middleware.

Background User
Any communication between the MES object and the MES database is rout ed through the MES
middleware. The MES middleware uses a connection string to connect to the ME S database.
Whenever an MES user logs on to an application to start a session, the ID of the user is stored in the
Session table in the MES database. The Session table contains the user_id column that identifies the
user who started the session.
All the MES objects share a common session with the MES middleware.
The user ID available in the Session table is Null for the MES object. So, the system associates the
default user that is configured as a system attribute with a transaction.
The default user configured in the system can be non-MES user.

Version 6.0 73
MES Utilization Capability Object User Guide

C HAPTER 10
Troubleshooting
In This Chapter
UCO Error Codes ......................................................................................................................... 75
UCO Configuration Not A vailable When the MES Middleware Is Down ............................................. 76

UCO Error Codes


The error codes that might occur while working with t he UCO objects are described in the following table.
The error codes are stored in the ErrorCode attribute.
If a command generates a warning message, the ErrorCode attribute value remains 0 and the
ErrorMessage attribute shows the warning text.

Error Code Description

500 The command input source quality is not good.


0 No error.
-1 An unknown error. The error message contains the detailed information. Errors
reported as unknown errors can include errors during initialization of the
expression compiler, compilation of ex pressions, loading of raw reason code
expressions, and updating of OEE values.
-100 The connection to the MES middleware was lost.

-101 An error occurred while starting the MES client session.

-102 An error occurred while closing the MES client session.

-103 The MES database is not available.


-111 An expression evaluation error occurred.
-112 An error occurred when setting a raw reason exception.
-121 The entity name specified by an object container does not exist.
-152 An error occurred during a Start Job command. This indicates that the MES
system cannot process the request to start a job.
-154 An error occurred during a End Job command. This indicates that the MES
system cannot process a request to stop a job.

Version 6.0 75
MES Utilization Capability Object User Guide Troubleshooting

UCO Configuration Not Available When the MES Middleware


Is Down
The MES middleware must be running so that the ArchestrA IDE can connect to the MES database
during UCO configuration time. If the MES middleware is down, the UCO configuration tabs will not be
shown in Object Editor to prevent attempts at making UCO configuration changes.

76 Version 6.0
MES Utilization Capability Object User Guide

C HAPTER 11
UCO Attributes Reference
In This Chapter
Introduction to the UCO Attribut e Reference ................................................................................... 77
Table Legend ............................................................................................................................... 77
UCO Attribute Reference Table ..................................................................................................... 77

Introduction to the UCO Attribute Reference


The following table describes both the configuration and run time UCO attributes.
The following attribut es are not included in the table:
 Attributes that are common to all objects are not included in t he table. For information about common
attributes, see the Attributes Help. To access this help, click the Object Editor Help button. Then, i n
the Object Help window, click the Attribute s Help link.
 Hidden attributes. Hidden attribute names are prefixed with an underscore (_) and might be visible
within certain applications, such as the Object Viewer. Hidden attributes are generally used for
internal ArchestrA functionality and should be ignored.

Table Legend
The Config column specifies whether t he attribute can be configured using an option in the object editor.
The RT Access column describes how the attribute value can be accessed at run time. The possible
values are:
Supervisory
The attribute value can be changed using a script.
User
The attribute value can be modified by a user.
Read-Only
The attribute value cannot be changed.
None
The primitive is being deployed; however, the attribut e is not deployed at run time.

UCO Attribute Reference Table


Attribute Description Config RT Acce ss

BatchSize The BatchSize that is currently associated Yes Supervisory


with the Entity. Quality is calculated when User
input source is used. Quality will be Bad if
unable to read from the input source.
Value must be greater than 0.
CurrentOEEPerc ent Displays the current OEE percent value. No Read-Only

Version 6.0 77
MES Utilization Capability Object User Guide UCO Attributes Reference

Attribute Description Config RT Acce ss

CurrentPerformance Displays the current performance perc ent No Read-Only


Percent value.

CurrentQuality Displays the current quality percent value. No Read-Only


Percent

CurrentUtilization Displays the current utilization percent value. No Read-Only


Percent

DefaultProductionBatchSize This value is used by the Entity Model Yes Read-Only


Builder to configure the entity's default batch
size.
Default = 1
DefaultProduction This value will be used by the Entity Model Yes Read-Only
Rate Builder to configure entity default production
rate.
The value must be greater than 0.
DefaultProduction This attribut e will be used by the Entity Model Yes Read-Only
RateUoM Builder to configure entities. The possible
values for this selectable drop-down list are:
 hours/batch (default)
 minutes/batch
 seconds/batch
 batches/hour
 batches/minute
 batches/second

EnableProduction Determines if the production attribute Yes Read-Only


Attributes primitive should be created.
If set to True (checked) the Production
Attribute primitive will be added.
If set to False (unchecked) the Production
Attributes primitive will be delet ed.
Default = False (unchecked).

ErrorCode Displays an integer value that represents an No Read-Only


error that has occurred. A value of 0
ProdAttrs.ErrorCode
indicates no error. This value is set in
RejectedMessages. conjunction with the error message
ErrorCode (ErrorMessage).
ErrorMessage Displays readable t ext indicating an error has No Read-Only
occurred. This value is set in conjunction with
ProdAttrs.Error
the error code (E rrorCode).
Message
RejectedMessages.
ErrorMessage

78 Version 6.0
UCO Attributes Reference MES Utilization Capability Object User Guide

Attribute Description Config RT Acce ss

InError.Condition When an error occurs this attribute is set to No Read-Only


True. Will change to False when it is no
longer in error.
InputSource Displays the reference of the attribute you Yes Supervisory
want to input for the value of the production User
<PAName>.InputSource
attribute.
Whenever the production attribute input
source changes the SetHandler is used in
resolving the full tagname of the input
reference.
Item The Item that is currently associated with the Yes Supervisory
Entity. Quality is calculated when input User
source is used. Quality will be Bad if unable
to read from the input sourc e.
ItemClass The It emClass that is currently associated Yes Supervisory
with the Entity. Quality is calculated when User
input source is used. Quality will be Bad if
unable to read from the input source.
When a It emClass is specified in the UCO,
but does not match the configured ItemClass
in the database, the configured ItemClass in
the database will be used (the UCO
configured ItemClass ignored) and a warning
message is logged stating, ItemClass
specified is different from the existing
ItemClass for this item - ignoring ItemClass
specified.

ItemUOM Item. Quality is calculated when input source Yes Supervisory


is used. Quality will be Bad if unable to read User
from the input source.
When a It emUoM is specified in the UCO,
but does not match the configured ItemUoM
in the database, the configured ItemUoM in
the database will be used (the UCO
configured ItemUoM ignored) and a warning
message is logged stating, "Item UOM
specified is different from the existing
ItemUOM for this item - ignoring item UOM
specified."
LogUtilE vents Allows for stopping the UCO from logging Yes Supervisory
utilization events so that the events can be User
entered manually by an operat or using a
.NET controls-based UI (such as MES
Operator or a custom UI) or using MES Web
Portal.
If True, the UCO will automatically log
utilization events.

Version 6.0 79
MES Utilization Capability Object User Guide UCO Attributes Reference

Attribute Description Config RT Acce ss

If False, the UCO will stop logging utilization


events. Utilization events can be logged
manually. However, the UCO continues to
evaluate raw reason codes and updates the
object properties accordingly.
Operation Along wit h the WorkOrder attribute, defines Yes Supervisory
the job to be created when the S tart Job User
command is triggered. If left blank, the the
default operation from the system parameter
will be used.
Operator The Operator that is currently associated Yes Supervisory
with the Entity. Quality is calculated when User
input source is used. Quality will be Bad if
unable to read from the input source.

Previous RawReason Displays the name of the previous active raw No Read-Only
Code reason code.

80 Version 6.0
UCO Attributes Reference MES Utilization Capability Object User Guide

Attribute Description Config RT Acce ss

ProdAttrs.EndJob This command is available when you select No Supervisory


Cmd the Enable Production Attribute s check User
box in the Object Editor. Is used to end all
running jobs on the relat ed entity. When set
to True it will trigger the MES middleware to
do EndAllJobs on the related entity. This
database request will be executed at the
start of the next execution cycle.
Default value = False
The following rules apply:
 If set to True while another request is in
progress, the set will be rejected.
Request is a call to the middleware in
order to start (data entry job) or end a
job.
 Set to False will be ignored since the
actual runtime routine will take care to
reset it to False once the request
completes.
 The ErrorMessage and ErrorCode
attributes will reflect exceptions (only)
raised by the middleware and will
indicate the actual request
(PrepareProductionAttributes or
EndAllJobs)
 The ErrorMessage and ErrorCode are
reset any time either one of these
attributes is set to True.
 Informational (warning messages ) will be
logged to the Logger in case that some
unusual behavior was encountered while
completing the request.

ProdAttrs.Reset Cmd If an error has occurred during a job No Supervisory


command execution, resets the job User
commands and clears the error.
ProdAttrs.StartJob This command is available when you select No Supervisory
Cmd the Enable Production Attribute s check User
box in the Object Editor. Is used to start a
new data entry job. When set to True, the
names and values of the configured
production attributes will be marked to be
logged to the MESDB at the start of the next
execution cycle.
Default value = False
The following rules apply:

Version 6.0 81
MES Utilization Capability Object User Guide UCO Attributes Reference

Attribute Description Config RT Acce ss

 If set to True while another request is in


progress, the set will be rejected.
Request is a call to the middleware in
order to start (data entry job) or end a
job.
 Set to False will be ignored since the
actual runtime routine will take care to
reset it to False once the request
completes.
 The ErrorMessage and ErrorCode
attributes will reflect exceptions (only)
raised by the middleware and will
indicate the actual request
(PrepareProductionAttributes or
EndAllJobs)
 The ErrorMessage and ErrorCode are
reset any time either one of these
attributes is set to True.
 Informational (warning messages ) will be
logged to the Logger in case that some
unusual behavior was encountered while
completing the request.
ProdAttrs.StartJobOn This command is available when you select Yes Read-Only
Deploy the Enable Production Attribute s check
box in the Object Editor. When set to True,
on deploy, the object will automatically
handle starting a new data entry job. This
attribute can only be set at config time.
Default = False
RawReasonCode Used to display the name of the selected No Read-Only
active raw reason code.
RawReasonCode Displays the default reason for the current No Read-Only
DefaultReason active raw reason code.

RawReasonCode Displays the minimum time before activation No Read-Only


Delay for the current active raw reason code.
RawReasonCode Displays the description of the current active No Read-Only
Description raw reas on code.
ReadStatus The status of the Input using the reference No Read-Only
stored in <PAName>.InputS ource.
<PAName>.ReadStatus

82 Version 6.0
UCO Attributes Reference MES Utilization Capability Object User Guide

Attribute Description Config RT Acce ss

RejectedMessages. If True, acknowledges that the rejected No Supervisor


AckRejectedMessagesCmd messages have been viewed. The active User
rejected message subscription is removed
and a new one is established. Also, the time
stamp filter is set to the current time,
effectively clearing any previous rejected
messages. The command value is
automatically toggled back to False.

RejectedMessages.Count The number of rejected messages that No Read-Only


match the current filter attribut e values.
RejectedMessages. The MES entity by which to filter the rejected No Read-Only
Filter.Entity messages that will be retrieved. This will be
the object's parent entity.
This attribute is auto-set at run time by the
UCO. Its value should not be changed to
ensure correct retrieval of rejected
messages.
RejectedMessages. The rejected messages that occurred up to No Read-Only
Filter.MaxHours the number of previous hours entered for this
attribute will be retrieved.
The range of values is 1 to 100. The default
is 100. However, any values greater than
24 will cause the filter to behave as if the
value is 24. This is because, every hour, the
UCO resets the Time filter to the previous 24
hours.
RejectedMessages. The message type by which to filter the No Read-Only
Filter.MsgType rejected messages that will be retrieved. For
example, for a UCO, this filter will be set to
raw reas on code change events.
RejectedMessages. Only rejected messages that are more recent No Supervisor
Filter.Time than this time stamp value will be retrieved. User
At OnScan, the time stamp value is set to the
current time. During execution, this time
stamp is checked to see whether it is older
than 24 hours. If it is, it is reset to ensure that
rejected messages older than 24 hours are
not retrieved.

RejectedMessages. The string array of the rejected messages No Read-Only


Messages that match the current filter attribut e values.
The array is ordered wit h the most recent
message at the top (that is, with the first
index value). Time stamps are in the object’s
local time.

Version 6.0 83
MES Utilization Capability Object User Guide UCO Attributes Reference

Attribute Description Config RT Acce ss

RejectedMessages. Used to clear a rejected messages retrieval No Supervisor


ResetCmd error condition. The command does the User
following:
 Clears the ErrorCode and ErrorMessage
attributes.
 Sets the Status attribute to Ready.
 Re-s ubscribes to rejected message
events if the subscription has become
invalid due to the error.
RequiredQuantity The RequiredQuantity that is currently Yes Supervisory
associated with the Entity. Quality is User
calculated when input source is used. Quality
will be Bad if unable to read from the input
source.
Value must be greater than or equal
to 0.
Reset Note: In this version of the UCO, the Re set No Supervisory
command is not available. User

ResumeOnE rror Determines whet her raw reason code Yes Supervisory
expression errors are ignored at runtime. User
Default = False (unchecked).
If False, and an error/warning occurs when
evaluating a raw reason code’s expression,
no more raw reason code expressions will be
evaluated until the next scan.
If True (checked), the error/warning will be
ignored and the raw reason code’s
expression will evaluate to False.

Spare1 These four spare attributes can be used for Yes Supervisory
Spare2 additional context when logging utilization User
Spare3 events at run time. The user can configure
Spare4 the security classification for each spare in
the object editor.
StartQuantity The StartQuantity that is currently associated Yes Supervisory
with the Entity. Quality is calculated when User
input source is used. Quality will be Bad if
unable to read from the input source.
Value must be greater than or equal to 0.

84 Version 6.0
UCO Attributes Reference MES Utilization Capability Object User Guide

Attribute Description Config RT Acce ss

Status Displays the current status of the UCO. If the No Read-Only


status is in error the user must fix the error
RejectedMessages.
and set the reset attribute to True.
Status
More information about what caused the
status error can be retrieved from the
ErrorMessage attribute.
TargetJobProdRate The TargetJobProdRate that is currently Yes Supervisory
associated with the entity. Quality is User
calculated when input source is used. Quality
will be Bad if unable to read from the input
source.
Value must be greater than 0.
TargetJobProdRateUoM The Target Job P roduction Rate Unit of Yes Supervisory
Measure value must be one of the following User
predefined values:
 hours/batch
 minutes/batch
 seconds/batch
 batches/hour
 batches/minute
 batches/second

If the Target JobP rodRateUoM attribute uses


an InputSource to retrieve the value the
string value must match exactly, or the
ordinal value must be bet ween 1 and 6.
If the string value cannot be coerced into one
of the six predefined values, or if the ordinal
value is less than 1 or great er than 6, the
TargetJobProdRateUoM quality will be set to
Bad, and the Job will not be able to be
started from that UCO instance.
TargetOEEPerc ent This value will be used by the Entity Model Yes Read-Only
Builder to configure entity target OEE
percentage. Value must be 0 to 100 percent
in decimal form.
Default = 0.0.
TargetPerformance This value will be used by the Entity Model Yes Read-Only
Percent Builder to configure entity target
performance percent age.
Value must be 0 to 100 percent in decimal
form.
Default = 0.0.

Version 6.0 85
MES Utilization Capability Object User Guide UCO Attributes Reference

Attribute Description Config RT Acce ss

TargetQualityPercent This value will be used by the Entity Model Yes Read-Only
Builder to configure entity target quality
percentage. Value must be 0 to 100 percent
in decimal form.
Default = 0.0.
TargetUtilizationP ercent This value will be used by the Entity Model Yes Read-Only
Builder to configure entity target utilization
percentage. Value must be 0 to 100 percent
in decimal form.
Default = 0.0.

TimeEntered Displays the UTC time that current active raw No Read-Only
reason code changed.
For raw reason codes for which a minimum
time before activation has been set, the
TimeEntered is the same as the time at
which the raw reason code became active.
Some clients such as Object Viewer might
convert the time to local for displ ay purpos es.
TimeInRawReason Displays the total time t he current raw reas on No Read-Only
Code code has been active. This is the amount of
time from the TimeE ntered value and the
current time.
UseInputSource If set to True, the production attribute will be Yes Supervisory
set to the input value every scan cycle and User
<PAName>
the input source referenc e is used to retrieve
.UseInputSource
the production attribute value.
If set to False (the default), the user will be
expected to set the attribute value since the
input source reference is not being used.

UtilOEEDat aRefresh Sets the rate in whic h utilization and OEE Yes Supervisory
Rate data will be refreshed in the UCO. User
While this sets the rate at which the UCO will
poll for new data, no new data may be
available.
The minimum value is 15 seconds.
The default value is 00:01:00.0000000 (1
min).
WorkOrder Along wit h the Operation attribute, defines Yes Supervisory
the job to be created when the S tart Job User
command is triggered. If left blank, the the
default work order from the system
parameter will be used.

86 Version 6.0
MES Utilization Capability Object User Guide

A PPENDIX A
Glossary
Alarm Logger
The Alarm Logger provides the user with a centralized log of alarm information across multiple nodes in
a separate standalone utility. The Alarm Logger also provides access to distributed alarms.
Alarm On Error
Shows an alarm if, at runtime, an object expression is in an error state.
Alarm Priorities
Each configured alarm has a priority value associated with it. This value repres ents the severity of the
alarm and can range from 1 to 999, where 1 being the most severe.
ArchestrA
The distributed architecture for supervisory control and manufacturing information systems. It is an open
and extensible technology based on a distributed object -based design.
Attributes
An attribute is an additional user defined property for an item, job, entity, and so on, which supplies more
information about the item to the us ers of the MES system.
Authorized User
An authorized user is an ArchestrA IDE user who has the Galaxy permission of "User Configuration/ Can
Create/Modify/Delete Users."
Automatic Mode
The UCO is in Automatic mode if, when recording utilization events, the Log Utilization E vents attribute is
True.
In Automatic mode, the UCO will log raw reas on code transitions as utilization events to the MES
database against the entity (that is, the parent object to the UCO). If the Log Utilization E vents attribute is
False, the UCO is in Manual mode. The object will continue to evaluat e raw reason code transitions and
update the object attributes, but it will not log utilization events to the MES database.
Batch
A batch is an amount of production that is proc essed simultaneously. Batch is used to modify the
standard production time for a given amount of product. Standards are expressed either in time per
batch, or batches per time. If the amount of production is not an integral number of batches, the standard
production time is rounded up to what it would be for the next whole number of batches. For example, if
you bake cookies by the dozen, it takes as long to bake 13 as it does to bake 24, because you must still
bake the odd one for (about) as long as you bake a whole dozen.
Downtime
Downtime is the time an entity is not being utilized for production but is available to do so. The time an
entity spends stopped during a meal break, a weekend, or other time when there is no one intended t o be
available to operate it is not normally counted as downtime, even though the entity is stopped during
those periods.

Version 6.0 87
MES Utilization Capability Object User Guide Glossary

Entity
Plant assets that are used for production of goods. An entity can be a building, a location within a
building, a production line, a single machine, and so on. Physical entities are components that users log
in to on the shop floor to do work.
Entity Model Builder
The Entity Model Builder is an ArchestrA IDE extension for creating entities from your ArchestrA
equipment model that use the an MES object for configuring MES functionality, such as utilization, OEE
tracking, job production, and quality management support.
Galaxy
The entire application. The complete ArchestrA system that consists of a single logical namespac e
(defined by the Galaxy Database) and a collection of Platform Objects, Engine Objects, and other
Objects. One or more network PCs that constitute an automat ion system. This is referred to as the
Galaxy Namespace.
Galaxy Database
The relational database containing all persistent configuration information like Templates, Instances,
Security, and so on in a Galaxy Repository.
Galaxy Database Manager
The Galaxy Database Manager is a utility to manage your Galaxy. It can back up and restore galaxies if
they become corrupt or reproduce a galaxy on another computer. The Galaxy Database Manager is part
of the System Management Console (SMC).
Galaxy Repository
The soft ware subsystem consisting of one or more Galaxy Databases.
Galaxy Object
The Object that represents a Galaxy.
Hierarchical Name
The name of the object in the context of its container object. For example, Tank1.OutletValve, where an
object called Tank1 contains the OutletValve object.
Human Machine Interface (HMI)
Tool that allows a person to control equipment remotely.
IDE
Integrated development environment.
Instance
An Object, which is a unique representation of a template that exists in run time.
Instantiation
The creation of a new Instance based on a corresponding Template.
Item
The basic unit produced or consumed during production. Items can be referred to as a part, component,
piece, and so on in different manufacturing environments.

88 Version 6.0
Glossary MES Utilization Capability Object User Guide

Job
The work order instance of an Operation, scheduled to entities or groups of entities.A user on the plant
floor logs into a job to perform work.
Logger
Application that records all ArchestrA problems or errors. Log entries can be viewed usi ng the Log
Viewer function in ArchestrA System Management Cons ole.
Log Viewer
A Microsoft Management Cons ole (MMC) snap-in that provides a user interfac e for viewing messages
reported to the LogViewer.
Lot
Group of consumed or produced items.
Manual Mode
The UCO is in Manual mode if, when recording utilization events, the Log Utilization E vents attribute is
False.
In Automatic mode, the UCO will log raw reas on code transitions as utilization events to the MES
database against the entity (that is, the parent object to the UCO). In Manual mode, the object will
continue to evaluate raw reason code transitions and update the object attributes, but it will not log
utilization events to the MES database. These events have to be logged manually.
MES
Manufacturing Execution System (MES) is a complete set of functional capabilities for consistent and
effective execution of operational activities.
MES Middleware
The MES middleware enables communication between the MES client components, including MES
objects, and the MES database.
MES Middleware Proxy
The MES middleware proxy enables communication bet ween an MES client component, including MES
objects, and the MES middleware server.
Object
Any template or instance found in a Galaxy Database. All objects are stored as separate components in
the Galaxy Repository.
Object Model Attributes
Defines the details of the interface content between manufacturing control functions and other enterprise
functions.
Object Name
Describes the name of the ArchestrA object instance that triggered the event.
Object Type
Describes the type of the ArchestrA object instance that triggered the event. These are the names of the
PEM.
OEE (Overall Equipment Effectiveness)
The efficiency calculation implemented in the MES is based on the industry standard OEE (Overa ll
Equipment Effectiveness) efficiency methodology.

Version 6.0 89
MES Utilization Capability Object User Guide Glossary

OEE is determined as follows:


OEE = Availability x Quality x Performance
Operation
Defines a task used in t he production of an item and the items consumed and produced as a result of the
task. Includes the entities used to complete the task and labor / machine time estimates.
Package File (.aaPKG)
The standard description file that contains the configuration data and implement ation code for one or
more object instances or Templates. The file extension is .aaPKG.
PLC
Programmable Logic Controller.
Process Control
The use of the computer to control industrial processes, such as oil refining and steel production.
Process
Defines the method of producing an item. A process definition will link the item to be produced with
operations, steps, specifications, physical entities, and routings that determine the flow of material
between entities and operations.
Production
The quantity or amount of an item that was produced or processed as the result of the work that was
done on the shop floor.
Properties
Data common to all attributes of objects, such as name, value, quality, and data type.
Raw Reason Code
Machine utilization raw reason codes can be sent directly from an entity to MES via a UCO. Depending
on how the raw reas on code is configured in the UCO or in MES Client, it will create a new utilization
event in the MES database, using the utilization reason to which the raw reason code was mapped.
One and only one raw reason code can be active at a time. If more than one raw reason code expression
evaluates to True simultaneously, the active raw reason code is the one with the highest priority. The
priority is determined by their order in the raw reas on code list and the Minimum Time Before Activation
setting in the UCO instance.
If a raw reason code that is not configured for the entity is received, the Unknown Reas on utilization
reason, which is configurable for each entity or UCO instance, is used.
Rejected Messages
Rejected messages are object messages that are rejected by the MES middleware when the object is in
Without Response mode. The rejected messages are stored in the MES database and can be viewed in
MES Client, through the hosting object, or through LMX-based read/ write sources, such as ArchestrA
Object Viewer. The middleware can reject messages due to errors, such as network errors or invalid
inputs.
Run Time
The time during which data is fetched by the control unit and actual processing is performed in the
arithmetic-logic unit.

90 Version 6.0
Glossary MES Utilization Capability Object User Guide

Shift
Defines breaks and work timings for different entities. You can define different shifts and breaks for
different entities.
SMC Log Viewer
System Management Console (SMC) Log Viewer is used to troubleshoot PEM objects.
Sublot
Subordinate group of consumed or produced items.
Tagname
The name assigned to a variable defined in the Tagname dictionary.
Template
An object containing configuration information and soft ware templates used to create a Derived
Templat e and/or Instance.
Trigger Input
When a Trigger Input is used, the input status is checked at every scan.
Triggering
An event trigger associates the object with a Boolean attribut e that acts as the object trigger.
Units Of Measure
The measure used for items in MES.
User Defined Object
An Automation Object creat ed from the User Defined Template. This template does not have any
application-specific attribut es or logic. You must define these attributes and associated logic.
Utilization Event
A utilization event indicates the current operational state of the entity. An entity is always considered to
be in a utilization event. The events that are typically of interest are those that indicate that the entity is
down or when it is idle when it should be running.
If so configured, the system can set an entity’s event automatically based on changes in the operational
state of the entity.
Production operat ors can also manually change the event that an entity is in when the condition or state
of the entity changes. When changing to a new event, the operat or assigns a utilization reason to the
new event. The reason specifies the entity’s utilization state and the reason for that state. For example,
the utilization reasons Running - Normal Speed, Running - High Speed, and Running - Low Speed all
indicate a utilization state of Running. However, each reason indicates a running speed.
Utilization Reason
Utilization reasons describe the current condition of an entity and associate eac h reason with a utilization
state. A reason group is a category of reasons. For ex ample, the reason Bottle Jam can belong to the
reason group Bottle Descrambler Down, and results in a Downtime utilization state. On the production
floor, a reason can be selected by a PLC, an input/out put (I/O) connection to a devic e, or an operator.
The utilization reasons that operators can assign to events during production are created during system
configuration.

Version 6.0 91
MES Utilization Capability Object User Guide Glossary

Utilization Reason Group


To help production operators navigate a large list of utilization reasons, reasons can be assigned to
utilization reason groups during system configuration.
In the MES applications or application objects, the reason groups are displayed as expandable nodes in
the reason list.
It is helpful to understand the difference between utilization states and utilization reason groups. While
both terms represent an aggregation of utilization reasons, stat es are sets of reasons that imply
something about the physical situation of the entity, with respect to the way it is operating or not
operating. Utilization reason groups are strictly a navigational aid for lists of utilization reasons in the user
interface.
Utilization State
To support utilization tracking, entities are considered to be in utilization states, such as Running, Idle,
Down, or Maintenance. It is the utilization state that determines if the event duration is classified as
Performance, Utilization, or Neither.
During system configuration, utilization states are assigned to utilization reasons. Therefore, an entity’s
state is defined when a utilization reason is assigned to an entity’s event.
Without Response Mode
Without Response mode indicates to the object to execute all transactions through Microsoft Message
Queuing (MSMQ) so that the utilization events are properly resolved and recorded.
In Without Response mode, the object does not receive the notifications about the delivery status of
messages for its calls. The MES middleware pulls the event logs from the queue and records them in the
MES databas e.
Work Order
A work order is a requirement to produce a certain amount of an item, comprising one or more jobs. A
work order may also be generated in house to restock inventory for an item that your company produces
and later uses as a component for another item.

92 Version 6.0
MES Utilization Capability Object User Guide

Index
A C
Alarn on Error attribute • 42
commands
ArchestrA • 7
End Job • 54, 55
equipment model • 7, 15
production • 54
galaxy, importing a UCO package into • 9
production, enabling • 52
UCO instances, adding to objects and areas
• 57 Reset (production commands) • 55
attributes, UCO specifying value or input source • 16

default production rate • 49 Start Job • 54, 55


error attribute values, resetting • 70 counters, migrating to OCO • 11, 12, 13
counters, production • 55
inheritance • 16, 18
job production • 51
locking • 17
D
Default Raw Reason Code attribute • 42
OEE • 47
downtime, recording • 70
OEE performance target attributes • 49
production • 53
E
raw reas on code • 26 End Job command • 54, 55
reference table • 77 entities
security, setting • 17 added to MES database from UCO object •
specifying value or input source • 16 60

utilization • 21 capabilities and properties from UCO object


utilization general • 42 • 61
creating by running Entity Model Builder •
utilization, run-time • 67
62
Utl/OEE Refresh Rate • 49
Automatic mode, logging utilization events • 70 name determination • 61
availability (OEE) • 47 object attribut es, where to maintain • 64
A vailability Percent attribut e • 49 swapping parent-child positions • 64
updating by running Entity Model Builder •
B 63
Batch Size attribute (default production rat e) • Entity Configuration tab • 15, 47
49 Entity Model Builder • 59
Batch Size attribute (production) • 53 running • 62
batches and OEE • 48 error attribute values, resetting • 70
error codes, UCO run-time • 75

Version 6.0 93
MES Utilization Capability Object User Guide Index

error messages stopping and restarting, effect on the UCO •


raw reas on code validation • 32 73
events, utilization • 22, 24 UCO configuration, effect when middlewa re
expressions, raw reason codes is down • 76
Boolean value, evaluating to • 29 MES middleware proxy • 9
entering • 28 Microsoft Message Queuing (MSMQ) • 18, 69

evaluation quality • 31 Anonymous Logon user • 19

proper structure • 30
validation of • 30 O
OEE (Overall Equipment Effectiveness) • 47

G attributes • 47

galaxies batches, effect on OEE • 48

importing a UCO package into • 9 concepts • 47


General tab • 15, 21 default production rate attributes • 49
lots, effect on OEE • 48
I performance target attribut es • 49
input source, specifying for an attribute or Utl/OEE Refresh Rate attribute • 49
command • 16 OEE Percent attribute • 49
instances • 15 Operation attribute (production) • 53
adding to ArchestrA objects and areas • 57 Operator attribut e (production) • 53
derived • 15
planning • 16 P
Item attribute (production) • 53 performance (OEE ) • 48
Item Class attribute (production) • 53 Performance Percent attribute • 49
Item Unit of Measure attribute (production) • 53 Production Attribute commands • 51, 54
enabling • 52
J job, ending • 54, 55
jobs • 51 job, starting • 54, 55
job, starting on deploy • 55
L Production attributes • 51
Log Utilization E vents attribute • 43, 70 enabling • 52
lots and OEE • 48 Production Attributes tab • 15, 51
production counters • 55

M migrating to OCO • 11, 12, 13

Manual mode, logging utilization events • 70 no longer supported • 11


MES entity model • 7 production run-time operations • 65

building • 62
deploying • 62 Q
entity hierarchy • 15 quality (OEE) • 48
MES middleware • 9, 69 Quality Percent attribute • 49

background user • 73

94 Version 6.0
Index MES Utilization Capability Object User Guide

OffScan behavior • 70
R OnScan behavior • 70
Rate attribute (default production rate) • 49 overview • 70
Rate Unit of Measure attribute (default resetting the subscription for • 70
production rate) • 49
retrieval failures • 70
raw reas on codes • 23
shutdown behavior • 70
attributes • 26
Required Quantity attribute (production) • 53
changes during run time • 69 requirements, system • 9
configuring • 24 Reset command (production) • 55
default code for the UCO • 18 resetting • 55
Resume on Error attribute • 42
default reason group and reason • 26
run time
deleting • 32
attributes reference table • 77
description • 26
error attribute values, resetting • 70
error messages, validation • 32
error codes, UCO • 75
evaluation order, setting • 31
production operations • 65
exporting • 33, 37
raw reas on code changes • 69
expression • 26, 28, 29, 30, 31
status • 69
importing • 33, 37
UCO deployment • 67
importing, overwrite behavior • 39
UCO execution • 67
importing, validation errors • 40
utilization attribut es • 67
inheritance • 18
utilization event logging • 69
minimum time before activation • 27
prompt for manual utilization reason
selection • 27
S
Spare comment attributes • 43
renaming • 32
Start Job command • 54, 55
utilization reasons, allowable • 28
Start Quantity attribute (production) • 53
XML file, format • 34 system requirements • 9
XML file, sample • 33
reason groups, utilization • 23
T
reasons, utilization • 23
Target Production Rate attribute (production) •
allowable • 18, 28 53
default assigned to a raw reason code • 18 Target Production Rate Unit of Measure
defined in the MES database • 18 attribute (production) • 53
rejected messages templates • 15
acknowledging • 70 derived • 15

alarms • 70 planning • 16
column structure • 72
failover behavior • 70 U
history • 70 utilization attribut es • 21

managing in MES Client • 73 general • 42

Version 6.0 95
MES Utilization Capability Object User Guide Index

run-time • 67 logging during run time • 69


Utilization Capability Object (UCO) Utl/OEE Refresh Rate attribute • 49
ArchestrA equiment model, where UCO can
be added • 15 W
ArchestrA equipment model and MES Without Response mode • 18, 19, 69
entities • 7 Work Order attribute (production) • 53
Automatic mode • 70
configurable areas • 7, 15 X
counters, migrating to OCO • 11, 12, 13 XML file, raw reason codes
instances • 15 exporting • 37
instances, adding to objects and areas • 57 format • 34
introduction • 7 importing • 37
Manual mode • 70 importing, overwrite behavior • 39
MES entity model • 7, 15 importing, validation errors • 40
middleware connection, effect of stopping sample • 33
and restarting • 73
objects, how added to MES database as
entities • 60, 61
package, importing into an A rchestrA
galaxy • 9
production counters, migrating to OCO • 11,
12, 13
production counters, no longer supported •
11
run-time error codes • 75
run-time operations • 65
run-time status • 69
system requirements • 9
tabs in ArchestrA Object Editor • 15
tasks associated with • 7
templates • 15
upgrading from previous versions • 10
utilization concepts • 22
raw reas on codes • 23
utilization events • 24
utilization reason groups • 23
utilization reasons • 23
utilization states • 23
utilization events
logging automatically or manually • 70

96 Version 6.0

You might also like