Mes2.0 Sepasoft
Mes2.0 Sepasoft
Mes2.0 Sepasoft
Table of Contents
2 Documentation Organization 13
3 MES Products 15
3.3 SPC 16
3.4 Recipe/Changeover 17
4 Getting Started 17
5 Installation Guide 20
11 Videos 2895
13 Glossary 2903
13.1 A 2904
13.1.1 Anderson Darling Test 2904
13.1.2 API 2904
13.2 B 2904
13.3 C 2904
13.3.1 CD-Key 2905
13.3.2 CSV 2905
13.4 D 2905
13.4.1 Data Point 2905
13.5 E 2906
13.5.1 EAN 2906
13.5.2 ERP 2906
13.6 F 2906
13.6.1 EAN 2906
13.6.2 ERP 2907
13.7 G 2907
13.7.1 GS1 Standards 2907
13.7.2 GTIN 2907
13.8 H 2908
13.8.1 HMI 2908
13.9 I 2908
13.9.1 Individual Control Charts 2908
13.10 J 2908
13.11 K 2908
13.12 L 2909
13.12.1 LAN 2909
13.12.2 LCL 2909
13.12.3 LEAN 2909
13.12.4 Lean Six Sigma 2909
13.13 M 2909
13.13.1 MES 2909
13.13.2 MOM 2910
13.14 N 2910
13.14.1 Normal Distribution 2910
13.15 O 2911
13.15.1 OEE 2911
13.15.2 OIT 2911
13.15.3 OPC Server 2911
13.15.4 OPC-UA 2911
13.16 P 2911
13.16.1 PLC 2912
13.16.2 PLM 2912
13.16.3 PPM 2912
13.16.4 Python dictionary 2912
13.17 Q 2912
13.18 R 2912
13.18.1 Regex 2913
13.18.2 REST 2913
13.18.3 RS-232 2913
13.19 S 2913
13.19.1 SCADA 2914
13.19.2 Six Sigma 2914
13.19.3 SOA 2915
13.19.4 SPC 2915
13.19.5 SUDS 2915
13.20 T 2915
13.20.1 TEEP 2915
13.21 U 2916
13.21.1 UCL 2916
13.21.2 UPC 2916
13.22 V 2916
13.22.1 VPN 2916
13.23 W 2916
13.24 X 2916
13.24.1 XBarS chart 2917
13.25 Y 2917
13.26 Z 2917
Manufacturing Execution Systems (MES) software is used to supervise and track work on a
plant floor. Our MES Modules offer vertical software solutions built on the power of the Ignition
platform. It provides functions such as resource management, detailed scheduling, dispatching,
production analysis and downtime management, product tracking and genealogy, monitoring
recipes, quality management, variance tracking, real-time predictive analysis, and more. MES
is the layer between SCADA and ERP systems.
Sepasoft Support
Open a ticket with our support team
Email us
Call us toll free at (800) 207-5506, or at (916) 939-1684, if you’re calling from
outside the U.S.
Or learn all about getting trained at our Learning portal
2 Documentation Organization 13
MES Platform 2.0
2 Documentation Organization
This comprehensive resource gives a broad overview of our MES Software, the basic
instructions about its configuration, along with information on design and coding. It is intended
for developers and those looking for detailed technical information. Every effort has been made
to ensure that this document is an accurate representation of the functionality of MES. The
deployment instructions included can help you get started with MES development as soon as
you download. All of the MES modules are built on the Ignition platform.
The document repository is broken into two main sections....
14
MES Platform 2.0
We recommend using the online version of our user manual rather than downloading
it's PDF since we are updating it daily. If you chose to use the PDF, click on the
icon in the sidebar.
3 MES Products 15
MES Platform 2.0
3 MES Products
Click on the logo to direct you to corresponding module description. Also see the Sales Info
button for each modules.
Sales Info
Sales Info
3.3 SPC
Sales Info
16
MES Platform 2.0
3.4 Recipe/Changeover
Sales Info
Sales Info
Sales Info
4 Getting Started 17
MES Platform 2.0
4 Getting Started
Online Help
You can access Online Help from the Ignition Gateway and the Designer. To access online
Help from the Gateway, go to the Configure section and select System > User Manual.
To access it from the Designer, click the F1 key or select Help > Help from the top menus.
18
MES Platform 2.0
MES Training
Explore a broad overview of Sepasoft’s MES modules . By taking a training course taught
by one of our experts, you’ll learn key skills and how to apply them to real-world projects .
Get an overview of OEE, TEEP, downtime, SPC, recipe management, and track and trace.
The course covers installation, production model configuration, analysis, modifying user
screens and reports. In-Person Training is also available. For more information go to MES
Training.
Learn
You can watch the MES training videos, test your knowledge, and participate in our new
credential program.
When you need information on any given feature, you can read about the feature here in
the User Manual, then go to the same section in the Video Library course list to watch the
related video.
When there is a corresponding video for a feature description, you will see a video link as
follows:
MES Video
Support Team
For one-on-one help from our support team, go to the Support homepage and submit a
Ticket. One of our Support engineers will follow up with you quickly. You can reach us
during business hours 8am-5pm PST at 1-800-207-5506 . Support charges may apply. 24-
hour support is also available, at an additional fee.
E-mail support is available at [email protected] .
19
MES Platform 2.0
Knowledge Base
Search and view all the Knowledge Base articles for troubleshooting, known problems, and
workarounds.
Other Resources
White Papers and Articles
Webinars on Demand
Tip Sheets
5 Installation Guide 20
MES Platform 2.0
5 Installation Guide
This is a guide to installing the MES modules. For more information on the modules
themselves, please see the Module section.
The MES Modules sit on top of the Ignition platform by Inductive Automation. If you do
not have Ignition already installed, please download the current version of Ignition
from the Inductive Automation web-site downloads page.
21
MES Platform 2.0
Once you have the modules downloaded, log in to the Ignition Gateway webpage and select
Configuration > Modules from the menu.
22
MES Platform 2.0
23
MES Platform 2.0
Choose the driver for the database you plan on using. In the example, we have chosen the
MySQL ConnectorJ.
Give the connection a name, specify the connect URL, and the credentials to connect. Take a
look at this example:
Name: MES
Connect URL: jdbc: mysql://localhost:3306/test
Username: root
Password: mysql
Once you have the information entered in click on the Create New Database Connection
button to finish creating the connection.
Verify the connection is valid before continuing to the next section. Now we have a database to
store the MES data in.
24
MES Platform 2.0
25
MES Platform 2.0
Once a database connection is created, and if only one database connection exists, then it will
be automatically selected to be used by the MES modules. If more than one database
connection exists, then the desired database connection can be selected to be used by the
MES modules as shown below
OEE, downtime and schedule data is stored in databases external to Ignition. Production
and downtime data is stored in the runtime db during a production run. Production and
downtime data is summarized and saved in the analysis db.
5.3.1 Authentication
Runtime Database
The Runtime datasource points to the database where production and downtime data is stored
during a production run. During a production run, data is logged every minute or partial minute
if a downtime event occurs, so a large amount of data is stored in this database. Typically this
database is local to the site running the MES Modules.
The runtime database is not used for the Track and Trace Module.
26
MES Platform 2.0
Analysis Database
The Analysis datasource points to the database where all final MES data is stored. For
example, the OEE module stores summarized production and downtime data here that is used
for analysis.
27
MES Platform 2.0
Tip
In determining whether to keep the runtime and analysis databases separate,
consideration should be given regarding the need to have separate database backup
and archiving schemas. Recommendation here is to keep the runtime and analysis
databases the same. This allows for simple SQL joins if any custom SQL queries are
required in your application.
We strongly recommend keeping the MES data in a separate database from any other
data that you may store as part of custom ignition applications. Keeping them
separate ensures that table schemas are not modified that may break the MES
Module functionality. It also provides the ability to troubleshoot database connection
issues through the Ignition Gateway by identifying the source of mal-formed queries
that may be affecting Gateway performance.
28
MES Platform 2.0
Info
The recommended procedure to change the database on an existing system, is to
stop current production in the MES system, disable the production model in the
designer, change the data setting, re-enable the production model and restart
production.
1. First let's download the module from Sepasoft downloads page. Under the modules
section, you will find a section at the bottom called MES Modules where you can pick
which the module called Production Simulator-module.modl.
Module Installation
29
MES Platform 2.0
2. Once you have the module downloaded, log in to the Ignition Gateway webpage and select
Configuration > Modules from the menu. There you can install modules (.modl files) one at a
time.
3. Scroll down to the bottom of the list and click on Install or Upgrade a Module....
4. Browse for the simulator module and click Install. Now that the module is installed, we have
to add a device to Ignition that acts like a PLC.
5. In the configuration area select OPC-UA > Devices from the menu.
30
MES Platform 2.0
31
MES Platform 2.0
Once the ZIP file is downloaded, unzip it to any location. The contents should look like the
following:
You will find 8 CSV files inside of the Production Simulator Files folder.
32
MES Platform 2.0
33
MES Platform 2.0
There is a separate project backup (.proj file) for each MES Module. Now to install each sample
project, login to the Ignition gateway configuration page. In there on left side configuration, go
to Projects.
34
MES Platform 2.0
There you can see all the projects, Click on the Upload project from a *.proj backup file...
link, choose the *.proj backup file.
Then click on the Upload button and make sure that the authentication and the default
database are corrected, if there are no match on the server.
Choose the default authentication profile and press save. Now when you log into Ignition
designer, you can see the screens provided by the sample project.
35
MES Platform 2.0
Once all of the projects are installed we need to open the Ignition Designer to upload the
images since the project uses icons that don't come with Ignition. Launch the Ignition Designer
and select any project to edit. In the designer choose Tools > Image Management from the
top menu.
36
MES Platform 2.0
Navigate to the images folder inside of the project backup you downloaded. Select every folder
and image inside of the images folder and press Open.
Now all of the images we need are loaded.
37
MES Platform 2.0
5.6.2 Licensing
The MES license can be purchased along with, or separately from, the Ignition license. Despite
the modular licensing, each Ignition server only has a single CD-Key and license file. That is,
there is a single license file that dictates which modules are current activated.
When module(s) are purchased, you will receive a CD-Key - a six digit code that identifies your
purchase. You then use this CD-Key to activate the software through the Ignition Gateway.
Activation is a process by which the CD-Key and its associated parameters get locked to the
machine that you are activating. If you adding an additional module, your account will be
updated, and you can re-use your existing CD-Key to activate the new features. For this
reason, if you purchased the MES module separately from the Ignition server, the MES license
will have to be added to your existing CD-Key.
It is possible to inactivate your CD-Key, freeing it for activation on a different machine.
38
MES Platform 2.0
License Description
Machine One active OEE calculation per machine license with downtime collection for an
unlimited number of child cells (sub-machines)
Site Unlimited OEE calculations per physical production site and Ignition server
license
Enterprise Connect multiple MES Ignition Gateways across your entire enterprise to form a
large, centrally managed MES solution. Analyze MES data from multiple
production facilities at the enterprise server. One license per Ignition gateway
server is required
License Description
Machine One active operation (task) per machine license with unlimited segments (sub-
tasks) under the operation
Site Unlimited active operations per physical production site and Ignition server license
39
MES Platform 2.0
License Description
Machine Sample collection, SPC rule monitoring, sample scheduling and viewing samples
in control charts are limited to one machine per machine license. Includes basic
control charts.
Site Unlimited sample collection, SPC rule monitoring, sample scheduling and viewing
samples in control charts per physical production site and Ignition server license.
Includes basic and advanced SPC control charts (advanced control charts include
process capability, process performance and box and whisker).
License Description
Site Unlimited active recipes per physical production site and Ignition server license
5.6.7 Activation
Activation, as mentioned above, is the method by which a cd-key is locked down to the install
machine, and the modules are notified of their license state. It is a two step process that can be
performed automatically over the internet, or manually through email or the Inductive
Automation website.
Step 1 - Enter CD-Key
When the software is purchased, you are provided with a six digit CD-key. After logging into the
gateway configuration, go to Licensing > Purchase or Activate, and select "Activate".
Enter your CD-key.
40
MES Platform 2.0
The Sepasoft MES Product Suite provides a modular approach to building your own Enterprise
Class MES solution. We provide you with OEE/Downtime Tracking, SPC, Production
Scheduling, Recipe Management and Track & Trace modules that can function and operate by
themselves, or integrate seamlessly when installed together. The modules provide everything
needed to build and deliver a stand-alone MES application, or can be integrated quite nicely
with third party ERP, Inventory Management and Asset Management systems. The MES
modules form an additional layer on the Ignition software stack, extending the standard
functionality and also allowing for a rich and powerful way to customize the MES
implementation to deliver virtually anything required for your MES solution.
42
MES Platform 2.0
The Sepasoft MES Solution will not provide everything you need, but it will get you close to
your goal and very quickly there. What is not provided can then be easily implemented using
the standard ignition components and scripting functions. Whatever your need, you can be
confident that the Sepasoft MES / Ignition solution will allow you to create the MES solution that
your business needs.
43
MES Platform 2.0
44
MES Platform 2.0
MES system is not the system of a plant floor and it is not an ERP system. Manufacturing
execution systems or manufacturing operations management (MOM) software is modeled after
the ISA-95 standard and is designed to bridge the communication between the plant floor and
management in executive levels. Most companies have a little of any success in standardizing
all the data in MES layer. Ask yourself, how is your company handling MES data today. Do you
have separate SPC systems, track and trace on paper,settings managed at local operation
interfaces, spreadsheets using schedules? The data coming from different sources can create
confusion and system which doesn't work together cause a lot of frustration. The result is a loss
of money, time and quality. So what is missing here? The answer is a fully integrated unified
MES solution where you can get all your MES data in one place, on one screen. Now with
Sepasoft MES you could finally do just that.
45
MES Platform 2.0
MES operates across multiple function areas, for example, management of product definitions
across the product life-cycle, resource scheduling, order execution and dispatch, production
analysis and downtime management for Overall Equipment Effectiveness(OEE), Product
Quality, Track and Trace.
MES creates the 'as-built' record, capturing the data, processes and outcomes of the
manufacturing process and maintaining the system of record. This can be especially important
in regulated industries, such as food and beverage or pharmaceutical, where the
documentation and proof of processes, events and actions may be required.
The idea of MES might be seen as an intermediate step between, an Enterprise Resource
Planning (ERP) system, and a Supervisory Control and Data Acquisition (SCADA) or process
control system, although historically, exact boundaries have fluctuated. Our MES solution is
targeted at the Plant Operations layer in manufacturing systems, providing flexible methods of
interacting with the ERP system and the plant equipment. According to ISA-95 models, plant
operations comprise Production Operations, Inventory Operations, Quality Operations and
Maintenance (or Engineering) Operations. In each of these areas, our MES Product suite has
modules that provide the necessary functionality.
MES is the factory floor execution system. It is the layer in which the operators directly interact
to step through the execution of the work flow to produce or repair product. The list of work to
be performed, specific instructions to execute the work, data points to be collected, quality
inspections of the work, sign off’s indicating the work is complete, are all performed within this
layer.
46
MES Platform 2.0
MES provides the workflow, visibility and event notification required to ensure that
manufacturing is meeting enterprise information demands. Simultaneously MES reduces non
value-add activities, increases data accuracy and provides the ERP system with real-time data
needed to maximize enterprise processing, planning and scheduling activities.
MES system acts as a messenger between the factory floor, corporate engineering (PLM), and
corporate planners / schedulers (ERP). When operator requires data from the ERP or PLM:
initiates the request within MES; the MES system then connects to the appropriate system to
retrieve and display the information.
With Sepasoft MES, now you can have a system that is capable of being friendly with your ERP
system sharing production schedule with all your departments, reviewing numbers, info and
various types of data in a unified system without any need to compare paper reports. The
connected docs would help you to relate the data that is used during the manufacturing
processes. All modules integrate seamlessly with the Ignition HMI and SCADA softwares. You
can achieve true collaboration and access all your data from one unified system.
47
MES Platform 2.0
In this Page
Enterprise Architecture
Redundant Architecture
How you can do redundancy on Ignition servers?
Standard Architecture
A lot of people get annoyed with having a single set of servers at the data centers for all the
production sites. The problem with this is that if a site loses communication to the central
server, it's going to be blank and no longer it can collect the MES data. So we should have
servers at each local production sites.
Now we have a local database for each production site. How can we get the MES data in the
local data center reflect in the global data center also? That's where a setting in the MES
modules comes into play. There is a way to perform all the data analysis locally as well as
remote. All three production sites storing the information locally, push the data up to the data
center. If anyone of them lose connection to the data center then we can use the cache it had
on the local database to have a backup.
48
MES Platform 2.0
49
MES Platform 2.0
All the configurations and the screens for each clients are going to be in a single server. So
within this site you can open up any number of runtimes inorder to view the MES data, to start
production run and to collect samples. You can also open up a client at home through VPN
connection or do a connection to the local LAN there. It's a very simple architecture and its
common for companies who have independent sites where they wanted to work on themselves.
50
MES Platform 2.0
implementing these interfaces. The standard can be used to reduce the effort associated with
implementing new product offerings. It is an excellent starting point for successfully
implementing interfaces between enterprise (ERP) and control systems (SCADA) through the
MES Layer.
ISA originally stood for Instrument Society of America and as a group, they have set many
standards used for automation. Today, ISA have evolved into more than just instruments and
beyond America, and as a result changed their acronym to stand for International Society of
Automation.
The Sepasoft OEE 2.0 and Track and Trace Modules are specifically built around the ISA-95
standard that was developed to automate the interface between enterprise financial systems
and control systems on the plant floor. Information that the top level system or ERP (Enterprise
Resource Planning) has about upcoming production requirements is needed on the plant floor.
Likewise, some of the production details from the plant floor is valuable at the ERP level.
Plant floor control systems are designed to control processes and machines and are not well
suited to handle much production data. They can make control decisions in the 5ms to 200ms
range, but have limited historical storage and database capabilities. ERP systems tend to be
more transactional based and are well suited to processed financial, inventory, receivables, etc.
They do a great job of accepting orders, checking if additional raw material should be ordered,
paying vendors, reporting and etc. that can be updated anytime during a day, week, month,
quarter or even year.
Both the speed of the plant floor control systems and the planning and tracking ability of an
ERP system is needed in the middle ground. This middle ground is commonly referred to as
MES (Manufacturing Execution System) and MOM (Manufacturing Operations Management).
The objectives of the ISA-95 standard are to provide a consistent operational model and
terminology that is a foundation for the different levels to communicate. In addition, systems on
the same level can communicate in a consistent manner. It was developed to be applied in all
industries and all sorts of batch processes, continuous processes and discrete manufacturing.
51
MES Platform 2.0
In this era of manufacturing, data stored in proprietary systems or in systems where it requires
hours in custom programming to share data between systems, will not provide what is needed.
In this era, manufacturing information systems must be data centric solution. Operations has
their wish list and the cost, schedule and risk to create such a system is monumental and as a
result typically doesn't happen. In other cases, funding is approved and the project is started,
but it falls short of expectations. There has to be an easier way!
The Sepasoft OEE 2.0 and Track and Trace Modules are aligned with the ISA-95 model. If we
started from scratch and developed our own, which was tempting because modeling after the
ISA-95 standard is not an easy task, we would be yet another company with a different model
that others have to learn and adapt to. If we did, we would be doing our customers and the
industry a dis-service.
52
MES Platform 2.0
53
MES Platform 2.0
The image below shows how Process Segments are used by Operations Segments and how
Operation Definitions refer to Operations Segments. Collectively, these are in the definition
side. They are only created or modified when users are defining their production process.
On the production side, Operations Response and Response Segments are created when the
operator begins production. As a result, there will be a set of Operation Response and
Response Segments for each production run.
6.7.3 Resources
Any task that is done during manufacturing, requires resources. Resources can be material,
equipment and personnel. The image below shows a basic task of Bottling Wine and has three
resources of Wine (material), Bottling Line 1 (equipment) and Bottling Operator (personnel). It
also shows the resource Bottled Wine (material) that was created from the task.
54
MES Platform 2.0
If more detail is desired, then more resources can be added to the Bottle Wine task. Below we
see Bottles, Corks and Labels, all of which are material, have been added. Also, another
Inspector has been added as personnel. There is no limit to the number of resources that can
be added. However, keep in mind that details about the resources have to be entered during
production impacting the production staff.
Equipment Resources
Equipment
Any automated production or processing that is done requires equipment. Manual production or
processing is done at a location such as unloading at a dock. The dock is the location where
the production or processing is taking place. It can also be manually adding a antenna at a
work cell.
In the Sepasoft MES system, there are two types of equipment, processing equipment and
tooling or rolling equipment.
55
MES Platform 2.0
Processing Equipment
The processing equipment is defined in the production model and is defined using in the
Ignition designer. The reason equipment is defined in the Ignition designer is because tags are
used to collect production data, downtime, SPC sample data, etc. for it. Tags can only be
assigned in the designer and also involves configuration in the control system, through the
OPC server and tags to the equipment defined in the production model.
Supplemental Equipment
Supplement equipment, such as tooling and rolling equipment, can be defined either in the
Ignition Designer or in the Ignition client. By allowing tooling or rolling equipment to be defined
in the Ignition client, users are enabled to make dynamic changes without having to log into the
Designer. This is handy for tooling such as dies, jigs, etc. but can also include rolling equipment
such as forklifts.
Equipment Hierarchy
The processing equipment is organized into a hierarchy that starts at the top and works down
to the equipment. The Sepasoft MES suite, uses this model to define equipment that is
relatively permanent. This means equipment that tags are used to read information from and
send control information down to during production. Because tags are involved, this type of
equipment is defined in the Ignition Designer. Other rolling or tooling equipment that do not use
tags can either be configured in the Ignition Designer, MES object editor or from the built-in
scripting language.
56
MES Platform 2.0
The equipment defined in the production model is where production tasks can be done. The
rolling or tooling equipment can be added as additional equipment resources use during the
production tasks. For example, a press (Production Line defined in the production model) will
have associated dies used for making various products. If tracking of which die was used for a
production task, then the die can be defined as a rolling or tooling equipment item separate
from the the press.
Production Model
In the Sepasoft MES system, the equipment hierarchy is defined in the production model. It is
important to define what the production model is, because everything done in the Sepasoft
MES system revolves around it.
A production model defines your manufacturing or process in tree view form. It provides an
organized way to easily configure, control and analyze your facility. It does not control the
possible routes that product flows within a facility, but simply is a organized manner in which to
manage machinery.
MES Enterprise
The enterprise is the highest level of the production model and typically represents a
manufacturing company. The Sepasoft MES system only supports one enterprise per Ignition
server but can have one or more production facilities (sites).
MES Site
A site is a geographical production location and is part of an enterprise.
MES Area
An area is a physical or logical grouping of production types within a production facility.
57
MES Platform 2.0
MES Line
A line is a collection of one or more cells (machines) and/or cell groups (groups of machines)
where product can be produced. It may have one or more machines or sub processes.
Equipment Path
In the Sepasoft MES system, specific equipment is normally referred to by the equipment path.
It is simply the route starting with the enterprise and following down the items in the production
model tree to the specific equipment item.
Referring to the production model in the image below, the equipment path to Line 1 is Your
Enterprise/Your Site/Your Area/Line 1.
58
MES Platform 2.0
Equipment Path
Although it is not recommended, it is possible to have more than one line named Line 1. An
equipment path will specify only one of the lines named Line 1, which is required for all
Sepasoft MES functionality.
Equipment Classes
Defining production tasks for each specific piece of equipment, is very tedious. A better method
would be to organize the equipment into categories, or class using ISA-95 terms. An example
will make this clearer with fewer words. Consider five packaging lines in a packaging area and
three of them can package mixed nuts and the remaining two cannot. Creating a mixed nuts
equipment class with the three line within it, allows a single task to be defined specifying that a
mixed nuts equipment resource is required.
Material Resources
Material
Any Production or processing that is done involves material. The material maybe raw material
that goes into finished goods, or it can be consumable or by-product that is not directly related
to the finished goods.
Material Definition
Material definitions are used to define raw materials, material that are partially processed but
not in finished goods state and finished goods. Consider the following case: If we are
assembling an electronic product, then we will have electronic components, including a circuit
board, that will each have material definitions. The components will be soldered to the circuit
board and will have a material definition for the sub assembly. Next, the circuit board will be
added to the housing which will have a material definition that represents it. This will continue
until the finished goods are complete. It may even include accessories that are sold with the
finished product. Each will have a material definition. Think of this way, in order to know which
lots of components were used to make a batch of circuit boards, then material definitions are
needed.
Material Classes
59
MES Platform 2.0
Material Classes
Defining production tasks for each specific material, is very tedious. A better method would be
to organize the material into categories, or class using ISA-95 terms. An example will make this
clearer with fewer words. Consider unloading electronic components at a receiving dock.
Defining a task to receive each type of component would be a management nightmare. Instead
all of the components can be added to a Electronic Component class and when the operator
does the receive components task at the dock, it prompts them for the specific component that
belongs to the Electronic Components class. Only one receive components task has to be
defined, which is much easier to manage.
Personnel Resources
Personnel
Any Production or processing that is done involves people. In the Sepasoft MES system, this is
optional. If trace information about the personnel involved in the production or processing is
desired, then it is supported. The person can be automatically selected based on their Ignition
login or it can be selected by other means.
Person
The MES Person objects are automatically generated from the Ignition users that have first and
last names defined. This prevents the default "admin" user from being created in the MES
system and showing up in selection lists. When the Sepasoft MES modules first start, the MES
Person objects are synchronized and then will be synchronized on a hourly basis thereafter.
They can also synchronized on demand using a script function.
Person Classes
Defining production tasks for each specific person, is very tedious. A better method would be to
organize the people into categories, or classes in ISA-95 terms. An example will make this
clear with fewer words. Consider unloading vinegar at an unloading pump station. If there are
ten operators who are qualified to unload vinegar, then creating a Vinegar Unload Operator
class containing the ten qualified operators will require just one unload vinegar task definition.
Adding an eleventh operator is as simple as adding that person to the Vinegar Unload Operator
class.
60
MES Platform 2.0
'...the collection of activities that coordinate, direct, manage and track the functions that use raw
materials, energy, equipment, personnel, and information to produce products, with the
required costs, qualities, quantities, safety, and timeliness.'
Sepasoft's MES solution provides a modular approach to realizing ISA-95's goal for Production
Operations Management. The following section looks at the Production Operations
Management activity model and discusses which aspects are covered by the MES modules.
Both the Track & Trace and OEE 2.0 module use the same ISA-95 framework for the
handling of product definitions. Materials created using the OEE 2.0 Material Manager
are available for scheduled operations where OEE performance data is required and
are also available for lot tracking and production control with the Track & Trace
module. Materials created using the MES Object Editor for lot tracking are not
available to OEE 2.0.
61
MES Platform 2.0
Recipe Module
The Recipe module allows for recipes to be created and associated with product definitions.
Recipes can be created for product definitions containing machine settings that are
downloaded to PLC's and provides variance monitoring as well as recipe management. Refer
to Recipe Management Overview for more details.
62
MES Platform 2.0
MES Scheduler
The MES Scheduler provides finite scheduling functionality that seamlessly integrates with the
OEE 2.0 and Track & Trace modules. When combined with Ignition, these scheduling features
allow operations to easily adapt to last minute or frequent changes that commonly occur in
production environments. This is accomplished by monitoring production in real-time, handling
delays, production routes, scheduling changes, notification of production priority changes and
more.
Most Manufacturers rely on ERP and Inventory Management Systems to handle the complex
process of inventory planning, high level Customer Order scheduling, routing, transportation
logistics and accounting. However when it comes to the detailed planning and scheduling of
shift personnel, production lines and maintenance activities, this tends to occur at the MES
level. If scheduling information and production performance data is stored in separate systems,
whether in spreadsheets or stand-alone scheduling software, that cannot be accessed and
combined, we're missing the opportunity to provide powerful insight into operational activities
and production line utilization.
63
MES Platform 2.0
The Scheduler provides finite scheduling functionality at the MES layer that allows operations,
maintenance and planners to create a detailed web based schedule that can pull work orders
directly from ERP, allowing them to be modified at the MES level to account for last minute
changes, and shared with everyone within the organization. With our direct connection to actual
production line status and counts, the schedule can provide real-time status monitoring of
actual vs scheduled production, automatic handling of delays and updates of inventory
consumption and order fulfillment data back to ERP, as well as providing schedule adherence
analytics to help drive continuous improvement initiatives.
With flexibility in mind, work orders and production schedule entries can be created in the
following ways:
From Customer Orders or Schedule Entries in ERP or other scheduling software
Manually created using the Work Order Table and Line Schedule View components
Dynamically generated using scripting
Imported from other sources
Features
In This Section
64
MES Platform 2.0
In this Page
65
MES Platform 2.0
Add - Click on the button and provide a name for the work order. Select the
Material Definition, assign the quantity and choose the due date.
Edit - Select the work order you want to edit and click on the button. Edit the
settings and click Save.
Use the File open dialog box to select the xml file to be imported and Click Open.
<?xml version="1.0"?>
66
MES Platform 2.0
-<MESObjectList>
-<MESObject MESObjectType="WorkOrder">
<CoreProperty name="UUID">2e906f1e-1736-4e02-8586-
6b7e4e7e17fc</CoreProperty>
<CoreProperty name="Name">New Work Order</CoreProperty>
<CoreProperty name="Enabled">true</CoreProperty>
<CoreProperty name="Creator">Unknown</CoreProperty>
<CoreProperty name="MaterialRef">Material Definition,
Water</CoreProperty>
<CoreProperty name="MaterialRefUUID">7be75da4-5fa6-4b9b-
abae-087e00cb1971</CoreProperty>
<CoreProperty name="MaterialRefType">MaterialDef</CoreProper
ty>
<CoreProperty name="WorkOrderQuantity">0.0</CoreProperty>
<CoreProperty name="WorkOrderActualQuantity">0.0</CoreProper
ty>
<CoreProperty name="WorkOrderScheduleQuantity">0.0</CoreProp
erty>
<CoreProperty name="WorkOrderRemainingQuantity">0.0</CorePro
perty>
<CoreProperty name="WorkOrderDueDate">2017-03-27 09:18:35</C
oreProperty>
<CoreProperty name="WorkOrderClosed">true</CoreProperty>
</MESObject>
-<MESObject MESObjectType="WorkOrder">
<CoreProperty name="UUID">702b7445-8d73-4946-b990-
ce79188ed5fa</CoreProperty>
<CoreProperty name="Name">N3344 (1)</CoreProperty>
<CoreProperty name="Enabled">true</CoreProperty>
<CoreProperty name="Creator">Unknown</CoreProperty>
<CoreProperty name="MaterialRef">Material Definition, Salt</
CoreProperty>
<CoreProperty name="MaterialRefUUID">e6daa5f1-07cc-4863-
b3b3-0d560c514c63</CoreProperty>
<CoreProperty name="MaterialRefType">MaterialDef</CoreProper
ty>
<CoreProperty name="WorkOrderQuantity">50.0</CoreProperty>
<CoreProperty name="WorkOrderActualQuantity">0.0</CoreProper
ty>
<CoreProperty name="WorkOrderScheduleQuantity">0.0</CoreProp
erty>
<CoreProperty name="WorkOrderRemainingQuantity">50.0</CorePr
operty>
<CoreProperty name="WorkOrderDueDate">2017-04-12 10:49:49</C
oreProperty>
<CoreProperty name="WorkOrderClosed">false</CoreProperty>
</MESObject>
-<MESObject MESObjectType="WorkOrder">
<CoreProperty name="UUID">cd85a1f6-db9b-4220-88ae-
001e8745a185</CoreProperty>
<CoreProperty name="Name">N</CoreProperty>
67
MES Platform 2.0
<CoreProperty name="Enabled">true</CoreProperty>
<CoreProperty name="Creator">Unknown</CoreProperty>
<CoreProperty name="MaterialRef">Material Definition, Cane
Sugar</CoreProperty>
<CoreProperty name="MaterialRefUUID">0a0357ac-fd5c-454f-
91ff-119aadaa5014</CoreProperty>
<CoreProperty name="MaterialRefType">MaterialDef</CoreProper
ty>
<CoreProperty name="WorkOrderQuantity">8.0</CoreProperty>
<CoreProperty name="WorkOrderActualQuantity">0.0</CoreProper
ty>
<CoreProperty name="WorkOrderScheduleQuantity">0.0</CoreProp
erty>
<CoreProperty name="WorkOrderRemainingQuantity">8.0</CorePro
perty>
<CoreProperty name="WorkOrderDueDate">2017-04-21 12:49:50</C
oreProperty>
<CoreProperty name="WorkOrderClosed">true</CoreProperty>
</MESObject>
-<MESObject MESObjectType="WorkOrder">
<CoreProperty name="UUID">044783cb-73e9-4c2b-abf3-
13ee0158d40c</CoreProperty>
<CoreProperty name="Name">New </CoreProperty>
<CoreProperty name="Enabled">true</CoreProperty>
<CoreProperty name="Creator">Unknown</CoreProperty>
<CoreProperty name="MaterialRef">Material Definition, Cane
Sugar</CoreProperty>
<CoreProperty name="MaterialRefUUID">0a0357ac-fd5c-454f-
91ff-119aadaa5014</CoreProperty>
<CoreProperty name="MaterialRefType">MaterialDef</CoreProper
ty>
<CoreProperty name="WorkOrderQuantity">7.0</CoreProperty>
<CoreProperty name="WorkOrderActualQuantity">0.0</CoreProper
ty>
<CoreProperty name="WorkOrderScheduleQuantity">0.0</CoreProp
erty>
<CoreProperty name="WorkOrderRemainingQuantity">7.0</CorePro
perty>
<CoreProperty name="WorkOrderDueDate">2017-04-06 13:01:16</C
oreProperty>
<CoreProperty name="WorkOrderClosed">true</CoreProperty>
</MESObject>
-<MESObject MESObjectType="WorkOrder">
<CoreProperty name="UUID">8b1bbc5e-9d49-4fe5-a967-
6c66d4bc90b7</CoreProperty>
<CoreProperty name="Name">Work Order</CoreProperty>
<CoreProperty name="Enabled">true</CoreProperty>
<CoreProperty name="Creator">Unknown</CoreProperty>
<CoreProperty name="MaterialRef">Material Definition, Cane
Sugar</CoreProperty>
68
MES Platform 2.0
<CoreProperty name="MaterialRefUUID">0a0357ac-fd5c-454f-
91ff-119aadaa5014</CoreProperty>
<CoreProperty name="MaterialRefType">MaterialDef</CoreProper
ty>
<CoreProperty name="WorkOrderQuantity">0.0</CoreProperty>
<CoreProperty name="WorkOrderActualQuantity">0.0</CoreProper
ty>
<CoreProperty name="WorkOrderScheduleQuantity">0.0</CoreProp
erty>
<CoreProperty name="WorkOrderRemainingQuantity">0.0</CorePro
perty>
<CoreProperty name="WorkOrderDueDate">2017-03-27 09:21:19</C
oreProperty>
<CoreProperty name="WorkOrderClosed">true</CoreProperty>
</MESObject>
-<MESObject MESObjectType="WorkOrder">
<CoreProperty name="UUID">503824e1-9e06-4b12-982d-
69f1d5a3bd5a</CoreProperty>
<CoreProperty name="Name">y7</CoreProperty>
<CoreProperty name="Enabled">true</CoreProperty>
<CoreProperty name="Creator">Unknown</CoreProperty>
<CoreProperty name="MaterialRef">Material Definition, Salt</
CoreProperty>
<CoreProperty name="MaterialRefUUID">e6daa5f1-07cc-4863-
b3b3-0d560c514c63</CoreProperty>
<CoreProperty name="MaterialRefType">MaterialDef</CoreProper
ty>
<CoreProperty name="WorkOrderQuantity">8.0</CoreProperty>
<CoreProperty name="WorkOrderActualQuantity">0.0</CoreProper
ty>
<CoreProperty name="WorkOrderScheduleQuantity">0.0</CoreProp
erty>
<CoreProperty name="WorkOrderRemainingQuantity">8.0</CorePro
perty>
<CoreProperty name="WorkOrderDueDate">2017-04-25 16:14:23</C
oreProperty>
<CoreProperty name="WorkOrderClosed">true</CoreProperty>
</MESObject>
-<MESObject MESObjectType="WorkOrder">
<CoreProperty name="UUID">cbb1ad0a-ca54-4397-a287-
d6eb0e92721c</CoreProperty>
<CoreProperty name="Name"> W88</CoreProperty>
<CoreProperty name="Enabled">true</CoreProperty>
<CoreProperty name="Creator">Unknown</CoreProperty>
<CoreProperty name="MaterialRef">Material Definition, Cane
Sugar</CoreProperty>
<CoreProperty name="MaterialRefUUID">0a0357ac-fd5c-454f-
91ff-119aadaa5014</CoreProperty>
<CoreProperty name="MaterialRefType">MaterialDef</CoreProper
ty>
<CoreProperty name="WorkOrderQuantity">90.0</CoreProperty>
69
MES Platform 2.0
<CoreProperty name="WorkOrderActualQuantity">0.0</CoreProper
ty>
<CoreProperty name="WorkOrderScheduleQuantity">0.0</CoreProp
erty>
<CoreProperty name="WorkOrderRemainingQuantity">0.0</CorePro
perty>
<CoreProperty name="WorkOrderDueDate">2017-04-25 16:26:38</C
oreProperty>
<CoreProperty name="WorkOrderClosed">true</CoreProperty>
</MESObject>
</MESObjectList>
70
MES Platform 2.0
Scripting Functions
Along with the Work Order Table component, scripting functions are also provided in the
system.mes.workorder space for managing work orders. This provides an automated method
for pulling Work Orders out of an ERP system and creating the associated Work order objects
in the MES layer.
The following scripting functions are available
system.mes.workorder.createMESWorkOrder
system.mes.workorder.getMESWorkOrder
system.mes.workorder.getMESWorkOrders
system.mes.workorder.deleteMESWorkOrders
system.mes.workorder.createMESWorkOrderFilter
system.mes.workorder.getMESWorkOrderObjectLinkList
system.mes.workorder.saveMESWorkOrder
Operations Scheduling
Sepasoft's MES provides the ability to schedule any type of operation, whether it is a Work
Order production run, Maintenance Work Order, cleaning operation, new production
introduction, testing etc. Any type of operation can be created using the MES Object Editor
component or through scripting. These scheduled operations can then be used by the Track &
Trace module for lot tracking, material consumption and WIP inventory, and by the OEE
module for order fulfillment and downtime tracking.
71
MES Platform 2.0
Run Scheduling
Work Orders
When the MES Work Order Table component is used, Work Orders can be dragged from the
Work Order table and dropped onto the MES Schedule View component. For OEE runs, the
OEE Material Manager component must be used to create the Material Root Material
Definitions and to associate these Material Definitions with the Production Line(s).
Product Codes
When scheduling a Product Code that is not part of a Work Order, the MES Schedule View
component can be used to create the scheduled run.
Right click on the desired line at the time you wish to schedule the run and select New
Entry.
Select <none> for the Work Order and select the product code operation you wish to
schedule.
Seelct a duration or a Production Count for the run and Save.
72
MES Platform 2.0
73
MES Platform 2.0
ERP Integration
74
MES Platform 2.0
ERP Integration
Although the Sepasoft MES Modules can be used to create a stand-alone application, allowing
you to create product codes, work orders, routes and schedules, it is also possible to integrate
your MES solution with a third party ERP or scheduling system to allow for the bi-directional
flow of information between ERP and MES. The following section provides a number of
possible solutions based on the flow and type of data you can expect to pass between MES
and other third party systems. actual implementation will be depended on the interface method
employed. For more information on the types of interfaces that are available, please refer to the
knowledge base article on 'Creating an Interface Exchange between ERP and MES'.
1. Production counts are automatically captured and available at the ERP level directly or
after approval by Operations Management
75
MES Platform 2.0
76
MES Platform 2.0
78
MES Platform 2.0
79
MES Platform 2.0
SPC Module
The SPC module provides real-time statistical analysis of process and production variables
during an operation. This data can be coupled with the operational data from Track & Trace
and OEE 2.0 to provide insight on the stability of process variables during an operation. Refer
to SPC Module Overview for more information on using this module for your production data
collection system.
80
MES Platform 2.0
The Sepasoft MES solution provides the OEE 2.0 and Track & Trace modules that can be used
to build your production tracking system, in conjunction with the Recipe Management, SPC,
Instrument Interface, Barcode Scanner and Web Services modules.
SPC Module
The SPC module provides real-time statistical analysis of process and production variables
during an operation. This data can be coupled with the operational data from Track & Trace
and OEE 2.0 to provide insight on the stability of process variables during an operation. Refer
to SPC Module Overview for more information on using this module as part of for your
production tracking system.
81
MES Platform 2.0
82
MES Platform 2.0
SPC Module
The SPC module provides real-time statistical analysis of process and production variables
during an operation. This data can be coupled with the operational data from Track & Trace
and OEE 2.0 to provide insight on the stability of process variables during an operation. Refer
to SPC Module Overview for more information on using this module as part of for your
performance analysis system.
The next scheduled module release from Sepasoft will be the Maintenance Module!
83
MES Platform 2.0
intermediate and final products. Quality operations management may include: a) Testing and
verifying the quality of materials (raw, final, and intermediate). b) Measuring and reporting the
capability of the equipment to meet quality goals. c) Certifying product quality. d) Setting
standards for quality. e) Setting standards for quality personnel certification and training. f)
Setting standards for control of quality.
Sepasoft's MES solution provides the SPC module for realizing ISA-95's goal for Quality
Operations Management. Refer to SPC Module Overview for more details.
Below are the different types of Production Items that can be added to the production model.
Enterprise All
85
MES Platform 2.0
Line A line is a collection of one or more cells and/or cell groups All
that work together to perform a sequence of process steps.
Typically, the product flows from one cell or cell group to the
next in sequence until the product, or sub assembly, being
produced is complete. Understanding how Operations
schedules or controls a production run will help in
determining whether cells should be grouped into a line or be
considered lines themselves.
Location A location item is the place where a sample is collected. This SPC
can be placed under an area or a line.
Cell Group A cell group contains two or more cells. Typically, these cells All
occur at the same time in the sequence of the line instead of
one after another, causing the cell group to act as a single
sub process or step within the production.
Cell The cell is a single machine, sub process or step required in All
the manufacture of a product. The product may be a hard
product such as used in packaging, adding liquid or powder,
etc. Packaging machines are a common example, but a cell
applies to processes also.
86
MES Platform 2.0
Storage A storage unit located inside of a storage zone. For example, T&T
Unit you may have a warehouse with bay 1 to 5.
It is extremely important to understand production OPC values have an OPC item path
that matches the layout of the production model and that renaming production items
can cause Ignition tags associated with a production item to stop being updated.
Please note that when you rename a production item, it actually creates a new
instance of a production item and disables the old production item. This is important to
note as data captured against that production item will not be accessible to the newly
renamed production item. Spend the time to get the Production Item named correctly
at the beginning of the project.
87
MES Platform 2.0
Please note that any line(s), cell(s), cell group(s) and location(s) underneath the
production item will also be permanently removed.
88
MES Platform 2.0
Delete a Cell
Good Practice
It is recommended that you make a gateway backup prior to copying and pasting
Production items. It is not recommended that you make changes to the production
model on the production server without scheduling with Operations and having the
system backed up.
89
MES Platform 2.0
Setting Description
90
MES Platform 2.0
When writing to OPC values that are related to production model settings, the new
value is not retained upon restarting. This is because production model settings are
saved in the Ignition project and is only saved when done so in the designer.
91
MES Platform 2.0
MES Events
MES Events are defined for the different types of MES objects. See MES Events in the MES
Object section of the reference guide for more information. MES system events are generated
by the Track & Trace and OEE 2.0 module.
There are two types of events, System and Custom.
System events are predefined and cannot be added, deleted or renamed, but do allow entering
script to execute when the event is triggered.
Custom events can be added, deleted or renamed and are executed from script.
92
MES Platform 2.0
93
MES Platform 2.0
94
MES Platform 2.0
95
MES Platform 2.0
96
MES Platform 2.0
The Line Production Item provides a configuration page for setting up a Production Line for all
the MES modules. The General and Advanced Tab are always present whereas each module
when installed provides an additional tab.
The OEE Module collects and logs a number of downtime and production data values.
However, what if other values outside of downtime and production values are of interest?
Additional factors are the solution. Additional Factors are user defined data points that are
logged along with the production and downtime information. Once they are logged, they
can be shown in charts, tables and reports. Additionally, other analysis can be done by
filtering and/or setting up comparisons by their values.
Additional Factors can added to the Line, Cell Group and Cell Production Items in the
Production Model Designer.
97
MES Platform 2.0
Any value that can be read from an Ignition SQLTag can be added as an additional factor.
This includes values derived from scripts, or from barcode readers, databases,
calculations, PLCs, etc.
Any tag can be added as an additional factor. To configure, select a Line in the production
model and select the General tab on the right. Right click on the Additional Factors table
and select New. An additional factor is simply just a name and a tag.
Properties
Factor Optionally, this property can be set to a description for the String
Description additional factor. It is not used by the OEE Downtime and
Scheduling Module other than for reference.
Factor This reflects the name of additional factor that is configured in the String
Name designer.
Read
Only
Factor This reflects the Factor SQLTag setting that additional factor is String
SQLTag configured for in the designer. It is the name of SQLTag to read
Read
the factor value from.
Only
Example
In the example, we have two factors, Cardboard Vendor and Operator. The operator can
select the vendor that provided the cardboard or it can be obtained from some other
source. Now, OEE and downtime results can be shown for each cardboard manufacturer.
This can identify quality problems with raw material that directly affect production
efficiency. With the operator setup as an additional factor, the operator's name will be
98
MES Platform 2.0
logged along with the production and downtime data. By doing so, OEE and downtime
information can be filtered and grouped by the operator name. But this could just as well be
the production crew, supervisor, maintenance crew or any other user defined value that
can be monitored or entered into the system.
Adding these factors to a production line will allow us to capture the value of these tags
whenever they change. In the impromptu analysis, we can then compare OEE values by
our additional factor: Operator
99
MES Platform 2.0
The MES Counters are used to associate Process Segments (Operations) with production
counts. MES Counters record production counts 7/24, independent of scheduled
production runs.
Counter names and the associated tag are defined in the Production Model. In the MES
Management screen, the Quantity Source of Infeed and Material Process Segments can
be set to use these MES counters.
MES counters are available for the Line, Cell Group, Cell or a Storage Unit production
items in the Production Model Designer.
100
MES Platform 2.0
The quantity from the MES counters can be obtained through scripting, see
system.mes.getCountValue.
Counter Name
Name of the counter.
Counter Description
The description for the MES counter. This setting is not mandatory.
Enabled
The counter can be enabled or disabled here.
SQL Tag
The path to the Tag Provider and ignition tag where the count value will come from is
assigned to the MES counter here.
Parameterized Tag Paths can be used here which allows for indirection and exported MES
Counters to be easily deployed to other equipment.
101
MES Platform 2.0
Roll Over
For PLC count tags that that do not get reset, they will eventually reach a finite maximum
value at which point, the value will 'rollover' back to zero. The Roll Over setting allows you
to define the value that should be added to the count tag whenever a roll over occurs. By
default it is 32768 which equates to a 16 bit signed data value. Your setting will be
dependent upon the datatype of your plc count tag.
During a production run, the incoming count value is added to the Roll Over setting
multiplied by the number of times a rollover has occurred.
Example: production count value = incoming count value + 32768 * 3
This value is only used when the Count Mode is set to Rollover.
102
MES Platform 2.0
Store Rate
The MES counter will be captured and stored in the database after this specific interval in
seconds if the value has changed If Store Rate is set to zero, every value change will be
recorded.
Counter Kind
MES Counters can be set to four different kinds:
Infeed
Outfeed
Reject
General
Infeed, Outfeed and Reject kinds are used solely by the OEE module to determine which
MES counter to use for OEE Performance, OEE Quality and production count information.
The General kind can be used for any other count value.
103
MES Platform 2.0
Count Mode
The Count Mode can be set to Roll Over, Actual and Positive Change.
Roll Over
See Rollover section for this count mode.
Actual
The Actual count mode simply uses whatever value is passed through the sql tag to
represent the actual production counts. Production counts can go down as well as up.
Positive Change
The Positive Change mode ignores any sql tag count values that are zero and will
accumulate the counts. Three different cases are illustrated using the graphs shown.
104
MES Platform 2.0
Case 1
Case 2
Case 3
105
MES Platform 2.0
The OEE Downtime 2.0 tab is specific to the OEE module and is available for the Line, Cell
Group and Cell Production Items. A number of configuration settings are provided that can
be used to obtain equipment mode, state and count values from ignition tags (whether plc
tags, memory or expression tags).
106
MES Platform 2.0
Parallel Cells
Refer to Downtime Detection Mode for more information on the various Downtime
Detection Methods.
Downtime Detection Mode is only available for the Line and Cell Group
Production Item.
When adding a tag to a Tag Collector, you must use memory tags. The
Production Model will write values to any tags defined here as well as read the
value whenever it changes from an external source.
107
MES Platform 2.0
Mode Memory Integer The Mode Tag, if provided, will be written to by the
Production Model whenever the equipment mode
changes based on Material Production Settings. The
value of the mode tag can also be written to whenever
the Mode value changes either indirectly from a plc tag
(via tag change event) or from the HMI. The value of
the Mode tag will be recorded for the current mode.
State Memory Integer The State Tag path will generally come from a plc as
the source of the current equipment state. Exceptions
to this are at the Line level when using a downtime
detection method other than Equipment State.
Downtime Memory String Apart from scripting and Downtime table component,
Note the downtime notes can be added by using tags.
Shift Memory String When left blank, shifts defined in the Ignition Schedule
Management component and defined in the Equipment
Manager for a line will be used to determine the current
shift. If a tag is provided here, whatever value is in the
tag e.g. 'Shift A' will be recorded for the current shift.
Product Memory String When left blank, the Product Code currently running on
Code the line will be determined from the scheduled run as
selected by the Scheduler or Run Director component.
When a tag path is provided, the product code for the
line or equipment (cell) will be determined from the
value of the tag.
Work Memory String When left blank, the Work Order currently running on
Order the line will be determined from the scheduled run as
selected by the Scheduler or Run Director component.
When a tag path is provided, the product code for the
line or equipment (cell) will be determined from the
value of the tag.
108
MES Platform 2.0
Package Memory Float When left blank, the Package Count will be determined
Count from the Package count setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Package
Count for the line or equipment (cell) will be determined
from the value of the tag. For more information on the
Package Count, refer to the Material Production
Settings section.
Line Memory String When left blank, the Line Outfeed Units will be
Outfeed determined from the Line Outfeed Units setting for the
Units currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Line Outfeed Units for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Line Outfeed Units, refer to the
Material Production Settings section.
Infeed Memory Float When left blank, the Infeed Count Scale will be
Count determined from the Infeed Count Scale setting for the
Scale currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Infeed Count Scale for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Infeed Count Scale, refer to the
Material Production Settings section.
Line Memory String When left blank, the Line Infeed Count Scale will be
Infeed determined from the Infeed Count Scale setting for the
Units currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Infeed Count Scale for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Line Infeed Units, refer to the
Material Production Settings section.
109
MES Platform 2.0
Reject Memory Float When left blank, the Reject Count Scale will be
Count determined from the Reject Count Scale setting for the
Scale currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Reject Count Scale for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Reject Count Scale, refer to the
Material Production Settings section.
Line Memory String When left blank, the Line Reject Units will be
Reject determined from the Line Reject Units setting for the
Units currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Line Reject Units for the line or equipment (cell) will be
determined from the value of the tag. For more
information on the Line Reject Units, refer to the
Material Production Settings section.
Standard Memory Float When left blank, the Standard Rate will be determined
Rate from the Standard Rate setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Standard
Rate for the line or equipment (cell) will be determined
from the value of the tag. For more information on the
Standard Rate, refer to the Material Production Settings
section.
Schedule Memory Float When left blank, the Schedule Rate will be determined
Rate from the Schedule Rate setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Schedule
Rate for the line will be determined from the value of
the tag. For more information on the Schedule Rate,
refer to the Material Production Settings section.
110
MES Platform 2.0
Schedule Memory Integer When left blank, the Schedule Count will be determined
Count from the scheduled run as selected by the Scheduler or
Run Director component. When a tag path is provided,
the Schedule Count for the line or equipment (cell) will
be determined from the value of the tag. The Schedule
Count provides the number of units scheduled to be
produced.
Schedule Memory Integer When left blank, the Schedule Duration will be
Duration determined from the scheduled run as selected by the
Scheduler or Run Director component. When a tag
path is provided, the Schedule Duration for the line or
equipment (cell) will be determined from the value of
the tag. The Schedule Duration provides the expected
runtime required for the number of units scheduled to
be produced and is calculated by the Schedule Rate.
Rate Memory String When left blank, the Rate Period will be determined
Period from the Rate Period setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Rate Period
for the line or equipment (cell) will be determined from
the value of the tag. For more information on the Rate
Period, refer to the Material Production Settings
section.
111
MES Platform 2.0
Cycle Memory Float When left blank, the Cycle Count will be determined by
Count the OEE Module. When a tag path is provided, the
Cycle Count for the line or equipment (cell) will be
determined from the value of the tag.
Operation Memory String When left blank, the Operation UUID will be determined
UUID from the currently running Operation on the Line or
equipment (cell). When a tag path is provided, the
Operation UUID for the line or equipment (cell) can be
determined from the value of the tag. The purpose for
this tag is to be able to provide OEE analysis data
when production runs are not scheduled or started
using the Run Director or Schedule Selector
components, or scripting functions. In this case a tag
can be used to provide a Run Identifier value i.e.
Run_4253_XX. The Analysis Selector provides the
ability to pull the Operation UUID as part of analysis,
whether it is an internally generated Operation UUID or
a passed Run Identifier.
112
MES Platform 2.0
Live Analysis
Live Analysis provides a flexible way of customizing your application to provide a set
of real-time tag values that can be accessed from the Ignition designer and used in
your application to provide real-time production monitoring. Live Analysis is configured
in the OEE 2.0 Downtime tab of the Production Model Designer for the Line, Cell
Group and Cell production items. When a Live Analysis is created, a corresponding
set of tags is created in the MES Tag Provider that provide the real-time status of
those datapoints based upon the Period defined for the Live Analysis. You can create
multiple Live Analysis and use those tags to drive HMI displays.
To create a new Live Analysis:
Right click on the Live Analysis panel on the OEE 2.0 Downtime Tab in the
Production Model Designer.
Provide a Name
Select the Period that the Live Analysis datapoints will return a value for. Valid
options are Shift, Day (Midnight), Day (Production), Start of Run, Top of Hour,
Custom Period Tag
Select the frequency for how often the tag values will be updated. Default value
is 60 seconds. Minimum value is 10 seconds
Select the desired Data Points
Add any further Settings Values required
You cannot select all Data Points in one Live Analysis. The maximum length
string for Data Points is 1024 characters
113
MES Platform 2.0
Setting Description
Enabled The live analysis can be enabled or disabled with this setting.
Period The duration of analysis can be set by Shift, Day (midnight), Day
(production), Start of Run, Top of Hour or Custom Period Tag.
Custom A tag can be assigned to define the start datetime for a custom period.
Period The end time will be the current time. It takes value in the date time data
Tag type. Example for a valid value for the custom period tag is: 2017/04
/04 14:00:00
114
MES Platform 2.0
Setting Description
Update The rate in seconds by which the live analysis is updated. The minimum
Rate update rate is 60 seconds.
Data Data points allows you to pick and choose the values you wish to access
Points through tags. See the table below for the listing of available data points.
115
MES Platform 2.0
Analysis Data Points and Settings are used by Live Analysis, the MES Analysis
Selector and MES Analysis Controller components, the MES Analysis Data Source
for reporting and the MES Analysis Settings object.
Equipment
Equipment Int4 Integer value that determines the cell order of the
Cell Order equipment within the line. Is set to null for the line. Is
set to 0 for first cell within each cell group
Equipment String Any note that has been recorded for this piece of
Note equipment through the Note tag collector path in the
Production model will be exposed here.
DateTime
116
MES Platform 2.0
Execution Int8 Time taken to execute and update the Live Analysis.
Time (ms) Used mainly for performance debugging
From Time DateTime Start Date Time of current data point results
Stamp
117
MES Platform 2.0
Equipment Infeed Float8 See Infeed Count Scale for more details
Scale
Equipment Reject Float8 See Reject Count Scale for more details
Scale
Outfeed-Material String Value of the default MES Counter used for OEE
Out outfeed count
118
MES Platform 2.0
Equipment\Cycle
Time
Relative Cycle String Relative Cycle Count is how many occurred for
Count the compare by.
Target Cycle Float8 Also known as Takt time, it is how often a piece
Time must be produced to meet customer demand. It is
often used to pace a production line, and it is a
calculated number in seconds.
Total Cycle Count String Total Cycle Count is accumulative, it is sum total
of all the cycle count.
Average Normal Float8 Average Normal cycle time in seconds for the time
Cycle Time period selected
Float8
119
MES Platform 2.0
Max Normal Max Normal cycle time in seconds for the time
Cycle Time period selected
Min Normal Cycle Float8 Min Normal cycle time in seconds for the time
Time period selected
Normal Cycle Float8 Normal Cycle Time in seconds is the actual cycle
Time ignoring the equipment states like starved,
blocked, etc.
Average Overall Float8 Average Overall cycle time in seconds for the time
Cycle Time period selected
Max Overall Cycle Float8 Max Overall cycle time in seconds for the time
Time period selected
Min Overall Cycle Float8 Min Overall cycle time in seconds for the time
Time period selected
Average Precise Float8 Average Precise cycle time in seconds for the time
Cycle Time period selected
Max Precise Float8 Max Precise cycle time in seconds for the time
Cycle Time period selected
Float8
120
MES Platform 2.0
Min Precise Cycle Min Precise cycle time in seconds for the time
Time period selected
Precise Cycle Float8 Precise cycle time in seconds excluding states like
Time planned downtime, unplanned downtime, starved
and blocked.
Line
/Downtime
121
MES Platform 2.0
Line String The line or cell group (sub line) downtime reason.
Downtime
Reason
1. When the line is down the Line
Downtime Reason is the same as
the Line State Name.
2. When the line is up the Line
Downtime Reason is blank.
Line String The full reason name for line or cell group (sub line)
Downtime downtime reason. Line State name including State
Reason Path Class i.e. Default/Cell Faulted
Line DateTime The time stamp for the equipment state change of
Downtime the cell group (sub line) or cell that caused the line
State Time down time even.
Stamp
Line
/Meantime
122
MES Platform 2.0
Line
/Schedule
Line Target String Amount of product that should have been produced
Count based on the line schedule available time and line
schedule rate
Line Target String Variance between line scheduled count and line
Count OEE outfeed count.
Variance
123
MES Platform 2.0
Line/State
Line State Float8 The line or cell group (sub line) downtime event
Duration duration in minutes.
Line State DateTime The line or cell group (sub line) downtime event
Event Begin begin date time.
Line State DateTime The line or cell group (sub line) downtime event end
Event End date time.
Line State String The line or cell group (sub line) state.
Name
Line State String The state override scope for a line or cell group
Override (sub line). See Setting Up Equipment - Override
Scope Scope for more details
Line State String The state override type for a line or cell group (sub
Override line). See Setting Up Equipment - Override for more
Type details
Line State String The line or cell group (sub line) state type. See
Type Setting Up Equipment - State Type for more details
124
MES Platform 2.0
Line State Int4 The line or cell group (sub line) downtime state
Value code. See Setting Up Equipment - State Code for
more details
Equipment
/Mode
125
MES Platform 2.0
Equipment
/State
Equipment Boolean True is current downtime event has been split into
State Split multiple downtime events
Equipment
/Meantime
126
MES Platform 2.0
Equipment
/General
Delta Time Float8 Time gap (minutes) between the rows of data.
Stamp
Shift Day Int4 Int value of the current day of the week
of Week
Shift Day Int4 Int value of the current day of the year
of Year
127
MES Platform 2.0
Shift ISO Int4 Int value of the ISO week of the year
Week of
Year
Shift Week Int4 Int value of the current week of the month
of Month
Shift Week Int4 Int value of the current week of the year
of Year
Equipment/OEE
128
MES Platform 2.0
OEE General Long Any count value other than infeed, outfeed,
Count reject and waste value for the selected time
period
OEE Infeed Count Long Equipment infeed count value for the selected
period
OEE Outfeed Long Equipment outfeed count value for the selected
Count period
OEE Reject Long Equipment reject count value for the selected
Count period
Short Stop Time Float8 Short stop duration (Double) for selected period
129
MES Platform 2.0
Equipment/OEE
/Availability
Equipment/OEE
/Performance
Equipment/OEE
/Quality
Setting Values
The analysis results that are returned can be modified through the use of settings.
Setting values provide a number of keywords as listed below.
Format for entering the keywords is keyword1=True, keyword2=100.0,
keyword3=10.
Settings like Enable Totalized Mode, Include Future, Last Values and
Rollup Time span is meant for analysis selector and not for live analysis
130
MES Platform 2.0
Last Values Only the latest values are shown. Not Last Values
valid for = True
Live
Analysis
OEE Quality The maximum value calculated can All OEE Quality
Cap be capped with this setting Cap = 100.0
131
MES Platform 2.0
Recipe Tab
132
MES Platform 2.0
Trace Tab
133
MES Platform 2.0
The OEE Module collects and logs a number of downtime and production data values.
However, what if other values outside of downtime and production values are of interest?
Additional factors are the solution. Additional Factors are user defined data points that are
logged along with the production and downtime information. Once they are logged, they
can be shown in charts, tables and reports. Additionally, other analysis can be done by
filtering and/or setting up comparisons by their values.
Additional Factors can added to the Line, Cell Group and Cell Production Items in the
Production Model Designer.
Any value that can be read from an Ignition SQLTag can be added as an additional factor.
This includes values derived from scripts, or from barcode readers, databases,
calculations, PLCs, etc.
Any tag can be added as an additional factor. To configure, select a Line in the production
model and select the General tab on the right. Right click on the Additional Factors table
and select New. An additional factor is simply just a name and a tag.
Properties
Factor Optionally, this property can be set to a description for the String
Description additional factor. It is not used by the OEE Downtime and
Scheduling Module other than for reference.
Factor This reflects the name of additional factor that is configured in the String
Name designer.
Read
Only
Factor This reflects the Factor SQLTag setting that additional factor is String
SQLTag configured for in the designer. It is the name of SQLTag to read
Read
the factor value from.
Only
134
MES Platform 2.0
Example
In the example, we have two factors, Cardboard Vendor and Operator. The operator can
select the vendor that provided the cardboard or it can be obtained from some other
source. Now, OEE and downtime results can be shown for each cardboard manufacturer.
This can identify quality problems with raw material that directly affect production
efficiency. With the operator setup as an additional factor, the operator's name will be
logged along with the production and downtime data. By doing so, OEE and downtime
information can be filtered and grouped by the operator name. But this could just as well be
the production crew, supervisor, maintenance crew or any other user defined value that
can be monitored or entered into the system.
135
MES Platform 2.0
Adding these factors to a production line will allow us to capture the value of these tags
whenever they change. In the impromptu analysis, we can then compare OEE values by
our additional factor: Operator
136
MES Platform 2.0
The MES Counters are used to associate Process Segments (Operations) with production
counts. MES Counters record production counts 7/24, independent of scheduled
production runs.
Counter names and the associated tag are defined in the Production Model. In the MES
Management screen, the Quantity Source of Infeed and Material Process Segments can
be set to use these MES counters.
MES counters are available for the Line, Cell Group, Cell or a Storage Unit production
items in the Production Model Designer.
The quantity from the MES counters can be obtained through scripting, see
system.mes.getCountValue.
Counter Name
Name of the counter.
Counter Description
The description for the MES counter. This setting is not mandatory.
Enabled
The counter can be enabled or disabled here.
137
MES Platform 2.0
SQL Tag
The path to the Tag Provider and ignition tag where the count value will come from is
assigned to the MES counter here.
Parameterized Tag Paths can be used here which allows for indirection and exported MES
Counters to be easily deployed to other equipment.
Roll Over
For PLC count tags that that do not get reset, they will eventually reach a finite maximum
value at which point, the value will 'rollover' back to zero. The Roll Over setting allows you
to define the value that should be added to the count tag whenever a roll over occurs. By
default it is 32768 which equates to a 16 bit signed data value. Your setting will be
dependent upon the datatype of your plc count tag.
During a production run, the incoming count value is added to the Roll Over setting
multiplied by the number of times a rollover has occurred.
Example: production count value = incoming count value + 32768 * 3
138
MES Platform 2.0
This value is only used when the Count Mode is set to Rollover.
Store Rate
The MES counter will be captured and stored in the database after this specific interval in
seconds if the value has changed If Store Rate is set to zero, every value change will be
recorded.
Counter Kind
MES Counters can be set to four different kinds:
139
MES Platform 2.0
Infeed
Outfeed
Reject
General
Infeed, Outfeed and Reject kinds are used solely by the OEE module to determine which
MES counter to use for OEE Performance, OEE Quality and production count information.
The General kind can be used for any other count value.
Count Mode
The Count Mode can be set to Roll Over, Actual and Positive Change.
Roll Over
See Rollover section for this count mode.
Actual
The Actual count mode simply uses whatever value is passed through the sql tag to
represent the actual production counts. Production counts can go down as well as up.
140
MES Platform 2.0
Positive Change
The Positive Change mode ignores any sql tag count values that are zero and will
accumulate the counts. Three different cases are illustrated using the graphs shown.
PLC Count vs. OEE Count
Case 1
Case 2
141
MES Platform 2.0
Case 3
142
MES Platform 2.0
The OEE Downtime 2.0 tab is specific to the OEE module and is available for the Line, Cell
Group and Cell Production Items. A number of configuration settings are provided that can
be used to obtain equipment mode, state and count values from ignition tags (whether plc
tags, memory or expression tags).
Downtime Detection Mode is only available for the Line and Cell Group
Production Item.
143
MES Platform 2.0
When adding a tag to a Tag Collector, you must use memory tags. The
Production Model will write values to any tags defined here as well as read the
value whenever it changes from an external source.
Mode Memory Integer The Mode Tag, if provided, will be written to by the
Production Model whenever the equipment mode
changes based on Material Production Settings. The
value of the mode tag can also be written to whenever
the Mode value changes either indirectly from a plc tag
(via tag change event) or from the HMI. The value of
the Mode tag will be recorded for the current mode.
144
MES Platform 2.0
Downtime Memory String Apart from scripting and Downtime table component,
Note the downtime notes can be added by using tags.
Shift Memory String When left blank, shifts defined in the Ignition Schedule
Management component and defined in the Equipment
Manager for a line will be used to determine the current
shift. If a tag is provided here, whatever value is in the
tag e.g. 'Shift A' will be recorded for the current shift.
Product Memory String When left blank, the Product Code currently running on
Code the line will be determined from the scheduled run as
selected by the Scheduler or Run Director component.
When a tag path is provided, the product code for the
line or equipment (cell) will be determined from the
value of the tag.
Work Memory String When left blank, the Work Order currently running on
Order the line will be determined from the scheduled run as
selected by the Scheduler or Run Director component.
When a tag path is provided, the product code for the
line or equipment (cell) will be determined from the
value of the tag.
Package Memory Float When left blank, the Package Count will be determined
Count from the Package count setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Package
Count for the line or equipment (cell) will be determined
from the value of the tag. For more information on the
Package Count, refer to the Material Production
Settings section.
145
MES Platform 2.0
Line Memory String When left blank, the Line Outfeed Units will be
Outfeed determined from the Line Outfeed Units setting for the
Units currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Line Outfeed Units for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Line Outfeed Units, refer to the
Material Production Settings section.
Infeed Memory Float When left blank, the Infeed Count Scale will be
Count determined from the Infeed Count Scale setting for the
Scale currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Infeed Count Scale for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Infeed Count Scale, refer to the
Material Production Settings section.
Line Memory String When left blank, the Line Infeed Count Scale will be
Infeed determined from the Infeed Count Scale setting for the
Units currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Infeed Count Scale for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Line Infeed Units, refer to the
Material Production Settings section.
Reject Memory Float When left blank, the Reject Count Scale will be
Count determined from the Reject Count Scale setting for the
Scale currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Reject Count Scale for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Reject Count Scale, refer to the
Material Production Settings section.
146
MES Platform 2.0
Line Memory String When left blank, the Line Reject Units will be
Reject determined from the Line Reject Units setting for the
Units currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Line Reject Units for the line or equipment (cell) will be
determined from the value of the tag. For more
information on the Line Reject Units, refer to the
Material Production Settings section.
Standard Memory Float When left blank, the Standard Rate will be determined
Rate from the Standard Rate setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Standard
Rate for the line or equipment (cell) will be determined
from the value of the tag. For more information on the
Standard Rate, refer to the Material Production Settings
section.
Schedule Memory Float When left blank, the Schedule Rate will be determined
Rate from the Schedule Rate setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Schedule
Rate for the line will be determined from the value of
the tag. For more information on the Schedule Rate,
refer to the Material Production Settings section.
Schedule Memory Integer When left blank, the Schedule Count will be determined
Count from the scheduled run as selected by the Scheduler or
Run Director component. When a tag path is provided,
147
MES Platform 2.0
Schedule Memory Integer When left blank, the Schedule Duration will be
Duration determined from the scheduled run as selected by the
Scheduler or Run Director component. When a tag
path is provided, the Schedule Duration for the line or
equipment (cell) will be determined from the value of
the tag. The Schedule Duration provides the expected
runtime required for the number of units scheduled to
be produced and is calculated by the Schedule Rate.
Rate Memory String When left blank, the Rate Period will be determined
Period from the Rate Period setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Rate Period
for the line or equipment (cell) will be determined from
the value of the tag. For more information on the Rate
Period, refer to the Material Production Settings
section.
Target C Memory Integer When left blank, the Target C/O (Changeover) Time will
/O Time be determined from the Changeover settings for the
currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Target C/O (Changeover) Time for the line or
equipment (cell) will be determined from the value of
the tag. For more information on the Target C/O
(Changeover) Time, refer to the Material Production
Settings section.
148
MES Platform 2.0
Cycle Memory Float When left blank, the Cycle Count will be determined by
Count the OEE Module. When a tag path is provided, the
Cycle Count for the line or equipment (cell) will be
determined from the value of the tag.
Operation Memory String When left blank, the Operation UUID will be determined
UUID from the currently running Operation on the Line or
equipment (cell). When a tag path is provided, the
Operation UUID for the line or equipment (cell) can be
determined from the value of the tag. The purpose for
this tag is to be able to provide OEE analysis data
when production runs are not scheduled or started
using the Run Director or Schedule Selector
components, or scripting functions. In this case a tag
can be used to provide a Run Identifier value i.e.
Run_4253_XX. The Analysis Selector provides the
ability to pull the Operation UUID as part of analysis,
whether it is an internally generated Operation UUID or
a passed Run Identifier.
Live Analysis
Live Analysis provides a flexible way of customizing your application to provide a set
of real-time tag values that can be accessed from the Ignition designer and used in
your application to provide real-time production monitoring. Live Analysis is configured
149
MES Platform 2.0
in the OEE 2.0 Downtime tab of the Production Model Designer for the Line, Cell
Group and Cell production items. When a Live Analysis is created, a corresponding
set of tags is created in the MES Tag Provider that provide the real-time status of
those datapoints based upon the Period defined for the Live Analysis. You can create
multiple Live Analysis and use those tags to drive HMI displays.
To create a new Live Analysis:
Right click on the Live Analysis panel on the OEE 2.0 Downtime Tab in the
Production Model Designer.
Provide a Name
Select the Period that the Live Analysis datapoints will return a value for. Valid
options are Shift, Day (Midnight), Day (Production), Start of Run, Top of Hour,
Custom Period Tag
Select the frequency for how often the tag values will be updated. Default value
is 60 seconds. Minimum value is 10 seconds
Select the desired Data Points
Add any further Settings Values required
You cannot select all Data Points in one Live Analysis. The maximum length
string for Data Points is 1024 characters
150
MES Platform 2.0
Setting Description
Enabled The live analysis can be enabled or disabled with this setting.
Period The duration of analysis can be set by Shift, Day (midnight), Day
(production), Start of Run, Top of Hour or Custom Period Tag.
Custom A tag can be assigned to define the start datetime for a custom period.
Period The end time will be the current time. It takes value in the date time data
Tag type. Example for a valid value for the custom period tag is: 2017/04
/04 14:00:00
151
MES Platform 2.0
Setting Description
Update The rate in seconds by which the live analysis is updated. The minimum
Rate update rate is 60 seconds.
Data Data points allows you to pick and choose the values you wish to access
Points through tags. See the table below for the listing of available data points.
152
MES Platform 2.0
Analysis Data Points and Settings are used by Live Analysis, the MES Analysis
Selector and MES Analysis Controller components, the MES Analysis Data Source
for reporting and the MES Analysis Settings object.
Equipment
Equipment Int4 Integer value that determines the cell order of the
Cell Order equipment within the line. Is set to null for the line. Is
set to 0 for first cell within each cell group
Equipment String Any note that has been recorded for this piece of
Note equipment through the Note tag collector path in the
Production model will be exposed here.
DateTime
153
MES Platform 2.0
Execution Int8 Time taken to execute and update the Live Analysis.
Time (ms) Used mainly for performance debugging
From Time DateTime Start Date Time of current data point results
Stamp
154
MES Platform 2.0
Equipment Infeed Float8 See Infeed Count Scale for more details
Scale
Equipment Reject Float8 See Reject Count Scale for more details
Scale
Outfeed-Material String Value of the default MES Counter used for OEE
Out outfeed count
155
MES Platform 2.0
Equipment\Cycle
Time
Relative Cycle String Relative Cycle Count is how many occurred for
Count the compare by.
Target Cycle Float8 Also known as Takt time, it is how often a piece
Time must be produced to meet customer demand. It is
often used to pace a production line, and it is a
calculated number in seconds.
Total Cycle Count String Total Cycle Count is accumulative, it is sum total
of all the cycle count.
Average Normal Float8 Average Normal cycle time in seconds for the time
Cycle Time period selected
Float8
156
MES Platform 2.0
Max Normal Max Normal cycle time in seconds for the time
Cycle Time period selected
Min Normal Cycle Float8 Min Normal cycle time in seconds for the time
Time period selected
Normal Cycle Float8 Normal Cycle Time in seconds is the actual cycle
Time ignoring the equipment states like starved,
blocked, etc.
Average Overall Float8 Average Overall cycle time in seconds for the time
Cycle Time period selected
Max Overall Cycle Float8 Max Overall cycle time in seconds for the time
Time period selected
Min Overall Cycle Float8 Min Overall cycle time in seconds for the time
Time period selected
Average Precise Float8 Average Precise cycle time in seconds for the time
Cycle Time period selected
Max Precise Float8 Max Precise cycle time in seconds for the time
Cycle Time period selected
Float8
157
MES Platform 2.0
Min Precise Cycle Min Precise cycle time in seconds for the time
Time period selected
Precise Cycle Float8 Precise cycle time in seconds excluding states like
Time planned downtime, unplanned downtime, starved
and blocked.
Line
/Downtime
158
MES Platform 2.0
Line String The line or cell group (sub line) downtime reason.
Downtime
Reason
1. When the line is down the Line
Downtime Reason is the same as
the Line State Name.
2. When the line is up the Line
Downtime Reason is blank.
Line String The full reason name for line or cell group (sub line)
Downtime downtime reason. Line State name including State
Reason Path Class i.e. Default/Cell Faulted
Line DateTime The time stamp for the equipment state change of
Downtime the cell group (sub line) or cell that caused the line
State Time down time even.
Stamp
Line
/Meantime
159
MES Platform 2.0
Line
/Schedule
Line Target String Amount of product that should have been produced
Count based on the line schedule available time and line
schedule rate
Line Target String Variance between line scheduled count and line
Count OEE outfeed count.
Variance
160
MES Platform 2.0
Line/State
Line State Float8 The line or cell group (sub line) downtime event
Duration duration in minutes.
Line State DateTime The line or cell group (sub line) downtime event
Event Begin begin date time.
Line State DateTime The line or cell group (sub line) downtime event end
Event End date time.
Line State String The line or cell group (sub line) state.
Name
Line State String The state override scope for a line or cell group
Override (sub line). See Setting Up Equipment - Override
Scope Scope for more details
Line State String The state override type for a line or cell group (sub
Override line). See Setting Up Equipment - Override for more
Type details
Line State String The line or cell group (sub line) state type. See
Type Setting Up Equipment - State Type for more details
161
MES Platform 2.0
Line State Int4 The line or cell group (sub line) downtime state
Value code. See Setting Up Equipment - State Code for
more details
Equipment
/Mode
162
MES Platform 2.0
Equipment
/State
Equipment Boolean True is current downtime event has been split into
State Split multiple downtime events
Equipment
/Meantime
163
MES Platform 2.0
Equipment
/General
Delta Time Float8 Time gap (minutes) between the rows of data.
Stamp
Shift Day Int4 Int value of the current day of the week
of Week
Shift Day Int4 Int value of the current day of the year
of Year
164
MES Platform 2.0
Shift ISO Int4 Int value of the ISO week of the year
Week of
Year
Shift Week Int4 Int value of the current week of the month
of Month
Shift Week Int4 Int value of the current week of the year
of Year
Equipment/OEE
165
MES Platform 2.0
OEE General Long Any count value other than infeed, outfeed,
Count reject and waste value for the selected time
period
OEE Infeed Count Long Equipment infeed count value for the selected
period
OEE Outfeed Long Equipment outfeed count value for the selected
Count period
OEE Reject Long Equipment reject count value for the selected
Count period
Short Stop Time Float8 Short stop duration (Double) for selected period
166
MES Platform 2.0
Equipment/OEE
/Availability
Equipment/OEE
/Performance
Equipment/OEE
/Quality
Setting Values
The analysis results that are returned can be modified through the use of settings.
Setting values provide a number of keywords as listed below.
Format for entering the keywords is keyword1=True, keyword2=100.0,
keyword3=10.
Settings like Enable Totalized Mode, Include Future, Last Values and
Rollup Time span is meant for analysis selector and not for live analysis
167
MES Platform 2.0
Last Values Only the latest values are shown. Not Last Values
valid for = True
Live
Analysis
OEE Quality The maximum value calculated can All OEE Quality
Cap be capped with this setting Cap = 100.0
168
MES Platform 2.0
Recipe Tab
169
MES Platform 2.0
The Cell Production Item provides a configuration page for setting up a Production Cell for
all the MES modules. The General and Advanced Tab are always present whereas each
module when installed provides an additional tab.
The OEE Module collects and logs a number of downtime and production data values.
However, what if other values outside of downtime and production values are of interest?
Additional factors are the solution. Additional Factors are user defined data points that are
logged along with the production and downtime information. Once they are logged, they
can be shown in charts, tables and reports. Additionally, other analysis can be done by
filtering and/or setting up comparisons by their values.
Additional Factors can added to the Line, Cell Group and Cell Production Items in the
Production Model Designer.
170
MES Platform 2.0
Any value that can be read from an Ignition SQLTag can be added as an additional factor.
This includes values derived from scripts, or from barcode readers, databases,
calculations, PLCs, etc.
Any tag can be added as an additional factor. To configure, select a Line in the production
model and select the General tab on the right. Right click on the Additional Factors table
and select New. An additional factor is simply just a name and a tag.
Properties
Factor Optionally, this property can be set to a description for the String
Description additional factor. It is not used by the OEE Downtime and
Scheduling Module other than for reference.
Factor This reflects the name of additional factor that is configured in the String
Name designer.
Read
Only
Factor This reflects the Factor SQLTag setting that additional factor is String
SQLTag configured for in the designer. It is the name of SQLTag to read
Read
the factor value from.
Only
Example
In the example, we have two factors, Cardboard Vendor and Operator. The operator can
select the vendor that provided the cardboard or it can be obtained from some other
source. Now, OEE and downtime results can be shown for each cardboard manufacturer.
This can identify quality problems with raw material that directly affect production
efficiency. With the operator setup as an additional factor, the operator's name will be
171
MES Platform 2.0
logged along with the production and downtime data. By doing so, OEE and downtime
information can be filtered and grouped by the operator name. But this could just as well be
the production crew, supervisor, maintenance crew or any other user defined value that
can be monitored or entered into the system.
Adding these factors to a production line will allow us to capture the value of these tags
whenever they change. In the impromptu analysis, we can then compare OEE values by
our additional factor: Operator
172
MES Platform 2.0
The MES Counters are used to associate Process Segments (Operations) with production
counts. MES Counters record production counts 7/24, independent of scheduled
production runs.
Counter names and the associated tag are defined in the Production Model. In the MES
Management screen, the Quantity Source of Infeed and Material Process Segments can
be set to use these MES counters.
MES counters are available for the Line, Cell Group, Cell or a Storage Unit production
items in the Production Model Designer.
173
MES Platform 2.0
The quantity from the MES counters can be obtained through scripting, see
system.mes.getCountValue.
Counter Name
Name of the counter.
Counter Description
The description for the MES counter. This setting is not mandatory.
Enabled
The counter can be enabled or disabled here.
SQL Tag
The path to the Tag Provider and ignition tag where the count value will come from is
assigned to the MES counter here.
Parameterized Tag Paths can be used here which allows for indirection and exported MES
Counters to be easily deployed to other equipment.
174
MES Platform 2.0
Roll Over
For PLC count tags that that do not get reset, they will eventually reach a finite maximum
value at which point, the value will 'rollover' back to zero. The Roll Over setting allows you
to define the value that should be added to the count tag whenever a roll over occurs. By
default it is 32768 which equates to a 16 bit signed data value. Your setting will be
dependent upon the datatype of your plc count tag.
During a production run, the incoming count value is added to the Roll Over setting
multiplied by the number of times a rollover has occurred.
Example: production count value = incoming count value + 32768 * 3
This value is only used when the Count Mode is set to Rollover.
175
MES Platform 2.0
Store Rate
The MES counter will be captured and stored in the database after this specific interval in
seconds if the value has changed If Store Rate is set to zero, every value change will be
recorded.
Counter Kind
MES Counters can be set to four different kinds:
Infeed
Outfeed
Reject
General
Infeed, Outfeed and Reject kinds are used solely by the OEE module to determine which
MES counter to use for OEE Performance, OEE Quality and production count information.
The General kind can be used for any other count value.
176
MES Platform 2.0
Count Mode
The Count Mode can be set to Roll Over, Actual and Positive Change.
Roll Over
See Rollover section for this count mode.
Actual
The Actual count mode simply uses whatever value is passed through the sql tag to
represent the actual production counts. Production counts can go down as well as up.
Positive Change
The Positive Change mode ignores any sql tag count values that are zero and will
accumulate the counts. Three different cases are illustrated using the graphs shown.
177
MES Platform 2.0
Case 1
Case 2
Case 3
178
MES Platform 2.0
The OEE Downtime 2.0 tab is specific to the OEE module and is available for the Line, Cell
Group and Cell Production Items. A number of configuration settings are provided that can
be used to obtain equipment mode, state and count values from ignition tags (whether plc
tags, memory or expression tags).
179
MES Platform 2.0
Parallel Cells
Refer to Downtime Detection Mode for more information on the various Downtime
Detection Methods.
Downtime Detection Mode is only available for the Line and Cell Group
Production Item.
When adding a tag to a Tag Collector, you must use memory tags. The
Production Model will write values to any tags defined here as well as read the
value whenever it changes from an external source.
180
MES Platform 2.0
Mode Memory Integer The Mode Tag, if provided, will be written to by the
Production Model whenever the equipment mode
changes based on Material Production Settings. The
value of the mode tag can also be written to whenever
the Mode value changes either indirectly from a plc tag
(via tag change event) or from the HMI. The value of
the Mode tag will be recorded for the current mode.
State Memory Integer The State Tag path will generally come from a plc as
the source of the current equipment state. Exceptions
to this are at the Line level when using a downtime
detection method other than Equipment State.
Downtime Memory String Apart from scripting and Downtime table component,
Note the downtime notes can be added by using tags.
Shift Memory String When left blank, shifts defined in the Ignition Schedule
Management component and defined in the Equipment
Manager for a line will be used to determine the current
shift. If a tag is provided here, whatever value is in the
tag e.g. 'Shift A' will be recorded for the current shift.
Product Memory String When left blank, the Product Code currently running on
Code the line will be determined from the scheduled run as
selected by the Scheduler or Run Director component.
When a tag path is provided, the product code for the
line or equipment (cell) will be determined from the
value of the tag.
Work Memory String When left blank, the Work Order currently running on
Order the line will be determined from the scheduled run as
selected by the Scheduler or Run Director component.
When a tag path is provided, the product code for the
line or equipment (cell) will be determined from the
value of the tag.
181
MES Platform 2.0
Package Memory Float When left blank, the Package Count will be determined
Count from the Package count setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Package
Count for the line or equipment (cell) will be determined
from the value of the tag. For more information on the
Package Count, refer to the Material Production
Settings section.
Line Memory String When left blank, the Line Outfeed Units will be
Outfeed determined from the Line Outfeed Units setting for the
Units currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Line Outfeed Units for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Line Outfeed Units, refer to the
Material Production Settings section.
Infeed Memory Float When left blank, the Infeed Count Scale will be
Count determined from the Infeed Count Scale setting for the
Scale currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Infeed Count Scale for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Infeed Count Scale, refer to the
Material Production Settings section.
Line Memory String When left blank, the Line Infeed Count Scale will be
Infeed determined from the Infeed Count Scale setting for the
Units currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Infeed Count Scale for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Line Infeed Units, refer to the
Material Production Settings section.
182
MES Platform 2.0
Reject Memory Float When left blank, the Reject Count Scale will be
Count determined from the Reject Count Scale setting for the
Scale currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Reject Count Scale for the line or equipment (cell) will
be determined from the value of the tag. For more
information on the Reject Count Scale, refer to the
Material Production Settings section.
Line Memory String When left blank, the Line Reject Units will be
Reject determined from the Line Reject Units setting for the
Units currently running Product Code (Material) as defined in
the Material Manager. When a tag path is provided, the
Line Reject Units for the line or equipment (cell) will be
determined from the value of the tag. For more
information on the Line Reject Units, refer to the
Material Production Settings section.
Standard Memory Float When left blank, the Standard Rate will be determined
Rate from the Standard Rate setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Standard
Rate for the line or equipment (cell) will be determined
from the value of the tag. For more information on the
Standard Rate, refer to the Material Production Settings
section.
Schedule Memory Float When left blank, the Schedule Rate will be determined
Rate from the Schedule Rate setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Schedule
Rate for the line will be determined from the value of
the tag. For more information on the Schedule Rate,
refer to the Material Production Settings section.
183
MES Platform 2.0
Schedule Memory Integer When left blank, the Schedule Count will be determined
Count from the scheduled run as selected by the Scheduler or
Run Director component. When a tag path is provided,
the Schedule Count for the line or equipment (cell) will
be determined from the value of the tag. The Schedule
Count provides the number of units scheduled to be
produced.
Schedule Memory Integer When left blank, the Schedule Duration will be
Duration determined from the scheduled run as selected by the
Scheduler or Run Director component. When a tag
path is provided, the Schedule Duration for the line or
equipment (cell) will be determined from the value of
the tag. The Schedule Duration provides the expected
runtime required for the number of units scheduled to
be produced and is calculated by the Schedule Rate.
Rate Memory String When left blank, the Rate Period will be determined
Period from the Rate Period setting for the currently running
Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Rate Period
for the line or equipment (cell) will be determined from
the value of the tag. For more information on the Rate
Period, refer to the Material Production Settings
section.
184
MES Platform 2.0
Cycle Memory Float When left blank, the Cycle Count will be determined by
Count the OEE Module. When a tag path is provided, the
Cycle Count for the line or equipment (cell) will be
determined from the value of the tag.
Operation Memory String When left blank, the Operation UUID will be determined
UUID from the currently running Operation on the Line or
equipment (cell). When a tag path is provided, the
Operation UUID for the line or equipment (cell) can be
determined from the value of the tag. The purpose for
this tag is to be able to provide OEE analysis data
when production runs are not scheduled or started
using the Run Director or Schedule Selector
components, or scripting functions. In this case a tag
can be used to provide a Run Identifier value i.e.
Run_4253_XX. The Analysis Selector provides the
ability to pull the Operation UUID as part of analysis,
whether it is an internally generated Operation UUID or
a passed Run Identifier.
185
MES Platform 2.0
Live Analysis
Live Analysis provides a flexible way of customizing your application to provide a set
of real-time tag values that can be accessed from the Ignition designer and used in
your application to provide real-time production monitoring. Live Analysis is configured
in the OEE 2.0 Downtime tab of the Production Model Designer for the Line, Cell
Group and Cell production items. When a Live Analysis is created, a corresponding
set of tags is created in the MES Tag Provider that provide the real-time status of
those datapoints based upon the Period defined for the Live Analysis. You can create
multiple Live Analysis and use those tags to drive HMI displays.
To create a new Live Analysis:
Right click on the Live Analysis panel on the OEE 2.0 Downtime Tab in the
Production Model Designer.
Provide a Name
Select the Period that the Live Analysis datapoints will return a value for. Valid
options are Shift, Day (Midnight), Day (Production), Start of Run, Top of Hour,
Custom Period Tag
Select the frequency for how often the tag values will be updated. Default value
is 60 seconds. Minimum value is 10 seconds
Select the desired Data Points
Add any further Settings Values required
You cannot select all Data Points in one Live Analysis. The maximum length
string for Data Points is 1024 characters
186
MES Platform 2.0
Setting Description
Enabled The live analysis can be enabled or disabled with this setting.
Period The duration of analysis can be set by Shift, Day (midnight), Day
(production), Start of Run, Top of Hour or Custom Period Tag.
Custom A tag can be assigned to define the start datetime for a custom period.
Period The end time will be the current time. It takes value in the date time data
Tag type. Example for a valid value for the custom period tag is: 2017/04
/04 14:00:00
187
MES Platform 2.0
Setting Description
Update The rate in seconds by which the live analysis is updated. The minimum
Rate update rate is 60 seconds.
Data Data points allows you to pick and choose the values you wish to access
Points through tags. See the table below for the listing of available data points.
188
MES Platform 2.0
Analysis Data Points and Settings are used by Live Analysis, the MES Analysis
Selector and MES Analysis Controller components, the MES Analysis Data Source
for reporting and the MES Analysis Settings object.
Equipment
Equipment Int4 Integer value that determines the cell order of the
Cell Order equipment within the line. Is set to null for the line. Is
set to 0 for first cell within each cell group
Equipment String Any note that has been recorded for this piece of
Note equipment through the Note tag collector path in the
Production model will be exposed here.
DateTime
189
MES Platform 2.0
Execution Int8 Time taken to execute and update the Live Analysis.
Time (ms) Used mainly for performance debugging
From Time DateTime Start Date Time of current data point results
Stamp
190
MES Platform 2.0
Equipment Infeed Float8 See Infeed Count Scale for more details
Scale
Equipment Reject Float8 See Reject Count Scale for more details
Scale
Outfeed-Material String Value of the default MES Counter used for OEE
Out outfeed count
191
MES Platform 2.0
Equipment\Cycle
Time
Relative Cycle String Relative Cycle Count is how many occurred for
Count the compare by.
Target Cycle Float8 Also known as Takt time, it is how often a piece
Time must be produced to meet customer demand. It is
often used to pace a production line, and it is a
calculated number in seconds.
Total Cycle Count String Total Cycle Count is accumulative, it is sum total
of all the cycle count.
Average Normal Float8 Average Normal cycle time in seconds for the time
Cycle Time period selected
Float8
192
MES Platform 2.0
Max Normal Max Normal cycle time in seconds for the time
Cycle Time period selected
Min Normal Cycle Float8 Min Normal cycle time in seconds for the time
Time period selected
Normal Cycle Float8 Normal Cycle Time in seconds is the actual cycle
Time ignoring the equipment states like starved,
blocked, etc.
Average Overall Float8 Average Overall cycle time in seconds for the time
Cycle Time period selected
Max Overall Cycle Float8 Max Overall cycle time in seconds for the time
Time period selected
Min Overall Cycle Float8 Min Overall cycle time in seconds for the time
Time period selected
Average Precise Float8 Average Precise cycle time in seconds for the time
Cycle Time period selected
Max Precise Float8 Max Precise cycle time in seconds for the time
Cycle Time period selected
Float8
193
MES Platform 2.0
Min Precise Cycle Min Precise cycle time in seconds for the time
Time period selected
Precise Cycle Float8 Precise cycle time in seconds excluding states like
Time planned downtime, unplanned downtime, starved
and blocked.
Line
/Downtime
194
MES Platform 2.0
Line String The line or cell group (sub line) downtime reason.
Downtime
Reason
1. When the line is down the Line
Downtime Reason is the same as
the Line State Name.
2. When the line is up the Line
Downtime Reason is blank.
Line String The full reason name for line or cell group (sub line)
Downtime downtime reason. Line State name including State
Reason Path Class i.e. Default/Cell Faulted
Line DateTime The time stamp for the equipment state change of
Downtime the cell group (sub line) or cell that caused the line
State Time down time even.
Stamp
Line
/Meantime
195
MES Platform 2.0
Line
/Schedule
Line Target String Amount of product that should have been produced
Count based on the line schedule available time and line
schedule rate
Line Target String Variance between line scheduled count and line
Count OEE outfeed count.
Variance
196
MES Platform 2.0
Line/State
Line State Float8 The line or cell group (sub line) downtime event
Duration duration in minutes.
Line State DateTime The line or cell group (sub line) downtime event
Event Begin begin date time.
Line State DateTime The line or cell group (sub line) downtime event end
Event End date time.
Line State String The line or cell group (sub line) state.
Name
Line State String The state override scope for a line or cell group
Override (sub line). See Setting Up Equipment - Override
Scope Scope for more details
Line State String The state override type for a line or cell group (sub
Override line). See Setting Up Equipment - Override for more
Type details
Line State String The line or cell group (sub line) state type. See
Type Setting Up Equipment - State Type for more details
197
MES Platform 2.0
Line State Int4 The line or cell group (sub line) downtime state
Value code. See Setting Up Equipment - State Code for
more details
Equipment
/Mode
198
MES Platform 2.0
Equipment
/State
Equipment Boolean True is current downtime event has been split into
State Split multiple downtime events
Equipment
/Meantime
199
MES Platform 2.0
Equipment
/General
Delta Time Float8 Time gap (minutes) between the rows of data.
Stamp
Shift Day Int4 Int value of the current day of the week
of Week
Shift Day Int4 Int value of the current day of the year
of Year
200
MES Platform 2.0
Shift ISO Int4 Int value of the ISO week of the year
Week of
Year
Shift Week Int4 Int value of the current week of the month
of Month
Shift Week Int4 Int value of the current week of the year
of Year
Equipment/OEE
201
MES Platform 2.0
OEE General Long Any count value other than infeed, outfeed,
Count reject and waste value for the selected time
period
OEE Infeed Count Long Equipment infeed count value for the selected
period
OEE Outfeed Long Equipment outfeed count value for the selected
Count period
OEE Reject Long Equipment reject count value for the selected
Count period
Short Stop Time Float8 Short stop duration (Double) for selected period
202
MES Platform 2.0
Equipment/OEE
/Availability
Equipment/OEE
/Performance
Equipment/OEE
/Quality
Setting Values
The analysis results that are returned can be modified through the use of settings.
Setting values provide a number of keywords as listed below.
Format for entering the keywords is keyword1=True, keyword2=100.0,
keyword3=10.
Settings like Enable Totalized Mode, Include Future, Last Values and
Rollup Time span is meant for analysis selector and not for live analysis
203
MES Platform 2.0
Last Values Only the latest values are shown. Not Last Values
valid for = True
Live
Analysis
OEE Quality The maximum value calculated can All OEE Quality
Cap be capped with this setting Cap = 100.0
204
MES Platform 2.0
Recipe Tab
205
MES Platform 2.0
Trace Tab
Locations are used exclusively by the SPC module. They define the locations that are
associated with sample collection.
Shifts
Locations can be configured to inherit from the default shifts for the site, or they can be
overridden in this tab.
Additional Factors
Additional Factors are user defined data points that are logged along with the sample data. It
extends the SPC Module analysis by allowing you to view the additional factor values in charts,
tables, and reports. Additionally, SPC analysis can be done by filtering and/or setting up
comparisons by the additional factor values.
See SPC Additional Factors for more information on setting up Additional Factors.
206
MES Platform 2.0
General Tab
Quality Tab
207
MES Platform 2.0
Recipe Tab
208
MES Platform 2.0
Advanced Tab
209
MES Platform 2.0
7.12.2
210
MES Platform 2.0
MES Counters
The MES Counters are used by the Track & Trace and OEE 2.0 Modules to associate Process
Segments (Operations) with production counts. MES Counters record production counts 7/24,
independent of scheduled production runs.
Counter names and the associated tag are defined in the Production Model. In the MES
Management screen, the Quantity Source of Infeed and Material Process Segments can be set
to use these MES counters.
More information can be found in the MES Counters page.
The quantity from the MES counters can be obtained through scripting, see system.
mes.getCountValue.
The tag path for MES counters can be parameterized with "{Equipment Path}" to
utilize indirection and more rapidly implement the production model.
Before: [default]\Enterprise\Site\Area\Line\InfeedCount
211
MES Platform 2.0
212
MES Platform 2.0
7.14.1 Properties
Factor Optionally, this property can be set to a description for the additional String
Description factor. It is not used by the OEE Downtime and Scheduling Module
other than for reference.
Factor This reflects the name of additional factor that is configured in the String
Name designer.
Read
Only
String
213
MES Platform 2.0
Read
Factor This reflects the Factor SQLTag setting that additional factor is
Only
SQLTag configured for in the designer. It is the name of SQLTag to read the
factor value from.
Example
In the example, we have two factors, Cardboard Vendor and Operator. The operator can
select the vendor that provided the cardboard or it can be obtained from some other source.
Now, OEE and downtime results can be shown for each cardboard manufacturer. This can
identify quality problems with raw material that directly affect production efficiency. With the
operator setup as an additional factor, the operator's name will be logged along with the
production and downtime data. By doing so, OEE and downtime information can be filtered and
grouped by the operator name. But this could just as well be the production crew, supervisor,
maintenance crew or any other user defined value that can be monitored or entered into the
system.
214
MES Platform 2.0
Adding these factors to a production line will allow us to capture the value of these tags
whenever they change. In the impromptu analysis, we can then compare OEE values by our
additional factor: Operator
215
MES Platform 2.0
The quantity from the MES counters can be obtained through scripting, see system.
mes.getCountValue.
7.15.4 Enabled
The counter can be enabled or disabled here.
216
MES Platform 2.0
217
MES Platform 2.0
This value is only used when the Count Mode is set to Rollover.
218
MES Platform 2.0
Infeed
Outfeed
Reject
General
Infeed, Outfeed and Reject kinds are used solely by the OEE module to determine which MES
counter to use for OEE Performance, OEE Quality and production count information. The
General kind can be used for any other count value.
Roll Over
See Rollover section for this count mode.
Actual
The Actual count mode simply uses whatever value is passed through the sql tag to represent
the actual production counts. Production counts can go down as well as up.
219
MES Platform 2.0
Positive Change
The Positive Change mode ignores any sql tag count values that are zero and will accumulate
the counts. Three different cases are illustrated using the graphs shown.
PLC Count vs. OEE Count
Case 1
Case 2
220
MES Platform 2.0
Case 3
221
MES Platform 2.0
If a state SQL tag is defined at the line or sub-line level, any active event at the line
level will be used in place of the Initial Reason.
222
MES Platform 2.0
The mode of the line must have Include in OEE set to True for Key reason detection
method to work.
223
MES Platform 2.0
Cell Priority
When the primary cell is either blocked or starved, the cell closest to the primary cell that went
down for a recordable downtime reason is latched and used as the cause of line downtime,
even if that cell is back up and running at the time the primary cell goes down. If the primary
cell is starved, the OEE module will look upstream from the primary cell for the source of the
problem. Likewise, if the primary cell is blocked, the module will look downstream for the cause.
If the primary cell goes down for a recordable downtime reason, then the primary cell downtime
reason becomes the downtime reason.
Neighbor Priority
Latches onto the most downstream cell that went down for a recordable downtime reason.
224
MES Platform 2.0
Downtime Detection Mode is only available for the Line and Cell Group Production
Item.
225
MES Platform 2.0
When adding a tag to a Tag Collector, you must use memory tags. The Production
Model will write values to any tags defined here as well as read the value whenever it
changes from an external source.
Mode Memory Integer The Mode Tag, if provided, will be written to by the
Production Model whenever the equipment mode changes
based on Material Production Settings. The value of the
mode tag can also be written to whenever the Mode value
changes either indirectly from a plc tag (via tag change
event) or from the HMI. The value of the Mode tag will be
recorded for the current mode.
State Memory Integer The State Tag path will generally come from a plc as the
source of the current equipment state. Exceptions to this
are at the Line level when using a downtime detection
method other than Equipment State.
Downtime Memory String Apart from scripting and Downtime table component, the
Note downtime notes can be added by using tags.
Shift Memory String When left blank, shifts defined in the Ignition Schedule
Management component and defined in the Equipment
Manager for a line will be used to determine the current
shift. If a tag is provided here, whatever value is in the tag e.
g. 'Shift A' will be recorded for the current shift.
Memory String
226
MES Platform 2.0
Product When left blank, the Product Code currently running on the
Code line will be determined from the scheduled run as selected
by the Scheduler or Run Director component. When a tag
path is provided, the product code for the line or equipment
(cell) will be determined from the value of the tag.
Work Memory String When left blank, the Work Order currently running on the
Order line will be determined from the scheduled run as selected
by the Scheduler or Run Director component. When a tag
path is provided, the product code for the line or equipment
(cell) will be determined from the value of the tag.
Package Memory Float When left blank, the Package Count will be determined from
Count the Package count setting for the currently running Product
Code (Material) as defined in the Material Manager. When a
tag path is provided, the Package Count for the line or
equipment (cell) will be determined from the value of the
tag. For more information on the Package Count, refer to
the Material Production Settings section.
Line Memory String When left blank, the Line Outfeed Units will be determined
Outfeed from the Line Outfeed Units setting for the currently running
Units Product Code (Material) as defined in the Material Manager.
When a tag path is provided, the Line Outfeed Units for the
line or equipment (cell) will be determined from the value of
the tag. For more information on the Line Outfeed Units,
refer to the Material Production Settings section.
Infeed Memory Float When left blank, the Infeed Count Scale will be determined
Count from the Infeed Count Scale setting for the currently running
Scale Product Code (Material) as defined in the Material Manager.
When a tag path is provided, the Infeed Count Scale for the
line or equipment (cell) will be determined from the value of
the tag. For more information on the Infeed Count Scale,
refer to the Material Production Settings section.
227
MES Platform 2.0
Line Memory String When left blank, the Line Infeed Count Scale will be
Infeed determined from the Infeed Count Scale setting for the
Units currently running Product Code (Material) as defined in the
Material Manager. When a tag path is provided, the Infeed
Count Scale for the line or equipment (cell) will be
determined from the value of the tag. For more information
on the Line Infeed Units, refer to the Material Production
Settings section.
Reject Memory Float When left blank, the Reject Count Scale will be determined
Count from the Reject Count Scale setting for the currently running
Scale Product Code (Material) as defined in the Material Manager.
When a tag path is provided, the Reject Count Scale for the
line or equipment (cell) will be determined from the value of
the tag. For more information on the Reject Count Scale,
refer to the Material Production Settings section.
Line Memory String When left blank, the Line Reject Units will be determined
Reject from the Line Reject Units setting for the currently running
Units Product Code (Material) as defined in the Material Manager.
When a tag path is provided, the Line Reject Units for the
line or equipment (cell) will be determined from the value of
the tag. For more information on the Line Reject Units, refer
to the Material Production Settings section.
Standard Memory Float When left blank, the Standard Rate will be determined from
Rate the Standard Rate setting for the currently running Product
Code (Material) as defined in the Material Manager. When a
tag path is provided, the Standard Rate for the line or
equipment (cell) will be determined from the value of the
tag. For more information on the Standard Rate, refer to the
Material Production Settings section.
Schedule Memory Float When left blank, the Schedule Rate will be determined from
Rate the Schedule Rate setting for the currently running Product
Code (Material) as defined in the Material Manager. When a
228
MES Platform 2.0
tag path is provided, the Schedule Rate for the line will be
determined from the value of the tag. For more information
on the Schedule Rate, refer to the Material Production
Settings section.
Schedule Memory Integer When left blank, the Schedule Count will be determined
Count from the scheduled run as selected by the Scheduler or
Run Director component. When a tag path is provided, the
Schedule Count for the line or equipment (cell) will be
determined from the value of the tag. The Schedule Count
provides the number of units scheduled to be produced.
Schedule Memory Integer When left blank, the Schedule Duration will be determined
Duration from the scheduled run as selected by the Scheduler or
Run Director component. When a tag path is provided, the
Schedule Duration for the line or equipment (cell) will be
determined from the value of the tag. The Schedule
Duration provides the expected runtime required for the
number of units scheduled to be produced and is calculated
by the Schedule Rate.
Rate Memory String When left blank, the Rate Period will be determined from
Period the Rate Period setting for the currently running Product
Code (Material) as defined in the Material Manager. When a
229
MES Platform 2.0
Target C Memory Integer When left blank, the Target C/O (Changeover) Time will be
/O Time determined from the Changeover settings for the currently
running Product Code (Material) as defined in the Material
Manager. When a tag path is provided, the Target C/O
(Changeover) Time for the line or equipment (cell) will be
determined from the value of the tag. For more information
on the Target C/O (Changeover) Time, refer to the Material
Production Settings section.
Cycle Memory Float When left blank, the Cycle Count will be determined by the
Count OEE Module. When a tag path is provided, the Cycle Count
for the line or equipment (cell) will be determined from the
value of the tag.
Operation Memory String When left blank, the Operation UUID will be determined
UUID from the currently running Operation on the Line or
equipment (cell). When a tag path is provided, the
Operation UUID for the line or equipment (cell) can be
determined from the value of the tag. The purpose for this
tag is to be able to provide OEE analysis data when
production runs are not scheduled or started using the Run
Director or Schedule Selector components, or scripting
functions. In this case a tag can be used to provide a Run
Identifier value i.e. Run_4253_XX. The Analysis Selector
provides the ability to pull the Operation UUID as part of
analysis, whether it is an internally generated Operation
UUID or a passed Run Identifier.
230
MES Platform 2.0
Tag Collector Paths can be parameterized with {Equipment Path} to utilize indirection
and more rapidly implement the production model. See Parameterized Tag Paths for
more details.
Live Analysis provides a flexible way of customizing your application to provide a set of
real-time tag values that can be accessed from the Ignition designer and used in your
application to provide real-time production monitoring. Live Analysis is configured in the
OEE 2.0 Downtime tab of the Production Model Designer for the Line, Cell Group and Cell
production items. When a Live Analysis is created, a corresponding set of tags is created
in the MES Tag Provider that provide the real-time status of those datapoints based upon
the Period defined for the Live Analysis. You can create multiple Live Analysis and use
those tags to drive HMI displays.
To create a new Live Analysis:
Right click on the Live Analysis panel on the OEE 2.0 Downtime Tab in the
Production Model Designer.
Provide a Name
Select the Period that the Live Analysis datapoints will return a value for. Valid
options are Shift, Day (Midnight), Day (Production), Start of Run, Top of Hour,
Custom Period Tag
Select the frequency for how often the tag values will be updated. Default value is
60 seconds. Minimum value is 10 seconds
Select the desired Data Points
Add any further Settings Values required
You cannot select all Data Points in one Live Analysis. The maximum length
string for Data Points is 1024 characters
231
MES Platform 2.0
Setting Description
Enabled The live analysis can be enabled or disabled with this setting.
232
MES Platform 2.0
Setting Description
Period The duration of analysis can be set by Shift, Day (midnight), Day
(production), Start of Run, Top of Hour or Custom Period Tag.
Custom A tag can be assigned to define the start datetime for a custom period. The
Period end time will be the current time. It takes value in the date time data type.
Tag Example for a valid value for the custom period tag is: 2017/04/04 14:00:
00
Update The rate in seconds by which the live analysis is updated. The minimum
Rate update rate is 60 seconds.
Data Data points allows you to pick and choose the values you wish to access
Points through tags. See the table below for the listing of available data points.
Current Shift String The currently running shift as defined in the Ignition Schedule
Management component or passed from the Shift Tag
Collector path
233
MES Platform 2.0
Analysis Data Points and Settings are used by Live Analysis, the MES Analysis
Selector and MES Analysis Controller components, the MES Analysis Data Source for
reporting and the MES Analysis Settings object.
Equipment
Equipment Int4 Integer value that determines the cell order of the
Cell Order equipment within the line. Is set to null for the line. Is set
to 0 for first cell within each cell group
Equipment String Any note that has been recorded for this piece of
Note equipment through the Note tag collector path in the
Production model will be exposed here.
234
MES Platform 2.0
Equipment DateTime Start Date time of the currently running operation on this
Operation equipment
Begin
Execution Int8 Time taken to execute and update the Live Analysis.
Time (ms) Used mainly for performance debugging
From Time DateTime Start Date Time of current data point results
Stamp
235
MES Platform 2.0
Work Order String Work order currently being processed on this equipment
Equipment\Count *Any defined counters for the production item will also
appear in this folder
Equipment Infeed Float8 See Infeed Count Scale for more details
Scale
Equipment Reject Float8 See Reject Count Scale for more details
Scale
Outfeed-Material String Value of the default MES Counter used for OEE
Out outfeed count
236
MES Platform 2.0
Equipment\Cycle
Time
Relative Cycle String Relative Cycle Count is how many occurred for the
Count compare by.
Target Cycle Float8 Also known as Takt time, it is how often a piece must
Time be produced to meet customer demand. It is often
used to pace a production line, and it is a calculated
number in seconds.
Total Cycle Count String Total Cycle Count is accumulative, it is sum total of all
the cycle count.
Average Normal Float8 Average Normal cycle time in seconds for the time
Cycle Time period selected
Float8
237
MES Platform 2.0
Max Normal Max Normal cycle time in seconds for the time period
Cycle Time selected
Min Normal Cycle Float8 Min Normal cycle time in seconds for the time period
Time selected
Normal Cycle Float8 Normal Cycle Time in seconds is the actual cycle
Time ignoring the equipment states like starved, blocked,
etc.
Average Overall Float8 Average Overall cycle time in seconds for the time
Cycle Time period selected
Max Overall Cycle Float8 Max Overall cycle time in seconds for the time period
Time selected
Min Overall Cycle Float8 Min Overall cycle time in seconds for the time period
Time selected
Overall Cycle Float8 Overall Cycle Time in seconds is the cycle including
Time states like downtime, starved, blocked, etc.
Average Precise Float8 Average Precise cycle time in seconds for the time
Cycle Time period selected
Max Precise Float8 Max Precise cycle time in seconds for the time period
Cycle Time selected
Min Precise Cycle Float8 Min Precise cycle time in seconds for the time period
Time selected
238
MES Platform 2.0
Precise Cycle Float8 Precise cycle time in seconds excluding states like
Time planned downtime, unplanned downtime, starved and
blocked.
Line
/Downtime
239
MES Platform 2.0
Line
Downtime
Occurrence
Count
Line String The line or cell group (sub line) downtime reason.
Downtime
Reason
1. When the line is down the Line
Downtime Reason is the same as the
Line State Name.
2. When the line is up the Line Downtime
Reason is blank.
Line String The full reason name for line or cell group (sub line)
Downtime downtime reason. Line State name including State
Reason Path Class i.e. Default/Cell Faulted
Line Boolean The line downtime reason split indicator. True is current
Downtime downtime event has been split into multiple downtime
Reason Split events
Line DateTime The time stamp for the equipment state change of the
Downtime cell group (sub line) or cell that caused the line down
State Time time even.
Stamp
Line
/Meantime
Line MTBF Float8 The calculated Meantime (minutes) Between Failure for
the selected period.
Refer to Setting Up Equipment States - Meantime
Metrics for more details.
240
MES Platform 2.0
Line Boolean Returns if Meantime metrics have been enabled for this
Meantime equipment.
Metrics
Enabled
Line
/Schedule
Line Standard String Amount of product that should have been produced
Count based on the line schedule available time and line
standard rate
Line Standard String Variance between standard count and actual count
Count
Variance
Line Target String Amount of product that should have been produced
Count based on the line schedule available time and line
schedule rate
Line Target String Variance between line scheduled count and line OEE
Count outfeed count.
Variance
Line/State
241
MES Platform 2.0
Line State Float8 The line or cell group (sub line) downtime event
Duration duration in minutes.
Line State DateTime The line or cell group (sub line) downtime event begin
Event Begin date time.
Line State DateTime The line or cell group (sub line) downtime event end
Event End date time.
Line State String The line or cell group (sub line) state.
Name
Line State String The state override scope for a line or cell group (sub
Override line). See Setting Up Equipment - Override Scope for
Scope more details
Line State String The state override type for a line or cell group (sub
Override line). See Setting Up Equipment - Override for more
Type details
Line State String The line or cell group (sub line) state type. See Setting
Type Up Equipment - State Type for more details
242
MES Platform 2.0
Equipment
/Mode
OEE Enabled Boolean See Setting Up Equipment Modes - OEE Enabled for
more details
243
MES Platform 2.0
Equipment
/State
Equipment Boolean True is current downtime event has been split into
State Split multiple downtime events
Equipment/Meantime
244
MES Platform 2.0
Equipment
/General
Delta Time Float8 Time gap (minutes) between the rows of data.
Stamp
Shift String Name of the current shift as set by the Ignition Schedule
Management component and defined for the current line
or by the value passed in the equipment shift tag collector
Shift Day Int4 Int value of the current day of the week
of Week
Shift Day Int4 Int value of the current day of the year
of Year
245
MES Platform 2.0
Shift ISO Int4 Int value of the ISO week of the year
Week of
Year
Shift Week Int4 Int value of the current week of the month
of Month
Shift Week Int4 Int value of the current week of the year
of Year
Equipment/OEE
246
MES Platform 2.0
OEE General Long Any count value other than infeed, outfeed, reject
Count and waste value for the selected time period
OEE Infeed Count Long Equipment infeed count value for the selected
period
OEE Outfeed Long Equipment outfeed count value for the selected
Count period
OEE Reject Count Long Equipment reject count value for the selected
period
Short Stop Time Float8 Short stop duration (Double) for selected period
247
MES Platform 2.0
Equipment/OEE
/Availability
Equipment/OEE
/Performance
Equipment/OEE
/Quality
Setting Values
The analysis results that are returned can be modified through the use of settings.
Setting values provide a number of keywords as listed below.
Format for entering the keywords is keyword1=True, keyword2=100.0, keyword3=10.
Settings like Enable Totalized Mode, Include Future, Last Values and Rollup
Time span is meant for analysis selector and not for live analysis
248
MES Platform 2.0
Last Values Only the latest values are shown. Not Last Values
valid for = True
Live
Analysis
OEE Quality The maximum value calculated can be All OEE Quality
Cap capped with this setting Cap = 100.0
Rollup Time If the time (seconds) between downtime Not Rollup Time
Span events is less than the rollup time and it is valid for Span = 30
the same equipment and reason, Live
Analysis
then it will rollup the event into one row in
the results and will increase the
occurrence count.
249
MES Platform 2.0
Row Limit The analysis can be limited to a certain All Row Limit =
number of rows. 10
7.18.1 Example
Before: [default]\Enterprise\Site\Area\Line\InfeedCount
If your tag path is not built with the same hierarchy as the Production Model, you can still
parameterize the path using parts of the Production Model path.
Before: [default]\Enterprise\Site\Area\Line\InfeedCount
Here the number indicating the Area in the production model hierarchy from the
enterprise level is 3, so Equipment Path: 3. Similarly Equipment Path: 4 for the Line.
250
MES Platform 2.0
tab of the Production Model Designer for the Line, Cell Group and Cell production items. When
a Live Analysis is created, a corresponding set of tags is created in the MES Tag Provider that
provide the real-time status of those datapoints based upon the Period defined for the Live
Analysis. You can create multiple Live Analysis and use those tags to drive HMI displays.
To create a new Live Analysis:
Right click on the Live Analysis panel on the OEE 2.0 Downtime Tab in the Production
Model Designer.
Provide a Name
Select the Period that the Live Analysis datapoints will return a value for. Valid options
are Shift, Day (Midnight), Day (Production), Start of Run, Top of Hour, Custom Period
Tag
Select the frequency for how often the tag values will be updated. Default value is 60
seconds. Minimum value is 10 seconds
Select the desired Data Points
Add any further Settings Values required
You cannot select all Data Points in one Live Analysis. The maximum length string for
Data Points is 1024 characters
251
MES Platform 2.0
Setting Description
Enabled The live analysis can be enabled or disabled with this setting.
Period The duration of analysis can be set by Shift, Day (midnight), Day (production),
Start of Run, Top of Hour or Custom Period Tag.
Custom A tag can be assigned to define the start datetime for a custom period. The end
Period time will be the current time. It takes value in the date time data type. Example for
Tag a valid value for the custom period tag is: 2017/04/04 14:00:00
252
MES Platform 2.0
Update The rate in seconds by which the live analysis is updated. The minimum update
Rate rate is 60 seconds.
Data Data points allows you to pick and choose the values you wish to access through
Points tags. See the table below for the listing of available data points.
Current Shift String The currently running shift as defined in the Ignition Schedule
Management component or passed from the Shift Tag Collector
path
253
MES Platform 2.0
Analysis Data Points and Settings are used by Live Analysis, the MES Analysis Selector
and MES Analysis Controller components, the MES Analysis Data Source for reporting and
the MES Analysis Settings object.
Equipment
Equipment Int4 Integer value that determines the cell order of the equipment
Cell Order within the line. Is set to null for the line. Is set to 0 for first cell
within each cell group
Equipment String Any note that has been recorded for this piece of equipment
Note through the Note tag collector path in the Production model
will be exposed here.
254
MES Platform 2.0
Equipment DateTime Start Date time of the currently running operation on this
Operation equipment
Begin
Execution Int8 Time taken to execute and update the Live Analysis. Used
Time (ms) mainly for performance debugging
From Time DateTime Start Date Time of current data point results
Stamp
255
MES Platform 2.0
Work Order String Work order currently being processed on this equipment
Equipment\Count *Any defined counters for the production item will also
appear in this folder
Equipment Infeed Float8 See Infeed Count Scale for more details
Scale
Equipment Reject Float8 See Reject Count Scale for more details
Scale
Outfeed-Material String Value of the default MES Counter used for OEE outfeed
Out count
256
MES Platform 2.0
Equipment\Cycle
Time
Relative Cycle String Relative Cycle Count is how many occurred for the
Count compare by.
Target Cycle Float8 Also known as Takt time, it is how often a piece must be
Time produced to meet customer demand. It is often used to
pace a production line, and it is a calculated number in
seconds.
Total Cycle Count String Total Cycle Count is accumulative, it is sum total of all the
cycle count.
Average Normal Float8 Average Normal cycle time in seconds for the time period
Cycle Time selected
257
MES Platform 2.0
Max Normal Float8 Max Normal cycle time in seconds for the time period
Cycle Time selected
Min Normal Cycle Float8 Min Normal cycle time in seconds for the time period
Time selected
Normal Cycle Float8 Normal Cycle Time in seconds is the actual cycle ignoring
Time the equipment states like starved, blocked, etc.
Average Overall Float8 Average Overall cycle time in seconds for the time period
Cycle Time selected
Max Overall Cycle Float8 Max Overall cycle time in seconds for the time period
Time selected
Min Overall Cycle Float8 Min Overall cycle time in seconds for the time period
Time selected
Overall Cycle Float8 Overall Cycle Time in seconds is the cycle including states
Time like downtime, starved, blocked, etc.
Equipment\Cycle Precise Cycle Time is the cycle time ignoring all the
Time\Precise equipment states
Average Precise Float8 Average Precise cycle time in seconds for the time period
Cycle Time selected
Max Precise Float8 Max Precise cycle time in seconds for the time period
Cycle Time selected
Min Precise Cycle Float8 Min Precise cycle time in seconds for the time period
Time selected
258
MES Platform 2.0
Precise Cycle Float8 Precise cycle time in seconds excluding states like planned
Time downtime, unplanned downtime, starved and blocked.
Line
/Downtime
Line String Name of the equipment that is responsible for causing line
Downtime downtime
Equipment
Name
259
MES Platform 2.0
Line String The line or cell group (sub line) downtime reason.
Downtime
Reason
1. When the line is down the Line Downtime
Reason is the same as the Line State
Name.
2. When the line is up the Line Downtime
Reason is blank.
Line String The full reason name for line or cell group (sub line)
Downtime downtime reason. Line State name including State Class i.
Reason Path e. Default/Cell Faulted
Line Boolean The line downtime reason split indicator. True is current
Downtime downtime event has been split into multiple downtime
Reason Split events
Line DateTime The time stamp for the equipment state change of the cell
Downtime group (sub line) or cell that caused the line down time
State Time even.
Stamp
Line
/Meantime
Line MTBF Float8 The calculated Meantime (minutes) Between Failure for the
selected period.
Refer to Setting Up Equipment States - Meantime Metrics
for more details.
Line Meantime Boolean Returns if Meantime metrics have been enabled for this
Metrics equipment.
Enabled
Line/Schedule
260
MES Platform 2.0
Line Schedule Float8 Time in minutes for available production time adjusted for
Available Time line schedule availability and mode.
Line Standard String Amount of product that should have been produced based
Count on the line schedule available time and line standard rate
Line Standard String Variance between standard count and actual count
Count
Variance
Line Target String Amount of product that should have been produced based
Count on the line schedule available time and line schedule rate
Line Target String Variance between line scheduled count and line OEE
Count outfeed count.
Variance
Line/State
Line State Float8 The line or cell group (sub line) downtime event duration in
Duration minutes.
Line State DateTime The line or cell group (sub line) downtime event begin date
Event Begin time.
Line State DateTime The line or cell group (sub line) downtime event end date
Event End time.
261
MES Platform 2.0
Line State String The line or cell group (sub line) state.
Name
Line State String The state override scope for a line or cell group (sub line).
Override See Setting Up Equipment - Override Scope for more
Scope details
Line State String The state override type for a line or cell group (sub line).
Override Type See Setting Up Equipment - Override for more details
Line State String The line or cell group (sub line) state type. See Setting Up
Type Equipment - State Type for more details
Line State Int4 The line or cell group (sub line) downtime state code. See
Value Setting Up Equipment - State Code for more details
Equipment
/Mode
Equipment String Name of the current mode type. See Setting Up Equipment
Mode Type Modes for more details
262
MES Platform 2.0
OEE Enabled Boolean See Setting Up Equipment Modes - OEE Enabled for more
details
Production Boolean See Setting Up Equipment Modes - OEE Enabled for more
Counts details
Enabled
Equipment
/State
Equipment Int4 The original value of equipment state tag collector before it
Original State is updated by using MES Value Editor component or
Value scripting
Equipment Boolean True is current downtime event has been split into multiple
State Split downtime events
Equipment String See Setting Up Equipment - State Type for more details
State Type
263
MES Platform 2.0
Equipment/Meantime
Equipment MTBF Float8 The Mean Time (minutes) Between Failure for the
selected period
Equipment
/General
Delta Time Float8 Time gap (minutes) between the rows of data.
Stamp
264
MES Platform 2.0
Shift String Name of the current shift as set by the Ignition Schedule
Management component and defined for the current line or by
the value passed in the equipment shift tag collector
Shift Day Int4 Int value of the current day of the week
of Week
Shift Day Int4 Int value of the current day of the year
of Year
Shift ISO Int4 Int value of the ISO week of the year
Week of
Year
Shift Week Int4 Int value of the current week of the month
of Month
Shift Week Int4 Int value of the current week of the year
of Year
265
MES Platform 2.0
Equipment/OEE
OEE General Count Long Any count value other than infeed, outfeed, reject and
waste value for the selected time period
OEE Infeed Count Long Equipment infeed count value for the selected period
OEE Outfeed Count Long Equipment outfeed count value for the selected period
OEE Reject Count Long Equipment reject count value for the selected period
266
MES Platform 2.0
Short Stop Time Float8 Short stop duration (Double) for selected period
Target Changeover Float8 Amount of time in minutes set for Target Changeover.
Time See Changeover Duration for more details
Equipment/OEE
/Availability
Equipment/OEE
/Performance
Equipment/OEE
/Quality
Setting Values
The analysis results that are returned can be modified through the use of settings. Setting
values provide a number of keywords as listed below.
Format for entering the keywords is keyword1=True, keyword2=100.0, keyword3=10.
267
MES Platform 2.0
Settings like Enable Totalized Mode, Include Future, Last Values and Rollup Time
span is meant for analysis selector and not for live analysis
Date Format Date format fields can be customized with All Date Format =
this setting e.g. 'YYYY/MM/dd hh:mm:ss a' 2017/04/12
19:45:30
Last Values Only the latest values are shown. Not Last Values =
valid for True
Live
Analysis
OEE Quality The maximum value calculated can be All OEE Quality
Cap capped with this setting Cap = 100.0
Rollup Time If the time (seconds) between downtime Not Rollup Time
Span events is less than the rollup time and it is valid for Span = 30
the same equipment and reason, Live
Analysis
268
MES Platform 2.0
Row Limit The analysis can be limited to a certain All Row Limit =
number of rows. 10
Equipment
Equipment Int4 Integer value that determines the cell order of the equipment
Cell Order within the line. Is set to null for the line. Is set to 0 for first cell
within each cell group
Equipment String Any note that has been recorded for this piece of equipment
Note through the Note tag collector path in the Production model will
be exposed here.
Equipment DateTime Start Date time of the currently running operation on this
Operation equipment
Begin
269
MES Platform 2.0
Execution Int8 Time taken to execute and update the Live Analysis. Used
Time (ms) mainly for performance debugging
From Time DateTime Start Date Time of current data point results
Stamp
270
MES Platform 2.0
Work Order String Work order currently being processed on this equipment
Equipment\Count *Any defined counters for the production item will also
appear in this folder
Equipment Infeed Float8 See Infeed Count Scale for more details
Scale
Equipment Reject Float8 See Reject Count Scale for more details
Scale
Outfeed-Material String Value of the default MES Counter used for OEE outfeed
Out count
271
MES Platform 2.0
Equipment\Cycle
Time
Relative Cycle String Relative Cycle Count is how many occurred for the compare by.
Count
Target Cycle Float8 Also known as Takt time, it is how often a piece must be
Time produced to meet customer demand. It is often used to pace a
production line, and it is a calculated number in seconds.
Total Cycle Count String Total Cycle Count is accumulative, it is sum total of all the cycle
count.
Average Normal Float8 Average Normal cycle time in seconds for the time period
Cycle Time selected
272
MES Platform 2.0
Max Normal Float8 Max Normal cycle time in seconds for the time period selected
Cycle Time
Min Normal Cycle Float8 Min Normal cycle time in seconds for the time period selected
Time
Normal Cycle Float8 Normal Cycle Time in seconds is the actual cycle ignoring the
Time equipment states like starved, blocked, etc.
Average Overall Float8 Average Overall cycle time in seconds for the time period
Cycle Time selected
Max Overall Cycle Float8 Max Overall cycle time in seconds for the time period selected
Time
Min Overall Cycle Float8 Min Overall cycle time in seconds for the time period selected
Time
Overall Cycle Float8 Overall Cycle Time in seconds is the cycle including states like
Time downtime, starved, blocked, etc.
Equipment\Cycle Precise Cycle Time is the cycle time ignoring all the
Time\Precise equipment states
Average Precise Float8 Average Precise cycle time in seconds for the time period
Cycle Time selected
Max Precise Float8 Max Precise cycle time in seconds for the time period selected
Cycle Time
Min Precise Cycle Float8 Min Precise cycle time in seconds for the time period selected
Time
273
MES Platform 2.0
Precise Cycle Float8 Precise cycle time in seconds excluding states like planned
Time downtime, unplanned downtime, starved and blocked.
Line/Downtime
Line Downtime String Name of the equipment that is responsible for causing line
Equipment downtime
Name
Line Downtime String Production model equipment path for equipment that is
Equipment responsible for causing line downtime
Path
Line Downtime Int4 Every downtime event on the line is provided with an
Event incrementing sequence number
Sequence
Line Downtime Int4 Number of downtime events for the selected period.
Occurrence
Count
Line Downtime String The line or cell group (sub line) downtime reason.
Reason
274
2.
MES Platform 2.0
Line Downtime String The full reason name for line or cell group (sub line) downtime
Reason Path reason. Line State name including State Class i.e. Default/Cell
Faulted
Line Downtime Boolean The line downtime reason split indicator. True is current
Reason Split downtime event has been split into multiple downtime events
Line Downtime DateTime The time stamp for the equipment state change of the cell
State Time group (sub line) or cell that caused the line down time even.
Stamp
Line/Meantime
Line MTBF Float8 The calculated Meantime (minutes) Between Failure for the
selected period.
Refer to Setting Up Equipment States - Meantime Metrics for
more details.
Line Meantime Boolean Returns if Meantime metrics have been enabled for this
Metrics equipment.
Enabled
Line/Schedule
Line Schedule Float8 Time in minutes for available production time adjusted for line
Available Time schedule availability and mode.
Line Standard String Amount of product that should have been produced based on
Count the line schedule available time and line standard rate
275
MES Platform 2.0
Line Standard String Variance between standard count and actual count
Count Variance
Line Target String Amount of product that should have been produced based on
Count the line schedule available time and line schedule rate
Line Target String Variance between line scheduled count and line OEE outfeed
Count Variance count.
Line/State
Line State Float8 The line or cell group (sub line) downtime event duration in
Duration minutes.
Line State DateTime The line or cell group (sub line) downtime event begin date
Event Begin time.
Line State DateTime The line or cell group (sub line) downtime event end date time.
Event End
Line State String The line or cell group (sub line) state.
Name
String
276
MES Platform 2.0
Line State The state override scope for a line or cell group (sub line). See
Override Scope Setting Up Equipment - Override Scope for more details
Line State String The state override type for a line or cell group (sub line). See
Override Type Setting Up Equipment - Override for more details
Line State String The line or cell group (sub line) state type. See Setting Up
Type Equipment - State Type for more details
Line State Int4 The line or cell group (sub line) downtime state code. See
Value Setting Up Equipment - State Code for more details
Equipment
/Mode
Equipment String Name of the current mode. See Setting Up Equipment Modes
Mode Name for more details
Equipment String Name of the current mode type. See Setting Up Equipment
Mode Type Modes for more details
Equipment Int4 Name of the current mode. See Setting Up Equipment Modes
Mode Value for more details
277
MES Platform 2.0
OEE Enabled Boolean See Setting Up Equipment Modes - OEE Enabled for more
details
Production Boolean See Setting Up Equipment Modes - OEE Enabled for more
Counts Enabled details
Equipment
/State
Equipment Int4 The original value of equipment state tag collector before it is
Original State updated by using MES Value Editor component or scripting
Value
Equipment Boolean True is current downtime event has been split into multiple
State Split downtime events
Equipment String See Setting Up Equipment - State Type for more details
State Type
278
MES Platform 2.0
Equipment/Meantime
Equipment MTBF Float8 The Mean Time (minutes) Between Failure for the
selected period
Equipment Meantime Boolean True if Equipment Meantime Metrics are enabled for
Metrics Enabled the current equipment state
Equipment
/General
Delta Time Float8 Time gap (minutes) between the rows of data.
Stamp
Shift String Name of the current shift as set by the Ignition Schedule
Management component and defined for the current line or by the
value passed in the equipment shift tag collector
279
MES Platform 2.0
Shift Day
of Week
Shift Day Int4 Int value of the current day of the year
of Year
Shift ISO Int4 Int value of the ISO week of the year
Week of
Year
Shift Week Int4 Int value of the current week of the month
of Month
Shift Week Int4 Int value of the current week of the year
of Year
280
MES Platform 2.0
Equipment/OEE
OEE General Count Long Any count value other than infeed, outfeed, reject and
waste value for the selected time period
OEE Infeed Count Long Equipment infeed count value for the selected period
OEE Outfeed Count Long Equipment outfeed count value for the selected period
OEE Reject Count Long Equipment reject count value for the selected period
Planned Downtime Float8 Planned Downtime duration (Double) for selected period
Short Stop Time Float8 Short stop duration (Double) for selected period
Target Changeover Float8 Amount of time in minutes set for Target Changeover. See
Time Changeover Duration for more details
281
MES Platform 2.0
Equipment/OEE
/Availability
Equipment/OEE
/Performance
Equipment/OEE
/Quality
Settings like Enable Totalized Mode, Include Future, Last Values and Rollup Time
span is meant for analysis selector and not for live analysis
282
MES Platform 2.0
Date Format Date format fields can be customized with this All Date Format =
setting e.g. 'YYYY/MM/dd hh:mm:ss a' 2017/04/12
19:45:30
Enable This setting accumulates the count. Useful for Not Enable
Totalized charts where you wish to display the valid for Totalized Mode
Mode accumulated production count over time Live = True
Analysis
Include Allows for count values to be calculated in the Not Include Future =
Future future. Useful for charts where you want to valid for True
display target counts for future runs Live
Analysis
Last Values Only the latest values are shown. Not Last Values =
valid for True
Live
Analysis
OEE The maximum value calculated can be capped All OEE Availability
Availability with this setting Cap = 100.0
Cap
OEE Quality The maximum value calculated can be capped All OEE Quality
Cap with this setting Cap = 100.0
Rollup Time If the time (seconds) between downtime events Not Rollup Time
Span is less than the rollup time and it is the same valid for Span = 30
equipment and reason, Live
Analysis
then it will rollup the event into one row in the
results and will increase the occurrence count.
283
MES Platform 2.0
284
MES Platform 2.0
system.mes.removeTagCollectorValues
system.mes.updateTagCollectorLastValue
system.mes.updateTagCollectorValue
system.mes.updateTagCollectorValues
285
MES Platform 2.0
286
MES Platform 2.0
287
MES Platform 2.0
288
MES Platform 2.0
The MES Production Model export screen flattens out the production model which can make it
difficult to select certain items particularly if different production items have the same name,
however this method works well when you need to export the entire production model from one
gateway to another.
289
MES Platform 2.0
290
MES Platform 2.0
8 MES Modules
New to OEE?
Download and test drive this most powerful MES solution available anywhere!
Download and Install Module
A Simple Workflow
Step 1. Database Connection
Step 2. Configuring MES Databases
Step 3. Installing the Production Simulator
Step 4. Production Model Configuration
OEE Downtime
Components
Scripting
Objects
292
MES Platform 2.0
Info
This module uses the following scripting functions:
system.mes.oee
OEE stands for Overall Equipment Effectiveness and is used to monitor manufacturing
effectiveness. The resulting OEE number, represented as a percentage, is generic and allows
comparisons across differing industries.
Efficiency is not simply the ratio of machine run time to scheduled time. Look at the situation of
your manufacturing line or process running at half speed with 0 downtime. This is truly only
50% efficient. Or what if 10% of the product being produced does not meet your minimum
quality and must be reworked. This equates to 90% efficient, which does not take into account
the effort to rework or the losses of raw material.
There are three factors, all represented as a percentage, taken into consideration for the final
OEE result:
OEE Availability
OEE Availability is the ratio between the actual run time and planned production time. The
planned production time does not included breaks, lunches and other pre-arranged time a
production line or process may be down.
Example: If a line is run for one 8 hour shift with two 15 minute breaks and one 30 minute
lunch, then the planned production time is 7 hours (determined from 8 hours - 15 minute break
- 15 minute break - 30 minute lunch). If during the production run, there are 25 downtime
events totaling to 45 minutes of downtime, then the run time is 6 hours and 15 minutes (derived
from 7 hours of scheduled time - 45 minutes). The OEE Availability of 89% is calculated by
actual run time divided by scheduled run time, or 6 hours 15 minutes divided by 7 hours.
OEE Performance
293
MES Platform 2.0
OEE Performance
OEE Performance is the ratio between the actual number of units started (not the number that
have been produced) and the number of units that theoretically can be processed based on the
standard rate. The standard rate is the rate that the equipment is designed for. Performance is
not based on the number of units produced, but, on what the line was designed to process over
a given period of time.
Example: If a work cell is designed to process 10 units per minute we can calculate the
theoretical amount of units it can process in a given amount of time. Using the 6 hours and 15
minutes of actual run time from the above example, a total of 3750 units would be processed
(or started). Calculated by taking 6 hours and 15 minutes (375 minutes) times 10 units per
minute. If the actual number of units processed is 3000, then the OEE Performance is 80%
(calculated by 3000 / 3750).
OEE Quality
OEE Quality is the ratio between good units produced and the total units that were started.
Example: Taking the number of units produced from above of 3000, if 200 units were rejected
at the quality inspection station, then 2800 good units are produced. The OEE Quality is 93%
calculated from 2800 divided by 3000.
OEE
The final calculation is OEE = Availability x Performance x Quality.
Example: Using all the numbers from above, 89% x 80% x 93% = 66%.
This may seem like a low number but it is important to kept in mind that the OEE is not to be
compared to 100%. The OEE result from this production run is compared to other production
runs; however, using Sepasoft's OEE Downtime and Scheduling module allows much more
than just comparing OEE results between production runs. It allows you to compare OEE
results between operators, viscosity, mechanics, products, raw material vendors and any user
defined factor you can think of.
OEE is a well-established performance metric that takes into account Equipment Losses
usually broken into the categories of Availability Loss, Performance Loss, and Quality Loss. It
measures performance with respect to Planned Production Time.
294
MES Platform 2.0
Applying OEE
OEE scores may be compared across divisions, sites, assets, or products and can be used to
compare production lines that produce different products and plants of different sizes in a
meaningful way. Even small increments in OEE can boost the efficiency of a manufacturing
plant and when combined with analytics such as SPC, will result in high performance.
What Is TEEP?
Where OEE represents the equipment efficiency during a production run, Total Effective
Equipment Performance (TEEP) represents the equipment utilization against a calendar period.
For example, 365 days a year, or 24 hours a day. It can also be thought of as asset utilization
and will help in the decision making process of purchasing new equipment.
The calculation for TEEP = Loading * OEE.
Loading
If a production line is scheduled for 5 days, 24 hours each day, over a 7 day period, then the
loading is 71% calculated by (5 x 24) / (7 x 24).
Example: During the same time period that was used to calculate the Loading, we will make
up an OEE result of 82%. The actual OEE value used must be the OEE result for all production
runs of the same calendar time period that were used to calculate the Loading value.
TEEP is 71% * 82% = 58%
295
MES Platform 2.0
Downtime Tracking
OEE provides a method to monitor the efficiency of your production facility and tracking
downtime provides information of where to focus efforts to improve efficiency. Think of it this
way, if your production line typically runs at 69% OEE, what actions do you take to increase it?
OEE alone doesn't tell you what factors are preventing your efficiency from being higher than
69%.
In the simplest form, downtime tracking will identify the production cell (machine or process)
that is preventing your production line from producing product. This can be done manually, but
history has shown that manually collected downtime information is inaccurate. In addition, if it is
manually collected on paper log sheets, then someone has to further enter the details into a
program or spreadsheet to be able to organize it into actionable information used to focus your
efforts to make improvements. Putting recording inaccuracies, extra labor and typos aside, by
the time the information is available, it is old.
Tracking downtime automatically or semi-automatically solves the issues associated with
manual tracking. In a perfect world, monitoring all downtime reasons automatically is the ideal
solution. But in the real world, this can be difficult, pricey, or just not practical. For this reason, it
is important for downtime tracking software to support an automatic reason detection with a
manual override.
For example: if an operator presses the stop button because they see a bottle laying on its side
feeding into a filler, then the only automatic reason that can be detected is "operator pressed
stop button". Now the operator should be able to override this reason with more specific
information.
Once the period of time that production cells were not producing product and the associated
reasons are recorded, analyzing the summary of the reasons will identify where effort should be
focused to improve efficiency.
8.1.2 Features
Improving production efficiency is the key to increasing profit and reducing capital expenditure.
It can make the difference competitively, however, it can also be very challenging because it
requires more than just installing software. Improving efficiency requires commitment from
management, maintenance, production and IT departments, as well as integration, training,
actions to reduce downtime and new operational procedures. The OEE 2.0 module helps drive
your continuous improvement initiatives by giving you the tools and access to data to diagnose
the inefficiencies within your production.
296
MES Platform 2.0
The first step in improving efficiency is knowing where you are starting from. Think of it like
improving the gas mileage of your car. You must start by determining your current gas mileage
before you can begin making changes to improve your mileage. Once you know your existing
OEE and have tracked the causes of downtime, then you can finish the process and start fixing
the sources of your production inefficiencies.
The OEE Module combines Production Scheduling, Run Control, automated real-time line
status, production counts tracking, and Overall Equipment Effectiveness (OEE) calculations to
give manufacturers and operations managers a robust software package for production
schedule planning and automating the measurement of operational efficiency in order to help
drive continuous improvement initiatives.
It is not necessary to use all the features that we provide. We packaged them together because
the combination provides the best tools for the improvement of production efficiency. If we only
track downtime, we would not see the full picture as downtime only tells us if a machine is
running, not if the machine is actually producing a quality product. If we only track OEE, we
would know whether efficiency is lower than normal, but not why or what actions to take to
improve it. Inefficiencies can also result from ineffective procedures or a lack of
communications between departments. This is where the scheduling helps by providing current
schedule information to all associated departments, improving communication and reducing
unnecessary delays. The OEE Downtime and Scheduling Module allows you to see the whole
picture, resulting in the improvement of your production in every aspect.
297
MES Platform 2.0
Shift Management
Identifying the current Shift can now be tied into the Ignition Shift Schedule Management
System, where custom shifts can be defined for daily, weekly or rotating schedules. If the
Ignition Shift Schedule Management System does not support your needs or is not required, we
now provide the hooks so you can tie current production into a custom shift scheduling solution
.
Refer to Shift Configuration for more details.
298
MES Platform 2.0
Production Scheduling
The Scheduler is now based on the same components as the Track and Trace module
providing Work Order Drag and Drop capability, Auto-Delay feature, custom categories (hold
schedule) and routes.
Refer to Detailed Production Scheduling for more details.
299
MES Platform 2.0
Equipment Modes
In manufacturing, it is fairly common for a production line to be running, but not actually
producing parts or finished goods as part of a work order or product code run. Examples of this
may be when the line is being run during scheduled maintenance to verify work has been
performed to a satisfactory level. There are times when a line may be running as part of new
product introduction or testing, or times when operator training is occurring. When the line is
getting ready for a production run, there may be a period of time that the line is in a changeover
or setup mode, and there may be times during a production run, when the line mode changes
back to setup say after a fault, and material has to be run back through the extruder cell. Modes
provide a more logistical / planning / scheduling view of what is being asked of the equipment,
rather than the Equipment State that provides actual status of the equipment.
In OEE 2.0, it is now possible to define modes that the line or equipment may be in and you
can define whether production counts should be included during these modes and used in OEE
calculations. Modes allows for a more granular analysis of equipment utilization; how much
time does a line spends in maintenance, training, changeover, setup, while still allowing the
300
MES Platform 2.0
equipment states of running, blocked, idle, faulted to be captured. As production counts and
equipment cycles are captured in all modes, you can still use these counters to determine run
hours on equipment, strokes on die sets etc., that may drive maintenance scheduling and other
activities.
Default Equipment Modes are provided for IDLE, CHANGEOVER, PRODUCTION,
MAINTENANCE, TRAINING, TESTING. Custom modes can also be added.
Refer to Setting Up Equipment Modes for more details.
Equipment States
Equipment States represent the status of the line or cells within a line that provide an indication
of whether the equipment is off-line, idle, running, faulted, blocked, starved, in CIP etc. It is
entirely separate from the equipment mode, which provides a more logistics/scheduling view of
equipment. The equipment status will generally come from a plc tag that provides real-time
state information of the equipment, but can really come from any source that can populate an
ignition tag. This allows for manual entry screens of operator input equipment state or data
parsed from a flat file entry.
Equipment States (formerly known as Downtime events) can now be grouped, allowing multiple
states to be considered as Running by OEE i.e. Loading, heating, molding Running. No need
to force your equipment state to 1 or group a bunch of states into one value. True equipment
state is now captured and stored allowing for greater cycle time analysis.
301
MES Platform 2.0
In OEE 1.0, equipment states were configured in the production model designer for each line
and cell. In OEE 2.0, equipment states can be defined in the client using the Equipment
Manager component, and a common set of equipment states (class) can be used across a set
of lines and equipment.
Machine State can now be configured to be Operator Selectable - REQUIRED when you
require an operator to select the actual cause or add a note for a certain event. Downtime table
component will flag the events that need to be over-ridden. User roles can also be configured
on who can select operator selectable reasons.
Refer to Setting Up Equipment States for more details.
302
MES Platform 2.0
303
MES Platform 2.0
You can now create multiple 'live’ OEE values for user defined time periods. How often
these values are updated is now user configurable and uses an optimized cache to
provide real-time values that can be displayed for run-time monitoring. Users will now be
able to see real-time OEE metrics and production counts updated as often as they want.
304
MES Platform 2.0
Designer Enhancements
The production model is now saved as individual project resources for each production
item, allowing for faster saves and multiple developers making changes at the same
time.
Production items can also be moved between gateways without losing their identity.
OEE data collection continues uninterrupted even while saving the production model.
OPC production tags are replaced by the MES Tag Provider and Live Analysis that
allows you to define the real-time tag data that you need
Configurable MES Backup options will allow you to select and transfer product codes,
work orders, operations etc.
305
MES Platform 2.0
8.1.3 Framework
The OEE 2.0 Module framework shares a number of common MES components, scripting
functions and objects that are also used by the Track & Trace Module. This commonality
provides a seamless integration between the two modules when a project implementation
requires Production Control, Lot Tracking, Inventory Management, Production Scheduling, OEE
Analysis and Downtime Tracking.
306
MES Platform 2.0
307
MES Platform 2.0
Analysis
Objects
OEE Objects
MES Objects
MES Tag Provider (Live Analysis)
MES Database Tables
4. Create Product Codes (Material Definitions) and add Product Code Line Configuration
information such as Standard Rate in the Material Manager
In the Equipment Configuration section of the manual, we will deal with these steps.
In this section
308
MES Platform 2.0
The importance of modelling the line correctly based on the above factors will drive the usability
and usefulness of any production data or metrics generated. If a production line of many cells is
modeled simply as a single cell, then features provided by the OEE module such as downtime
detection methods, cell cycle time, aggregation of machine states by cell, and visual aspects of
the OEE components such as the OEE Time chart will all be diminished. Forcing management
to schedule production runs on multiple lines that they did not do prior to the OEE
implementation, as well as only allowing a single scheduled run on a a set of cells where
traditionally multiple schedules existed are signs that the model may not be correct.
In modelling the Line, you will create a Production Model in the Designer that
Defines your Enterprises Sites, Areas, Lines and Cells
Sets up Line Downtime Detection Method to define how line downtime is determined
Connects states and counts from the equipment plc interface to the production model
309
MES Platform 2.0
Below are the different types of Production Items that can be added to the production
model.
310
MES Platform 2.0
Cell Group A cell group contains two or more cells. Typically, these All
cells occur at the same time in the sequence of the line
instead of one after another, causing the cell group to act
as a single sub process or step within the production.
311
MES Platform 2.0
Please note that when you rename a production item, it actually creates a new
instance of a production item and disables the old production item. This is
important to note as data captured against that production item will not be
accessible to the newly renamed production item. Spend the time to get the
Production Item named correctly at the beginning of the project.
Please note that any line(s), cell(s), cell group(s) and location(s) underneath the
production item will also be permanently removed.
312
MES Platform 2.0
Delete a Cell
Good Practice
It is recommended that you make a gateway backup prior to copying and pasting
Production items. It is not recommended that you make changes to the production
model on the production server without scheduling with Operations and having
the system backed up.
313
MES Platform 2.0
Setting Description
314
MES Platform 2.0
When writing to OPC values that are related to production model settings, the
new value is not retained upon restarting. This is because production model
settings are saved in the Ignition project and is only saved when done so in the
designer.
315
MES Platform 2.0
MES Counters
The MES Counters are used to associate Process Segments (Operations) with production
counts. MES Counters record production counts 7/24, independent of scheduled
production runs.
Counter names and the associated tag are defined in the Production Model. In the MES
Management screen, the Quantity Source of Infeed and Material Process Segments can
be set to use these MES counters.
MES counters are available for the Line, Cell Group, Cell or a Storage Unit production
items in the Production Model Designer.
316
MES Platform 2.0
The quantity from the MES counters can be obtained through scripting, see
system.mes.getCountValue.
Counter Name
Name of the counter.
Counter Description
The description for the MES counter. This setting is not mandatory.
Enabled
The counter can be enabled or disabled here.
SQL Tag
The path to the Tag Provider and ignition tag where the count value will come from is
assigned to the MES counter here.
Parameterized Tag Paths can be used here which allows for indirection and exported MES
Counters to be easily deployed to other equipment.
317
MES Platform 2.0
Roll Over
For PLC count tags that that do not get reset, they will eventually reach a finite maximum
value at which point, the value will 'rollover' back to zero. The Roll Over setting allows you
to define the value that should be added to the count tag whenever a roll over occurs. By
default it is 32768 which equates to a 16 bit signed data value. Your setting will be
dependent upon the datatype of your plc count tag.
During a production run, the incoming count value is added to the Roll Over setting
multiplied by the number of times a rollover has occurred.
Example: production count value = incoming count value + 32768 * 3
This value is only used when the Count Mode is set to Rollover.
318
MES Platform 2.0
Store Rate
The MES counter will be captured and stored in the database after this specific interval in
seconds if the value has changed If Store Rate is set to zero, every value change will be
recorded.
Counter Kind
MES Counters can be set to four different kinds:
Infeed
Outfeed
Reject
General
Infeed, Outfeed and Reject kinds are used solely by the OEE module to determine which
MES counter to use for OEE Performance, OEE Quality and production count information.
The General kind can be used for any other count value.
319
MES Platform 2.0
Count Mode
The Count Mode can be set to Roll Over, Actual and Positive Change.
Roll Over
See Rollover section for this count mode.
Actual
The Actual count mode simply uses whatever value is passed through the sql tag to
represent the actual production counts. Production counts can go down as well as up.
Positive Change
The Positive Change mode ignores any sql tag count values that are zero and will
accumulate the counts. Three different cases are illustrated using the graphs shown.
320
MES Platform 2.0
Case 1
Case 2
Case 3
321
MES Platform 2.0
322
MES Platform 2.0
The term Raw Count is used because it is a relative production count. It just starts at
zero and counts up to a rollover value, typically 32767, where it becomes zero again.
The OEE module calculates the actual production count from raw count. This
eliminates having to reset the value in the PLC, or other device, at the beginning of a
production run. As a result, the programming that is required in the PLC, or other
device is simplified. It also eliminates problems typically associated with reset
handshaking and production runs that exceed the limits of PLC counters. For an OEE
tracking system to be accurate, it must withstand communication errors power
outages, etc. By using raw counts that rollover and let the OEE module handle the
actual production count, the system is robust. Besides that, it is just less PLC
programming that has to be done and tested .
The OEE Engine calculates a Relative Production Count based on the beginning value of the
Raw Count tag at the start of the run.
For example, if the Outfeed Count tag value is 100 at the start of the run, 100 becomes the
baseline value.
Relative Production Count value will be calculated as Raw Count current value - Raw Count
baseline value throughout the run.
Handling Rollovers
Max Raw Count
Each of the Counters, Infeed, Outfeed and Waste can have a Max Raw Count value defined to
handle a rollover or overflow condition. Based on the datatype of the tag within the plc, the
rollover will occur when the maximum value the register can handle has been exceeded and
the next increment resets its value to 0.
323
MES Platform 2.0
Depending on the age of the PLC and the register type used, the rollover count may be much
lower. 215 = 32,768.
The Max Raw Count setting handles the rollover by adding the value defined for the Max Raw
Count to the value of the Relative Production Count whenever a rollover condition occurs.
Example
if Max Raw Count is set to 32,767 and the Raw Outfeed Count tag value changes
from 32,765 to 5, the Relative Production Count recorded by the OEE Engine will be
5 + 32,767 (Max Raw Count).
This works the same if Max Raw Count is set to 0 or to 1... the Relative Production
Count recorded by the OEE Engine will be Raw Outfeed Count tag value + Max
Raw Count.
Non-Resetable Counters
The counters coming from the PLC must be non-resetable from the HMI or by an operator as
we cannot control when an operator might chose to reset a production or shift counter . If the
value suddenly changes from say 100 to 0, the OEE engine will assume that a rollover has
occurred and the production count recorded will be in-correct.
Ideally, you will have or create lifetime counters within the plc logic to manage production
counts. The occurrence of a rollover should be an infrequent occurrence. In this case, you can
set the Max Raw Count value to be the max value for the count tags coming from the plc when
those counters tags are non-resetable.
If the lifetime counters are functioning correctly, if the plc logic has been written correctly so that
a count tag does not yield an invalid value halfway through the scan, and if the device
connection is solid, then the Max Raw Count will handle the rollover correctly. Otherwise, you
may see large jumps throughout your production run and your production count will be wrong.
In that case, having a Max Raw Count of 0 will allow for sloppy plc code and poor device
connection, but it will not handle the rollover when it occasionally occurs.
324
MES Platform 2.0
Variable Production Count below) as well as allowing for count validation prior to passing the
value to the production model. In the code example, we are checking the tag quality to
minimize issues caused by OPC connection issues. we are also checking to ensure the count
value is not negative. The validation you provide is up to you. the Tag Change event makes it
possible.
In the Advanced tab of the Production Model at the Enterprise level, we can define scripts that
occur on process segment 'Begin' and 'End' events. These events are generated by the
production model. These events could be used to reset the production counters at the end of
each run. That would most likely eliminate rollovers from ever occurring, in which case Max
Raw Count could be left at 0.
325
MES Platform 2.0
The OEE Module collects and logs a number of downtime and production data values.
However, what if other values outside of downtime and production values are of interest?
Additional factors are the solution. Additional Factors are user defined data points that are
logged along with the production and downtime information. Once they are logged, they
can be shown in charts, tables and reports. Additionally, other analysis can be done by
filtering and/or setting up comparisons by their values.
Additional Factors can added to the Line, Cell Group and Cell Production Items in the
Production Model Designer.
Any value that can be read from an Ignition SQLTag can be added as an additional factor.
This includes values derived from scripts, or from barcode readers, databases,
calculations, PLCs, etc.
Any tag can be added as an additional factor. To configure, select a Line in the production
model and select the General tab on the right. Right click on the Additional Factors table
and select New. An additional factor is simply just a name and a tag.
Properties
Factor Optionally, this property can be set to a description for the String
Description additional factor. It is not used by the OEE Downtime and
Scheduling Module other than for reference.
Factor This reflects the name of additional factor that is configured in the String
Name designer.
Read
Only
String
326
MES Platform 2.0
Read
Factor This reflects the Factor SQLTag setting that additional factor is
Only
SQLTag configured for in the designer. It is the name of SQLTag to read
the factor value from.
Example
In the example, we have two factors, Cardboard Vendor and Operator. The operator can
select the vendor that provided the cardboard or it can be obtained from some other
source. Now, OEE and downtime results can be shown for each cardboard manufacturer.
This can identify quality problems with raw material that directly affect production
efficiency. With the operator setup as an additional factor, the operator's name will be
logged along with the production and downtime data. By doing so, OEE and downtime
information can be filtered and grouped by the operator name. But this could just as well be
the production crew, supervisor, maintenance crew or any other user defined value that
can be monitored or entered into the system.
327
MES Platform 2.0
Adding these factors to a production line will allow us to capture the value of these tags
whenever they change. In the impromptu analysis, we can then compare OEE values by
our additional factor: Operator
328
MES Platform 2.0
329
MES Platform 2.0
TRAINING
TESTING
You can add or modify the equipment modes in the default class or create your own equipment
mode class.
The Equipment Mode List window appears. Click on Equipment Modes and select the
New Equipment Mode Class.
At the Equipment Mode Class level, Edit, Delete, Copy, Paste and Export operations
are available. At the Equipment Mode level, only Paste, Import and Export
operations are available.
330
MES Platform 2.0
Enter a name for the Equipment Mode Class and assign security roles you who can
modify this Equipment Mode Class.
Click Save.
We cannot add an equipment mode class to an existing equipment mode class, but
we can add an equipment state class to an existing equipment state class.
331
MES Platform 2.0
332
MES Platform 2.0
Code
Enter in the integer value for this equipment state. This will generally align with the status code
value from the plc.
Assigned Codes
The Assigned Codes list provide a view of all codes that have already been assigned
333
MES Platform 2.0
Use for mode such as Production where production counts and OEE
data is required
334
MES Platform 2.0
Select the Equipment Mode Class to which the mode is copied and click Paste.
Expand the destination folder to see the pasted equipment mode.
335
MES Platform 2.0
337
MES Platform 2.0
We can add an equipment state class to an existing equipment state class, creating
nested state classes.
At the Equipment State Class level, Edit, Delete, Copy, Paste and Export operations
are available. At the Root level, only Paste, Import and Export operations are
available.
Click on either an existing Equipment State or the Equipment States and then select
the New Equipment State Class.
Provide a name for the new State Class and assign security roles for who can modify
this State Class.
338
MES Platform 2.0
If you expand the Equipment State Class folder you can see the existing states.
339
MES Platform 2.0
The Edit Equipment State slide out editor allows you to change the properties of the
selected Equipment State.
Add or change the Name, Type, Code, and Operator Selection Properties and click
Save.
State Type
Valid State Types are...
Unplanned Downtime
Planned Downtime
Blocked
Starved
Running
Idle
Disabled
340
MES Platform 2.0
Code
Enter in the integer value for this equipment state. This will generally align with the status code
value from the plc.
Assigned Codes
The Assigned Codes list provide a view of all codes that have already been assigned
Override
The Override property defines if it is possible for a operator to override the equipment state
through the Downtime Table Editor component. Valid options are...
341
MES Platform 2.0
Optional - Operator can select a different state based on the Scope setting
Prohibited - Operator cannot change this equipment state
Required - Operator is required to select a state based on the Scope setting for this
equipment state
Scope
The scope setting is used by the Override setting to provide a set of operator selectable
equipment states. Valid Options are....
Detected Equipment State - operator can only select from list of equipment states for the
equipment (cell)
Any Equipment State - operator can select from list of equipment states for any piece of
equipment (cell) on the Line
Sub State - operator can only select from list of sub states created under this Equipment
State
Sub States
It is possible to create Equipment States under Equipment States. These are known as Sub
States and can be used to group States together that can be used with the Scope Function to
allow operators to select specific states (or Downtime reasons) based on the original equipment
state.
Example
Equipment state for a stamping Press comes through as 'Quality Issue'. Scope for 'Quality
Issue' is set to 'Sub-State' and Override is set to 'Required'. Whenever a 'Quality issue' state
occurs on the Stamping Press that causes a Line downtime event, the operator will be
prompted and required to select one of the sub-state reasons such as 'O2 Deviation', 'Wrong
Color' or 'Burr on Mold'
342
MES Platform 2.0
343
MES Platform 2.0
344
MES Platform 2.0
345
MES Platform 2.0
Code Examples
346
MES Platform 2.0
Code Snippet
if equipPath != '':
data = system.mes.getEquipmentStateOptions(equipPath, "", "
")
for item in data:
stateName = item.getName()
if item.getMESObjectType().getName() == 'EquipmentState
Class':
pass
else:
stateCode = item.getStateCode()
stateType = item.getStateTypeName()
newData.append([equipPath, stateName, stateCode,
stateType])
Output
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Unplanned Downtime
3
Unplanned Downtime
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Planned Downtime
4
Planned Downtime
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Idle
2
Idle
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Blocked
5
Blocked
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Disabled
0
347
MES Platform 2.0
Disabled
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Running
1
Running
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Starved
6
Starved
348
MES Platform 2.0
You can select valid shifts by checking the corresponding box. When implementing shift
management this way, leave shift tag collectors at the line and cell level in production model
blank. If requiring a custom implementation, use the shift tag collectors in the production model
designer to define the current Shift.
349
MES Platform 2.0
In this Page
Creating Materials
Material Production Settings
Configure Routing by Material
The OEE Module is a standalone application in that everything needed for product code
configuration, scheduling production runs, starting runs and analyzing production data is
provided. However, many enterprise implementations take account of the fact that ERP
systems, Industrial Engineering or Inventory Management Systems also maintain a list of
Product Code information. The MES Product Suite coupled with Ignition, provides the ability to
use Web Services or middleware table and script functions to create an interface to obtain
product code information from other systems. This ensures that product codes are kept up to
date and eliminates duplicate data in multiple systems. If more information is available in other
systems regarding product code line configuration, that too can be brought over and scripted to
provide the information needed by the OEE and Scheduling Engines.
350
MES Platform 2.0
Creating Materials
Material Production Settings
Configure Routing by Material
Creating Materials
351
MES Platform 2.0
Creating Materials
Both OEE 2.0 and Track & Trace use the concept of Material Classes and Material Definitions
to manage Product Codes. Material Classes provide a method for grouping similar products
together into a category.
Material classes are used extensively in the Track & Trace module to provide production
control on which materials can be used or produced by an operation, which lines can process
them and where they can be stored. As an example, an operation that packages beer into cans
could be constructed to accept any Material that belongs to the Material Class - 'Beer' or it
could be limited to a specific Material Definition - 'Firehouse IPA'. In OEE 2.0, Material Classes
do not come into play so much, however if your implementation includes Track & Trace or you
plan on implementing Track & Trace at a later stage, setting up your Material Classes and
Definitions correctly is an important step in the implementation.
The OEE Material Manager component is used to create new material definitions and classes.
In this Page
Material Classes
Adding, Editing and Deleting Material Classes
Copying and Pasting a Material Class
Exporting Material Classes
Importing Material Classes
Material Definitions
Adding, Editing and Deleting Material Definitions
Copy and Paste Material Definition
Material Classes
352
MES Platform 2.0
Delete - Click on the Material Class you wish to delete and select Delete
Material Definitions
Material definitions can be added to a Material class but not to the Material Root.
353
MES Platform 2.0
354
MES Platform 2.0
355
MES Platform 2.0
In this Page
Changeover Settings
Changeover Mode
Changeover Duration (seconds)
Auto End Changeover
Production Settings
Production Mode
Rate Period
Schedule Rate
OEE Standard Rate
Infeed Count Equipment
Infeed Count Scale
Infeed Units
Reject Count Scale
Reject Units
Outfeed Count Equipment
Package Count
Outfeed Units
Auto End Production
356
MES Platform 2.0
Track Production By
Programmatically Change Production Settings
Changeover Settings
The Changeover Settings panel allows you to define what mode the line goes into at the
beginning of a production run.
Changeover Mode
Any of the default Equipment Modes (Maintenance, Changeover, Disabled, Production, Other)
or custom modes that you have created are valid options. Modes have options for whether
production counts are captured or included in OEE. You can use this mode to determine if you
want to capture counts, i.e. for setup scrap, but not include it in OEE metrics for this production
run.
If you have provided a tag for the tag collector path in the OEE Downtime 2.0 Tab, the selected
Mode is written to that tag.
357
MES Platform 2.0
Production Settings
Production Mode
Any of the default Equipment Modes (Maintenance, Changeover, Disabled, Production, Other)
or custom modes that you have created are valid options. Modes have options for whether
production counts are captured or included in OEE. You can use this mode to determine if you
want to capture counts or obtain OEE metrics for this type of run, i.e. New Product
Introduction or Testing.
Changeover Overrun
If you want to automatically capture 'Changeover Overrun' as an OEE metric, this can
be achieved in the following way...
4. When Production actually starts, set the Mode Tag provided to the Mode Tag
Collector Path to the value configured for Production Mode.
Rate Period
The period of time that applies to all rate values (Standard and Schedule Rate). Valid options
are Hours or Minutes.
Schedule Rate
The realistic production rate that this line can be expected to produce at.
Accepting that there will be some downtime on a line and a certain amount of rework or scrap,
the Schedule Rate can be set to be the Standard Rate * Historical OEE of this line to provide a
more realistic estimation of how long it will take to complete a production run. The Schedule
Rate is used by the Scheduler to estimation completion time based on required quantity.
358
MES Platform 2.0
359
MES Platform 2.0
When setting up the Standard Rate value, it should be based on the infeed units, whether the
infeed count is used or not. Consider the example when the infeed count is in bottles and
outfeed count is in cases with a package count of 10 bottles per case. If the OEE Standard
Rate is set to 1000 per hour, 1000 bottles must have been counted at the infeed after one hour
of runtime for OEE performance to equal 100%. Alternatively, if no infeed count was provided,
a combination of 90 cases of good product and 100 rejected bottles must be counted after one
hour of runtime, to also equal 100%.
It is possible to configure a production line with a number of combinations of Infeed, Outfeed
and waste count tags. The OEE Performance calculation will be based on which tags are
provided.
n/a
= (Waste Count *
Reject Count Scale) /
Standard Count
= (Outfeed Count *
Package Count ) /
Standard Count
= ((Outfeed Count *
Package Count) +
(Waste Count * Reject
Count Scale)) /
Standard Count
= (Infeed Count *
Infeed Count Scale) /
Standard Count
= (Infeed Count *
Infeed Count Scale) /
Standard Count
360
MES Platform 2.0
= (Infeed Count *
Infeed Count Scale) /
Standard Count
Infeed Units
The units for the infeed count can be specified here. This could be Cans, Bottles etc.
361
MES Platform 2.0
Imagine a scenario where the reject count is for a pallet or case of product, but the number of
parts on the pallet or case is dependent upon the product that is being made.
Example
Reject Count Scale is set to 24. For each reject count, the number of rejected units recorded by
the OEE module will increment by 24
This is similar to the Infeed Count Scale for the Infeed Count
Reject Units
The units for the reject count can be specified here. This could be Cans, Bottles, Cases, Pallets
etc.
Care needs to be taken on how waste is counted. By default waste is considered to be in the
same units as the infeed count, so in OEE calculations, it is divided by the Package Count. If
the waste value provided is in fact in the same units as the outfeed count units (cases, for
example) then the waste count must be multiplied by the same value as the package count.
The reject count scale setting can be used to handle this.
Package Count
The Package Count is a float value that provides a mechanism for associating the value of the
outfeed count to the value of the infeed count. It is only used internally to calculate OEE values
and does not modify the infeed, waste or production counts. Those are recorded as set up.
Examples
Infeed count is in bottles and outfeed count is in cases. For a particular product, there
are 24 bottles per case. For this example, we would set Package Count to 24.
Infeed count is in lbs and outfeed count is in cans. For a particular product, there are
12oz in each can. For this example, we would set Package Count to 0.75.
Infeed count is in lbs and outfeed count is in cans. For a particular product, there are
22oz in each can. For this example, we would set Package Count to 1.375.
362
MES Platform 2.0
Care needs to be taken on how waste is counted. By default waste is considered to be in the
same units as the infeed count, so in OEE calculations, it is divided by the Package Count. If
the waste value provided is in fact in the same units as the outfeed count units (cases, for
example) then the waste count must be multiplied by the same value as the package count.
The reject count scale setting can be used to handle this.
Outfeed Units
The units for the outfeed count can be specified here. This could be Cans, Bottles, Cases,
Pallets etc.
Track Production By
Setting this to Schedule (production) will track the production by the scheduled production
rate. Setting the property to Schedule (time) will track the production by scheduled time.
The MES Schedule View Component has a progress bar that will update according to the
Track Production Setting. If set to Schedule (production), the progress bar will display as a
percentage of current outfeed / Scheduled Qty. The Schedule estimated completion time will
update every minute to extend the duration of the scheduled run if production is falling behind
schedule. If set to Schedule (time), the progress bar will display as a percentage of Elapsed
Time / Scheduled Time.
Valid options are:
Schedule (production)
Schedule (time)
If you want the scheduler to update the estimated completion time at an interval
greater than a minute, this can be achieved using the MES Object Editor to change
the Update Interval for the operation.
364
MES Platform 2.0
If we want to display to an operator the routing of which cells need to operational during a
production run, we can use scripting to access the production settings for this operations
segment.
Example 1
Output
365
MES Platform 2.0
Example 2
Output
Production
>>>
366
MES Platform 2.0
367
MES Platform 2.0
MES Scheduler
The MES Scheduler provides finite scheduling functionality that seamlessly integrates with
the OEE 2.0 and Track & Trace modules. When combined with Ignition, these scheduling
features allow operations to easily adapt to last minute or frequent changes that commonly
occur in production environments. This is accomplished by monitoring production in real-
time, handling delays, production routes, scheduling changes, notification of production
priority changes and more.
Most Manufacturers rely on ERP and Inventory Management Systems to handle the
complex process of inventory planning, high level Customer Order scheduling, routing,
transportation logistics and accounting. However when it comes to the detailed planning
and scheduling of shift personnel, production lines and maintenance activities, this tends to
occur at the MES level. If scheduling information and production performance data is
stored in separate systems, whether in spreadsheets or stand-alone scheduling software,
that cannot be accessed and combined, we're missing the opportunity to provide powerful
insight into operational activities and production line utilization.
The Scheduler provides finite scheduling functionality at the MES layer that allows
operations, maintenance and planners to create a detailed web based schedule that can
pull work orders directly from ERP, allowing them to be modified at the MES level to
368
MES Platform 2.0
account for last minute changes, and shared with everyone within the organization. With
our direct connection to actual production line status and counts, the schedule can provide
real-time status monitoring of actual vs scheduled production, automatic handling of delays
and updates of inventory consumption and order fulfillment data back to ERP, as well as
providing schedule adherence analytics to help drive continuous improvement initiatives.
With flexibility in mind, work orders and production schedule entries can be created in the
following ways:
From Customer Orders or Schedule Entries in ERP or other scheduling software
Manually created using the Work Order Table and Line Schedule View components
Dynamically generated using scripting
Imported from other sources
Features
In This Section
369
MES Platform 2.0
In this section, we will explore how to execute and control production runs and handle running
changeovers with multiple products on a line.
In this section
Operations Control
Components
If an OEE run or operation has been scheduled, it can be started and ended using the MES
Schedule Selector component. Right click on the desired operation and select Begin OEE Run
for an OEE Run or Begin Operation for a non OEE Run operation.
370
MES Platform 2.0
This same functionality can also be achieved by adding a script to the BeginSchedule event
for the OperationsRequest in the MES Object Events section of the Production Model Designer
at the Enterprise Production Item level.
Trigger Operation Begin Section of the Operations Definition
To automatically end an OEE run, set Auto End Production to True and set Track
Production By to Schedule (time) to stop the OEE Run based on the schedule, or to
Schedule (Production) to automatically end the run after the required quantity has been
produced.
Scripting Functions
The following scripting functions are provide to control OEE Runs...
system.mes.oee.abortRun
system.mes.oee.beginOEERun
system.mes.oee.endCellChangeover
system.mes.oee.endOEEChangeover
system.mes.oee.endOEEProduction
371
MES Platform 2.0
system.mes.oee.getOEEActiveSegment
system.mes.oee.getOEEAllActiveSegments
system.mes.oee.indexCellProduct
system.mes.oee.removeMaterialOperationSegments
system.mes.oee.updateMaterialOperationSegments
Changeovers
When an OEE Run is started, the Line Mode is automatically set to the mode as defined in the
OEE Material Manager for the selected product and line combination. In the example screen,
the Line mode will be set to Changeover for the first 60 seconds of the production run, at which
point the mode will then be set to Production.
For more information on the Changeover and Production settings including how to set up the
system to automatically create a Changeover Overrun condition, please refer to the Material
Production Settings help.
372
MES Platform 2.0
Running Changeovers
OEE 2.0 provides support for running changeovers, where multiple products can be being
processed on the same line at the same time.
When a production run is started, the product code specified for the run will be indexed to all
cells on the line. If a new production run that specifies a different product code is then started
on the same line, the new product code will be automatically indexed to the first cell on the line,
or if the first cell defined in the line is a cell group, all cells (and cell groups) within that cell
group will be indexed with that product code. As the new product code makes it way down the
production line, the product code can be indexed to each cell either by setting the value of the
tag bound to the cell Product Code Tag Path to the product code, or by using the function
system.mes.oee.indexCellProduct. This function can be called sequentially for each cell on the
line. When this function is called, all upstream cells will have their product code indexed too if
they have not already been indexed.
Shift Information
Shift information is automatically derived based on the shift configuration for the production line.
Refer to Shift Configuration for more details.
Production Counts
Production counts are captured through the use of MES counters and can be collected for the
line and cells within the line. Refer to MES Counters for more details.
Schedule Information
Information about scheduled runs is automatically stored whenever the OEE Run Director or
MES Schedule View component is used to control a scheduled run.
373
MES Platform 2.0
Additional Factors
Additional factors allow you to capture any other type of data that you wish to analyse along
with the production data. Refer to Additional Factors for more details.
Configuration Information
Data regarding the equipment or material configuration, such as downtime detection method,
key cell, standard rate etc., is automatically stored from the configuration information setup for
the equipment and material. refer to Equipment Configuration for more details on how to
configure equipment. Refer to Product Definition Configuration for more details on how to setup
materials.
In this Section
374
MES Platform 2.0
375
MES Platform 2.0
Recall that production values such as equipment modes, states and counts are recorded 24
/7. If the recorded values need to be modified as production counts were off or the line
mode was captured as Maintenance when it should have been Production, these scripting
functions or the MES Value Editor component, can be used to correct the values.
The Tag Collector Types are used by the MES Value Editor component and the script
functions listed below to read and modify production values recorded via tag collector
paths and by the OEE engine.
Each tag collector type may have a different datatype and some tag collector types have a
key (where there is more than one stored value for the tag collector type). Examples of
these would be MES Counters, where the Tag Collector Type Equipment Count would
have the default Material Out and any other user added mes counter names. Additional
Factors would also use the key to distinguish between the user defined additional factors.
The Equipment State tag collector has an additonal parameter called the Auxiliary Value.
The getTagCollectorValue() and updateTagCollectorValue() have an overloaded function
to handle the auxiliary value name for this tag collector type.
376
MES Platform 2.0
377
MES Platform 2.0
378
MES Platform 2.0
379
MES Platform 2.0
380
MES Platform 2.0
Item
When there are multiple values within a tag collector, this specifies which one to show. As an
example, there can be multiple MES counters for the Equipment Count tag collector type. If
not needed, pass an empty string. In other words it is the name of the MES counter or the
name of the Additional Factor.
Exporting Values
Select the Tag Collector Type to be exported and Click Export.
When the save window appears, name the file to be exported and Click Save.
Importing Values
Select the Tag Collector Type to import to and click Import.
Use the File open dialog box to select the xml file to be imported and Click Open.
381
MES Platform 2.0
Live Analysis
In the OEE 1.0 module, OPC tags were provided by the Production OPC server to provide real-
time OEE Run status monitoring. In OEE 2.0 the Production OPC tags have been replaced with
Live Analysis.
Live Analysis provides a flexible way of customizing your application to provide a set of
real-time tag values that can be accessed from the Ignition designer and used in your
application to provide real-time production monitoring. Live Analysis is configured in the
OEE 2.0 Downtime tab of the Production Model Designer for the Line, Cell Group and Cell
382
MES Platform 2.0
production items. When a Live Analysis is created, a corresponding set of tags is created
in the MES Tag Provider that provide the real-time status of those datapoints based upon
the Period defined for the Live Analysis. You can create multiple Live Analysis and use
those tags to drive HMI displays.
To create a new Live Analysis:
Right click on the Live Analysis panel on the OEE 2.0 Downtime Tab in the
Production Model Designer.
Provide a Name
Select the Period that the Live Analysis datapoints will return a value for. Valid
options are Shift, Day (Midnight), Day (Production), Start of Run, Top of Hour,
Custom Period Tag
Select the frequency for how often the tag values will be updated. Default value is
60 seconds. Minimum value is 10 seconds
Select the desired Data Points
Add any further Settings Values required
You cannot select all Data Points in one Live Analysis. The maximum length
string for Data Points is 1024 characters
383
MES Platform 2.0
Setting Description
Enabled The live analysis can be enabled or disabled with this setting.
Period The duration of analysis can be set by Shift, Day (midnight), Day
(production), Start of Run, Top of Hour or Custom Period Tag.
Custom A tag can be assigned to define the start datetime for a custom period. The
Period end time will be the current time. It takes value in the date time data type.
Tag Example for a valid value for the custom period tag is: 2017/04/04 14:00:
00
384
MES Platform 2.0
Update The rate in seconds by which the live analysis is updated. The minimum
Rate update rate is 60 seconds.
Data Data points allows you to pick and choose the values you wish to access
Points through tags. See the table below for the listing of available data points.
Current Shift String The currently running shift as defined in the Ignition Schedule
Management component or passed from the Shift Tag
Collector path
385
MES Platform 2.0
Analysis Data Points and Settings are used by Live Analysis, the MES Analysis
Selector and MES Analysis Controller components, the MES Analysis Data Source for
reporting and the MES Analysis Settings object.
Equipment
Equipment Int4 Integer value that determines the cell order of the
Cell Order equipment within the line. Is set to null for the line. Is set
to 0 for first cell within each cell group
Equipment String Any note that has been recorded for this piece of
Note equipment through the Note tag collector path in the
Production model will be exposed here.
386
MES Platform 2.0
Equipment DateTime Start Date time of the currently running operation on this
Operation equipment
Begin
Execution Int8 Time taken to execute and update the Live Analysis.
Time (ms) Used mainly for performance debugging
From Time DateTime Start Date Time of current data point results
Stamp
387
MES Platform 2.0
Work Order String Work order currently being processed on this equipment
Equipment\Count *Any defined counters for the production item will also
appear in this folder
Equipment Infeed Float8 See Infeed Count Scale for more details
Scale
Equipment Reject Float8 See Reject Count Scale for more details
Scale
Outfeed-Material String Value of the default MES Counter used for OEE
Out outfeed count
388
MES Platform 2.0
Equipment\Cycle
Time
Relative Cycle String Relative Cycle Count is how many occurred for the
Count compare by.
Target Cycle Float8 Also known as Takt time, it is how often a piece must
Time be produced to meet customer demand. It is often
used to pace a production line, and it is a calculated
number in seconds.
Total Cycle Count String Total Cycle Count is accumulative, it is sum total of all
the cycle count.
Average Normal Float8 Average Normal cycle time in seconds for the time
Cycle Time period selected
Float8
389
MES Platform 2.0
Max Normal Max Normal cycle time in seconds for the time period
Cycle Time selected
Min Normal Cycle Float8 Min Normal cycle time in seconds for the time period
Time selected
Normal Cycle Float8 Normal Cycle Time in seconds is the actual cycle
Time ignoring the equipment states like starved, blocked,
etc.
Average Overall Float8 Average Overall cycle time in seconds for the time
Cycle Time period selected
Max Overall Cycle Float8 Max Overall cycle time in seconds for the time period
Time selected
Min Overall Cycle Float8 Min Overall cycle time in seconds for the time period
Time selected
Overall Cycle Float8 Overall Cycle Time in seconds is the cycle including
Time states like downtime, starved, blocked, etc.
Average Precise Float8 Average Precise cycle time in seconds for the time
Cycle Time period selected
Max Precise Float8 Max Precise cycle time in seconds for the time period
Cycle Time selected
Min Precise Cycle Float8 Min Precise cycle time in seconds for the time period
Time selected
390
MES Platform 2.0
Precise Cycle Float8 Precise cycle time in seconds excluding states like
Time planned downtime, unplanned downtime, starved and
blocked.
Line
/Downtime
391
MES Platform 2.0
Line
Downtime
Occurrence
Count
Line String The line or cell group (sub line) downtime reason.
Downtime
Reason
1. When the line is down the Line
Downtime Reason is the same as the
Line State Name.
2. When the line is up the Line Downtime
Reason is blank.
Line String The full reason name for line or cell group (sub line)
Downtime downtime reason. Line State name including State
Reason Path Class i.e. Default/Cell Faulted
Line Boolean The line downtime reason split indicator. True is current
Downtime downtime event has been split into multiple downtime
Reason Split events
Line DateTime The time stamp for the equipment state change of the
Downtime cell group (sub line) or cell that caused the line down
State Time time even.
Stamp
Line
/Meantime
Line MTBF Float8 The calculated Meantime (minutes) Between Failure for
the selected period.
Refer to Setting Up Equipment States - Meantime
Metrics for more details.
392
MES Platform 2.0
Line Boolean Returns if Meantime metrics have been enabled for this
Meantime equipment.
Metrics
Enabled
Line
/Schedule
Line Standard String Amount of product that should have been produced
Count based on the line schedule available time and line
standard rate
Line Standard String Variance between standard count and actual count
Count
Variance
Line Target String Amount of product that should have been produced
Count based on the line schedule available time and line
schedule rate
Line Target String Variance between line scheduled count and line OEE
Count outfeed count.
Variance
Line/State
393
MES Platform 2.0
Line State Float8 The line or cell group (sub line) downtime event
Duration duration in minutes.
Line State DateTime The line or cell group (sub line) downtime event begin
Event Begin date time.
Line State DateTime The line or cell group (sub line) downtime event end
Event End date time.
Line State String The line or cell group (sub line) state.
Name
Line State String The state override scope for a line or cell group (sub
Override line). See Setting Up Equipment - Override Scope for
Scope more details
Line State String The state override type for a line or cell group (sub
Override line). See Setting Up Equipment - Override for more
Type details
Line State String The line or cell group (sub line) state type. See Setting
Type Up Equipment - State Type for more details
394
MES Platform 2.0
Equipment
/Mode
OEE Enabled Boolean See Setting Up Equipment Modes - OEE Enabled for
more details
395
MES Platform 2.0
Equipment
/State
Equipment Boolean True is current downtime event has been split into
State Split multiple downtime events
Equipment/Meantime
396
MES Platform 2.0
Equipment
/General
Delta Time Float8 Time gap (minutes) between the rows of data.
Stamp
Shift String Name of the current shift as set by the Ignition Schedule
Management component and defined for the current line
or by the value passed in the equipment shift tag collector
Shift Day Int4 Int value of the current day of the week
of Week
Shift Day Int4 Int value of the current day of the year
of Year
397
MES Platform 2.0
Shift ISO Int4 Int value of the ISO week of the year
Week of
Year
Shift Week Int4 Int value of the current week of the month
of Month
Shift Week Int4 Int value of the current week of the year
of Year
Equipment/OEE
398
MES Platform 2.0
OEE General Long Any count value other than infeed, outfeed, reject
Count and waste value for the selected time period
OEE Infeed Count Long Equipment infeed count value for the selected
period
OEE Outfeed Long Equipment outfeed count value for the selected
Count period
OEE Reject Count Long Equipment reject count value for the selected
period
Short Stop Time Float8 Short stop duration (Double) for selected period
399
MES Platform 2.0
Equipment/OEE
/Availability
Equipment/OEE
/Performance
Equipment/OEE
/Quality
Setting Values
The analysis results that are returned can be modified through the use of settings.
Setting values provide a number of keywords as listed below.
Format for entering the keywords is keyword1=True, keyword2=100.0, keyword3=10.
Settings like Enable Totalized Mode, Include Future, Last Values and Rollup
Time span is meant for analysis selector and not for live analysis
400
MES Platform 2.0
Last Values Only the latest values are shown. Not Last Values
valid for = True
Live
Analysis
OEE Quality The maximum value calculated can be All OEE Quality
Cap capped with this setting Cap = 100.0
Rollup Time If the time (seconds) between downtime Not Rollup Time
Span events is less than the rollup time and it is valid for Span = 30
the same equipment and reason, Live
Analysis
then it will rollup the event into one row in
the results and will increase the
occurrence count.
401
MES Platform 2.0
Row Limit The analysis can be limited to a certain All Row Limit =
number of rows. 10
Current equipment status information is displayed on the left hand side and is based on the
equipment state type. On the right hand side, extension functions provide you with a method to
customize this component by adding any type of equipment data you wish to show.
For more information please refer to the OEE Time Chart component help in the reference
section.
402
MES Platform 2.0
For more information please refer to the OEE Downtime Table component help in the reference
section.
Existing reports will appear in the drop down menu of analysis settings.
403
MES Platform 2.0
404
MES Platform 2.0
Scripting Functions
All the capabilities of the MES Analysis Selector and MES Analysis Controller components are
available through scripting functions. This allows for the dissemination of analysis data based
on events such as shift change, or end of production and can be used to update other
Information systems. The following script functions are available for analysis
405
MES Platform 2.0
A Simple Workflow
Step 1. Database Connection
Step 2. Configuring MES Databases
Step 3. Installing the Production Simulator
406
MES Platform 2.0
Info
Sepasoft Track and Trace module uses system.mes functions for scripting.
407
MES Platform 2.0
This paperless and fully integrated solution allows you to track finished goods from
their raw materials to their finished state, access genealogy data and set up a
centralized operator interface for all MES information. Along with tracking products
through the manufacturing process, it can also pull production information together
from various sources such as OEE, SPC, Recipe, Process Historian and more. Data
can be queried from systems outside of Ignition, such as an ERP, CMMS or a
warehouse management system.
All this product information can be pulled together through a unique and easy-to-
navigate Trace Graph display that makes viewing the finished goods process data
quick and easy. This information is organized chronologically and displayed in one
place, so it's simple to find the exact information you need. For example, view trends
within Ignition, query external systems, and see correlations between efficiency and
quality.
The Track and Trace Module allows your enterprise to transition away from recording
traceability information on paper. Instead, you can keep it alongside the rest of your
system data on a unified platform where it’s easy to analyze and retrieve. The Track
and Trace Module can help meet the increasing regulatory demand for traceability
information, by tracking products through the supply chain and making it possible to
quickly access traceability information requested by government authorities. This can
help you avoid hefty fines.
Seamlessly integrated with the Ignition platform, the Track and Trace Module ensures
accurate product information and adds meaningful context to time-series data. The
module is built for Ignition and shares the same advantages, such as cross-platform
compatibility, unlimited free clients, robust out-of-the-box SQL database support, and
fast installation.
The Track and Trace module is built on the ISA-95 standard, the international model
for integrating enterprise and control systems. By leveraging the full power of Ignition,
the Track and Trace module is unmatched by any other traceability application on the
market.
Overview
Knowing where product is and has been in a production facility can be very valuable. In the
typical production environment, time series data is collected by the SCADA or HMI systems.
Giving that data context to the specific product being produced, or other criteria, can provide a
picture into your process that is very valuable when diagnosing quality or other issues. It is also
valuable for narrowing down recalls and ensuring regulatory compliance.
408
MES Platform 2.0
By adding the Track & Trace Module, your system can have the capability to look up where any
product has been in its manufacturing process, and where it is now. This paperless and fully
integrated solution allows you to do the following:
Track products from the raw materials to the finished state, including consumables and
byproducts
Access genealogy data
Set up unified operator interfaces including SCADA, HMI, other MES, and more
Serialization of items and sub-assemblies
Real time inventory management
The Track & Trace Module is built on the ISA 95 Standard. For more information on ISA-95,
you can go to ISA-95 Overview
409
MES Platform 2.0
For every product you will be able to track all the consumed parts, the suppliers that supplied
the parts, the people that worked on the product and when they worked on it, the equipment
that was used to manufacture the part, Lot numbers, Serial Numbers, measurement data that
was acquired and additional factors such as rework etc.
The Track and Trace module extends Ignition to manage and track production and then provide
trace results. It is ideal for quickly implementing track and trace systems without the need to
design database schemas because it is handled by the module. New Ignition components are
also included that eliminate the need to build custom screens with entry boxes for each of the
values accepted by the user or barcode scanner. Also included, is a powerful visual
management component to define material, personnel, equipment, production tasks, routes,
etc. Then trace results are visually analyzed using the trace graph component.
Knowing where product is and has been in a production facility can be very valuable. In the
typical production environment, time series data is collected by the SCADA or HMI systems.
Giving that data context to the specific product being produced, or other criteria, can provide
the picture into your process that is very valuable when diagnosing quality or other issues. It is
also very useful for narrowing down recalls and ensuring regulatory compliance.
Tracking Product
In the real-world production environment, tracking product is not as easy as it sounds. It
impacts production staff and can hinder their efficiency. In some cases tracking information
may be provided by another system and in other cases it might require user input. It is
preferable that the user input is done real-time as opposed to the operator writing on paper and
a data entry person entering it into the system. In general, an effective system will have a
minimal impact of operations staff.
Tracing Product
This is the analysis and reporting of the details that went into making or processing a product.
The Sepasoft MES system includes linking other data such as data from the historian, OEE,
SPC and recipe modules or even data from external systems.
410
MES Platform 2.0
The project requirements, existing systems, and architecture will all determine how Track &
Trace is implemented. It may be that the ERP will manage raw material assignment and high
levee production scheduling, in which case Track & Trace can simply be the vehicle used to
provide real-time updates of material transfers on the plant floor to the ERP system or inventory
management system. The ERP system may also contain the rules that govern where materials
can be received or stored, in which case Track & Trace can interface between the user and the
ERP to provide the necessary production control. Remember that even MESA states that the
lines between the ERP (level 4) and MES (level 3) layers are somewhat blurred. The trick in an
MES implementation is to understand the capabilities of all systems and determine where it
makes sense to implement functionality and the appropriate interfaces.
Production Control
Production Control can enforce where certain operations occur, who can perform the
operations, what materials may be received, where they can be stored and how they are stored
(random lot, single lot or blended lot). The Track & Trace module can be configured to tightly
control the transfer of materials within the manufacturing environment. This level of control is
implemented by the Operations Definition and the structure used to define Material Groups.
Production Control can only be implemented via a User Interface, where an operator will
interact with a screen to select an operation, the incoming material and where it will be stored.
When the Track & Trace system obtains its information through tag values (i.e. pumps and
valves turning on), a much looser implementation must be employed to correctly track the
transfer of materials from one location to another.
Traceability
411
MES Platform 2.0
Traceability
A standard requirement of a Track & Trace system is the ability to trace what materials were
used to make a finished product and what processes were employed during the manufacturing
process. Understanding the details of the type of end user analysis required will drive how
granular the material flow tracking will be and what data (custom properties) need to be stored.
Onhand Inventory
Onhand Inventory of what materials are available and where they are may be a system
requirement as well as historical inventory. The Track & Trace module can provide this if
required. This requirement will drive how the manufacturing process and storage units are
configured.
412
MES Platform 2.0
The drawing above shows an example of a Material Flow artifact that should be generated prior
to any development work. You can download a visio version here to help kick off your material
flow.
1. Define Fixed Equipment (Production Lines and Cells) and Storage Locations (Storage
Zones and Units).
a. Fixed Equipment and Storage Locations are configured in the Production Model in
the Designer. See Adding Fixed Equipment and Storage Locations for more details
2. Configure Fixed Equipment Lot Handling Modes
a.
413
5. MES Platform 2.0
The Online Tutorial provides step by step instruction on configuring equipment, materials and
operations for an example Track & trace project.
414
MES Platform 2.0
Below are the different types of Production Items that can be added to the production
model.
415
MES Platform 2.0
Cell Group A cell group contains two or more cells. Typically, these All
cells occur at the same time in the sequence of the line
instead of one after another, causing the cell group to act
as a single sub process or step within the production.
416
MES Platform 2.0
Please note that when you rename a production item, it actually creates a new
instance of a production item and disables the old production item. This is
important to note as data captured against that production item will not be
accessible to the newly renamed production item. Spend the time to get the
Production Item named correctly at the beginning of the project.
Please note that any line(s), cell(s), cell group(s) and location(s) underneath the
production item will also be permanently removed.
417
MES Platform 2.0
Delete a Cell
Good Practice
It is recommended that you make a gateway backup prior to copying and pasting
Production items. It is not recommended that you make changes to the production
model on the production server without scheduling with Operations and having
the system backed up.
418
MES Platform 2.0
Setting Description
419
MES Platform 2.0
When writing to OPC values that are related to production model settings, the
new value is not retained upon restarting. This is because production model
settings are saved in the Ignition project and is only saved when done so in the
designer.
420
MES Platform 2.0
Mode Description
Single Only one lot can be stored at this location even if the location is not full. e.g.
Lot Hopper that can physically hold only one lot
Random You can put any lots in any order and pull them out in any order. e.g. Storage Bin
Lot or Bay
FIFO
421
MES Platform 2.0
Mode Description
This will cause the first lot stored at this location to be used first and the second lot
to be used second and so on. e.g. Storage bin where you require the operator to
use the oldest material first
LIFO This will cause the last lot stored at this location to be used first and the second to
last lot to be used second and so on. e.g. A location where you physically can't get
to the material stored at the back
Same Material from the same lot that is received over multiple trucks or vessels can be
Lot added. e.g for lots larger than transportation method
Blend Allows only one lot at a time in that tank. If you add another lot, it will cause a new
Lot lot to be created. e.g. liquid Tank.
See Tech note: How to Configure a Process Segment for Lot Blending
422
MES Platform 2.0
Scripting
The MES Management Screen can be used to create Material Classes and Definitions,
however if a company has hundreds of materials or if the ERP system manages materials, it is
likely that you will want to dynamically create materials through scripting. See KB article
Creating Material and Supplemental Equipment through Scripting for more information.
423
MES Platform 2.0
Click on the icon to select Add Process Segment. A popup will appear with sections
grouped into Core Properties, Custom Properties, and what we call Complex Properties (
Material, Equipment, Personnel and Supplemental Equipment).
424
MES Platform 2.0
Core Properties
End Operation Boolean If this property is set to True, then the operations
When Complete automatically ends when segment is complete
Segment Recipe String This is a drop down list of available recipes which can be
Name set to be used on segment start
Custom Properties
425
MES Platform 2.0
Custom properties can be added here for any meta data you want to store during execution of
this process segment. Data stored here can be accessed through scripting for analysis. Custom
properties are optional. Refer to setCustomPropertyValues for more details on using scripting
functions to set custom properties.
Data Type String The data type of the custom property. Valid options are Int1, Int2,
Int4, Int8, Float4, Float8, Boolean, String, DateTime, Int1Array,
Int2Array, Int4array, Int8Array, Float4Array, Float8array,
BooleanArray, StringArray, DateTimeArray
Production Boolean If this property is set to True, then the custom property will be visible
Visible at the time of production
Required Boolean This box is unchecked by default. If this setting is checked, then this
property is a required property and if it is unchecked, this is an
optional property
Custom To add a custom property of a custom property, select this row and
Properties click add button on tool bar
Any materials consumed or produced by this process segment are defined here. There is no
requirement to create material complex properties e.g. a maintenance process segment, and
there is no restriction on how many input, output or consumable materials are defined for a
process segment. Refer to createComplexProperty for more details on creating complex
properties with scripting functions.
426
MES Platform 2.0
Production Boolean This box is checked by default. If this setting is unchecked then
Selectable this property selection will not be visible to the operator in the MES
Material Selector component.
Auto Boolean If this is set to True, the system will create a new material lot
Generate object for this material
Lot
Material Python This setting defines the type of material that can be used in this
Reference Dictionary process segment. It can be a Material Class or a Material
Definition and can be used to prevent the wrong materials being
used
Lot Python This settings defines the location or equipment associated with the
Equipment Dictionary material lot. It can be an Equipment Class, Equipment, Line,
Reference Line Cell Group or Storage Unit and can be used to prevent this
process segment from selecting lots located in other equipment.
427
MES Platform 2.0
Enable Boolean If this setting is selected, then sublot support will be enabled for
Sublots the material resource
Lot String This determines the source of the lot number. Options are:
Number
Auto: This setting automatically generates lot number. The
Source
internal lot number generator will generate a lot number
and assign it automatically for the operator. This option can
also be used if a different lot number format is used or lot
numbers are provided by another system that is integrated
with this system.
Manual: This setting will prompt the operator for the lot
number. This is typically used when receiving raw materials
or entering a lot number generated by an outside system.
In Link: Only valid for Out materials. In cases where the lot
number for the output material will be the same as the lot
number of the input to the process segment, this setting will
tie the two together. Segments can be configured with
multiple material inputs and outputs and different lot
number links can be configured. Whenever this setting is
used, the Lot Sequence number is incremented, so that a
material lot can be tracked through a number of process
segments.
428
MES Platform 2.0
Lot String The system will use the same lot number as the material reference
Number with the name same as that of this setting. For example if this is
Source In set to Material In, then the system selects the lot number for the
Link material reference Material In
Quantity String This setting determines the quantity of material. Options are:
Source
Available Lot Quantity: Number of items belonging to the
lot can be obtained with this feature.
Link: This option allows the quantity to come from an input
or output material resource of this segment. This eliminates
the need to type in the quantity multiple times if they will
always be the same as another material resource.
Link Combine: For segments that are combining two or
more lots into one output, this option can be used. It is used
by having two or more material resources, that are segment
inputs, linked to the same material resource output. When
the segment is ended, the system will sum up the quantities
of the linked material resources to that of the linking
material resources. There isn't a need to use "," or any
other delimiters while defining the quantity source link,
instead a single name is used that can be put into all of the
material references link names.
Link Split: For segments that are splitting a lot into two or
more streams, as is the case of separating good from bad
product, this option can be used. It is used by having two or
more material resources, that are segment outputs, linked
to the same material resource. When the segment is
ended, the system will ensure that the sum of the quantities
of the linking material resources equal that of the linked
material resources.
Manual: The operator will be prompted for the quantity. The
quantity of material can be entered manually or with script.
It must be entered before the segment is ended.
429
MES Platform 2.0
Quantity String This is used when the Quantity Source setting is set to Link, Split
Source or Combine. It is the name of the material resource to link to this
Link segment. For an input Material, if Quantity Source is set to
Available Lot Quantity or Manual, and the Quantity Source Link to
combine, for the output material, set the Quantity Source to Link
Combine and the Quantity Source Link also to combine
Quantity Float8 Typically this is left blank, but it can be set to a fixed value that will
be constant every time the segment is used for production
Rate String This is used to set the material rate period. Options are:
Period
Min: For setting the rate in minutes.
Hour: For setting the rate in hours.
Cycle: For setting the rate in cycles.
Rate Float8 This setting determines rate of the material. Material rate is invalid
if it is set to less than zero
Cycle Time Int4 The expected time to complete a material cycle in seconds
430
MES Platform 2.0
Auto Lot String This setting determines if all the items belonging to the lot are
Quantity automatically consumed. Options are:
Completion
Disabled: Select this if the items in the lot should be used
automatically.
Enabled: Select this if the items in the lot should not be
used automatically.
Confirm: Set this if the l ot quantity needs to be confirmed.
This will check if the lot has reached its confirmation
threshold or not.
Material String The material lot status can be set to any custom value here. This
Lot Status can be used to filter results when querying material lots
Filter
Custom To add new custom property, select this row and click add button
Properties on tool bar
431
MES Platform 2.0
A process segment requires one and only one Equipment complex property to be defined. this
sets up production control on where this process segment can be executed. If you want to
create a process segment that can occur on any piece of equipment e.g. 'Clean Equipment', set
the equipment reference to an equipment class that contains all equipment. Refer to
createComplexProperty for more details on creating complex properties with scripting functions.
Name String The name of the custom property that can be used to reference
this equipment resource in script
Equipment Python This is the Production Item (equipment) that the operation can be
Reference Dictionary run at. This can be set to an equipment class or piece of
equipment (Line, Line Cell, Line Cell Group or Storage Unit)
Use String The equipment use property defined here is in compliance with
ISA-95 standard. We don't have any internal functions for this
though you can specify if this property refers to Production,
Maintenance, etc.
Quantity Float8 The quantity of equipment defined here is in compliance with ISA-
95 standard. We don't have any internal functions for this
Units String This specifies the units for the quantity setting
Custom To add a new custom property, select this row and click add button
Properties on tool bar
Personnel complex properties allow to you add production control to a process segment by
defining who can execute this process segment. This complex property is optional and can be
left blank. Refer to createComplexProperty for more details on creating complex properties with
scripting functions.
Name String The name of the custom property that can be used to reference
this personnel in script
432
MES Platform 2.0
Optional Boolean If the property defined here is always required, then leave this
setting unchecked. If this property is optional, then select it
Production Boolean This box is checked by default. If this setting is unchecked then
Selectable this property selection will not be visible to the operator in the MES
Material Selector component.
Personnel Python This can be set to a Personnel Class or a Person. Setting this to
Reference Dictionary Personnel Class will cause the operator to be prompted for the
specific person for this personnel resource in the MES Material
Selector component. If set to Person, then the selection will be
automatically selected
Use String The personnel use property is here in compliance with ISA-95
standard, we don't have any internal functions for this though you
can specify if this property refers to Production, Maintenance, etc.
Units String This specifies the units for the quantity setting
Custom To add new custom property, select this row and click add button
Properties on tool bar
Mobile equipment that can be moved around such as bins, containers, die sets etc. cannot be
defined in the production model as fixed equipment as defined by ISA-95. The MES Object
Editor and scripting functions can be used instead to create Supplemental Equipment. Refer to
createComplexProperty for more details on creating complex properties with scripting functions.
Name String The name of the custom property that can be used to reference this
supplemental equipment in script
433
MES Platform 2.0
Optional Boolean If the property defined here is always required, then leave this
setting unchecked. If this property is optional, then select it
Production Boolean This box is checked by default. If this setting is unchecked then this
Selectable property selection will not be visible to the operator in the MES
Material Selector component.
Units String This specifies the units for the quantity setting
Custom To add new custom property, select this row and click add button on
Properties tool bar.
8.2.3 Traceability
Trace Graph
The Trace Graph component provides a visual method to understand what material lots and
processes were used to create Finished Goods. The Trace demo project includes a screen to
view the trace graph.
To use the Trace Graph simply select a From Date Time and a To Date Time to look up all of
the lot numbers in that time period. You can filter for specific equipment or material and you can
specify whether or not you want to see active or completed lots. Once you select your filters,
you should be able to see a list of lot numbers in the dropdown list.
434
MES Platform 2.0
If you select Lot No 0000000001 and you will see the trace graph on the right.
The nodes are laid out in chronological order from left to right. The node type alternates starting
with a segment then showing a lot. The idea behind this is there are lots that are inputs to an
operation and there are lots that the operation produced. In the image below, the upper left
node titled Unload Station 1 is the operation that vinegar was unloaded. When this operation
was done, a new lot VIN 2988 was created. Then that lot was used in the operation of making
of balsamic dressing at Mix Station 1, which produced balsamic dressing that resides in
Holding Tank 2.
435
MES Platform 2.0
You can click on any node to view the corresponding details. For example, click on the Wine
Make and select Show Details. A popup window will open with the details.
436
MES Platform 2.0
Optionally, you can click on individual nodes to allow the trace to start inspecting that Lot No.
This would give the details about the raw materials, finished goods, and much more. To view
the data in tabular form, click on the Table tab. There are more details in the user manual about
the trace graph component.
Components
The Track and Trace module provides a set of components that can be used to enter in data for
an operation and to select material lots etc., for analysis. The demo project comes with quite a
few screens pre-made that implement these components.
Lot Sequence
437
MES Platform 2.0
Lot Sequence
Whenever an IN material lot is consumed by a process and the OUT Material is set to have the
same Material Lot ID as the IN Material (by setting the Lot Number Source to Link in the
material complex properties of the Process Segment), a unique incrementing Lot Sequence
number is generated and associated to the new material lot. This provides the ability to search
for a Material Lot and determine the most current Material Lot properties, such as location.
Objects
The Material Lot object can be used to return salient information regarding a Material Lot.
The MES Object Filter object can be used to return a list of Material Lots. See Filter for a
Material Lot by Custom Property knowledge article for more information.
Scripting Functions
system.mes.getLotInfoByName
system.mes.getLotInfoByUUID
system.mes.getLotInventoryByEquipment
system.mes.getLotInventoryByLot
system.mes.getLotList
system.mes.getLotTraceByLotUUID
system.mes.getLotTraceBySublotName
system.mes.getLotTraceBySublotUUID
system.mes.getSublotInfoByName
system.mes.getSublotInfoByUUID
system.mes.loadMaterialLot
system.mes.lot.filter.createFilter
438
MES Platform 2.0
Binding Functions
For more information refer to the Trace Binding functions section in the reference appendix.
Components
MES Material Selector
MES Sublot List
439
MES Platform 2.0
8.3 SPC
New to SPC?
Download and testdrive this most powerful MES solution available anywhere!
Download and Install Module
A Simple Workflow
Step 1. Database Connection
Step 2. Configuring MES Databases
Step 3. Installing the Production Simulator
Step 4. Production Model Configuration
440
MES Platform 2.0
Info
Sepasoft SPC module uses the following functions for scripting:
system.quality.spc
system.quality.definition
system.quality.sample.data
441
MES Platform 2.0
Rule violations - conditions where we are out of control, out of our range.
Quality goes on planning how often taking a test
SPC is a tool used to manage quality.
What Is Quality
In manufacturing, quality is defined as a measure of excellence or a state of being free from
defects, deficiencies and significant variations. It is brought about by strict and consistent
commitment to certain standards that achieve uniformity of a product in order to satisfy specific
customer or user requirements. Quality products help to maintain customer satisfaction and
loyalty and reduce the risk and cost of replacing faulty goods.
Your customers expect you to deliver quality products. If you do not, they will quickly look for
alternatives. Quality is critical to satisfying your customers and retaining their loyalty so they
continue to buy from you in the future. Quality products make an important contribution to long-
term revenue and profitability. The quality of a product is very important for a stable
manufacturing industry. The defected or the faulted goods must be sorted out from the good
ones. So it is extremely important to maintain the quality of any manufacturing product. This is
why we have introduced the SPC module. This module ensures the quality of items and
increase the productivity of efficient products.
442
MES Platform 2.0
SPC Variation
All manufacturing processes are affected by intrinsic variation. Variation exists in everything.
No matter how hard we try, there can never be two identical actions that generate exactly the
same result. Too much variation leads to rework, scrap, or customer problems. As the variation
in our processes is reduced, the output of our processes will be improved. That’s our goal with
SPC - to reduce the variation in our processes and then monitor the process to make sure the
variation doesn’t increase. So first of all, we have to make a frequency tally of the data. Next is
to calculate it's normal distribution of measurement values.
SPC Samples
Sometimes it is tedious to measure every part and so we should have to go for sampling.
Sampling is the process of selecting units from a population of interest so that by studying the
sample we may fairly generalize our results back to the population from which they were
chosen. Instead of checking every product, We just take measurements on some of them in
random.
Every hour we may pull out some samples to represent the population. We shall define the
sample size, which is basically equal to the number of measurements. Sepasoft SPC defines
this with the following.
Interval
443
MES Platform 2.0
where x is the standard deviation of individual measurements and n is the sample size. The
Upper (UCL) and Lower (LCL) control limits are calculated by the following equations:
where the z value is the number of standard deviations (sigmas) from the mean to put the
control limits.
444
MES Platform 2.0
The SPC module in itself provides some very powerful capabilities, and with it sitting on top of
the Ignition platform, allows for significant configuration and customization to realize your
desired functionality.
This module can be used to ensure that statistical data is accurately collected on time, every
time, helping you eliminate any issues leading to quality problems. It is an industry-standard
methodology for measuring and controlling quality during the manufacturing process. Quality
data in the form of Product or Process measurements are obtained in real-time during
manufacturing. This data is then plotted on a graph with pre-determined control limits. Control
limits are determined by the capability of the process, whereas specification limits are
determined by the client's needs.
445
MES Platform 2.0
Lab Instruments
For legacy laboratory inspection equipment that does not provide an OPC-UA or other
interface, the Instrument Interface module allows for data collection through the parsing of data
files or by intercepting data on an RS-232 COM port. See the Instrument Interface help section
for more information.
Additional Factors
Sepasoft SPC supports the collection of data not typically associated with quality, but that can
directly impact it. These factors can include raw material vendors, maintenance, humidity,
temperature and much more.
Scheduling Samples
If you worry about samples being taken at the correct time and not being faked after the fact,
you are not alone. It is not a matter of whether or not the person responsible for taking samples
has been distracted and missed taking samples, it is a matter of when. The Sepasoft SPC
module has powerful features that will schedule samples based on current real time production
conditions.
For example, if a lab staff is required to take samples every hour a production line is running,
what happens when there is a break down or the production start is delayed because the lack
of raw materials? How does the lab technician know when production started and if it has been
an hour? In a variety of ways, the Ignition module can let the lab technician know that
production has started and a sample is coming due, is due or is overdue. This can be
expanded to instantly inform all parties that should know of various sample due states.
This can be utilized for more than taking live process samples. It can also be used for other
checks that have to be done around the production facility such as weekly inspections of values
or rodent traps.
446
MES Platform 2.0
Notifications
The Sepasoft SPC Module makes it easy to ensure that samples are taken on time. A samples
list shows upcoming, due and overdue samples by department or location so you can quickly
see what's happening. The system can also automatically send out email and SMS notification
or flash screen indicators to prompt sample taking. You even have the option of setting up the
system to automatically stop production if a sample is overdue.
Sample Approval
When samples are taken, the SPC Module can be set up to automatically approve them or hold
them for approval. This feature can help you ensure that samples are approved when and how
you need them to be.
Sample Definitions
You can easily create sample definitions to define attributes, control limits, signals and
sampling locations. Choose attributes from variable data types such as real, integer, Boolean
and many more.
447
MES Platform 2.0
Out-of-Control Alerting
The system alerts you automatically whenever an out-of-control condition or bogus sample data
has been detected. Alerts are easy to customize so you can have Sepasoft SPC send out an
email or SMS notification, flash a screen indicator, stop production, or do a number of other
alert methods.
Control Limits
The Sepasoft SPC Module has typical built-in control limit calculations. These typical control
limits can be modified or added to simply by editing, copying or creating new ones.
Signals
To get you up to speed faster, the SPC Module is provided with standard signals. But when the
production environment calls for something more, you can edit, copy or create your own
signals.
448
MES Platform 2.0
449
MES Platform 2.0
Additional Factors
You can setup Additional Factors on the General tab of the location production item in the
Production model. Any defined additional factors will have there value stored and associated
the sample whenever it is taken. This provides a flexible method of extending the SPC engine
to associate meta data with the sample.
450
MES Platform 2.0
451
MES Platform 2.0
452
MES Platform 2.0
The image on the right shows some of the values available to read, and in some cases write to.
For more information, see Appendix A
SPCOPCBrowser
453
MES Platform 2.0
454
MES Platform 2.0
AddSampleDef
Adding Attributes
After adding a new definition, the attributes must be defined. This is done by right-clicking the
Attributes table and selecting Add from the drop-down menu. This opens a window similar to
the one before, which allows users to define each attribute. Some examples of attributes
include pH, temperature, viscosity, weight, nonconformities, and nonconforming items. From
here, the name, description, datatype, format, default value, minimum value, and maximum
value can be defined. This window also allows the users to decide if the attribute will be
required when entering sample data on the Lab or Test Stations screen.
455
MES Platform 2.0
Adding Locations
Next, the locations, or where the samples will be taken, can be defined. Again, this can be done
by right-clicking on the Locations table and selecting Add from the drop-down menu. The
ownership field declares who is responsible for the testing of the sample, whether that be the
lab or the operator at the testing station.
The interval type defines how the samples will automatically be scheduled. Or as in the image
below, they will be manually created by the user. If the interval is set to Timed Interval (Hours)
then a sample will automatically scheduled as defined by the Interval setting. When a new
project is created, the default Intervals options are also created but they can be modified,
added to or even removed. See Sample Definition Location for more details of each of the
settings.
456
MES Platform 2.0
Ownership
Sample definitions can be configured to specify an owner group who is in charge of that
particular sample. The ownership is separate from the location and is used in filtering.
457
MES Platform 2.0
Adding Signals
Any selected signals will be available to include on the control charts and will also be included
in the automatic evaluation of out of control conditions of the sample data. When a new project
is created, the default signal options are also created but they can be modified, added to or
even removed. Keep in mind that each signal is associated with a particular control chart. For
example, Individual Outside is associated with, and can only be used with, the Individual chart.
This is because the calculation and control limits used to determine if a sequence of individual
values are out of control is specific to the Individual chart.
Signals Table
After all the desired settings have been defined, the user can select Save to commit all the
changes, or Cancel to undo any changes that have been made. After a sample definition has
been created, samples based on them may appear or be manually added depending on the
Interval setting.
458
MES Platform 2.0
The first argument of the setSampleData function takes the measurement count which is 1 if
there is only 1 measurement. Make sure you add a row for each attribute on the
setSampleData function.
Of course we hard-coded the values in the script. They can come from the window or tags. You
can make your own forms to add samples.
459
MES Platform 2.0
Any samples that are automatically created and recorded by a Tag Sample Collector are
automatically approved and will appear in the control charts. By setting the Auto Refresh
property of either the SPC Selector or SPC Controller components on client screens, new
samples will appear in the control charts in real time as they are created. In addition, the
appropriate events found on the Advanced tab for the production location will be executed.
Enabled
Tag Sample Collectors enabled property provides a method of stopping the automatic
collection of measurements and creation of samples. Additionally, any tags associated with this
property can be changed to start and stop automatic collection. See OPC Tags for more
information.
Name
This is the required unique name of the Tag Sample Collector as it will appear, with SQLTag-
prepended to it, in selection lists. Behind the scenes, a sample definition is created using this
sample name. Sample definitions created for the purpose of Tag Sample Collectors will not
appear in the definition management and manual sample entry client screens.
460
MES Platform 2.0
SQLTag Path
This is the SQLTag path from which measurement values will be read.
Interval Type
The interval options that can be selected here match those defined in the Intervals list on the
Enterprise quality tab. Only intervals that have script will be included as options for Tag Sample
Collectors. The reason for this is that manual intervals, which are the those without script, will
never be created and do not apply to automatic collection of measurements.
Interval
The interval to collect data and create new samples. The units of this interval are defined by the
interval type and can be minutes, days, every x value read, etc.
Control Limits
The control limits that are checked will be calculated for this Tag Sample Collector during signal
evaluations. Available control limit options are defined in the Control Limits list on the
Enterprise quality tab. It is important to include control limits that a signal depends on or the
signal will not be evaluated correctly.
461
MES Platform 2.0
Signals
The signals that are checked will be evaluated every time a new sample is recorded by the Tag
Sample Collector. Available signal options are defined in the Signals list on the Enterprise
quality tab.
The first line of the file must at least contain the property names separated by commas. If
additional names exist, they will be ignored. The property names can be in any order. Below is
a sample csv file showing multiple tag sample collector entries. The lines in the example shown
below have been shortened.
To import tag sample collectors, right-click anywhere on the entries and select the Import menu
item. A dialog box will appear as shown below to allow selection of a comma separated values
(csv) formatted file.
462
MES Platform 2.0
Let's use a memory tag so we can control the value. In our tag database add a folder called
Line 1 Quality in the Line 1 > PLC folder. Create a memory tag called Weight that is an Int4
with an initial value of 0.
Now that we have a tag let's create the collector. Right click on the Tag Sample Collectors
table to add a new automatic tag sample collector. Let's call the collector Checkweigher.
Locate the Weight tag we just created for the Tag Path. There are 3 important settings:
Interval Type, Control Limits, and Signals. The Interval Type is used to determine when the
sample is taken. It could every 10 minutes or every 100 value changes. The SPC module
comes with several built-in intervals and it is possible to create your own. Set the Interval Type
to Every x Value Changes and set the Interval to 5. That way Ignition will take a sample every
5 value changes of the tag. You can enable any control limits you plan on using for this sample
463
MES Platform 2.0
and you can also enable any out of control signals you plan on using. Select the Individual LCL
and Individual UCL control limits. Select the Individual Nelson Rule 3 and Individual Outside
signals. That way we can be notified if the value falls outside of the LCL and UCL limits and if
there are 6 consecutive points in increasing or decreasing order.
Press OK to save. Make sure to save your changes in the designer as well. As soon as you
press save in the designer the samples will start to automatically get taken based on the
interval type. For us, we have to change the value of the Weight tag 5 times for a sample to get
taken. That's it! You can add as many automatic tag sample collectors as you need.
464
MES Platform 2.0
They should not be confused with tolerance limits or specifications, which are completely
independent of the distribution of the plotted sample statistic. Control limits describe what a
process is capable of producing (sometimes referred to as the 'voice of the process'), while
tolerances and specifications describe how the product should perform to meet the customer's
expectations
Control limits are Upper Control Limit (UCL) and Lower Control Limit (LCL) values that are
calculated from the data that is gathered from a process. They are shown as horizontal lines on
the control charts and reflect the past performance of that process. They can be either
calculated or entered manually, or through scripting, to act as specification limits. Specification
limits are requirements made by the company, not a reflection of the process itself.
For the p and u Charts, the control limits can vary for each sample depending on the number of
items inspected for each sample. See the SPC Charts for more information.
equation1
Problems on the dispersion chart should be addressed first. When control limits on the average
chart are calculated in the standard way (three sigma from the average), out-of-control
variables on the dispersion chart will also lead to out-of-control factors on the average chart.
These out-of-control factors on the average chart are not an indication of changes in the
process average, however, but are a logical result of changes in the dispersion. When
operators without adequate knowledge of SPC see out-of-control variables on both average
and dispersion charts they will likely start working on the problem on the average chart because
such problems are easier to address – just adjust the process.
The way to avoid this issue is to begin charting without putting the limits of the average chart at
three sigma. There are three options:
1. Do not use control limits for the average – only show the target. This is sometimes called
a run chart.
2. Fix the limits at a level which will rarely lead to out-of-control variables.
3.
465
MES Platform 2.0
3. When the process average is unstable use modified control limits to minimize the actions,
but make sure that process averages that are abnormal are signaled.
When the Cp value is high enough, the third method is preferred because the limits are still
calculated based on the process variation. This method still gives an early warning when a
disturbance of the process average will lead to defective products.
MR * * Individual
and Range
466
MES Platform 2.0
467
MES Platform 2.0
This section refers to how to create Control Limits to be used to monitor sample
values. Actual Control Limit values can be set through the control charts by right
clicking on the LCL and UCL or through scripting. Refer to the knowledge base article
on Setting Up Control Limits by Product Code for more info.
468
MES Platform 2.0
Name
This is the required unique name of the control limit as it will appear in selection lists and
control charts. It is better to keep this short in length so that it will fit better on the control charts.
Kind
Each type of control chart has control limit kinds that it works with. If a control limit will be used
with an Individual control chart, then either the Individual LCL (Lower Control Limit), Individual
UCL (Upper Control Limit) must be used.
469
MES Platform 2.0
Note
Each Control Limit kind has Other as an option. This kind is there for legacy support
and has deprecated. Do not use this kind.
Calculation Script
The SPC module uses python scripts to calculate control limits. This allows the user to override
the default calculation of a control limit or add new control limits that are not provided by
default. Additionally, they can be removed, cleaning up selection lists of control limits that may
never be used.
When a user or script function is used to initiate a control limit to be calculated, the script in the
associated control limit is executed. An event object is passed into the script that contains the
information and data used to calculate the new control limit value. See Control Limit Event
object for more information.
In the example, any lines that start with the pound (#) character are comments and are ignored
when the script is executed.
The event.getData() on line 8, returns the samples that will be used to calculate the new control
limit. It is a data set (see Ignition Data set in scripting for more information) and contains a row
of data for each sample. Each sample row includes measurement values, calculated values
(such as xBar, standard deviation, etc), sample date and time. For the p and u charts where the
control limits can vary by sample, this data set includes columns to which the the newly
calculated control limit for each sample can be saved.
The ds.getColumnIndex on lines 11 and 12, returns the column number of the XBar and Range
columns. This is done for speed reasons because it is faster to reference the column by
number instead of finding the column by name.
From line 19 to 21, each sample row in the data set is cycled through. This is done to total the
xBar and range values. The ds.getValueAt() function returns the value in the data set for the
specified row and column.
Line 24 calculates the average of the xBar values, also known as x double bar (XDBar).
Line 25 calculates the average of the range values, also known as range bar (RBar).
The event.getSampleSize() in line 28, returns the number of measurements per sample. This
will be used to determine which a2 value to use from the array in line 5. The a2 is a factor to
calculate the 3 sigma or 3 times standard deviation value and changes based on the number of
measurements in each sample.
Lines 31 through 34 lookup the a2 value that is going to be used to calculate the new control
limit value. A quick range check is done to prevent reading a value that is outside of the array
limits.
470
MES Platform 2.0
#Get the SPC data that the XBar UCL will be calculated for
ds = event.getData()
471
MES Platform 2.0
Group
A group name can optionally be added to each Control Limit. Control Limits that share the
same group name will then have their value set automatically when any control limit in that
group is set.
Example
An np Chart and a p Chart both show UCL spec limits. The np UCL and the p UCL Control
limits have the same Group name - PRODUCT_UCL_GRP. When a change is made to the
UCL limit on the np chart, the UCL value for the p UCL will also be changed
Export
To export control limit entries, right-click anywhere on the table containing control limit entries
and select the Export menu item. A dialog box will appear to allow selection of an existing file or
the entry of a name for the new file to save the control limits to. If a file extension is not entered,
then the default .csv will be used.
The first line of the file must contain at least the property names separated by commas. If
additional names exist, they will be ignored. The property names can be in any order. Below is
a sample csv file showing multiple control limit entries. The lines in the example shown below
have been shortened.
Import
To import downtime entries, right-click anywhere on the control limit table and select the Import
menu item. A dialog box as shown below will appear to allow selection of a comma separated
values (csv) formatted file.
472
MES Platform 2.0
473
MES Platform 2.0
Default Signals
When a new Enterprise Production Item is added, the following control limits are added:
Individual Outside
Out of Limits
Outside Limits
To edit an out of control signal, right-click the Out of Control Limits table and select Edit from
the drop-down menu. A window as shown below will appear identical to the window used to
add out of control limits. Once the desired fields have been edited, select OK.
Signal Name
This is the required unique name of the signal as it will appear in selection lists and control
charts. It is better to keep this short in length so that it will fit better on the control charts.
474
MES Platform 2.0
Kind
Each type of control chart has signal kinds that it works with. If a signal will be used with a
Individual control chart, then the Individual signal kind must be used.
Available control limits kind grouped by control chart type:
XBar
Range
Histogram
Individual
MR
Standard Deviation
Median
p
np
u
c
Calculation Script
Because signal calculations can vary, the SPC module uses scripting. This allows the user to
override the default calculation of a signal or adding new signals that the SPC module may not
provide by default. Additionally, they can be removed, cleaning up selection lists of signals that
may never be used.
475
MES Platform 2.0
Signals are evaluated when viewing them on control charts or when new sample data is
recorded. When either of these trigger the signals to be calculated, the script in the associated
signal is executed. An event object is passed into the script that contains the information and
data to calculate the signal state values. We will introduce this event here but see Signal
Evaluated Event object for more information.
Example-Description
In the example below, any lines that start with the pound (#) character are comments and are
ignored when the script is executed.
Line 2 initializes a variable used to track how many consecutive calculated values (like the x
bar value) are above the control line (like the x double bar value).
The event.getData() on line 5, returns the samples that will be used to calculate the signal state
values. It is a data set (see Ignition DataSet in scripting for more information) and contains a
row of data for each sample. Each sample row includes measurement values, calculated
values (such as xBar, standard deviation, etc), sample date and time and control limits. There
is also a column named the sample as the signal to save the signal state value. By setting the
value of this column to a zero (0), the sample is in control for this signal, and by setting the
value of this column to a one (1), the sample is out of control.
The ds.getColumnIndex on lines 8 through 10, returns the column number of the "XBar",
"XDBar" and signal result columns. This is done for speed reasons because it is faster to
reference the column by number instead of finding the column by name.
Starting with line 13, each sample row in the data set is cycled through.
Line 16 reads the calculated value that in this case is the xBar value.
Line 17 reads the average of the calculated values, which in this case is the xDBar value.
In line 20, a test is done for the xBar value being greater than the xDBar. If it is, further
checking is done in lines 22 through 38. If it is not, then the consecutive count variable is reset
and the signal state value is set to 0 for the sample in lines 42 and 43.
Line 22 adds to the consecutive count variable before checking if the threshold of 8 has been
exceeded.
Line 25 checks if the consecutive count threshold has been exceed. If not, the signal state
value for the sample is set to 0 and the consecutive count variable is left at its current value.
Line 28 checks if the consecutive count just exceeded the threshold. If it just did, the signal
state values for the previous 8 samples are set to 1. This flags the current sample and the
previous 7 samples as out of control.
The else statement in line 35 is a check that occurs if more than 8 consecutive xBar values
exceed the xBar value. It sets the signal state value to 1 and leaves the consecutive count
variable at its current value.
476
MES Platform 2.0
#Get the SPC data that the signal will be calculated for
ds = event.getData()
477
MES Platform 2.0
Period Description
No Auto Disable automatic signal evaluation after new sample data is recorded.
Evaluation
478
MES Platform 2.0
Looking at the default signal calculations along with the Scripting section of this manual and the
Scripting section in the Ignition manual is the best method to learn all the possibilities of
calculating signals.
Delete Signals
To delete an out of control signal, select the item to be deleted. After selecting, right-click the
item and select Delete from the drop-down menu. A window as shown below will appear
confirming that you permanently want to delete the out of control signal.
Export
To export signal entries, right-click anywhere on the table containing signal entries and select
the Export menu item. A dialog box will appear to allow for the selection of an existing file or the
entry of a name for the new file to which the out of control signal entries are saved. If a file
extension is not entered, then the default .csv will be used.
The first line of the file must at least contain the property names separated by commas. If
additional names exist, they will be ignored. The property names can be in any order. Below is
a sample csv file showing multiple signal entries. The lines in the example shown below have
been shortened.
Import
To import signal entries, right-click anywhere on signal entries and select the Import menu item.
A dialog box will appear as shown below to allow selection of a comma separated values (csv)
formatted file.
479
MES Platform 2.0
Rule Monitoring
Typically, SPC software requires that someone opens a screen and visually checks for out of
control conditions. Just like the scheduling of samples, someone may be distracted by other
pressing production issues and fail to complete the task. The Sepasoft SPC module has
powerful features that will automatically evaluate out of control signals every time new sample
data is recorded. This can be expanded to instantly inform all parties that should know of
various out of control conditions. Any sample that goes out of control will cause the Signal Out
of Control tag to go to true and will show up in the control chart. Depending on the rule you will
see a colored shape on every point that is out of control.
The SPC module provides an Signal Out of Control tag that goes to true when an out of
control condition is detected.
You can configure an alarm on this tag to notify people when the sample goes out of control.
If you pull up the control chart, you will see an indication of the out of control sample. You have
the ability to right click on the point and assign a cause and enter in a note.
Keep in mind that you only get one set of tags per location which will show the signal out of
control, if any of the sample definitions are out of control.
480
MES Platform 2.0
Interval Types
When a new Enterprise Production Item is added, the following default intervals are added:
Every Value Change
Every x Value Changes
Manual
Once at Production End
481
MES Platform 2.0
Name
This is the required unique name of the interval as it will appear in selection lists.
Execute Interval
The options are:
Disabled
Tag Change
Timed
Seconds
482
MES Platform 2.0
Seconds
If the Execute Interval is set to Timed, the sample interval will get executed every 60 seconds,
if you set it to 60, for each location defined for a sample definition.
Although the Interval script will execute every x seconds, Production Model restarts,
project saves, and restarting the Gateway will cause the Interval scripts to fire
immediately. You must use logic to check if samples have already been scheduled,
and this can be achieved by using the event.getSecSinceLastSampleScheduled()
function call.
Script
Because the default intervals may not be exactly what you are looking for, the SPC module
uses scripting. This allows the user to override the default calculation of an interval or adding
new intervals that the SPC module may not provide by default. Additionally, they can be
removed, cleaning up selection lists of intervals that may never be used.
In the sample definition, an interval can be selected and will define when new samples are
scheduled. These scheduled samples require manual entry of measurements.
In the Tag Sample Collector configuration, an interval is used to define when to automatically
add new samples.
Example
In the example script, any lines that start with the pound (#) character are comments and are
ignored when the script is executed.
Line 2 will allow us to use the Calendar object to do math with date values. See the Ignition
documentation for more information.
Line 5 returns the seconds since the last time a sample was scheduled. There is a wealth of
information in the event object that can be used to determine if a sample should be scheduled
or taken. See Sample Interval Event Object.
Line 8 returns the duration to use. In this case it is in minutes.
483
MES Platform 2.0
Line 9 returns the coming due minutes. It is going to be used to schedule a sample prior to the
time it is due, so that it will show in the sample list component prior to the time it is actually due.
For Automatic Tag Sample Collectors, the coming due will be 0 and the sample will be
recorded and measurements collected when the sample is created.
Line 12 does the actual checks to determine if a new sample should be scheduled. If
secSinceLastSample equals None, then it means a sample has not been scheduled for the
sample definition and location that is being checked. In this case, a new sample should be
created.
Lines 15 through 17 calculate the scheduled start time for the sample. This is the time that the
sample will appear in the sample list component and set the Sample Coming Due tag
associated with the production location.
Line 20 sets the create sample flag that tells the SPC module to create a new sample after
executing this script. This can be done through script functions specifically for creating
samples, but this simplifies the task of doing so down to one line of script.
484
MES Platform 2.0
Delete Intervals
To delete a sample interval, select the item to be deleted. After selecting, right-click the item
and select Delete from the drop-down menu. A window will appear as shown confirming that
you permanently want to delete the sample interval.
485
MES Platform 2.0
After selecting one of the Stored SPC Settings options, the control chart as defined in the
Default Control Chart for the sample will be shown. The image to the side labels the major parts
of a control chart. The Date Range Selector is used to select the date range of samples to view.
It defaults to the current period of time, but can be used to select samples from the past. The
table shows collected data and the calculated values. The calculated values that are included
depends on the kind of control chart being displayed. When the scroll bar at the bottom of the
table is moved to the left, the table, primary chart and secondary chart will all scroll in unison to
previous samples within the selected date range.
For the attribute type of control charts the secondary table will not appear.
Changing which attribute is currently being shown in the control chart is done using the SPC
settings panel. To change the attribute, click on the + select to the right of the Attribute label.
This will show all of the attributes defined in the sample definition.
Control limits and signals can be selected or hidden using the same method as the attribute
with the exception that more than one control limit or signal can be selected.
486
MES Platform 2.0
SPCGettingStartedChart
Control Chart
SPC Settings
The filter by section allows for limiting the samples that will be shown and included in the
calculated values. At a minimum, at least one location must be specified. This is because data
collected from one location could be completely unrelated or in a different range than another
location. If this is not the case, then multiple locations can be added to the filter.
487
MES Platform 2.0
SPC Settings
Show Option
The show options allow for the appearance of the control chart to be changed. By removing the
Table option, the table will not appear leaving only the charts and allowing more samples to be
viewed at once.
SPCGettingStartedShowOptions
488
MES Platform 2.0
SPC chart popup panel menu strings are localizable. The alternate strings can be added
through the Ignition translation manager (not the component translation manager). Reopen the
control chart page and right click on a point to manifest the changes.
489
MES Platform 2.0
The control charts can be separated into three groups: Value Charts, Attribute Charts, and
Analysis Charts. On all charts, it is possible to add assignable causes and notes to explain a
data point.
490
MES Platform 2.0
Value Charts
X Bar Range
Chart
491
MES Platform 2.0
Individuals Chart
An individuals control chart ( XmR chart, I -chart) can be used for time series tracking of a
process to determine if the process is in statistical control and can be considered stable. When
a process is considered stable, it experiences only common cause variability. When a process
is not in control, special cause conditions can be causing nonstability.
The Individuals Chart is similar to the X Bar Range Chart, however, only one measurement is
taken per sample instead of multiple. This means that the X Bar will always be the same value
as the measurement, and a moving range will be calculated instead of the basic range. This
means that instead of subtracting the lowest value from the highest value in one sample,
moving range will calculate the difference between one sample and the next, showing the
change from sample to sample. If a single measurement is used on the X Bar Range Chart, the
range will always be zero, which fails to show the consistency between measurements.
Individuals charts are useful in situations when testing of a product results in the destruction of
the product or if the testing is time consuming. It can also be used when a sample will yield the
same result for a long period of time no matter how many measurements are made, such as
batch operations. When using the Individuals Chart, the variable data should fall into a normal
distribution, meaning the data points are equally likely to fall on either side of the average. This
would appear as a bell curve on a histogram.
Please see Individual and Range Chart component for more information.
492
MES Platform 2.0
Median Chart
A median chart is a special purpose variation of the X-bar chart. This chart uses the median
instead of the subgroup average to show the system’s central location. The median is the
middle point when data points are arranged from high to low. The chart shows all the individual
readings and can be used to determine if the system is stable and predictable or to monitor the
effects of process improvement theories. Although median charts show both central location
and spread, they are often paired with range charts.
The Median Chart is also known as the MA-MR Chart or Moving Average-Moving Range Chart.
Because data is generated slowly, the data on this chart is displayed differently. The first
sample will contain three new data points. The second sample will contain the two most recent
data points from sample one, in addition to one new data point. Sample three will contain the
two most recent from sample two, as well as one new data point, and so on. Even though there
are three samples with three data points each, there is only a total of five data points. On this
chart, the median and the moving range are graphed. The median is the middle value based on
the measurements in the sample (this is not the same as the average), while the range is the
highest value minus the lowest value for each sample.
Like an individual chart, this chart should be used when the data is variable. In addition, data
may also be costly or time-consuming to gather, or remain constant for a long periods of time.
This chart should also be used when the data will not be normally distributed or when detecting
small process changes.
Please see Median and Range Chart component for more information.
493
MES Platform 2.0
Process Capability
Capability or Process Capability refers to the statistical position of the normal distribution
compared to the product or process specification. A process is capable when a bell curve is
created by +/- 3 Standard Deviation and fits easily inside the desired specification. Indicators of
capability are calculated based on the number of Sigma or Standard Deviations fitting between
the process Mean and the closest specification.
Cp or Cpi is the measurement of the ratio of Six Sigma divided into the allowable
specification. Cpi does not indicate how well the process is performing, rather how good
it could be.
494
MES Platform 2.0
Attribute Charts
P Chart
P chart is a type of control chart used to monitor the proportion of nonconforming units in a
sample, where the sample proportion nonconforming is defined as the ratio of the number of
nonconforming units to the sample size, n. The number of nonconformities per item is irrelevant
for this type of chart, which only tracks the total number of items; however, it is possible to have
the types of nonconformities displayed on the same chart. P charts are used only when looking
at the number of nonconforming items and when the sample size is not consistent.
Please see P Chart component for more information.
495
MES Platform 2.0
NP Chart
Unlike the P Chart, the NP chart requires that all the sample sizes are the same. The number of
nonconforming items is graphed instead of the proportion because the samples can be directly
compared. The types of nonconformities can also be displayed on the same chart. This chart
should be used when counting nonconforming items when the sample size does not change.
Please see NP Chart component for more information.
C Chart
C - chart, also known as a count chart, is used to monitor count type data, typically total
number of nonconformities per unit. It is also occasionally used to monitor the total number of
events occurring in a given unit of time. Often, the types of nonconformities and their individual
counts are noted as well. This chart is best used when counting nonconformities when the
sample size will not vary. It is also important that each sample has equal opportunity for
nonconformities.
Please see C Chart component for more information.
U Chart
U - chart is an attributes control chart used with data collected in subgroups of varying sizes. U
- charts show how the process, measured by the number of nonconformities per item or group
of items, changes over time. Nonconformities are defects or occurrences found in the sampled
subgroup
Like the C Chart, the U Chart also graphs the number of nonconformities, but does so through
a proportion. In this chart, the types and counts of nonconformities are tracked as well.This
chart should be used when counting nonconformities when the sample size will vary. Also, if
some samples have a greater opportunity for nonconformities than others, this chart should be
used over the C Chart.
Please see U Chart component for more information.
Analysis Charts
Histogram
A histogram shows the distribution of the data provided from the samples. A typical histogram
has a normal distribution, meaning that most data points will fall in the middle of the graph
and fewer will fall towards the outside, forming a bell curve. A distribution that is normal is just
the most common pattern. There are other types of curves, such as skewed distribution or
double-peaked distribution, which may be typical for certain processes. If a bell-shaped curve is
formed on the histogram, then any variations in the data are most likely due to an assignable
496
MES Platform 2.0
cause. Assignable causes influence variations, which can occur in materials, environment,
machines, peoples, etc. Ultimately, the histogram shows the consistency of a process.
Histograms should be used when data is numerical and the shape of the distribution is to be
observed. Observing the shape of the graph can help to determine whether or not the data is
distributed normally, if a change has occurred in the process over time, or if two or more
processes are different. This graph can also help to communicate with others about the data
distribution or determine if a process will be able to meet the requirements of a customer.
Please see Histogram Chart component for more information.
Pareto
The Pareto chart , named after Vilfredo Pareto , is a type of chart that contains both bars and a
line graph, where individual values are represented in descending order by bars, and the
cumulative total is represented by the line.
The pareto chart is a bar chart that is used to show which factors are the biggest problems. The
bars are arranged so that the most significant factor, that is, the factor that occurs the most
frequently or cost the most(whether that be in time or money), is on the left, while the shortest
bar, or least significant, is on the right. Because of the organization of the pareto chart, it is best
used when looking at how often problems or causes occur and which of those are the most
significant, or when looking at a specific component of a larger problem. Like the histogram
chart, the pareto is also useful for the communication of data.
Please see Pareto Chart component for more information.
The SPC Controller is an invisible component that makes SPC data available for control charts,
reports, and other components. The term invisible component means that this component
appears during design time, but is not visible during runtime.
In cases where the SPC Selector offers too many options to the use, this component can be
used. It has all of the same functionality as the SPC Selector but without the user interface.
This means property bindings or script must be used to make the filter, compare by and data
point selections. It also is used for providing data to canned reports and optionally allowing the
user to make limited filter options. We need to set the properties to the appropriate values in
order to show the pareto of the Assembly samples. Set the following properties:
Automatic Update = true
Auto Refresh = true (makes the data refresh automatically)
SPC Data Format = Pareto
Stored SPC Name =
Definition Name = Assembly
Attribute Name =
Filter = "Location=My Enterprise\Site 1\Packaging\Line 1\Line 1 Quality"
Control Limits =
Signals =
Start Date = Appropriate start date
End Date = Appropriate end date
498
MES Platform 2.0
Make sure you have samples entered in and approved. Otherwise, you won't see any data in
the control chart. Now that we have the data, let's add the control chart to the window. Drag on
the Pareto Chart from the SPC tab of the Component Palette on the window. Bind the SPC
Results property of the control chart to the SPC Results from the SPC Controller.
499
MES Platform 2.0
There are other settings you can configure on the control chart. With the auto refresh property
set to true on the SPC controller, the pareto will continue to update as new data is added. You
can perform the same process for any other sample definition and any control chart.
Scheduling
Samples can be scheduled to be taken in the Sample Definition based on the Interval Type
selected. The schedule sample list allows you to monitor the scheduled entries to see when
they are coming due, due, overdue and waiting for approval and approved. Based on the color,
users can easily see the current state of samples.
From this list, users can select a sample to enter measurements for or create new samples.
See the sample definition section for more information about how to schedule samples or
define them to be taken manually. By selecting a sample and clicking on the Edit Sample
button, the sample data can be entered. Likewise, by clicking on the Add Sample button, a new
sample can be added. Depending on the sample definition, samples can be automatically or
manually approved. Once a sample has been approved, it will appear in the control charts and
will be automatically evaluated for an out of control condition. In this demo, the Unapprove
Sample button has been added to demonstrate the ability to correct previously approved
sample data. This can be removed from the screen or allowed based on the user's security
role.
500
MES Platform 2.0
SPCGettingStartedSampleList
Sample List
501
MES Platform 2.0
SPCGettingStartedSampleEntry
SPCGettingStartedSampleEntry2
502
MES Platform 2.0
Approving Samples
Samples can be configured in the Sample Definition screen to require the additional step of
being approved or set to be auto approved. This provides the functionality of configuring an
approval step with roles based security.
Sample values will not be shown in the control Charts until they have been approved.
503
MES Platform 2.0
Now we need to get the script in place that will take enter in the sample data. For that we need
to select the Line 1 Quality location in the production model.
Select the Advanced tab on the right. We are going to configure a script on the Sample Due
Event that gets fired anytime a sample is due.
Click on the button to the right of the Sample Due Event and enter in the following script:
sample = event.getSample()
location = "[global]\My Enterprise\Site 1\Packaging\Line 1\Line 1
Quality"
sampleDef = sample.getSampleDefinition().getName()
if sampleDef == "Measurement":
locationX = system.tag.read("[default]Line 1/PLC/Line 1
Quality/ LocationX").value
locationY = system.tag.read("[default]Line 1/PLC/Line 1
Quality/ LocationY").value
diameter = system.tag.read("[default]Line 1/PLC/Line 1
Quality/ Diameter").value
sample.setSampleData(1, "LocationX", str(locationX))
sample.setSampleData(1, "LocationY", str(locationY))
sample.setSampleData(1, "Diameter", str(diameter))
sample.setApproved(1)
system.quality.sample.data.updateSample("QualityDemo",
location, sample, 1)
The script makes sure that the definition is Measurement before messing with it. That is
because we have more than one definition for this location. You can see the script gets the
values from the tags we created.
Save your changes in the designer.
Now that the script is in place we need to schedule the sample to be taken. We will use the
scheduling settings on the location for the Measurement sample definition.
Navigate to the Definition Management window in the quality project runtime.
Select the Measurement sample definition. Right click on the Line 1 Quality location and
504
MES Platform 2.0
select edit.
Set the interval type to Timed Interval (Minutes). Now the Interval setting applies. In this case
it will specify how many minutes. Set the interval to 15 to schedule a sample every 15 minutes.
Set the duration to 1, coming due to 5, and overdue to 5.
Press OK to save. Again press Save on the definition management screen to lock in the
changes. You will see samples entered in every 15 minutes in a control chart.
Stored Analysis
Start out by creating a new analysis by clicking on the menu of the Stored Settings panel and
then selecting the New menu item. Next type in a name, select Quality for the type and click the
OK button.
505
MES Platform 2.0
SPCGettingStartedAnalysisNew
Filter By
Once an stored analysis has been created or selected, you can change the selections to zero
in on the data that is desired. The filter section allows you to limit the data that is included in the
analysis. Filters can be added by clicking on the icon on the right side of the Filter By
section. Within the popup filter selection window, scroll down to the Shift option and click the
icon. Notice the shifts can now be selected. Clicking on 1 for first shift will add the Shift = 1
causing the analysis results to included quality data for only for first shift. Any combination on
filters can be added and the corresponding results will be shown.
The list of available filters change based on the date range. For example, if no samples were
taken during the second shift, then a 2 will not appear as an available option under shift. Filter
By items can be removed by clicking on the located to the left of the filter name.
Compare By
Breaking up information into groups is more meaningful than just seeing a total for a given date
range. For example, knowing the total sample count for a given data range does not provide
actionable information that can be used to improve quality. Now, comparing by the sample
count for each person entering sample data may provide meaningful and actionable data that
can be used to determine staffing requirements.
506
MES Platform 2.0
Additional Compare By items can be added by clicking on the icon on the right side of the
Compare By section. Within the popup Compare By selection window, click on the item that
you want to compare analysis results between.
Compare By items can be removed by clicking on the located to the left of the name.
SPCGettingStartedAnalysisFilter
Filter By Options
Data Points
Data points are the individual pieces of information that will be present in the analysis. For
example, sample count or approved count are just two of the many available data points. To
add a data point, click on the icon on the right side of the Data Points section. Within the
popup Data Point selection window, click on the data point item to include in the analysis.
507
MES Platform 2.0
Data Points can be removed by clicking on the located to the left of the name. The pie chart
will only show one data point. For this reason if more than one data point is selected the bar
chart, line chart or table must be selected to see all the selected data points.
Drill Down
The drill down feature simplifies the compare by and filter selections. Click on a chart series to
display the available drill down options. As shown in Drill Down Example 1 below, clicking on
the Line 1 Quality pie segment will show a popup menu of drill down options. If the Shift option
is selected, then the analysis filters will show the information by Shift and the Filter By and the
Compare By sections add Shift. The result is shown in Drill Down Example 2. Again, by clicking
on the pie segment and selecting another drill down option, the Filter By and Compare By
selections will change to show the appropriate information. This can be continued any number
of times.
Down Arrow
508
MES Platform 2.0
Provider Name
Quality
SPCQualityAnalysisProvider
Filters
These are the filters that are available in the SPC Module. However, in addition to these filters,
additional factors may be available if they are string data type. All additional factors start with
Factor: For example, Factor:Operator. A filter will allow the user to see all of the data points in
the analysis provider as it pertains to a specific area, shift, etc.
Area
Attribute Name
Definition Name
Enterprise
509
MES Platform 2.0
Include
Line
Location
Product Code
Reference Number
Sample Note
Shift
Shift Sync
Site
Tag
Compare By
These are the comparisons that are available in the SPC Module. However, in addition to these
comparisons, additional factors may be available if they are string data type. All additional
factors start with Factor: For example, Factor:Operator. A comparison allows one data point
to be compared between all areas, days, etc.
Approved By
Area
Attribute Name
Day
Definition Name
Enterprise
Line
Location
Month
Note Entered By
Product Code
Reference Number
Sample Entered At
Sample Taken By
Shift
Site
510
MES Platform 2.0
Tag
Week
Year
Data Points
These are the data points that are available in the SPC Module. However, in addition to these
comparisons, additional factors may be available if they are string data type. All additional
factors start with Factor: For example, Factor:Operator. Data points are the different values
that will be presented or compared on a graph or chart.
Approved At
Approved By
Approved Count
Area
Attribute Name
Attribute Note
Day
Definition Name
Enterprise
Line
Location
Month
Note Entered By
Product Code
Reference Number
Sample Count
Sample Entered At
Sample Note
Sample Taken At
Sample Taken By
Scheduled Finish
Schedule Start
511
MES Platform 2.0
Shift
Site
Tag
Week
Year
512
MES Platform 2.0
Here you can view any sample definition in any control chart (assuming the data works for that
control chart). By default each sample definition automatically adds a Stored SPC Setting so
you can easily view the control chart.
Click on the Stored SPC Settings dropdown to see the options.
You can certainly create new Stored SPC Settings. Let's use the SQLTag-Checkweigher stored
SPC setting. Once you select the setting make sure the Filter By is set to Line 1 Quality. The
attribute should be set to Weight. If there was more than one attribute you can select which one
you want to view. You can optionally select the limits and signals.
Lastly, select one of the control charts. Let's select the Individual chart for the checkweigher.
513
MES Platform 2.0
You may or may not have data. If you don't have any data go back into the designer and
change the Weight tag 5 times for a sample to be entered in. Once you have done that come
back to the control chart and change the start and end dates slightly to see the new data.
Save your Stored SPC Setting by clicking on menu and then save.
514
MES Platform 2.0
You can right click on the white space to the right of the control chart to set the LCL and UCL
limits since they are selected. Select the limit and either set the value yourself or press
calculate to let Ignition set it for you.
You can do the same thing for each sample definition. Just make sure the appropriate settings
are in place, samples are collected, and the correct control chart is selected.
515
MES Platform 2.0
Easy to Update
It’s easy to keep information in your SPC control charts up-to-date. You can simply add notes
to samples as they are taken, and add assignable causes to samples whenever you need to.
Charts are automatically updated with every new sample, so you can always be sure you see
the most accurate data, when you need it.
A Simple Workflow
Step 1. Database Connection
Step 2. Configuring MES Databases
Step 3. Installing the Production Simulator
Step 4. Production Model Configuration
8.4.1
516
MES Platform 2.0
Info
Sepasoft Recipe & Changeover module uses system.recipe functions for scripting.
What Is A Recipe?
In a manufacturing environment, a recipe (or process recipe) defines the machine settings used
by equipment on a production line to process material and produce product or sub-assemblies
in a consistent manner. It is an essential part of the production process. OEM equipment tends
to have a built-in recipe editor where recipes can be created and selected, whereas simpler
equipment may just have setpoints for temperature or speed that can be entered or adjusted. A
process engineer will generally dial in the settings during new product introduction and qualify
those settings as the Process Of Record (POR) for a given product on a given line. When the
production line is setup to run a certain product, these qualified settings need to be setup on
the equipment. This can be a tedious task and prone to mis-processing if setpoints are not set
correctly. Even if a recipe is selected on a piece of equipment, the settings in that recipe may
have been adjusted for a maintenance run or out-of-spec raw material and may no longer be
valid for the product.
The management of process recipes attempts to prevent mis-processing by forcing the
download of POR recipe setpoints from the Manufacturing Execution System (MES). This
provides an efficient means to manage and select recipes, track variances in recipe values,
keep recipes secure, track recipe changes and generate recipe reports.
517
MES Platform 2.0
Recipe Types
Batch Recipes
We commonly think of recipes as making a batch of product. An analogy to this is a batch of
cookies where many ingredients are added in sequence along with mixing. It is important to
understand that a batch system is different from a recipe. It is true that batch systems use
recipes, but a batch system has equipment definitions that are combined with the recipe to
control the machinery to make a batch of product.
518
MES Platform 2.0
Batch Management Systems handle many other functions including inventory checks before
starting a batch, alarm detection, machine control and more.
The Recipe / Changeover Module does not do the functions of a Batch Management System.
This being said, you can add multiple steps as child recipes to a master recipe and then step or
sequence through the steps. The sequencing through the steps must be done in script or the
PLC.
Batch System
Machine Recipes
Machine recipes are used to setup equipment to produce a given product or to place it in a
given mode. If a machine can run 20 different products and each product has different settings,
then the need to manage recipes is essential. Commonly, machines have some sort of operator
interface that will allow the operator to change settings and in some cases, have a very basic
recipe system. This can work okay for a single machine but with production lines where there
are several machines, it becomes more of a task to go to each machine and make sure it is
setup to run the next product on the schedule. This requires time and is prone to mistakes
during changeover between products.
When a recipe is selected for a machine, the recipe values are written to Ignition tags which
can be mapped to memory locations in a PLC. In the image below, all the recipe values except
for the Barcode are mapped to a PLC through OPC. The Barcode recipe value is just mapped
to a memory tag and can be displayed on a screen for the operator to verify the barcode
number or it can be sent to a printer through serial or TCP/IP.
If the Almonds recipe is selected, the recipe value will be written to the tags. If the tags are tied
to PLC memory addresses, they will end up in the PLC and the machine will be ready to run
almonds.
519
MES Platform 2.0
520
MES Platform 2.0
This is a brief overview of the types of recipes that are commonly used in manufacturing. There
is a lot more functionality such as scaling, variance monitoring, change logs, master recipes,
sub recipes, reporting capabilities, etc. that comes along with the Recipe / Changeover Module
that is covered in the following sections of this manual.
521
MES Platform 2.0
522
MES Platform 2.0
The Production Model is a hierarchy of Sites, Areas, Lines, Cell Groups, Cells, Locations,
Storage Zones and Storage Units. Typically, Lines and Cells are used to represent
machinery or equipment where a process occurs transforming raw materials into sub-
assemblies or finished goods. Storage Zones and Storage Units are typically used to
define where to get or store material.
Lines and Cells defined in the production model should be considered to be equipment that
is bolted to the floor and has conduit running to it. Mobile equipment such as pallets, bins,
dies used for pressing, etc. are not defined in the production model, but configured in the
MES Management screen as Supplemental Equipment (Track & Trace only).
Below are the different types of Production Items that can be added to the production
model.
Area All
523
MES Platform 2.0
Cell Group A cell group contains two or more cells. Typically, these All
cells occur at the same time in the sequence of the line
instead of one after another, causing the cell group to act
as a single sub process or step within the production.
524
MES Platform 2.0
Please note that when you rename a production item, it actually creates a new
instance of a production item and disables the old production item. This is
important to note as data captured against that production item will not be
accessible to the newly renamed production item. Spend the time to get the
Production Item named correctly at the beginning of the project.
Please note that any line(s), cell(s), cell group(s) and location(s) underneath the
production item will also be permanently removed.
525
MES Platform 2.0
Delete a Cell
526
MES Platform 2.0
Right Click mouse button and select Paste to make a copy of that production item in the
production model.
If you are copying a line, select the line before copying it. When you paste it, select the
area in which to the create a copy of that line.
Good Practice
It is recommended that you make a gateway backup prior to copying and pasting
Production items. It is not recommended that you make changes to the production
model on the production server without scheduling with Operations and having
the system backed up.
Setting Description
527
MES Platform 2.0
When writing to OPC values that are related to production model settings, the
new value is not retained upon restarting. This is because production model
settings are saved in the Ignition project and is only saved when done so in the
designer.
528
MES Platform 2.0
Default Values
When a new recipe is created, it is initialized with a default value. If the recipe value is assigned
to an Ignition tag that is tied to a PLC memory address, then the default value should be what is
normal and default for the machine. However, it can be any value you want as long as it is
within the range of the data type for the tag the recipe value is associated with and is within the
security settings for the recipe value. See Recipe Security for more information.
Inside a recipe, a recipe value can use the default value or it can be overridden in the recipe as
shown in the image below. Notice the Agitator Speed and Ingredient 2 of the Thick Blend recipe
have been overridden. If it uses the default value, it will be updated when the default value is
changed. Once a recipe value has been overridden in a recipe, that value persists even if the
master value is changed. At any time the recipe value can be reverted back to the default
value.
529
MES Platform 2.0
530
MES Platform 2.0
Master Recipes
Making a change to a recipe value that is used in numerous recipes is a daunting task and is
prone to mistakes. To address this problem the Recipe / Changeover Module uses master
recipes. The image below shows two recipes that are derived from, or descendents of, the
Master Blend recipe. When the descendant recipe is added, all recipe values will be inherited
from the master recipe. When a value is changed in a descendant recipe, it will override the
value from the master recipe with the new value as shown in the image below for the Agitator
Speed and Ingredient 2 recipe values.
The Sepasoft Recipe Management Module reduces the effort required to manage numerous
recipes with master recipe functionality. When you change a setting in the master recipe, it will
replicate down to all of its sub-recipes while still maintaining the specific values of each sub-
recipe. With unlimited levels available for master recipes, you can organize recipes in a
hierarchical manner, greatly reducing the effort to maintain recipes.
531
MES Platform 2.0
532
MES Platform 2.0
The image below just shows one master recipe and two descendant recipes. In actual fact,
there can be any number of levels of master recipes and any number of descendants of a
master recipe. Any recipe that has descendants is considered a master recipe. Consider a
master recipe called Master 1 that has a descendant that is called Master 1-A that has a
descendant called Final 1-A-A. Then recipes Master 1 and Master 1-A are both master recipes
and recipe Final 1-A-A is a final recipe. Only final recipes can be selected for a production line,
cell, cell group or location. See Selecting Recipes for more information.
One aspect that is not shown in the image below is that the master recipe can inherit its values
from the default values of the associated production item. So the production item has its default
values, which is added to a recipe so the recipe inherits from the default values, then the
descendant recipes inherit from the master recipe and so on. That is until a recipe value is
overridden somewhere along the inheritance chain. See Default Values for more information.
Recipe Master
Master Recipe
When a value is changed in the master recipe, it is propagated down to the descendant
recipes. As shown in the image below, the Mix Time recipe value is changed to 21 and the
Creamy Blend and Thick Blend recipes also reflect the new value.
533
MES Platform 2.0
Sub Recipes
Sub Recipes are convenient when a machine's recipe can be determined from digits within a
product code. When the product code is used as the recipe, a portion of the product code can
be extracted and used to determine the machine's recipe. For example, you may have a tape
machine that recipe values only change based on the case size. If there are only two different
case sizes and there is a digit in the product code that specifies the case size, then sub recipes
can be used for the tape machine. All other machines can use the normal recipe functionality.
Sub recipes are derived from the product code and the sub recipe mask. The sub recipe mask
specifies the digits to extract from the product code to determine the sub recipe. Once the sub
recipe value is determined like the 76 in the image below, the recipe values are looked up in
the sub recipes for the production line, cell, cell group or location and are written to tags. See
Sub Recipe Mask for more information on how to configure production items to use sub
recipes.
534
MES Platform 2.0
SubRecipeMask
The image below steps through the flow of selecting sub recipes and setting the associated tag
values and is based on the determining of the sub recipe as described above. The product
code can be selected using various methods. It can be selected using the Recipe Selector List
component, but is can also be selected by starting a production run for the OEE Module or by
using one of the script functions. In fact, it can be selected using a combination of methods.
The Recipe Editor component is used to edit both normal recipes and sub recipes. See sub
recipes in the Editing Recipes for more details. In general, the recipe editor is used to manage
sub recipes for a line, cell, cell group or location. New sub recipes can be created and the
recipe values for each can be edited.
535
MES Platform 2.0
SubRecipeMask3
536
MES Platform 2.0
537
MES Platform 2.0
Script
Script functions can also be used to read the recipe change log history. This is useful if the
recipe change log history is needed for reasons other than displaying or reporting. The recipe
change log history is returned as a dataset from the script and the rows can be iterated
through.
See system.recipe.getChangelogHistory script function for more information.
Recipe Security
The recipe value security uses Ignition's authentication roles to limit who can change what
recipe values by how much. Each recipe value can be set to specific security settings or it can
inherit from its parent. Like other recipes value settings, the security settings can propagate
down multiple levels of inheritance.
Referring to the image below, the Inherit Security check box determines if the recipe value
should use its parent's security settings or break the inheritance. By unselecting the Inherit
Security check box, the settings for each authentication role can be made. Initially when doing
so, the inherited security settings will remain that of the parent until they are edited.
538
MES Platform 2.0
When changing a recipe value from gateway script, the Administrator authentication role is
always applied.
The only place the recipe value security can be changed is by using the recipe editor
component. Also, it can only be changed in the default values area and not in the actual
recipes. Whether or not the logged in user can change the security settings can be controlled
with the Enable Security Editing property of the recipe editor component. This property can be
bound to an expression to determine if the currently logged in user belongs to authentication
roles that are allow to edit security. Another approach is to create a window that allows the
recipe value security editing and restrict opening the windows based on authentication roles the
currently logged in user belongs to.
Recipe Scaling
When using recipes for batch or other processes that can change based on the amount that is
produced, recipe scaling will adjust recipe values based on a recipe scale value. In the recipe
value configuration, there is an Enable Scaling setting that can be selected. If the Enable
Scaling setting is selected for a recipe value, then whenever a recipe is selected for a
production line, cell, cell group or location, the value from the recipe will be scaled by the value
in the RecipeScale tag as shown in the image below.
Enabling recipe scaling is done for each individual recipe value. This supports scaling some of
the recipe values while not scaling others as might be the case in the example shown below.
By default, each production item's Enable Scaling setting is false and must be selected before
the RecipeScale value will be applied.
The RecipeScale is a production OPC item that exists for each production line, cell, cell group
or location. By default, the RecipeScale is 1.0 and recipe values will not change when recipes
are selected. When selecting a recipe for a line, all of the cells, cell groups and locations
beneath the line will also be set to the same recipe provided they are enabled. Also, each cell,
539
MES Platform 2.0
cell group and location RecipeScale value will be set to match that of the line. This enables
simple recipe selection for a line without the tedious task of selecting each machine underneath
the line.
Variance Monitoring
In most manufacturing systems it is important to know if the live production values match the
recipe values. There are two cases where this is important. The first is when the recipe values
are first written to verify that they match. The second is during production in the event the live
production values changed from an outside source.
Recipe values are written once when the recipe is first selected. It is very important to confirm
that the values were successfully set. In the case of the Recipe / Changeover Module, when a
recipe is selected, the values are written to the Ignition tags. This should happen successfully,
but there can be expressions, scripts, etc. that prevent the value from being written correctly.
This is more of an issue when the Ignition tag is configured as an OPC item connecting it to the
PLC or other device. If a communication error occurs when the new recipe value was being
written to the PLC or device, then it is very useful to know this before machinery is started.
It is very common to have operator interface terminals (OIT) or a standalone human machine
interface (HMI) local to a machine that settings can be changed locally. Settings can also be
changed from other sources besides the local OIT, and it is important to detect and log when
any setting varies from the recipe value.
540
MES Platform 2.0
541
MES Platform 2.0
542
MES Platform 2.0
upperValue = system.tag.read("[Default]SomeOtherTag")
recipeValue = event.getRecipeTag().getCurrentValue()
if recipeValue > upperValue.value:
543
MES Platform 2.0
event.setLogVariance(True)
else:
event.setLogVariance(False)
The script is passed on Evaluate Variance Script object that allows accessing the current tag
information and also allows setting the log variance flag. In the script above, a tag called
SomeOtherTag is read and compared to the current value of the tag associated with the recipe
value where this script was defined. If the current value is greater than the value of the
SomeOtherTag, then the setLogVariance method is called with True meaning the recipe value
is in a variance state. Otherwise, false is returned.
See Enable Variance Monitoring section for details about configuring recipe values.
Variance Status
As mentioned above, variances are logged to the database and can be viewed in the Recipe
Variance Viewer component, analysis and reports. But, having a tag that indicates if any recipe
values are in variance for a machine is useful. The Sepasoft MES Modules exposes current
status and allows some control through the Production OPC Server. One of the status values
provided by the Recipe / Changeover Module is the RecipeVarianceExists value. Each
production line, cell, cell group and location has an associated RecipeVarianceExists value. If
the value is false, then all live production values are within variance for the production item. If
the value is true, then at least one recipe value of the production item is outside of its variance
range. See Production OPC Server and Production OPC Values sections for available values
that the Recipe / Changeover Module provides.
Selecting Recipes
There are different methods of selecting a recipe for production items. Production items that
support recipe selection are lines, cells, cell groups and locations. When a production line
recipe is selected, it will also select the same recipe for all of the cells, cell groups or locations
that are children of the line. This can be disabled by setting the EnableRecipe tag for the child
production item to false. This is a feature that makes day-to-day selection of line recipes easier
and mistake free.
Recipes can also be canceled that simply turns off variance tracking. This will keep recipe
value variance reporting clean with only data from actual production runs.
Components
After the Recipe / Changeover Module is installed, a Recipe tab will be added to component
pallete in the Ignition designer. There are two components that allow selection of recipes for a
production item. Below is what the Recipe Selection List component looks like.
544
MES Platform 2.0
545
MES Platform 2.0
when any of the Sepasoft MES modules are installed. When the production items are added,
removed or modified, the changes will be reflected in the Production OPC Server when the
project is saved and published in the designer.
Below are some of the values available to read, and in some cases write to for the
RecipeDemo project.
Info
When writing to production OPC values that are related to production model settings,
the new value is not retained upon restarting. This is because production model
settings are saved in the Ignition project and is only written to the project when done
so in the designer.
To use the production OPC values in your projects, Ignition tags have to be created. The
easiest method to do this is drag the production OPC value to the SQLTag Browser. Once the
tag has been created, it can be used to display status on screens, used in expression and any
of the other tasks that can be done with any other Ignition tags. Most of the production OPC
values are read only. For example, the RecipeVarianceExists value is determined by the live
546
MES Platform 2.0
production values compared to the values in the recipe (see Variance Monitoring for more
details about the RecipeVarianceExists value). Because it is reflecting a status, it cannot be
written to. However, others do allow writing a value to them.
It is extremely important to understand production OPC values have an OPC item path
that matches the layout of the production model. In the image below, the
RecipeVarianceExists tag is shown and includes the OPC Item Path of
RecipeDemo\Enterprise\Site\Area 1\Line 1\Filler.RecipeVarianceExists. If tags have
been previously created and the names are changed in the production model, then the
OPC item path will also have to be changed.
547
MES Platform 2.0
Tag Configuration
For example, if the enterprise name is changed from Enterprise to My Big Company, then the
OPC item path for the tag named RecipeVarianceExists will have to change to RecipeDemo\My
Big Company\Site\Area 1\Line 1\Filler.RecipeVarianceExists. For this reason, it is
recommended to first work on laying out your production model and make sure the names of
each of the production items are what you want before creating Ignition tags.
548
MES Platform 2.0
549
MES Platform 2.0
The variance log also lets you define limits for which variances to record. The following types of
thresholds can be defined by recipe value:
Percentage +/- of recipe value
Fixed +/- values from recipe value
Fixed values
Custom
Analyze Recipes
Use the Sepasoft Recipe / Changeover Module’s built-in analysis tools to:
Compare recipes
Review recipe change logs
Review production-run variances
And more
When you add the Ignition Reporting Module, you can also create multi-page reports with the
recipe analysis information, and more.
3. Creating Recipes
First we need to identify and setup the tags that will serve as a means to pass recipe setpoints
down to the machine and also to monitor and track any variance. Next we need to make
configuration settings in the production model that will affect how recipes and the recipe tags
are managed. Finally we need to create recipes that will store the machine settings.
In this section, we will walk through the steps to add the management and control of machine
settings using the Recipe Management Module.
550
MES Platform 2.0
In This Section
Recipe Values Settings
551
MES Platform 2.0
If you have a more complex line and recipe setpoints may be downloaded to cells on the
line as a product moves through the process, then you may want to group Recipe
Values settings and tags by cell or cell group.
Recipe Value entries are always propagated down to all child production items, If you have a
recipe value setting that will be used for a number of cells on a line, for example Line Speed,
you could define this setting at the line level and it would appear for all child production items. If
this was a setting that was applicable to all production lines in an area, then it could be defined
at the Area level. The name of the Recipe Value setting is propagated down, but the tag and
recipe value is not by default.
552
MES Platform 2.0
When set to Equipment Default the value of the Line Speed Recipe Values setting will be set
to the value of the Line Speed setting set for the Filler in the recipe editor.
In either case, the value of the Line Speed parameter can be over-written using the Recipe
Editor component by simply clicking on and assigning it a value.
553
MES Platform 2.0
554
MES Platform 2.0
ValueName,ValueDescription,ValueSQLTag,ValueCalcScript,AllowScaling,
ValueMonitorEnabled,ValueMonitorLow,ValueMonitorHigh,ValueMonitorScript
"Line Speed","Description for Line Speed","Recipe/Site/Area 1/Line 1/Line Speed","","
false","true","","",""
"Value 1","","","","false","false","","",""
"Value 2","","","","false","false","","",""
To export recipe value configuration entries, right-click anywhere on the table containing recipe
value configuration entries and select the Export menu item.
555
MES Platform 2.0
Name
The required name is used to reference the recipe value. The name must be unique and must
not exist in any of the child production items of the production item that the recipe value is
being added to. The reason for this is that recipe values are propagated down to all of the
children, and if the name is the same, a conflict will occur. Also, some characters are not
allowed in recipe value names.
Description
The recipe value description is used to further describe the recipe value. It appears in the
recipe editor component, analysis, reports, and etc.
556
MES Platform 2.0
Tag
This is the path to the Ignition tag that is associated with this recipe value. If a recipe value is
added but no tag is assigned, it will not appear in the recipe editor, and values will not be used
when recipes are selected.
Enable Scaling
If this option is checked, the recipe value will be scaled. The recipe value is retrieved out of the
recipe management system and then scaled by the value of the recipe scale tag for the
production item.
When using recipes for batch or other processes that can change based on the amount that is
produced, recipe scaling will adjust recipe values based on a recipe scale value. In the recipe
value configuration, there is an Enable Scaling setting that can be selected. If the Enable
Scaling setting is selected for a recipe value, then whenever a recipe is selected for a
production line, cell, cell group or location, the value from the recipe will be scaled by the value
in the RecipeScale tag as shown in the image below.
557
MES Platform 2.0
Enabling recipe scaling is done for each individual recipe value. This supports scaling some of
the recipe values while not scaling others as might be the case in the example shown below.
By default, each production item's Enable Scaling setting is false and must be selected before
the RecipeScale value will be applied.
The RecipeScale is a production OPC item that exists for each production line, cell, cell group
or location. By default, the RecipeScale is 1.0 and recipe values will not change when recipes
are selected. When selecting a recipe for a line, all of the cells, cell groups and locations
beneath the line will also be set to the same recipe provided they are enabled. Also, each cell,
cell group and location RecipeScale value will be set to match that of the line. This enables
simple recipe selection for a line without the tedious task of selecting each machine underneath
the line.
558
MES Platform 2.0
The Low Variance Threshold setting is used to define the lower limit before recipe variances
are triggered for this recipe value. The variance threshold can be defined as a percentage of
the recipe value or a fixed amount.
See Variance Tracking for more information.
High Variance Threshold
The High Variance Threshold setting is used to define the upper limit before recipe variances
are triggered for this recipe value. The variance threshold can be defined as a percentage of
the recipe value or a fixed amount.
See Variance Tracking for more information.
Evaluate Variance Script
Script can be used instead of using the Low Variance Threshold and High Variance Threshold
settings to determine if the recipe value is outside of an allowable range. When the Recipe
Values tag value changes, the variance state is evaluated using the Low Variance Threshold
and High Variance Threshold settings. Then, if an Evaluate Variance Script has been entered
for the recipe value, the script will be executed, and the state can be changed. See Variance
Tracking and Evaluate Variance Script for more information.
Sort Order
The order in which Recipe Values appear in the Recipe editor can be modified by setting the
Sort Order value. This is an integer value with higher values appearing first in the Recipe
Editor. The default value is 1.
Editing Recipes
There are multiple methods that can be used to change the values of a recipe. Depending on
the functionality that you are looking for, recipe values can be changed using the recipe editor,
importing or by scripting.
Recipe Editor
The recipe editor component provides a visual and interactive method to allow end users to
manage recipes. It handles all of the details and is as easy as adding the component to any
Ignition window. It also provides the ability to manage sub-product codes, recipe value security,
master recipes and adding MES production items to recipes.
To add a new recipe, right click on the root Recipes item in the recipe editor and select Add
Recipe menu item. The new recipe will be added and will be ready to enter the name of the
new recipe. Commonly, the name of the recipe will be the same as a product code, but it does
not have to be. It can represent a mode of the machine such as Cleaning Mode.
Add Recipe
Type in the name of the new recipe which for this example it is My Recipe. Next, right click on
the new My Recipe and click on the Select Production Items menu item.
Info
Please note, that you must first add production items in the designer before they
appear as options to be added to a menu. Because not all machinery is used in every
recipe, this step is used so that only the machinery that is appropriate for a recipe
appears in the recipe editor and recipe selector components. For this example, Line 1
and all of the cells (machines) beneath it are added to the recipe.
560
MES Platform 2.0
561
MES Platform 2.0
descendants recipes you can add to a master recipe. There is also no limit to the number of
levels deep of master recipes. After My Recipe 1 is added to My Recipe, My Recipe will no
longer show as an option in the recipe selection list component but My Recipe 1 will. In general,
if a recipe has descendants, it becomes a master recipe and will no longer show in the recipe
selection list component. Only final recipes with no descendant will show in the recipe selection
list component.
However, master recipes can be selected for production items by using script functions.
Import / Export
Recipes values can be imported and exported into the recipe management system. Note that
only the actual value of the recipe value item can be imported and not the recipe value
definition. Recipe value definitions can be imported in the designer. See Recipe Value Import /
Export for more information. This is because the recipe value definitions are tightly tied to
production items (equipment) and tags, both of which cannot be created in the client.
To export the recipe values in the client, right click on a line, cell, cell group or location
underneath the line and select the export menu item. A file chooser dialog will appear to select
or enter a file name to export to. The file format is a comma separated values (CSV) and
contains the following columns:
Recipe_NameValue_Name
Item_PathDescriptionUnits
Data_TypeFormatRecipe_ValueAssigned_By
To import recipe values in the client, right click on a line, cell, cell group or location underneath
the line and select the import menu item. A file chooser dialog will appear to select or enter a
file name to import to. The file format is a comma separated values (CSV) and must contain the
following columns:
Recipe_NameValue_NameItem_Path
Recipe_Value
All other columns will be ignored during the import. Also, all values must be surrounded with
quotes including the recipe value. During importing, the recipe value will be converted to the
appropriate data type that the recipe value is defined as, which is based on the tag it is
associated.
Recipe values can be imported for multiple recipes and production items combinations in one
import operation as defined with the Recipe_Name and Item_Path columns of the CSV file.
This supports bulk import operations instead of only being limited to one recipe at a time.
Recipe values can also be imported and exported using script either at the client or in the
gateway. See system.recipe.exportRecipe and system.recipe.importRecipe script functions for
more information. The following is an example statement that will import recipe values on the
562
MES Platform 2.0
gateway. The project name is required because recipe values are managed by project. The
csvData parameter is a string of csv data that can be read in from a file, web service, etc. And
last, the note is what will show in the recipe change log.
system.recipe.importRecipe("RecipeProject", csvData, note)
This functionality supports reading recipe values from ERP or other systems that are currently
being used to manage recipes. Once the recipe values are in Ignition they can be selected,
monitored for variances, analysis, etc.
Script
In addition to importing and exporting recipe values there are scripts to add recipes, rename
recipes, delete recipes and much more. See Client / Gateway Scripts for documentation of all
script functions. Because the built-in functionality will not fit the requirements in every situation,
the scripting functions provide the built-in functionality to be extended to accommodate the
requirements.
563
MES Platform 2.0
It is very easy to add descendant recipes. Create a new recipe called Master Recipe. Make
sure to select the production items Line 1 and Filler. Set the recipe values for the master
recipe.
To add a descendent simply right click on the Descendents folder and select Add Recipe.
Give the descendent recipe a name like Recipe 1. Configure a second recipe called Recipe 2.
Now we have 2 descendants. You can expand the descendants to specify the recipe values. If
you modify a value in the descendant it will set the Assigned By to the descendant like Recipe
1.
At any time you can right click on a recipe value and revert the value. This will set the value
back to the parent.
Customizers
Examples
Based on the setting of the Require Note property, notes are required any time
changes are made to a recipe, sub recipe or default values. The note panels is shown
below and the appearance is defined by several properties. The Popup Panel Font
property determines the font of the text, the Note Panel Icon Path property determines
the image on the upper left hand corner and the Note Background Color property
determines the background color. This is just an example of the many properties that
change the appearance of the Recipe Editor component.
565
MES Platform 2.0
It has the capability for end users to do the following recipe related tasks:
Manage recipe value security.
Manage sub product code recipes.
Manage default machine values.
Manage master recipes.
Manage machines that a recipe can be run.
Based on the setting of the properties of the Recipe Editor component, more or less detail can
be shown. This provides a method of displaying the correct amount of information depending
on the logged in user's authentication roles. For example, the image below is very clean only
showing limited recipes. This mode allows changing of recipe values for final recipes (not in
master recipes). See Master Recipes for more information.
566
MES Platform 2.0
567
MES Platform 2.0
568
MES Platform 2.0
Manual - Component
Manual - Scripting
Automatic - Scripting
We can also load recipes automatically from a trigger in the PLC, SFC chart, and many other
places. Let's show how to load a recipe to the PLC when a trigger changes in the PLC. In the
tag browser, create a memory tag in the Line 1 > PLC folder called Recipe 1 Trigger that is a
boolean with a default value of false.
Lastly, select the Tag Events tab so we can setup a script that will run automatically and load
Recipe 1 when the tag goes to 1.
Select the Value Changed script and enter in the following script:
569
MES Platform 2.0
Set the trigger to 1 and watch the recipe get loaded down automatically.
Change Log
The Recipe demo project provides a PDF report to see the change log history. Launch the
RecipeDemo project as a runtime.
Once the client is launched, log in and select the Reports image.
To use the Recipe Change Log Report simply select Line 1 in the line dropdown box, choose
Recipe 1 as the recipe. Choose a start and end date. Press Refresh to load the report.
570
MES Platform 2.0
If you want to see how the window was configured take a look at the Reports > Change Log
window in the designer. It makes use of the Anaylsis Controller (the same component we used
in the OEE / Downtime module) and the Recipe Change Log provider.
Variance Log
The Recipe demo project provides a PDF report to see the change log history. Launch the
RecipeDemo project as a runtime.
Once the client is launched, log in and select the Reports image.
571
MES Platform 2.0
To use the Recipe Variance Report simply select Line 1 in the line dropdown box, choose
Recipe 1 as the recipe. Choose a start and end date. Press Refresh to load the report.
If you want to see how the window was configured take a look at the Reports > Variance
window in the designer. It makes use of the Anaylsis Controller (the same component we used
in the OEE / Downtime module) and the Recipe Variance provider.
572
MES Platform 2.0
See Recipe Types for more information on how recipe values work. The following sections
detail how to add, edit, delete, export and import recipe values for a production item.
Recipe Analysis
573
MES Platform 2.0
Filters
The recipe analysis provider can accept the following filters:
Category
This is a required filter to specify the type of recipes to return. Only one of the valid options are
required:
Recipe
Sub Recipe - This includes default values or sub recipes for production items.
Example when using it with the Analysis Controller:
Category=Recipe
Item Path
This is a required filter to specify the production item to include in the results. It is the item path
for the desired item path(s). Because analysis is independent of projects, the project name is
required in the item path.
Example when using it with the Analysis Controller:
Item Path=RecipeDemo\Enterprise\Site\Area 1\Line 1, Item
Path=RecipeDemo\Enterprise\Site\Area 1\Line 2
Children
This is a filter to specify if children of the production item(s) specified in the Item Path filter
should be included.Only one of the valid options are required:
Include
Exclude (Default)
Example when using it with the Analysis Controller:Children=Include
Format
This is a filter to specify the format of the results.
Only one of the valid options are required:
None - A row in the results will be created for each recipe included in the Recipe Name
filter.
574
MES Platform 2.0
Recipe Comparison (Default) - This format creates a recipe value column for each recipe
included in the Recipe Name filter and consolidates the item path, value name, etc.
columns that are common.
Column Naming
Only one of the valid options are required:This is a filter to specify how to name the recipe
value columns when the Format filter is set to Recipe Comparison (Default). When this filter is
set to Recipe Name Prefix (Default), it is difficult to create a recipe comparison report because
the column names change depending on the recipes being compared. Setting this filter to
Number Suffix will cause the recipe value column names to always be the same, which
simplifies reports.
Number Suffix
Recipe Name Prefix (Default)
Example when using it with the Analysis Controller:
Column Naming=Number Suffix
Recipe Name
This is a filter to limit the recipe(s) to include in the results.
Example when using it with the Analysis Controller:
Recipe Name=Recipe A, Recipe Name=Recipe B
Value Types
This is a filter to specify the type of recipe values to include.
Only one of the valid options are required:
Equal Values - Include only recipe values that match between two or more recipes.
575
MES Platform 2.0
Not Equal Values - Include only recipe values that do not match between two or more
recipes.
All Values (Default) - Include both values that do not match and do match between two
or more recipes.
Example when using it with the Analysis Controller:
Value Types=Not Equal Values
Compare By
The recipe analysis provider does not allow any comparison statements.
Data Points
The recipe analysis provider can accept the following data points:
Assigned By
This is the recipe or production item that assigned the recipe value based on inheritance.
Data Type
This is the data type of the recipe value.
Description
This is the description from the recipe value configuration that was entered in the designer.
Format
This is the numeric format from the associated Ignition tag.
Recipe Name
This is the name of the recipe. If the Format filter is set to Recipe Comparison (Default), then
this data point will not be included in the results. This is because columns are added for each
recipe being compared. For example when comparing Recipe A to Recipe B, there will be
Recipe_A_Recipe_Value and Recipe_B_Recipe_Value columns.
Units
This is the units from the associated Ignition tag.
576
MES Platform 2.0
Filters
The recipe variance analysis provider can accept the following filters:
Scope
This is a required filter to specify the scope of what to include in the results:
Date Range
Last Active Recipe - This will look for the last recipe selection in the variance log and
only include the associated variances in the results. This can be used to monitor active
runs or the last run if the recipe has been cancelled.
Example when using it with the Analysis Controller:Scope=Last Active Recipe
Item Path
This is a required filter to specify the production item to include in the results. It is the item path
for the desired item path(s). Because analysis is independent of projects, the project name is
required in the item path.
Example when using it with the Analysis Controller:
Item Path=RecipeDemo\Enterprise\Site\Area 1\Line 1, Item
Path=RecipeDemo\Enterprise\Site\Area 1\Line 2
Children
This is a filter to specify if children of the production item(s) specified in the Item Path filter
should be included.
Only one of the valid options are required:
Include
Exclude (Default)
Example when using it with the Analysis Controller:
Children=Include
577
MES Platform 2.0
Recipe Name
This is a filter to limit the recipe(s) to include in the results.
Example when using it with the Analysis Controller:
Recipe Name=Recipe A, Recipe Name=Recipe B
Values
This is a filter to specify the type of recipe values to include.
Only one of the valid options are required:
Initial Values - Include only the initial recipe values when the recipe was first selected.
Changed Values - Include only recipe values that changed after the initial values were set.
Both - Include both initial and changed values.
Example when using it with the Analysis Controller:
Values=Both
Compare By
The recipe variance analysis provider does not allow any comparison statements.
Data Points
The recipe variance analysis provider can accept the following data points:
Description
This is the description from the recipe value configuration that was entered in the designer.
From Value
This is the value of the Ignition tag associated with the recipe value before it changed.
578
MES Platform 2.0
Item Path
This is the item path of the production item for the recipe value.
Recipe Name
This is the name of the recipe at the time when the recipe value changed.
Recipe Value
The value that is defined in the recipe.
Time Stamp
The date and time the recipe value changed.
To Value
This is the value of the Ignition tag associated with the recipe value after it changed.
Units
This is the units from the associated Ignition tag.
Value Name
This is the name from the recipe value configuration that was entered in the designer.
Filters
The recipe variance analysis provider can accept the following filters:
Scope
This is a required filter to specify the scope of what to include in the results:
Date Range
579
MES Platform 2.0
Last Active Sub Recipe - This will look for the last sub product code selection in the
variance log and only include the associated variances in the results. This can be used
to monitor active runs or the last run if the sub recipe has been cancelled.
Item Path
This is a required filter to specify the production item to include in the results. It is the item path
for the desired item path(s). Because analysis is independent of projects, the project name is
required in the item path.
Example when using it with the Analysis Controller:
Item Path=RecipeDemo\Enterprise\Site\Area 1\Line 1, Item
Path=RecipeDemo\Enterprise\Site\Area 1\Line 2
Children
This is a filter to specify if children of the production item(s) specified in the Item Path filter
should be included.
Only one of the valid options are required:
Include
Exclude (Default)
Example when using it with the Analysis Controller:
Children=Include
580
MES Platform 2.0
Values
This is a filter to specify the type of recipe values to include.
Only one of the valid options are required:Initial Values - Include only the initial recipe values
when the recipe was first selected.Changed Values - Include only recipe values that changed
after the initial values were set.Both - Include both initial and changed values.
Example when using it with the Analysis Controller:
Values=Both
The sub product code variance analysis provider does not allow any comparison statements.
Data Points
The sub product code variance analysis provider can accept the following data points:
Description
This is the description from the recipe value configuration that was entered in the designer.
From Value
This is the value of the Ignition tag associated with the recipe value before it changed.
Item Path
This is the item path of the production item for the recipe value.
Recipe Value
The value that is defined in the recipe.
Time Stamp
The date and time the recipe value changed.
581
MES Platform 2.0
To Value
This is the value of the Ignition tag associated with the recipe value after it changed.
Units
This is the units from the associated Ignition tag.
Filters
The recipe change log analysis provider can accept the following filters:
Category
This is a required filter to specify the type of recipes to return. One or more of the valid options
are required:
Recipe - This includes all recipe changes excluding value changes.
Recipe Value - This includes only recipe value changes.
Sub Recipe - This includes default value or sub recipe changes excluding value changes.
Sub Recipe Value - This includes default value or sub recipe value changes.
Example when using it with the Analysis Controller:
Category=Recipe, Category=Recipe Value
Item Path
This is a required filter to specify the production item to include in the results. It is the item path
for the desired item path(s).
Example when using it with the Analysis Controller:
Item Path=Enterprise\Site\Area 1\Line 1, Item Path=Enterprise\Site\Area 1\Line 2
Children
This is a filter to specify if children of the production item(s) specified in the Item Path filter
should be included.
582
MES Platform 2.0
Recipe Name
This is a filter to limit the recipe(s) to include in the results.
Example when using it with the Analysis Controller:
Recipe Name=Recipe A, Recipe Name=Recipe B
Compare By
The recipe analysis provider does not allow any comparison statements.
Data Points
The recipe analysis provider can accept the following data points:
Change Type
This is a description of the type of change. For example: it can be Recipe value changed or
Recipe value reverted.
Changed By
This is the person that made the change.
583
MES Platform 2.0
Description
This is the description from the recipe value configuration that was entered in the designer.
From Value
This is the value before the change.
Info
This is additional information that further describes the change.
Item Path
This is the item path of the production item that the change was made for.
Note
This is the note that was entered by the user at the time of the change.
Recipe Name
This is the name of the recipe the change was made for.
Time Stamp
The date and time of the changed.
To Value
This is the value after the change.
Value Name
This is the name from the recipe value configuration that was entered in the designer.
Units
This is the units from the associated Ignition tag.
584
MES Platform 2.0
Enterprise-Recipe
Description
The enterprise folder contains some properties associated with the enterprise and a folder for
each production Site within it. The name is the same as the enterprise name that is configured
in the designer. The image below represents the Enterprise of the RecipeDemo project.
Enterprise
Child Folders
585
MES Platform 2.0
Site One folder will exist for each Site that has been configured in the Ignition Designer.
The folder can be opened to view all values within the site.
Properties
Analysis . The name of the auxiliary (mirror) analysis database connection. String
Auxiliary . Can be blank if no auxiliary DB connection is configured.
Read
DB .
Only
Connection
. Name
Description Optionally, this property can be set to a description for the String
enterprise. It is not used by the MES modules other than for
reference.
Enabled This reflects the enterprise Enabled property in the Designer. If the Boolean
enterprise Enabled is set to true, then the MES production model will
perform calculations for the enterprise and all sites, areas, lines,
cells, cell groups and location within it. If this property is set to false,
then none of the sites, areas, lines, cells, cell groups and locations
will have calculations performed.
Name This reflects the name of the enterprise that is set in the designer. String
Read
Only
586
MES Platform 2.0
Site-Recipe
Description
The site folder contains some properties associated with the production site and a folder for
each production area within it. The name is the same as the site name that is configured in the
designer. The image below represents the Your Site of the OEEDemo project.
Site
Child Folders
Area One folder will exist for each area that has been configured in the Ignition
Designer. The folder can be opened to view all values within the area.
RecipeValue Any recipe values that are configured for the production site will appear in this
folder.
Properties
Description Optionally, this property can be set to a description for the site. It is String
not used by the OEE Downtime and Scheduling Module other than
for reference.
Enabled Boolean
587
MES Platform 2.0
This reflects the site Enabled property in the Designer. If the site
Enabled is set to true, then the OEE Downtime and Scheduling
module will perform calculations for the site and all areas, lines and
cells within it. If this property is set to false, then none of the areas,
lines or cells will have calculations performed.
Name This reflects the name of the site that is set in the designer. String
Read
Only
Area-Recipe
Description
The area folder contains some properties associated with the production area and a folder for
each production line within it. The name is the same as the area name that is configured in the
designer. The image below represents the Your Area of the OEEDemo project.
Area
Child Folders
Line One folder will exist for each Line that has been configured in the Ignition
Designer. The folder can be opened to view all values within the line.
588
MES Platform 2.0
RecipeValue Any recipe values that are configured for the production area will appear in
this folder.
Properties
Description Optionally, this property can be set to a description for the area. It is String
not used by the OEE Downtime and Scheduling Module other than
for reference.
Enabled This reflects the site Enabled property in the Designer. If the area Boolean
Enabled is set to true, then the OEE Downtime and Scheduling
module will perform calculations for the area and all lines and cell
within it. If this property is set to false, then none of the lines or cells
will have calculations performed.
Name This reflects the name of the area that is set in the designer. String
Read
Only
Line-Recipe
Description
The line folder contains some properties associated with the production line and a folder for
each production cell within it. The name is the same as the line name that is configured in the
designer. The image below represents the Line 1 of the OEEDemo project.
589
MES Platform 2.0
Line
Child Folders
RecipeValue Any recipe values that are configured for the production line will appear in this
folder.
Cell One folder will exist for each Cell that has been configured in the Ignition
Designer. The folder can be opened to view all values within the cell.
Properties
ActiveRecipeName If a recipe is active for this production line, then this is String
the name of the recipe. If a recipe is not active, then this
Read
is blank.
Only
590
MES Platform 2.0
Read
Only
RecipeScale Set this to the amount to scale a recipe prior to selecting Double
a recipe for the production line.
RecipeTrackingUUID This is a unique value used for tracking initial recipe String
values and variances while a recipe is selected. It can be
Read
used when looking up data directly from the database.
Only
RecipeVariancesExists If true, then Ignition tags associated with at least one Boolean
recipe value for this production item have changed.
Read
Only
RecipeWriteError If true, then at least one recipe value did not write to the Boolean
associated Ignition tags when the recipe was first
Read
selected.
Only
ValueMonitorEnabled If true, recipe values are being monitored and recipe Boolean
value variances will be logged.
Read
Only
Cell Group-Recipe
Description
The cell folder contains some properties associated with the production cell. The name is the
same as the cell name that is configured in the designer. The image below represents the Filler
of the OEEDemo project.
591
MES Platform 2.0
Cell
Child Folders
Cell One folder will exist for each Cell that has been configured in the Ignition
Designer. The folder can be opened to view all values within the cell.
RecipeValue Any recipe values that are configured for the production cell group will appear
in this folder.
592
MES Platform 2.0
Properties
ActiveRecipeName If a recipe is active for this production cell, then this is the String
name of the recipe. If a recipe is not active, then this is
Read
blank.
Only
RecipeScale Set this to the amount to scale a recipe prior to selecting Double
a recipe for the production cell group.
RecipeTrackingUUID This is a unique value used for tracking initial recipe String
values and variances while a recipe is selected. It can be
Read
used when looking up data directly from the database.
Only
RecipeVariancesExists If true, then Ignition tags associated with at least one Boolean
recipe value for this production item have changed.
Read
Only
RecipeWriteError If true, then at least one recipe value did not write to the Boolean
associated Ignition tags when the recipe was first
Read
selected.
Only
ValueMonitorEnabled If true, recipe values are being monitored and recipe Boolean
value variances will be logged.
Read
Only
593
MES Platform 2.0
Cell-Recipe
Description
The cell folder contains some properties associated with the production cell. The name is the
same as the cell name that is configured in the designer. The image below represents the Filler
of the OEEDemo project.
Cell
Child Folders
RecipeValue Any recipe values that are configured for the production cell will appear in this
folder.
Properties
594
MES Platform 2.0
ActiveRecipeName If a recipe is active for this production cell, then this is the String
name of the recipe. If a recipe is not active, then this is
Read
blank.
Only
RecipeScale Set this to the amount to scale a recipe prior to selecting Double
a recipe for the production cell.
RecipeTrackingUUID This is a unique value used for tracking initial recipe String
values and variances while a recipe is selected. It can be
Read
used when looking up data directly from the database.
Only
RecipeVariancesExists If true, then Ignition tags associated with at least one Boolean
recipe value for this production item have changed.
Read
Only
RecipeWriteError If true, then at least one recipe value did not write to the Boolean
associated Ignition tags when the recipe was first
Read
selected.
Only
ValueMonitorEnabled If true, recipe values are being monitored and recipe Boolean
value variances will be logged.
Read
Only
Location-Recipe
595
MES Platform 2.0
Location-Recipe
Description
The cell folder contains some properties associated with the production cell. The name is the
same as the cell name that is configured in the designer. The image below represents the Filler
of the OEEDemo project.
Cell
Child Folders
RecipeValue Any recipe values that are configured for the production location will appear in
this folder.
Properties
ActiveRecipeName If a recipe is active for this production cell, then this is the String
name of the recipe. If a recipe is not active, then this is
Read
blank.
Only
596
MES Platform 2.0
RecipeScale Set this to the amount to scale a recipe prior to selecting Double
a recipe for the production location.
RecipeTrackingUUID This is a unique value used for tracking initial recipe String
values and variances while a recipe is selected. It can be
Read
used when looking up data directly from the database.
Only
RecipeVariancesExists If true, then Ignition tags associated with at least one Boolean
recipe value for this production item have changed.
Read
Only
RecipeWriteError If true, then at least one recipe value did not write to the Boolean
associated Ignition tags when the recipe was first
Read
selected.
Only
ValueMonitorEnabled If true, recipe values are being monitored and recipe Boolean
value variances will be logged.
Read
Only
Overview
The following methods can be used for grouping recipes by product type, by master recipes, by
production item respectively.
597
MES Platform 2.0
Scenario
Line 1 has Nutella_Recipe 1, Nutella_Recipe 2, Nutella_Recipe 3 (Descendants under
master Nutella)
Line 2 has estathe_Recipe 10, estathe_Recipe 11, estathe_Recipe 12 (Descendants under
master estathe)
598
MES Platform 2.0
Method 1 and 2 don't require any additional tracking points and it is more straight
forward and less problematic. Use method 1 if you have a prefix on the recipe name.
References
system.recipe.getItemRecipeList
Master Recipes
Production Item
Created By: Jason Coope Created Date: May 04, 2017 09:07Last Modified By: Jason Coope
Last Modifed Date: May 04, 2017 09:07
Overview
This sample script shows how to create a recipe and assign values to the recipe items.
599
MES Platform 2.0
Scripting
If this script function is placed in the shared script library under a package called
"operations" and a script library called "RecipeManagement" it would be executed with
the call:
"shared.operations.RecipeManagement.createRecipe()"
Script function can have parameters so values such as recipe name and item path
may be passed in with the call.
def createRecipe():
from org.apache.log4j import Logger
log = Logger.getLogger('createRecipeScriptLogger')
600
MES Platform 2.0
#recipeItem.getMaxValue()
#recipeItem.getAssignedBy()
#recipeItem.getSortOrder()
#recipeItem.hasDescription()
#recipeItem.getDescription()
#recipeItem.getFormat()
#recipeItem.getUnits()
log.info('%s=%s' %(itemName, itemValue))
References
system.recipe.createRecipe
system.util.getLogger
system.recipe.addItemToRecipe
system.recipe.getRecipeValues
system.recipe.setPathRecipeValue
Keywords
Set recipe values
601
MES Platform 2.0
Created By: Jason Coope Created Date: May 04, 2017 09:09Last Modified By: Jason Coope
Last Modifed Date: May 04, 2017 09:09
Overview
This kb article illustrates how to set security role settings for a recipe value and how to revert
the inherit property of the recipe value security settings through scripting.
Security role
The list of security roles and the details of individual security role can be retrieved through
scripting.
Set inherit
setInherit() property can be used to change security settings of a recipe item.
Scripting
602
MES Platform 2.0
# if you know the datatype or you know the item by name you
can set the min and max for the role
#if recipeItemName == 'FanSpeed':
# secRole.setMinValue(32.5)
# secRole.setMaxValue(212.0)
#print
References
Recipe Value Security Role
Recipe Value Security Info
system.recipe.getDefaultValues
system.recipe.getRecipeValueSecurity
system.recipe.updateRecipeValueSecurity
Keywords
Recipe setInherit property
Created By: Jason Coope Created Date: May 04, 2017 09:09Last Modified By: Jason Coope
Last Modifed Date: May 04, 2017 09:09
603
MES Platform 2.0
Info
Sepasoft Instrument Interface module uses system.instrument functions for scripting.
604
MES Platform 2.0
Module Features:
Serial Communications
File Monitoring
Parsing
Centralized Instrument Management
The Instrument Interface module is used to define communication settings and data parsing
templates to an instrument. These settings and parsing templates are then used to read data
from a instrument and parse the raw data to extract desired values. The data from an
instrument can come from a file, serial communication port, TCP or UDP connection, OPC
device such as a PLC, external data or web service.
The image show the typical flow of data when reading instrument values through a serial
communications port. Note that the Client Serial Support Module is required to read serial data
on a client computer.
SerialParseFlow
605
MES Platform 2.0
The Instrument Interface Module includes a component to make configuring and control of
serial port communications easier than using the script only support of the Client Serial Support
Module. If reading data from a serial communication port on the Ignition server is needed, then
the Serial Server Support Module is needed.
Some Instruments write their results to a disk file. The image shows the typical flow when
reading data from a file and using the File Monitor component or parsing script functions that
are available on both the client and the gateway to parse the raw data in the file.
FileParseFlow
Serial Settings
This page configures the serial port communications settings of this Instrument Interface.
606
MES Platform 2.0
General
Enable If checked, these port settings will be applied to the Serial Controller component
Serial when this Instrument Interface is assigned to its Instrument Interface Name
property.
607
MES Platform 2.0
Port Settings
Baud Rate Serial Communication baud rate. Select from the following:
Baud 110
Baud 150
Baud 300
Baud 600
Baud 1200
Baud 2400
Baud 4800
Baud 9600
Baud 19200
Baud 38400
Baud 57600
Baud 115200
Baud 230400
Baud 460800
Baud 921600
Data Bits Serial communication data bits. Select from the following:
DATA BITS 5
DATA BITS 6
DATA BITS 7
DATA BITS 8
608
MES Platform 2.0
Stop Bits Serial communication number of stop bits. Select from the following:
Stop Bits 1
Stop Bits 2
Hand Shaking Serial communication flow control methods. Select from the following:
NONE
CTS DTR
CTS RTS
DSR DTR
XON XOFF
Clear Buffer If checked, clears the receive buffer before sending data.
Before Sending
609
MES Platform 2.0
Request Handling
Code Snippet
import time
port = event.getSerialController()
port.clearBuffer()
port.writeString("Ar")
time.sleep(0.5)
port.writeString("As")
time.sleep(0.5)
event.setReceivedData(port.readString())
Accept If checked, the port will can accept requests without being solicited.
Unsolicited
Request
610
MES Platform 2.0
There should already be two configurations in the quality project: Measurement CSV and
GagePort. Click on the Measurement CSV configuration. Since we are configuring file
monitoring, click on the File Monitor Settings tab.
Here you can enable file monitoring and specify the settings. Use the settings above to
automatically monitor files in a directory every second. If files exists we will process them by
their timestamp and delete them once we are done parsing. The next step is to configure a
parse template so Ignition knows how to parse the files. You can check out the GagePort for
information on serial parsing.
Some instruments only support passing data through the use of a file; the Instrument Interface
Module makes the process easy. You can also read values from external software programs
that only support passing data through the use of files. The format of the data can vary from a
reports format, CSV (comma separated values) or even a mixture of the two.
611
MES Platform 2.0
General
Enable If checked, these file monitoring settings will be applied to File Monitor
File component when this Instrument Interface is assigned to its Instrument Interface
Monitoring Name property.
612
MES Platform 2.0
Auto If true automatically detects and processes file(s) contained with the File Path
Monitor property of the File Monitor component. If false, the read() of the component
Files must be called to process file(s).
Monitoring The milliseconds between each check for new files. Any files that are found
Rate during a check will be processed. Processing of file will not overlap. If the time it
takes to process the files exceeds the value of this property, then the next
check will be at the next interval.
File This property defines the priority to process multiple file. It is inapplicable when
Processing a single file is selected in the File Path property. If Alpha Numeric is selected,
Order the files are processed in alphabetical order. If Date is selected, the file names
are converted to date values using the pattern defined in the File Name Date
Format property and then processed in chronological order. If File Timestamp is
selected, the files are processed in chronological order of the file modified date.
Select from the following:
Alpha Numeric = 0
Date = 1
File Timestamp = 2
File Name This property is only applicable if the File Processing Priority property is set to
Date Date. This property defines the parsing pattern to use when converting the file
Format name to a date value when determining the processing order of the files. The
patterns can contain both date and time format designators. See the File Name
Date Format property description of the File Monitor component for more
details.
After . This setting defines how files are handled after processing them. Select from
Processing the following:
. Handling
Delete File = 0
Move File = 1
Parse Template
613
MES Platform 2.0
Parse Template
The Parse template allows a visual way of defining the individual data points to extract from the
raw text returned from the instrument interface. The text represents what is returned from an
instrument and is displayed in a fixed character width. Multiple parsing boxes can be added to
define areas to extract meaningful values from.
The Parse Template tools are explained in detail below.
614
MES Platform 2.0
ParseTemplate
615
MES Platform 2.0
616
MES Platform 2.0
For example:
date,time,sample no.
2011-10-27,11:24:50,23
2011-10-27,11:34:50,33
617
MES Platform 2.0
sample no.,31
date,2011-10-27
time,11:34:50
sample no.,32
date,2011-10-27
time,11:44:50
sample no.,33
619
MES Platform 2.0
The module includes parsing templates that contain textual data with parsing boxes defining
the values to be extracted and converted to numeric, date or boolean values.
Other types of parsing boxes allow extracting values at fixed locations, processing CSV
columnar data and processing CSV row-based data. A parse template can contain a mixture of
any number of the different types of parsing boxes.
CSV Parsing
An example of the module’s columnar-based CSV parse template that extracts date, time,
sample number, temperature and humidity values and makes them available to be accessed in
Ignition.
620
MES Platform 2.0
Gateway Scripts
Gateway scoped scripts for the instrument interface allows Ignition to parse results without the
need for a client to be open.
Client/Designer Scripts
Client and Designer scoped scripts for the instrument interface allows Ignition to parse results
coming from the Client computer.
Code Example
results = event.getParseResults()
if results.isValid():
locationX = results.getValue("LocationX")
locationY = results.getValue("LocationY")
diameter = results.getValue("Diameter")
621
MES Platform 2.0
If you want to display the results on a window take a look at the Sample Entry > Auto Collect
window in the quality demo project. The onAfterParse script is slightly different:
Code Example
results = event.getParseResults()
if results.isValid():
location = "[global]\My Enterprise\Site 1\Packaging\Line 1\Line 1
Quality"
sampleDef = "Measurement"
sample = system.quality.sample.data.getCreateSampleByName('',
sampleDef, location)
event.source.parent.getComponent("Sample Entry").sample = sample
valueMap = results.createValueMap()
event.source.parent.getComponent("Sample Entry").
populateMeasurements(valueMap)
A Simple Workflow
Step 1. Database Connection
Step 2. Configuring MES Databases
Step 3. Installing the Production Simulator
Step 4. Web Service Configuration
622
MES Platform 2.0
Info
Sepasoft Web Serices module uses system.ws functions for scripting.
623
MES Platform 2.0
SOAP
Info
In the Ignition designer you can see MES Module Help while clicking on Help tab.
Launching the MES user manual in a web browser is possible through this. This will
be disabled if there exist only the Web Services module and no other module is
installed.
Network Communications
A web service is any piece of software that makes itself available over the internet and uses a
standardized XML messaging system. XML is used to encode all communications to a web
service. For example, a client invokes a web service by sending an XML message, then waits
for a corresponding XML response. Because all communication is in XML, web services are not
tied to any one operating system or programming language--Java can talk with Perl; Windows
applications can talk with Unix applications.
624
MES Platform 2.0
Web Services are self-contained, modular, distributed, dynamic applications that can be
described, published, located, or invoked over the network to create products, processes, and
supply chains. These applications can be local, distributed, or Web-based. Web services are
built on top of open standards such as TCP/IP, HTTP, Java, HTML, and XML.
Web services are XML-based information exchange systems that use the Internet for direct
application-to-application interaction. These systems can include programs, objects, messages,
or documents.
XML
XML is just a standard to textually represent data and is used for all web services. If two
systems are sending date values to each other, and one system is using the ISO 8601
standard and the other system only understands RFC 5322, then the date values will be
incorrect. This is like two people talking to each other and one is speaking English and the
other is speaking French. There will be some misunderstandings.
XML also supports organizing data into records as you can see in the XML sample below.
There are multiple material items each having name, category and allergent values.
HTML XML
<html> <xml>
<div> <material>
Below is my smiley image. <name>Almond</name>
</div> <category>Nuts</category>
<img src=“smiley.png”/> <allergent>no</allergent>
</html> </material>
<material>
<name>Walnut</name>
<category>Nuts</category>
<allergent>yes</allergent>
</material>
</xml>
Almond Nuts no
625
MES Platform 2.0
HTML XML
WS_XML1
WSDL
WSDL stands for Web Service Description Language and as the name suggests, describes
information about the specific web service. This includes, the operations (functions or methods)
that are available and data types.
It is used by the Web Services Module to find out information about the web service provided
by another system. The only way to know what operations are available and what data types to
use is to read the WSDL file from the other system. Once we have the details, then the Web
Services Module can show the appropriate setting options.
WSDL Contents
The data types can be simple or complex. Simple data types are the basic types like integer,
string, float, etc. Complex data types are just a collection of simple data types or another
complex data type.
626
MES Platform 2.0
WS_WSDL1
SOAP
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for
exchanging structured information in the implementation of web services in computer networks.
It relies on XML information set for its message format, and usually relies on other application
layer protocols, most notably Hypertext Transfer Protocol (HTTP) or Simple Mail Transfer
Protocol (SMTP), for message negotiation and transmission.
In MES, whenever information is required, the application client invokes remote functions on
the server to send and receive data using SOAP.
627
MES Platform 2.0
WSDL Settings
This area configures the URL for a web service.
URL
This is the full URL that is required to access the Web Service WSDL.
Examples:
628
MES Platform 2.0
Examples:
http://www.w3schools.com/webservices/tempconvert.asmx?WSDL
http://www.webservicex.net/length.asmx?WSDL
Timeout
This is the time the module will wait until a response is received from the URL. If no response is
received then an error is generated.
Refresh button
This will attempt to connect and process the WSDL file from the entered URL.
Operation Settings
After a valid WSDL Setting has been configured this area allows you to select the available
Operations this service supports. The Web Services module internally processes the WSDL
and presents the possible selections.
WS_OperationSettings
Port
This is the available address or connection point for the web service. It is normally a simple
string. Select an available port to allow the available Operations to be populated.
Operation
These are the available actions this web service and port supports. The operation is similar to a
method or function call in a traditional programming language.
629
MES Platform 2.0
Schema
This will allow you to view the schema used for the selected operation. It is a readable version
of the settings contained in the WSDL and allows you to cycle through the ports, operations
and body contents of the input and output for the operation.
Parameters
A web service operation will most likely require parameters to be set before the web service is
called to run. The parameter section allows you to see those parameters, their data type and
optionally set the parameters to a constant value or bind them to a tag.
Some parameters have limited values that can be used and these may be supplied by the
operation. These values will appear as a drop down box.
WS_ParameterConfig
630
MES Platform 2.0
SOAP Settings
WSDL URL
Port
Operation
Encoding
631
MES Platform 2.0
Encoding
The available encoding types are UTF_8, UTF_16, ISO_8859_1, Windows_1252, and ASCII.
Timeout
This is the time the module will wait until a response is received from the URL. If no response is
received then an error is generated.
HTTP Authentication
Authentication Type
The options are HTTP Basic, HTTP Digest, and HTTP NTLM.
User Name
The user name to set for the new SOAP configuration.
Password
The password to set for the new SOAP configuration.
632
MES Platform 2.0
WS-Security
Enable WS-Security
The system will enable WS-Security if the checkbox is in the on state.
User Name
The user name to set for the WS-Security.
Password
The password to set for the WS-Security.
Password Type
The available password types are PasswordText, PasswordDigest.
633
MES Platform 2.0
REST Settings
URL
The target location URL for the RESTful configuration.
Example:
http://demo.sepasoft.com/main/system/webdev/WebServicesAPI/getProductionResults
HTTP Method
HTTP requests include a method, which is a keyword explaining the action that the client wants
the server to perform for the material included in the request. The available HTTP methods are
GET, POST, PUT, DELETE.
GET
The GET method is used to retrieve information from the given server. Requests using GET
should only retrieve data and should have no other effect on the data.
POST
A POST request is used to send data to the server using HTML forms.
PUT
Replaces all current representations of the target resource with the uploaded content.
DELETE
Removes all current representations of the target resource.
Data Format
The available options are JSON and XML.
634
MES Platform 2.0
Encoding
The available encoding types are UTF_8, UTF_16, ISO_8859_1, Windows_1252, and ASCII.
Timeout
This is the time the module will wait until a response is received from the URL. If no response is
received then an error is generated.
Max Retries
The maximum number of retries, in case of connection failure. Default value is 3.
HTTP Authentication
Authentication
The options are HTTP Basic, HTTP Digest, and HTTP NTLM.
User Name
The user name to set for the new RESTful configuration.
Password
The password to set for the new RESTful configuration.
635
MES Platform 2.0
Request Items
Request Headers
Depending on the Web Service, these can be used to identify the format of the body object you
are POSTing to the web service, or perhaps an API key or other identifying tool.
http://demo.sepasoft.com/main/system/webdev/WebServicesAPI/getProductCodeList?
filter=SA
New Feature
636
MES Platform 2.0
Response Items
637
MES Platform 2.0
Info
Sepasoft Barcode Scanner module uses system.barcode.scanner functions for
scripting.
SCRN_Sample_UPC
SCRN_Sample_Code128 SCRN_Sample_DataMatrix
UPC Barcode
Code 128 Data Matrix
The module comes pre-configured with 100+ barcode patterns to decode standard barcodes
like UPC, EAN, and GTIN, plus the full range of the GS1 application identification (AI) standard
formats for trade items, logistic units, assets, locations, service relationships, and special
applications. The pre-configured patterns will meet the needs of most operations using
standard barcode formats and content. In addition, the module can be fully customized to read
proprietary or industry specific barcode content.
Commonly reading barcode input would follow the scenario of having an operator place the
cursor on a select input field, then scan the barcode to input the barcode's content into the
selected field. If multiple barcodes needed to be scanned or the content of the barcode
contained multiple pieces of data, then it often requires additional intervention by the operator
to get the input recorded correctly.
With the BarcodeScanner component, the scenario above is greatly improved while reducing
the risk of input mistakes. Once the Barcode Scanner component is placed on an existing
screen, it will listen for barcode input via a keyboard wedge. This is done in the background and
is independent of the focused input component. Once it detects barcode input, it then decodes
the barcode based on one of more barcode patterns and raises a script event with the results.
The script can then simply put the results into the correct input field(s), update tag(s), write to
database table(s), etc.
638
MES Platform 2.0
SCRN_Component2
639
MES Platform 2.0
Scanner_AutoComplete1
640
MES Platform 2.0
641
MES Platform 2.0
642
MES Platform 2.0
GS1-
310
643
MES Platform 2.0
GS1-
325
KG PER m² "(337)([0-6]{1})(\\d{6})"
644
MES Platform 2.0
GS1-
337
645
MES Platform 2.0
GS1-
351
646
MES Platform 2.0
GS1-
365
647
MES Platform 2.0
GS1-
402
648
MES Platform 2.0
GS1-
424
Example 1
# Get only the predefined regex patterns for GTIN-12 UPC, GTIN-
13 EAN, & GTIN-14
patterns = system.barcode.scanner.getPatternList("GTIN-12,GTIN-
13,GTIN-14", "")
649
MES Platform 2.0
if (results.hasErrorMessage()):
# Log error message
log.info("Error from barcode scan: " + results.
getErrorMessage())
else:
# Get a Python dictionary of the decoding results
resultsDict = results.toDict()
Example 2
650
MES Platform 2.0
if (results.hasErrorMessage()):
# Log error message
log.info("Error from barcode scan: " + results.
getErrorMessage())
if (results.hasUnmatched()):
# Log unmatched
log.info("Unmatched: " + results.getUnmatched())
Example 3
if (results.hasErrorMessage()):
# Log error message
log.info("Error from barcode scan: " + results.
getErrorMessage())
651
MES Platform 2.0
Every CSV file is for a separate simulator you can work with. The more files you add, the more
folders you get in the Simulator folder of the OPC Browser.
Cells Section
This section is optional, where you specify the information about the cell.
652
MES Platform 2.0
Events Section
Events area is where you specify values for all the tags. You can add as many columns of tags
you want to bring in. Make sure to put back slashes to organize in folders and specify the name
of the tag you want as well as their datatypes.
<Cells>
<Events>
1 12:00:00 6
AM
653
MES Platform 2.0
1 12:00:15 1
AM
1 12:00:30 22
AM
1 12:00:45 1
AM
1 12:01:00
AM
1 12:01:15 8
AM
1 12:01:30 8
AM
1 12:01:45 1
AM
1 12:02:00 6
AM
1 12:02:15 1
AM
1 12:02:30
AM
1 12:02:45
AM
1 12:03:00
AM
654
MES Platform 2.0
<Cells>
12:03:15
AM
1 12:03:30
AM
1 12:03:45 8
AM
1 12:04:00 8
AM
1 12:04:15 8
AM
1 12:04:30 1
AM
The appendix is your reference. Once you become experienced in developing with Sepasoft
MES you will most likely keep this page open on your desktop or on your second screen. This
page provides you the fastest route to the information you are looking for.
9.1 Components
9.5 Components
MES has a lot of components built-in to provide user interaction with the MES data. The
components vary from one module to other. This is because we introduce them based on their
requirement. All system processes are placed into separate components so that all of the data
and functions inside each component are semantically related. Components are placed inside
the palette, you can easily drop it into the root container of the designer window. There is a
Property Editor panel to alter the component's properties, which changes the component's
appearance and behavior. To make the component do something useful, like display dynamic
information or control a device register, you configure property bindings for the component. In
order to make the component react to user interaction, you can configure the event handlers.
656
MES Platform 2.0
Analysis Table
General
Description
A component that displays tabular data with drill down capabilities. This extends from the
Properties
657
MES Platform 2.0
Allowed flag to
determine whether
not whole-rows,
whole-columns, or
both.
658
MES Platform 2.0
659
MES Platform 2.0
Toggle this
property to fill in
the table's data
with random data.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
cell
cellEdited
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
660
MES Platform 2.0
Property Description
drillDown
drillDown
Is fired when drill down menu item is selected. Excludes the "Back" menu item.
Property Description
back
Property Description
focus
focusGained
661
MES Platform 2.0
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
focusLost
This event occurs when a component that had the input focus lost it to another
component.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
key
keyPressed
An integer that indicates whether the state was changed to "Selected" (on) or
"Deselected" (off). Compare this to the event object's constants to determine what the
new state is.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
662
MES Platform 2.0
Property Description
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Control key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyReleased
Fires when a key is released and the source component has the input focus. Works for
all characters, including non-printable ones, such as SHIFT and F3.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown
663
MES Platform 2.0
Property Description
True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Control key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyTyped
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Control key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
664
MES Platform 2.0
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
665
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
666
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
667
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
668
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Table Customizer shown below manages the data entered into the Analysis Table.
669
MES Platform 2.0
Examples
When the user clicks on a row in the table, the drill down menu will appear. When an item
in the drill down menu is clicked on, the drillDown event is fired. Script in the drillDown
event is responsible for updating the Data property to change the results shown in the
table. The drill down menu information is set through the Drill Down Options property. The
Drill Down Options can be populated from the Analysis Controller, Analysis Selector, SQL
Query, scripting, or it can be manually defined in the designer.
Analysis Table
General
Description
The analysis controller is an invisible component that makes analysis data available for
reports and other components. The term invisible component means that the controller
component appears in the designer, but is not visible from the client.
Properties
671
MES Platform 2.0
672
MES Platform 2.0
Extension Functions
getParameterValue
Description
Called to get a parameter value.
Parameters
self - A reference to the component that is invoking this function
name - The parameter name as a string.
Return
The parameter value.
Scope
Client
Code Snippet
673
MES Platform 2.0
beforeUpdate
Description
Called just before analysis data is refreshed.
Parameters
self - A reference to the component that is invoking this function
Return
Nothing
Scope
Client
afterUpdate
Description
Called just after analysis data is refreshed.
Parameters
self - A reference to the component that is invoking this function.
data - The dataset that contains the new analysis data.
Return
Nothing
Scope
Client
674
MES Platform 2.0
Examples
Here's an example to add columns into the dataset of the analysis controller from a custom
property dataset.
675
MES Platform 2.0
Code Snippet
General
Description
The MES analysis selector component allows for ad hoc selection of analysis data.
676
MES Platform 2.0
Properties
677
MES Platform 2.0
678
MES Platform 2.0
Title The
Foreground foreground
Color color of the
title bar.
Scripting
Scripting Functions
clearDrillDownHistory
Description
Removes the drill down history .
Parameters
None
Return
Nothing
Scope
Client
drillDown
Description
Sets all the analysis selections to new state dictated by the drill down definition.
679
MES Platform 2.0
Parameters
String compareByName - The compareBy definition to base the drill down .
String filtervalue - The value for filtering the analysis selections.
Return
Nothing
Scope
Client
prevDrillDown
Description
Sets all the analysis selections to the previous state before the last drill down.
Parameters
None
Return
Nothing
Scope
Client
Extension Functions
getParameterValue
Description
Called to get a parameter value.
Parameters
self - A reference to the component that is invoking this function
name - The parameter name as a string.
Return
The parameter value.
Scope
Client
Code Snippet
680
MES Platform 2.0
beforeUpdate
Description
Called just before analysis data is refreshed.
Parameters
self - A reference to the component that is invoking this function
Return
Nothing
Scope
Client
afterUpdate
Description
Called just after analysis data is refreshed.
Parameters
self - A reference to the component that is invoking this function.
data - The dataset that contains the new analysis data.
Return
Nothing
Scope
Client
Event Handlers
propertyChange
681
MES Platform 2.0
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Custom Properties
The custom properties can be used to add user defined properties.
Filters
682
MES Platform 2.0
Filters
A filter can be added by selecting the link to the right of Filter By. The following window
panel will open and filter categories will be displayed. Multiple filters can be added using
expressions. To add expression first select a filter and then a logical operator (horizontal list).
Now select a operator (vertical list) and then add the next filter.
Filters follow a format similar to SQL in that you can use AND, OR and LIKE operators. You
can also pass parameters to the filter expressions. Use '*' as a wildcard in your expressions.
Using Parameters
Both the Analysis Selector and Analysis Controller support parameter passing to filters in two
different ways.
1. You can use the getParameterValue() extension function to pass the value to the named
parameter
2. You can add a custom property to the component with the same name as the filter
parameter and populate it with the value you want to use for the filter
You can't use both methods at the same time. If you use the custom property method,
do not use the getParameterValue() extension function at the same time.
Parameters that are added as custom properties will appear in the Parameter dropdown box.
They will not appear if added to the getParameterValue() extension function but can be typed
in.
Filter Example
Operation UUID != '' AND Equipment Path = @LinePath AND Shift LIKE @ShiftName
Click the link by the filter category and specific filter items will be displayed.
When selected they will be added to the filters as shown below.
To minimize the number of filter options, only the options for the selected date range defined by
the Start Date and End Date properties will be shown.
Compare By and Data Points work similarly to Filter By except there are no categories for
these selections, just items. Selections can be removed by clicking icon and unchecking
the appropriate box. Analysis settings can be deleted by hitting the delete icon.
683
MES Platform 2.0
684
MES Platform 2.0
Analysis Data Points and Settings are used by Live Analysis, the MES Analysis Selector
and MES Analysis Controller components, the MES Analysis Data Source for reporting and
the MES Analysis Settings object.
Equipment
685
MES Platform 2.0
Equipment Int4 Integer value that determines the cell order of the equipment
Cell Order within the line. Is set to null for the line. Is set to 0 for first cell
within each cell group
Equipment String Any note that has been recorded for this piece of equipment
Note through the Note tag collector path in the Production model
will be exposed here.
Equipment DateTime Start Date time of the currently running operation on this
Operation equipment
Begin
Execution Int8 Time taken to execute and update the Live Analysis. Used
Time (ms) mainly for performance debugging
From Time DateTime Start Date Time of current data point results
Stamp
686
MES Platform 2.0
Operation
UUID
Work Order String Work order currently being processed on this equipment
Equipment\Count *Any defined counters for the production item will also
appear in this folder
Equipment Infeed Float8 See Infeed Count Scale for more details
Scale
Equipment Reject Float8 See Reject Count Scale for more details
Scale
String
687
MES Platform 2.0
Outfeed-Material Value of the default MES Counter used for OEE outfeed
Out count
Equipment\Cycle
Time
Relative Cycle String Relative Cycle Count is how many occurred for the
Count compare by.
Float8
688
MES Platform 2.0
Target Cycle Also known as Takt time, it is how often a piece must be
Time produced to meet customer demand. It is often used to
pace a production line, and it is a calculated number in
seconds.
Total Cycle Count String Total Cycle Count is accumulative, it is sum total of all the
cycle count.
Average Normal Float8 Average Normal cycle time in seconds for the time period
Cycle Time selected
Max Normal Float8 Max Normal cycle time in seconds for the time period
Cycle Time selected
Min Normal Cycle Float8 Min Normal cycle time in seconds for the time period
Time selected
Normal Cycle Float8 Normal Cycle Time in seconds is the actual cycle ignoring
Time the equipment states like starved, blocked, etc.
Average Overall Float8 Average Overall cycle time in seconds for the time period
Cycle Time selected
Max Overall Cycle Float8 Max Overall cycle time in seconds for the time period
Time selected
Min Overall Cycle Float8 Min Overall cycle time in seconds for the time period
Time selected
Float8
689
MES Platform 2.0
Overall Cycle Overall Cycle Time in seconds is the cycle including states
Time like downtime, starved, blocked, etc.
Equipment\Cycle Precise Cycle Time is the cycle time ignoring all the
Time\Precise equipment states
Average Precise Float8 Average Precise cycle time in seconds for the time period
Cycle Time selected
Max Precise Float8 Max Precise cycle time in seconds for the time period
Cycle Time selected
Min Precise Cycle Float8 Min Precise cycle time in seconds for the time period
Time selected
Precise Cycle Float8 Precise cycle time in seconds excluding states like planned
Time downtime, unplanned downtime, starved and blocked.
Line
/Downtime
Line String Name of the equipment that is responsible for causing line
Downtime downtime
Equipment
Name
690
MES Platform 2.0
Line
Downtime
Equipment
Path
Line String The line or cell group (sub line) downtime reason.
Downtime
Reason
1. When the line is down the Line Downtime
Reason is the same as the Line State
Name.
2. When the line is up the Line Downtime
Reason is blank.
Line String The full reason name for line or cell group (sub line)
Downtime downtime reason. Line State name including State Class i.
Reason Path e. Default/Cell Faulted
Line Boolean The line downtime reason split indicator. True is current
Downtime downtime event has been split into multiple downtime
Reason Split events
691
MES Platform 2.0
Line DateTime The time stamp for the equipment state change of the cell
Downtime group (sub line) or cell that caused the line down time
State Time even.
Stamp
Line
/Meantime
Line MTBF Float8 The calculated Meantime (minutes) Between Failure for the
selected period.
Refer to Setting Up Equipment States - Meantime Metrics
for more details.
Line Meantime Boolean Returns if Meantime metrics have been enabled for this
Metrics equipment.
Enabled
Line/Schedule
Line Schedule Float8 Time in minutes for available production time adjusted for
Available Time line schedule availability and mode.
Line Standard String Amount of product that should have been produced based
Count on the line schedule available time and line standard rate
Line Standard String Variance between standard count and actual count
Count
Variance
Line Target String Amount of product that should have been produced based
Count on the line schedule available time and line schedule rate
String
692
MES Platform 2.0
Line Target Variance between line scheduled count and line OEE
Count outfeed count.
Variance
Line/State
Line State Float8 The line or cell group (sub line) downtime event duration in
Duration minutes.
Line State DateTime The line or cell group (sub line) downtime event begin date
Event Begin time.
Line State DateTime The line or cell group (sub line) downtime event end date
Event End time.
Line State String The line or cell group (sub line) state.
Name
Line State String The state override scope for a line or cell group (sub line).
Override See Setting Up Equipment - Override Scope for more
Scope details
Line State String The state override type for a line or cell group (sub line).
Override Type See Setting Up Equipment - Override for more details
693
MES Platform 2.0
Line State String The line or cell group (sub line) state type. See Setting Up
Type Equipment - State Type for more details
Line State Int4 The line or cell group (sub line) downtime state code. See
Value Setting Up Equipment - State Code for more details
Equipment
/Mode
Equipment String Name of the current mode type. See Setting Up Equipment
Mode Type Modes for more details
OEE Enabled Boolean See Setting Up Equipment Modes - OEE Enabled for more
details
694
MES Platform 2.0
Production
Counts
Enabled
Equipment
/State
Equipment Int4 The original value of equipment state tag collector before it
Original State is updated by using MES Value Editor component or
Value scripting
Equipment Boolean True is current downtime event has been split into multiple
State Split downtime events
Equipment String See Setting Up Equipment - State Type for more details
State Type
695
MES Platform 2.0
Equipment/Meantime
Equipment MTBF Float8 The Mean Time (minutes) Between Failure for the
selected period
Equipment
/General
Delta Time Float8 Time gap (minutes) between the rows of data.
Stamp
Shift String Name of the current shift as set by the Ignition Schedule
Management component and defined for the current line or by
the value passed in the equipment shift tag collector
696
MES Platform 2.0
Shift Day
of Week
Shift Day Int4 Int value of the current day of the year
of Year
Shift ISO Int4 Int value of the ISO week of the year
Week of
Year
Shift Week Int4 Int value of the current week of the month
of Month
Shift Week Int4 Int value of the current week of the year
of Year
697
MES Platform 2.0
Equipment/OEE
OEE General Count Long Any count value other than infeed, outfeed, reject and
waste value for the selected time period
OEE Infeed Count Long Equipment infeed count value for the selected period
OEE Outfeed Count Long Equipment outfeed count value for the selected period
OEE Reject Count Long Equipment reject count value for the selected period
Short Stop Time Float8 Short stop duration (Double) for selected period
Target Changeover Float8 Amount of time in minutes set for Target Changeover.
Time See Changeover Duration for more details
698
MES Platform 2.0
Equipment/OEE
/Availability
Equipment/OEE
/Performance
Equipment/OEE
/Quality
Setting Values
The analysis results that are returned can be modified through the use of settings. Setting
values provide a number of keywords as listed below.
Format for entering the keywords is keyword1=True, keyword2=100.0, keyword3=10.
Settings like Enable Totalized Mode, Include Future, Last Values and Rollup Time
span is meant for analysis selector and not for live analysis
699
MES Platform 2.0
Date Format =
2017/04/12
19:45:30
Last Values Only the latest values are shown. Not Last Values =
valid for True
Live
Analysis
OEE Quality The maximum value calculated can be All OEE Quality
Cap capped with this setting Cap = 100.0
Rollup Time If the time (seconds) between downtime Not Rollup Time
Span events is less than the rollup time and it is valid for Span = 30
the same equipment and reason, Live
Analysis
then it will rollup the event into one row in
the results and will increase the occurrence
count.
700
MES Platform 2.0
Row Limit The analysis can be limited to a certain All Row Limit =
number of rows. 10
Reporting Example
The Analysis Selector is exposed to support the configuration of "MES Analysis" data
sources in the Ignition Reporting Module Data tab. Stored Analysis settings used on the
operator screens may also be applied to reports.
A difference for Reports over Screens is the use of Report Parameters to bind
data automatically.
In this example the Equipment Path property will be bound to the Report parameter eqPath
. This will allow an equipment path to be passed to the report and used in the analysis
rather than statically assigning the path.
701
MES Platform 2.0
When selected with the Add Expression button, the filter will be shown as "Equipment
Path = @eqPath". Since this notation differs slightly from custom properties in the vision
module, check the above example for the extension function getParameterValue() which
will set the parameter value so that the same Stored Analysis settings may be used for
Reports and On-Screen analysis.
The rest of the features function like the Vision Module version of the Analysis Selector.
General
Description
MES Object Editor is a component to manage MES objects. In addition to using this
component to manager MES objects, script can also be used.
The MES Object Editor component is used to edit resources, segments and operations.
See ISA-95 for more information about the various MES objects. Equipment can be put
into categories by first adding a new equipment category and then adding equipment to it.
The same can be done for material and personnel.
Properties
702
MES Platform 2.0
703
MES Platform 2.0
The relative
path of an
icon image
appearing for
the delete
menu item.
704
MES Platform 2.0
705
MES Platform 2.0
706
MES Platform 2.0
The current
mode of the
editor.
707
MES Platform 2.0
Scripting
Scripting Functions
autoFit
Description
Zooms a display such that all items within a given group will fit within the display
bounds. By default, this achieved by clicking the right mouse button once, with no
dragging.
Parameters
None
Return
Nothing
Scope
Client
Extension Functions
This component does not have extension functions associated with it.
708
MES Platform 2.0
Event Handlers
Event Handlers
menu
userMenuItemClicked
This event fires when the menu item is clicked, or if the user selects the menu
item using the keyboard and presses the Enter key. It can also occur if an access
key or shortcut key is pressed that is associated with the MenuItem.
Property Description
709
MES Platform 2.0
Property Description
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed
and released events have fired.
Property Description
button The code for the button that caused this event to fire.
710
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
711
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mousePressed
712
MES Platform 2.0
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
713
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
714
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
715
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works
for standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that
not all components include an accurate oldValue in their
events.
Customizers
Examples
716
MES Platform 2.0
Property Value
Name
Editor _ Equipment
Mode
Node _
Configuration
717
MES Platform 2.0
Info
For the MES Object Editor component to find the MES Object Selector, it must be in
the same container on the window. It is okay to be in a container, they just both have
to be in the same container or root container.
When a new class, segment or operation is added, the MES Object Selector selection
will change to reflect the newly added MES object. This doesn't happen when adding
a new child in order to keep the primary MES object shown.
General
Description
A component to allow selection of MES objects. It contains many properties to filter the
type and name of the MES object to include in the list.
Properties
718
MES Platform 2.0
results by
custom
property
names.
719
MES Platform 2.0
material
Include
class
Material
objects.
Class
Objects
720
MES Platform 2.0
If true,
includes
MES
equipment
class
objects.
721
MES Platform 2.0
Include If true,
Operations includes
Definition MES
Objects equipment
class
objects.
722
MES Platform 2.0
Include If true,
Personnel includes
Class MES
Objects equipment
class
objects.
723
MES Platform 2.0
Scripting
Scripting Functions
clearSelection
724
MES Platform 2.0
Description
Deselects the previous selection.
Parameters
None
Return
Nothing
Scope
Client
getParentMESObjectFilter
Description
Returns the parent MES object to filter the results by.
Parameters
None
Return
MESObjectLink parentMESObjectFilter - The parent MES object filter.
Scope
Client
getParentMESObjectPath
Description
Gets the path of the parent MES object to filter the results by.
Parameters
None
Return
String path - The path of the parent MES object.
Scope
Client
getSelectedMESObject
Description
Returns the selected MES object.
Parameters
None
725
MES Platform 2.0
Return
MESObjectLink objLink - The link to the selected MES object.
Scope
Client
getSelectedMESObjectTypes
Description
Returns the selected MES object types.
Parameters
None
Return
MESObjectTypes types - The object types of the selected MES objects.
Scope
Client
setEquipmentItemPath
Description
Sets the equipment item path.
Parameters
String equipmentItemPath - The path to set for the equipment item.
Return
Nothing
Scope
Client
setExcludedEquipmentPath
Description
Sets the path of the equipment to be excluded.
Parameters
String excludedEquipmentPath - The path of the equipment to be excluded.
Return
Nothing
Scope
Client
726
MES Platform 2.0
setIncludeEquipmentClassObjects
Description
If set to true, includes MES equipment class objects.
Parameters
boolean includeEquipmentClassObjects - Set to true to include MES equipment class
objects.
Return
Nothing
Scope
Client
setIncludeEquipmentObjects
Description
If set to true, includes MES equipment objects.
Parameters
boolean includeEquipmentObjects - Set to true to includes MES equipment objects.
Return
Nothing
Scope
Client
setIncludeMESAreaObjects
Description
If set to true, includes MES area objects.
Parameters
boolean includeAreaObjects - Set to true to includes MES area objects.
Return
Nothing
Scope
Client
setIncludeMESEnterpriseObjects
Description
If set to true, includes MES enterprise objects.
727
MES Platform 2.0
Parameters
boolean includeEnterpriseObjects - Set to true to includes MES enterprise objects.
Return
Nothing
Scope
Client
setIncludeMESLineCellGroupObjects
Description
If set to true, includes MES line cell group objects.
Parameters
boolean includeLineCellGroupObjects - Set to true to includes MES line cell group
objects.
Return
Nothing
Scope
Client
setIncludeMESLineCellObjects
Description
If set to true, includes MES line cell objects.
Parameters
boolean includeLineCellObjects - Set to true to includes MES line cell objects
Return
Nothing
Scope
Client
setIncludeMESLineObjects
Description
If set to true, includes MES line objects.
Parameters
boolean includeLineObjects - Set to true to includes MES line objects
Return
728
MES Platform 2.0
Nothing
Scope
Client
setIncludeMESSiteObjects
Description
If set to true, includes MES site objects.
Parameters
boolean includeSiteObjects - Set to true to includes MES site objects
Return
Nothing
Scope
Client
setIncludeMESStorageUnitObjects
Description
If set to true, includes MES storage unit objects.
Parameters
boolean includeStorageUnitObjects - Set to true to includes MES storage unit objects
Return
Nothing
Scope
Client
setIncludeMESStorageZoneObjects
Description
If set to true, includes MES storage zone objects.
Parameters
boolean includeStorageZoneObjects - Set to true to includes MES storage zone
objects.
Return
Nothing
Scope
Client
729
MES Platform 2.0
setIncludeMaterialClassObjects
Description
If set to true, includes MES material class objects.
Parameters
boolean includeMaterialClassObjects - Set to true to includes MES material class
objects
Return
Nothing
Scope
Client
setIncludeMaterialDefObjects
Description
If set to true, includes MES material definition objects.
Parameters
boolean includeMaterialDefObjects - Set to true to includes MES material definition
objects.
Return
Nothing
Scope
Client
setIncludeOperationsDefinitionObjects
Description
If set to true, includes operations definition objects.
Parameters
boolean includeOperationsDefinitionObjects - Set to true to includes MES operations
definition objects
Return
Nothing
Scope
Client
setIncludeOperationsRequestObjects
Description
730
MES Platform 2.0
731
MES Platform 2.0
Parameters
boolean includePersonObjects - Set to true to includes MES person objects.
Return
Nothing
Scope
Client
setIncludePersonnelClassObjects
Description
If set to true, includes personnel class objects.
Parameters
boolean includePersonnelObjects - Set to true to includes MES personnel objects.
Return
Nothing
Scope
Client
setIncludeProcessSegmentObjects
Description
If set to true, includes process segment objects.
Parameters
boolean includeProcessSegmentObjects - Set to true to includes MES process
segment objects.
Return
Nothing
Scope
Client
setIncludeRequestSegmentObjects
Description
If set to true, includes request segment objects.
Parameters
boolean includeRequestSegmentObjects - Set to true to includes MES request
segment objects.
732
MES Platform 2.0
Return
Nothing
Scope
Client
setIncludeResponseSegmentObjects
Description
If set to true, includes response segment objects.
Parameters
boolean includeResponseSegmentObjects - Set to true to includes MES response
segment objects
Return
Nothing
Scope
Client
setParentMESObjectFilter
Description
Sets the parent MES object to filter the results by.
Parameters
MESObjectLink parentMESObjectFilter - The parent MES object to filter the results by.
Return
Nothing
Scope
Client
setParentMESObjectPath
Description
Set the path of the parent MES object to filter the results by.
Parameters
String parentMESObjectPath - The path of the parent MES object to filter the results
by.
Return
Nothing
733
MES Platform 2.0
Scope
Client
setSelectedMESObject
Description
Sets the selected MES object link.
Parameters
MESObjectLink selectedMESObject - The selected MES object link to be set.
Return
Nothing
Scope
Client
setSelectedMESObjectTypes
Description
Sets the MES object types to be selected.
Parameters
String mesObjectTypes - The MES object types to be selected.
Return
Nothing
Scope
Client
setShowEquipmentPath
Description
Set to True to display equipment paths.
Parameters
boolean showEquipmentPath - If set to True, the equipment paths are displayed.
Return
Nothing
Scope
Client
734
MES Platform 2.0
Extension Functions
objectSelected
Description
Called when a MES object is selected.
Parameters
self - A reference to the component that is invoking this function
mesObjectLink - The MESObjectLink that contains a reference to the selected MES
object. Use mesObjectLink.getMESObject() to get the MES object itself.
Return
1
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
735
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
736
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
737
MES Platform 2.0
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
738
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
739
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
740
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
You can select the MES objects from the list. The selected object may be displayed as
shown below.
741
MES Platform 2.0
General
In this Page
Table Customizer
Column Configuration
Custom Properties
Description
MES Schedule Selector is a table component that can be used to view and manage
production schedules. The schedule entries may be filtered by Active, Complete or
Incomplete lots.
742
MES Platform 2.0
Properties
743
MES Platform 2.0
calls event.
source.parent.
getComponent
('MES
Schedule
Selector').
endSelected()
744
MES Platform 2.0
headers with
options to
show and hide
columns.
745
MES Platform 2.0
whole-rows,
whole-
columns, or
both.
746
MES Platform 2.0
If true, include
manual start
active
schedule
entries in the
list.
747
MES Platform 2.0
The index of
the first
selected row,
or -1 if none.
748
MES Platform 2.0
Scripting
Scripting Functions
beginSelected()
Description
749
MES Platform 2.0
This script function will begin the operation for the currently selected schedule entry.
The schedule entries that appear in the MES Schedule Selector component reflect the
operations requests that have been created for the equipment specified by the
Equipment Path property. Typically, operations requests are created using the MES
Schedule View component but can also be created using script functions for importing.
Parameters
None
Return
Nothing
Scope
Client
abortSelected()
Description
This script function will abort the selected operation for equipment specified by the
Equipment Path property. When the operation is aborted, all active segments running
underneath it will also be aborted.
Parameters
None
Return
Nothing
Scope
Client
beginNext()
Description
Based on the scheduled start time, this script function will begin the operation for the
next selected schedule entry. The schedule entries that appear in the MES Schedule
Selector component reflect the operations requests that have been created for the
equipment specified by the Equipment Path property. Typically, operations requests
are created using the MES Schedule View component but can also be created using
script functions for importing.
Parameters
None
Return
Nothing
750
MES Platform 2.0
Scope
Client
endSelected()
Description
This script function will end the selected operation for equipment specified by the
Equipment Path property. All segments running underneath the selected operation,
must be ended prior to calling this script function.
Parameters
None
Return
Nothing
Scope
Client
Extension Functions
configureCell
Description
Provides a chance to configure the contents of each cell.
Parameters
self - A reference to the component that is invoking this function.
value - The value in the dataset at this cell.
textValue - The text the table expects to display at this cell (may be overriden by
including 'text' attribute in returned dictionary)
selected - A boolean indicating whether this cell is currently selected.
rowIndex - The index of the row in the underlying dataset
colIndex - The index of the column in the underlying dataset
colName - The name of the column in the underlying dataset
rowIndex - The index of the row, as it appears in the table view (affected by sorting)
colView - The index of the column, as it appears in the table view (affected by column
re-arranging and hiding)
Return
751
MES Platform 2.0
Returns a dictionary of name-value pairs with the desired attributes. Availible attributes
include: 'background', 'border', 'font', 'foreground', 'horizontalAlignment', 'iconPath',
'text', 'toolTipText', 'verticalAlignment'
You may also specify the attribute 'renderer', which is expected to be a java.
swing.JComponent which will be used to render the cell.
Scope
Client
configureHeaderStyle
Description
Provides a chance to configure the style of each column header. Return a dictionary of
name-value pairs with the designed attributes. Availible attributes include:
'background', 'border', 'font', 'foreground', 'horizontalAlignment', 'toolTipText',
'verticalAlignment'
Parameters
self - A reference to the component that is invoking this function
colIndex - The index of the column in the underlying dataset
colName - The name of the column in the underlying dataset
Return
Dictionary of name value pairs
Scope
Client
initialize
Description
Called when the window containing this table is opened, or the template containing it is
loaded. Provides a change to initialize the table further, for example, selecting a
specific row.
Parameters
self - A reference to the component that is invoking this function
Return
Nothing
Scope
752
MES Platform 2.0
Client
onDoubleClick
Description
Called when the user double-clicks on a table cell.
Parameters
self - A reference to the component that is invoking this function
rowIndex - Index of the row, starting at 0, relative to the underlying dataset
colIndex - Index of the column starting at 0, relative to the underlying dataset
value - The value at the location clicked on
event - The MouseEvent object that caused this double-click event
Return
Nothing
Scope
Client
onPopupTrigger
Description
Called when the user right-clicks on a table cell. This would be the appropriate time to
create and display a popup menu.
Parameters
self - A reference to the component that is invoking this function
rowIndex - Index of the row, starting at 0, relative to the underlying dataset
colIndex - Index of the column starting at 0, relative to the underlying dataset
value - The value at the location clicked on
event - The MouseEvent object that caused this double-click event
Return
Nothing
Scope
Client
beginOperation
Description
753
MES Platform 2.0
Called before an MES Operaton begins. Return false to prevent the MES Operation
from being started.
Parameters
self - A reference to the component that is invoking this function
MESObjectList - MESObjectList containing MESOperationsPerformance and
MESOperationResponse objects. Core and custom properties can be set on the object
before the operation begins.
Return
True
Scope
Client
endOperation
Description
Called before an MES Operaton ends. Return false to prevent the MES Operation
from being ended.
Parameters
self - A reference to the component that is invoking this function
MESObjectList - MESObjectList containing MESOperationResponse and any
MESResponseSegment objects. The MESResponseSegments objects can be ended
in this extension function, which is required before the operation can end.
Return
True
Scope
Client
abortOperation
Description
Called before an MES Operaton is aborted. Return false to prevent the MES
Operation from being aborted.
Parameters
self - A reference to the component that is invoking this function.
MESObjectList - MESObjectList containing MESOperationResponse and any
MESResponseSegment objects.
Return
754
MES Platform 2.0
True
Scope
Client
requestSelected
Description
Called after an MES Operaton Request is selected. In this function, the operation
request can be started. This allows for operation to automatically start when the user
selects a MES Operation Request. Returning false will prevent the new selection.
Parameters
self - A reference to the component that is invoking this function
mesObjectLink - MESObjectLink object containg the MES Operation Request details.
Call mesObjectLink.getMESObject() to get the instance of the MESOperationRequest
object.
Return
True
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
755
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
756
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
757
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
758
MES Platform 2.0
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
759
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
760
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
761
MES Platform 2.0
Table Customizer
Table Customizer manages the data entered into the MES Schedule Selector. It will allow
you to modify the data which is stored inside the MES Schedule Selector. Thus the
formatting and alignments are made easy.
Column Configuration
Header - Provide a custom name to the column header.
Hide? - Hides the column
Editable - Allows the editing of the cell pertaining to the column.
Sortable - To make a column filter the data on user's demand .
Sortable - Allows the user to sort the table according to the selected column
Horiz Align - Aligns the contents of the column.
Vert Align - Aligns the contents of the column.
Wrap Text? - Data in the cell wraps to fit the column width. When you change the column
width, data wrapping adjusts automatically.
Prefix - A custom text that proceeds the contents of each cell.
Suffix - A custom text that follows the contents of each cell.
762
MES Platform 2.0
Number Format - A format of the cell is the contents of the cell are number types.
Date Format - Used if the contents of the cell are date types
Boolean? - Changes the contents of the cell to reflect a 'check box' look and feel.
Custom Properties
The custom properties can be used to add user defined properties.
Examples
763
MES Platform 2.0
Selected Row 2
General
Info
Description
A component that is added to Ignition windows to schedule the MES operations. This is a
schedule chart used to schedule the production on equipment. The date and time may be
set for each equipment.
764
MES Platform 2.0
Properties
765
MES Platform 2.0
defined
categories, but
Active is
reserved.
766
MES Platform 2.0
Filter value,
including * and
? wildcard
characters, to
filter results by
MES object
names.
767
MES Platform 2.0
768
MES Platform 2.0
769
MES Platform 2.0
A dataset that
stores entry
appearance
configuration.
770
MES Platform 2.0
State Description
1 Auto Incomplete
2 Auto Running
3 Auto Complete
4 Manual Incomplete
5 Manual Running
6 Manual Complete
7 Faulted
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
configureScheduleBlock
Description
Called before displaying a schedule entry block. This can be used to change the
appearance of a schedule entry block.
Parameters
self - A reference to the component that is invoking this function.
771
MES Platform 2.0
772
MES Platform 2.0
True
Scope
Client
updateMenuItem
Description
Called for each menu item. The enabled state or other menu item setting can be
changed.
Parameters
self - A reference to the component that is invoking this function.
menuItem - The menu item object that can be modified.
mesScheduleEntry - The MESScheduleEntry object associated with the currently
selected schedule entry.
Return
True
Scope
Client
onSave
Description
Called before saving a new or modified schedule.
Parameters
self - A reference to the component that is invoking this function.
mesObjectList - The MESObjectList that contains references to all MES objects for the
operations schedule.
Return
True
Scope
Client
onSaveError
Description
Called if an error occurs while saving a new or modified schedule. Return true to
cancel the changes and close the edit panel.
Parameters
773
MES Platform 2.0
Description
Called when the user has dropped rows from the Ignition power table component. The
source table must have dragging enabled.
Parameters
self - A reference to the component that is invoking this function
sourceTable - A reference to the table that the rows were dragged from.
rows - An array of the row indices that were dragged, in the order they were selected.
774
MES Platform 2.0
Event Handlers
menu
userMenuItemClicked
When the user right clicks on the schedule component, a popup menu is displayed.
Custom user menu items can be added to this popup menu by adding rows to the
User Menu Items dataset.
The UserMenuItemClicked event is fired when the menu item is clicked, or if the user
selects the menu item using the keyboard and presses the Enter key. It can also occur
if an access key or shortcut key is pressed that is associated with the MenuItem.
Tip
See the tech note on Adding Custom User menu Items to MES Schedule
View
Property Description
getScheduleEntry() Returns the schedule entry object containing details about the
schedule category, begin, actual begin and end, state, etc.
Code Example 1
775
MES Platform 2.0
Code Snippet
if(event.getMenuItemName() == 'Hold'):
uuid = event.getScheduleEntry().
getMESOperationsScheduleLink().getMESObjectUUID()
system.mes.changeScheduleCategory(uuid, 'Held')
elif(event.getMenuItemName() == 'Release Hold'):
uuid = event.getScheduleEntry().
getMESOperationsScheduleLink().getMESObjectUUID()
system.mes.changeScheduleCategory(uuid, 'Active')
print event.getScheduleEntry()
Output
776
MES Platform 2.0
Code Example 2
Code Snippet
if event.getMenuItemName() == "Details":
se = event.getScheduleEntry()
print se.getScheduledStartDate()
print se.getScheduledEndDate()
print se.getActualStartDate()
print se.getActualEndDate()
print se.getPctDone()
print se.getCategory()
print se.getState()
print se.getStateAsString()
if se.hasMESOperationsScheduleLink():
print se.getMESOperationsScheduleLink()
print se.getMESOperationsRequestLink()
if se.hasMESOperationsResponseLink():
print se.getMESOperationsResponseLink()
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
777
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
778
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
779
MES Platform 2.0
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
780
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
781
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
782
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Custom Properties
The custom properties can be used to add user defined properties.
783
MES Platform 2.0
Example 1
Step 1
Set the Row Dragging Enabled property of the Work Order Table to True and select the
desired row.
Step 2
Drag the selected row to the schedule view component. Make sure you release it at the
appropriate equipment item. In this example Line 1 production item is configured for Cane
Sugar. A scheduling window will appear as shown below.
784
MES Platform 2.0
Step 3
Provide the duration or the production count of the schedule. Select the schedule tab to
view the new schedule. Click Save.
The schedule you just created will be displayed in the MES Schedule View component as
shown.
General
785
MES Platform 2.0
In this Page
Table Customizer
Column Configuration
Custom Properties
See Adjusting Production Run Data page for various MES Value Editor settings.
Description
MES Value Editor component is used to change values that were automatically captured
by the system but need to be modified, for example machine said it was in production
mode, but it was actually in maintenance mode, or production counts are off.
Properties
786
MES Platform 2.0
Bindings
do persist,
the
property
be bound
to a tag or
a binding
to a root
container
custom
property
containing
the
equipment
787
MES Platform 2.0
path gets
around
this issue.
End Date endDate Data Date The end of the time range to
display.
Title Font titleFont Appearance Font The font of text of the title
bar.
788
MES Platform 2.0
Header
Foreground
Color
Row Font rowFont Appearance Font The font of text of the table
header.
Auto Row autoRowHeightEnabled Appearance Boolean If true, the row height of the
Height table will be adjusted
Enabled automatically.
789
MES Platform 2.0
Grid Line gridColor Appearance Color The color used to draw grid
Color lines.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
790
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Table Customizer
Table Customizer manages the data entered into the MES Schedule Selector. It will allow
you to modify the data which is stored inside the MES Schedule Selector. Thus the
formatting and alignments are made easy.
791
MES Platform 2.0
Column Configuration
Header - Provide a custom name to the column header.
Hide? - Hides the column
Editable - Allows the editing of the cell pertaining to the column.
Sortable - To make a column filter the data on user's demand .
Sortable - Allows the user to sort the table according to the selected column
Horiz Align - Aligns the contents of the column.
Vert Align - Aligns the contents of the column.
Wrap Text? - Data in the cell wraps to fit the column width. When you change the column
width, data wrapping adjusts automatically.
Prefix - A custom text that proceeds the contents of each cell.
Suffix - A custom text that follows the contents of each cell.
Number Format - A format of the cell is the contents of the cell are number types.
Date Format - Used if the contents of the cell are date types
Boolean? - Changes the contents of the cell to reflect a 'check box' look and feel.
Custom Properties
The custom properties can be used to add user defined properties.
Examples
792
MES Platform 2.0
General
793
MES Platform 2.0
See Creating and Managing Work Orders page for various MES Work Order Table
settings.
Info
Description
A component that displays all the available work orders in a table and calculates the units
produced, scheduled and remaining for each work order. All work orders are automatically
displayed from the "WorkOrder" database table within the date range of From Date and To
Date properties without the need for custom SQL statements or script.
Properties
794
MES Platform 2.0
795
MES Platform 2.0
796
MES Platform 2.0
797
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
initialize
Description
Called when the window containing this table is opened, or the template containing it is
loaded. Provides a chance to initialize the table further, for example, selecting a
specific row.
Parameters
self - A reference to the component that is invoking this function.
798
MES Platform 2.0
Return
Nothing
Scope
Client
isRowEditable
Description
Returns a boolean that determines whether or not the current row is editable.
Parameters
self - A reference to the component that is invoking this function.
mesWorkOrder - The MESWorkOrder object itself.
Return
True
Scope
Client
isRowDeletable
Description
Returns a boolean that determines whether or not the current row is deletable.
Parameters
self - A reference to the component that is invoking this function.
mesWorkOrder - The MESWorkOrder object itself.
Return
True
Scope
Client
onRowEdited
Description
Called when the user has edited a row in the table.
Parameters
self - A reference to the component that is invoking this function.
mesWorkOrder - The MESWorkOrder object itself.
Return
799
MES Platform 2.0
None
Scope
Client
onRowDeleted
Description
Called when the user has deleted a row in the table.
Parameters
self - A reference to the component that is invoking this function.
mesWorkOrder - The MESWorkOrder object itself.
Return
None
Scope
Client
onColumnsCreate
Description
Called when columns are created in the table. Provides a chance to add custom
columns to the table.
Parameters
self - A reference to the component that is invoking this function.
Return
Returns a dictionary of custom column name-type pairs.
Scope
Client
onRowAdd
Description
Called when a row is added in the table. Provides a chance to insert values to custom
columns in the table.
Parameters
self - A reference to the component that is invoking this function.
mesWorkOrder - The MESWorkOrder object itself.
Return
800
MES Platform 2.0
801
MES Platform 2.0
onPopupTrigger
Description
Called when the user right-clicks on a table cell. This would be the appropriate time to
create and display a popup menu.
Parameters
self - A reference to the component that is invoking this function.
rowIndex - Index of the row, starting at 0, relative to the underlying dataset.
colIndex - Index of the column starting at 0, relative to the underlying dataset.
colName - Name of the column in the underlying dataset.
value - The value at the location clicked on.
event - The MouseEvent object that caused this popup trigger event.
Return
Nothing
Scope
Client
onRowsDropped
Description
Called when the user has dropped rows on this table. Note that the rows may have
come from this table or another table. The source table must have dragging enabled.
Parameters
self - A reference to the component that is invoking this function
sourceTable - A reference to the table that the rows were dragged from. Will be equal
to 'self' if the rows were dragged and dropped in the same table.
rows - An array of the row indices that were dragged, in the order they were selected.
rowData - A dataset containing the rows that were dragged.
dropIndexLocation - Row index where the rows were dropped.
Return
Nothing
Scope
Client
Code Example
802
MES Platform 2.0
Event Handlers
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
803
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Table Customizer
Table Customizer manages the data entered into the MES Schedule Selector. It will allow
you to modify the data which is stored inside the MES Schedule Selector. Thus the
formatting and alignments are made easy.
804
MES Platform 2.0
Column Configuration
Header - Provide a custom name to the column header.
Hide? - Hides the column
Editable - Allows the editing of the cell pertaining to the column.
Sortable - To make a column filter the data on user's demand .
Sortable - Allows the user to sort the table according to the selected column
Horiz Align - Aligns the contents of the column.
Vert Align - Aligns the contents of the column.
Wrap Text? - Data in the cell wraps to fit the column width. When you change the column
width, data wrapping adjusts automatically.
Prefix - A custom text that proceeds the contents of each cell.
Suffix - A custom text that follows the contents of each cell.
Number Format - A format of the cell is the contents of the cell are number types.
Date Format - Used if the contents of the cell are date types
Boolean? - Changes the contents of the cell to reflect a 'check box' look and feel.
Custom Properties
805
MES Platform 2.0
Custom Properties
The custom properties can be used to add user defined properties.
Examples
806
MES Platform 2.0
General
Description
A component that displays a pie chart with drill down capabilities. This extends from the
Properties
807
MES Platform 2.0
808
MES Platform 2.0
809
MES Platform 2.0
810
MES Platform 2.0
811
MES Platform 2.0
The marign
between
categories as a
fraction of the
total space.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
drillDown
drillDown
Is fired when drill down menu item is selected. Excludes the "Back" menu item.
812
MES Platform 2.0
Property Description
back
Property Description
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
813
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
814
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
815
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
816
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
817
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
818
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
819
MES Platform 2.0
Examples
When the user clicks on a bar of the bar chart, the drill down menu will appear. When an
item in the drill down menu is clicked on, the drillDown event is fired. Script in the drillDown
event is responsible for updating the Data property to change the results shown in the bar
chart. The drill down menu information is set through the Drill Down Options property. The
Drill Down Options can be populated from the Analysis Controller, Analysis Selector, SQL
Query, scripting or it can be manually defined in the designer.
General
820
MES Platform 2.0
Description
A component that displays a pie chart with drill down capabilities. This extends from the
Properties
821
MES Platform 2.0
822
MES Platform 2.0
823
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
drillDown
drillDown
Is fired when drill down menu item is selected. Excludes the "Back" menu item.
Property Description
824
MES Platform 2.0
Property Description
back
Property Description
Customizers
Examples
When the user clicks on a segment of the pie chart, the drill down menu will appear. When
an item in the drill down menu is clicked on, the drillDown event is fired. Script in the
drillDown event is responsible for updating the Data property to change the results shown
in the pie chart. The drill down menu information is set through the Drill Down Options
property. The Drill Down Options can be populated from the Analysis Controller, Analysis
Selector, SQL Query, scripting, or it can be manually defined in the designer.
825
MES Platform 2.0
General
Description
826
MES Platform 2.0
A component to allow auto complete selection of MES Material Lot or MES Material Sublot
objects. It contains many properties to filter the MES Material Lot or MES Material Sublot
objects to include in the list. The auto complete feature will include only appropriate names
that start with what the user has typed. This is very useful so scrolling of large lists does
not have to be done and full lot or serial number does not have to be typed in.
There are two possible modes that the MES Lot Selector component can be used. If the
Mode property is set to Lot, then the selector will be populated with MES Material Lot
objects. If the Mode property is set to Sublot, then the selector will be populated with MES
Material Sublot objects.
The Max Results property prevents a huge number of options from being loaded from the
database along with all of the overhead of passing then to the client when the user will not
use all of them. This along with the Begin Date Time and End Date Time properties, keep
from taking up unneeded resources.
Properties
Info
Please go through the MES Inventory Filter for more details on each property.
827
MES Platform 2.0
End Date endDateTime Data DateTime The ending date and time to
Time include in the results. Only
valid when Include Inactive
Lots property is set to true.
828
MES Platform 2.0
829
MES Platform 2.0
Selected selectedLotUUID Data String The lot UUID for the currently
Lot UUID selected lot.
Selected selectedLotName Data String The lot Name for the currently
Lot Name selected lot.
Scripting
Scripting Functions
refresh
Description
Updates contents to reflect any updates to the database since the object was created,
or since the last refresh. By default, refresh is automatic for local operations when view
navigation touches an update.
Parameters
830
MES Platform 2.0
None
Return
Nothing
Scope
Client
Extension Functions
lotSelected
Description
Called before an MES Material is selected. Return false to prevent the MES Material
Lot from being started.
Parameters
self - A reference to the component that is invoking this function
mesMaterialLot - The MESMaterialLot reference object. Use mesMaterialLot.
getMESObject() to get the MES Material Lot itself
Return
1
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
831
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
832
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
833
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
834
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
835
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
836
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
837
MES Platform 2.0
Customizers
Examples
General
838
MES Platform 2.0
Description
Properties
839
MES Platform 2.0
Scripting
Scripting Functions
840
MES Platform 2.0
This component does not have scripting functions associated with it.
Extension Functions
itemSelected
Description
Called after an MES lot or material is selected. In this function, lot can be changed on
the fly when a selection is made. Return False to ignore the change.
Parameters
self - A reference to the component that is invoking this function
mesObjectLink - MESObjectLink object containing the MESMaterialLot or
MESMaterialDef details. Call mesObjectLink.getMESObject() to get the instance of the
MESMaterialLot or MESMatrialDef object.
Return
1
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
841
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
842
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
843
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
844
MES Platform 2.0
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
845
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
846
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
847
MES Platform 2.0
Examples
If more than one material resource has been defined for a MES Operations Segment, then
the MES Material Selector component will automatically populate components for each
material resource.
848
MES Platform 2.0
The MES Material Selector must be used in conjunction with the MES Segment Selector
component. The active MES Response Segment is retrieved from the MES Segment
Selector component. MES Operations Response objects are derived from MES Operations
Segment objects and drive the entry components created in the MES Material Selector
component. No binding is required for the two to work together. Behind the scenes, the
MES Material Selector finds the MES Segment Selector and the two will communicate.
Info
For the MES Material Selector component to find the MES Segment Selector, it must
be in the same container on the window. It is okay to be in a container, they just both
have to be in the same container or root container. Multiple containers can exist on the
same window containing separate MES Segment Selector and MES Material Selector
components in each. The components residing in the same container will work
together allowing multiple segments to be controlled from the same window.
General
Description
849
MES Platform 2.0
Properties
850
MES Platform 2.0
If true, show
information
for the active
MES
segments.
851
MES Platform 2.0
Font to use
for section
lebels.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
852
MES Platform 2.0
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
853
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
854
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
855
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
856
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
857
MES Platform 2.0
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
858
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Example
The example below shows details about the materials involved in a mixing operation and
also the equipment details.
859
MES Platform 2.0
General
Description
A component that is added to Ignition windows to display and select operations definitions.
The operations definitions that are shown, are limited by those appropriate for the
equipment specified in the equipment path property. The auto complete feature will include
only appropriate operations definitions that start with what the user has typed. This is very
useful so scrolling of large lists does not have to be done and the full name of the
operations definition does not have to be typed in.
Properties
860
MES Platform 2.0
Scripting
Scripting Functions
beginOperation
Description
This script function invokes the extension function 'beginOperation'.
Parameters
None
Return
Nothing
Scope
Client
861
MES Platform 2.0
endOperation
Description
This script function invokes the extension function 'endOperation'.
Parameters
None
Return
Nothing
Scope
Client
abortOperation
Description
Aborts the operation.
Parameters
None
Return
Nothing
Scope
Client
Extension Functions
beginOperation
Description
Called before an MES Operation begins. Return false to prevent the MES Operation
from being started.
Parameters
self - A reference to the component that is invoking this function
mesOperationResponse - The MESOperationResponse object itself. Core and custom
properties can be set on the object before the operation begins.
Return
1
862
MES Platform 2.0
Scope
Client
endOperation
Description
Called before an MES Operation ends. Return false to prevent the MES Operation
from being ended.
Parameters
self - A reference to the component that is invoking this function.
mesOperationResponse - The MESOperationResponse object itself. Core and custom
properties can be set on the object before the operation ends.
Return
1
Scope
Client
operationSelected
Description
Called after an MES Operation is selected. In this function, operations can be started.
This allows for operation to automatically start when the user selects a MES
Operation.
Parameters
self - A reference to the component that is invoking this function
mesObjectLink - MESObjectLink object containing the MES Operation details. call
mesObjectLink.getMESObject() to get the instance of the MESOperationDefinition
object.
Return
1
Scope
Client
Event Handlers
mouse
863
MES Platform 2.0
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
864
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
865
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
866
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
867
MES Platform 2.0
Property Description
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
868
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
869
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Example
The Track and Trace module provides a set of components to enter in data for each
operation. In fact the demo project comes with quite a few screens that already does this.
Open the "Trace" project in the designer and open the "Unload Vinegar" window from the
"Main Windows" folder. You can now specify the operators to select an operation for. Click
on the "Operation" dropdown list. Set the "Equipment Path" property to:
My Enterprise\Site1\Raw Materials\Unload Station
Go into preview mode and dropdown the list. Then fix the "Start" and "Stop" buttons on the
window.
Active True
870
MES Platform 2.0
General
Descripton
Properties
871
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
itemSelected
Description
Called after an MES person is selected. In this function, person can be changed on
the fly when a selection is made. Return False to ignore the change.
Parameters
self - A reference to the component that is invoking this function
mesObjectLink - MESObjectLink object containing the MES Person details. Call
mesObjectLink.getMESObject() to get the instance of the MESPerson object.
Return
1
Scope
Client
872
MES Platform 2.0
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
873
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
874
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
875
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
876
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
877
MES Platform 2.0
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
878
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
879
MES Platform 2.0
If more than one personnel resource has been defined for a MES Operations Segment,
then the MES Personnel Selector component will automatically populate components for
each personnel resource.
880
MES Platform 2.0
The MES Personnel Selector must be used in conjunction with the MES Segment Selector
component. The active MES Response Segment is retrieved from the MES Segment
Selector component. MES Operations Response objects are derived from MES Operations
Segment objects and drive the entry components created in the MES Personnel Selector
component. No binding is required for the two to work together. Behind the scenes, the
MES Personnel Selector finds the MES Segment Selector and the two will communicate.
Info
For the MES Personnel Selector component to find the MES Segment Selector, it
must be in the same container on the window. It is okay to be in a container, they just
both have to be in the same container or root container. Multiple containers can exist
on the same window containing separate MES Segment Selector and MES Personnel
Selector components in each. The components residing in the same container will
work together allowing multiple segments to be controlled from the same window.
General
Description
A component to display MES property value components for the active MES Response
Segment. The MES property value entry components that are shown depend on the
configuration of the MES associated objects.
881
MES Platform 2.0
In the image below, a MES Operations Segment with a material resource that references a
MES Material Definition that has a Viscosity custom property. This is causing the entry
component to accept a viscosity value be added. In order for the custom property to be
shown, the Production Visible option for the custom property must be set to True. Likewise,
the required indication will be shown when the Required option for the custom property is
set to True.
All this is performed automatically and there is no need to create custom Ignition windows
for each combination of how associated MES objects are configured.
Properties
Scripting
Scripting Functions
882
MES Platform 2.0
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown
883
MES Platform 2.0
Property Description
True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
884
MES Platform 2.0
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
885
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
886
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
887
MES Platform 2.0
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
888
MES Platform 2.0
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
889
MES Platform 2.0
If more than one property has been defined for the associated MES objects, then the MES
Property Value Editor component will automatically populate components for each one.
The MES Property Value Editor must be used in conjunction with the MES Segment
Selector or MES Sublot List components. Which one it works with is determined by the
Mode property of this component.
If the Mode is set to Segment, then the active MES Response Segment is retrieved from
the MES Segment Selector component. MES Response Segment objects are derived from
MES Operations Segment objects and drive the entry components created in the MES
Property Value Editor component. No binding is required for the two to work together.
Behind the scenes, the MES Property Value Editor finds the MES Segment Selector and
the two will communicate.
If the Mode is set to Lot, then the active MES Response Segment is retrieved from the
MES Segment Selector component. All lot references will be scanned for MES properties
and drive the entry components created in the MES Property Value Editor component. No
binding is required for the two to work together. Behind the scenes, the MES Property
Value Editor finds the MES Segment Selector and the two will communicate.
If the Mode property is set to Sublot, then the selected MES Material Sublot is retrieved
from the MES Sublot List component. The MES Material Sublot object drive the entry
components created in the MES Property Value Editor component. No binding is required
for the two to work together. Behind the scenes, the MES Property Value Editor finds the
MES Sublot List and the two will communicate.
Info
For the MES Property Value Editor component to find the MES Segment Selector or
MES Sublot List, it must be in the same container on the window. It is okay to be in a
container, they just both have to be in the same container or root container. Multiple
containers can exist on the same window containing separate MES Segment Selector
and/or MES Sublot List and MES Property Value Editor components in each. The
components residing in the same container will work together allowing multiple
segments to be controlled from the same window.
If two MES Property Value Editor components exist on the same container and one is
set to Segment mode and the other is set the Sublot mode, the two will connect to the
correct parent. This allows MES property values to be entered for both the segment or
lot and for the selected sublot on the same screen.
890
MES Platform 2.0
General
Description
A component that is added to Ignition windows to display and select operations segments.
The operations segments that are shown, are limited by those appropriate for the
equipment specified in the equipment path property. The auto complete feature will include
only appropriate operations definitions that start with what the user has typed. This is very
useful so scrolling of large lists does not have to be done and the full name of the
operations segment does not have to be typed in.
Segment Mode
The Segment mode is used to select a Operations Segment to run based on an active
Operations Response for the specified equipment. This is needed when there are multiple
segments being used for an operation.
Definition Mode
If all that is needed is to run a single segment like Unload Vinegar then, the segment can
automatically be selected when the operation is selected. The Definition mode enables this
functionality and the MES Operations Selector can be left off the screen. In order for the
MES Segment Selector to know which segment to select, one of two situations must exist.
Either, there must only be one Operations Segment in the Operation Definition or the
Operations Segment name must match the Operations Definition name.
891
MES Platform 2.0
Scripting
Properties
892
MES Platform 2.0
Scripting Functions
beginSegment
Description
Invokes the beginSegment extension function.
Parameters
None
Return
Nothing
Scope
Client
updateSegment
Description
Invokes the updateSegment extension function.
Parameters
None
Return
Nothing
Scope
893
MES Platform 2.0
Client
executeSegment
Description
Executes the segment.
Parameters
None
Return
Nothing
Scope
Client
endSegment
Description
Invokes the endSegment extension function.
Parameters
None
Return
Nothing
Scope
Client
endAllSegments
Description
Invokes the endSegment extension function for each segments.
Parameters
None
Return
Nothing
Scope
Client
undoChanges
Description
Undo the changes made to the segment.
894
MES Platform 2.0
Parameters
None
Return
Nothing
Scope
Client
Extension Functions
beginSegment
Description
Begin the specified response segment.
Parameters
String responseSegment - The MESResponse segment object to begin. All required
property values must be set prior to beginning.
Return
Nothing
Scope
Client
updateSegment
Description
Update an active segment. If material, personnel, supplemental equipment resources
or custom properties change during a production task, then the update script function
is used to commit the changes.
Parameters
String responseSegment - The MESResponse segment object to be updated.
Return
Nothing
Scope
Client
endSegment
895
MES Platform 2.0
Description
End the specified response segment.
Parameters
String responseSegment - The MESResponse segment object to end. All final
property values must be set prior to ending.
Return
Nothing
Scope
Client
segmentSelected
Description
Called after an MES Segment is selected. In this function, segments can be started
provided the required lot, material, equipment and personnel properties have been set.
This allows for operation to automatically start when the user selects a MES Segment.
Parameters
String mesObjectLink - MES object containing the MES Segment details. Call
mesObjectLink.getMESObject() to get the instance of the MESOperationSegment
object.
Return
Nothing
Scope
Client
beginOperation
Description
Called before an MES Operation begins. Return false to prevent the MES Operation
from being started.
Parameters
mesOperationResponse - The MESOperationResponse object itself. Core and custom
properties can be set on the object before the operation begins.
Return
True
Scope
Client
896
MES Platform 2.0
endOperation
Description
Called before an MES Operation ends. Return false to prevent the MES Operation
from being ended.
Parameters
mesOperationResponse - The MESOperationResponse object itself. Core and custom
properties can be set on the object before the operation ends.
Return
True
Scope
Client
optionsUpdated
Description
Called when the available options have been updated and currently there are no
active segments.
Parameters
mesObjectList - A list of MESObjectLink objects representing the segments that will
appear in the drop down list.
Return
Return the index of the option to select, otherwise return None to not select any.
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
897
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
898
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
899
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
900
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
901
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
902
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
903
MES Platform 2.0
Property Description
Customizers
Examples
General
904
MES Platform 2.0
Description
A component that is added to Ignition windows to manage material sublots. The user can
view, add, edit or delete sublot items. MES Material Sublots are used to track individual
items that belong to an MES Material Lot. For example, if each item that is part of a lot has
a serial number, then this component can be used to allow the operator to manage them. It
can also be done in script.
Properties
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
905
MES Platform 2.0
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
906
MES Platform 2.0
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
907
MES Platform 2.0
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
908
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
909
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
910
MES Platform 2.0
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
911
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
Row Height 24
The MES Sublot List must be used in conjunction with the MES Segment Selector
component. The active MES Response Segment is retrieved from the MES Segment
Selector component. MES Operations Response objects are derived from MES Operations
Segment objects and drive the MES Material Sublot objects to show. If the MES
Operations Segment object has multiple material resources that have the Enable Sublots
912
MES Platform 2.0
setting set to True, then a selection component will appear in this component allowing the
operation to select the lot first. If only one material resource has the Enable Sublots setting
set to True, then the component will not be added and just the sublot list will appear.
No binding is required for the two to work together. Behind the scenes, the MES Material
Selector finds the MES Segment Selector and the two will communicate.
Info
For the MES Sublot List component to find the MES Segment Selector, it must be in
the same container on the window. It is okay to be in a container, they just both have
to be in the same container or root container. Multiple containers can exist on the
same window containing separate MES Segment Selector and MES Sublot List
components in each. The components residing in the same container will work
together allowing multiple segments to be controlled from the same window.
General
Description
Properties
913
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
itemSelected
Description
Called after a supplemental equipment item is selected. In this function, equipment
can be changed on the fly when a selection is made. Return False to ignore the
change.
Parameters
self - A reference to the component that is invoking this function
mesObjectLink - MESObjectLink object containing the MES Equipment details. Call
mesObjectLink.getMESObject() to get the instance of the MESEquipment object.
Return
1
Scope
914
MES Platform 2.0
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
915
MES Platform 2.0
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
916
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
917
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
918
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
919
MES Platform 2.0
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
920
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
General
921
MES Platform 2.0
Description
A component that is added to Ignition windows to visually see traceability results. It shows
the flow of production for bulk lot (batch) and / or serialized items. This allows entering a lot
(batch) number and seeing what went into making it up from raw materials through the
production steps to the finished goods. Then if desired, product can be tracked beyond the
production facility. Individual items can also tracked by using a serial number or other item
identification.
Properties
922
MES Platform 2.0
Lot Tool Tip lotToolTipFormat Appearance String Set to format the display
Format of lot node tooltip. It is
formatted in HTML and
can reference the
column names in the
dataset that the trace
graph display is
generated from. The
dataset results are the
same as the Lot Trace
Binding Function and
Sublot Trace Binding
Function that has full
documentation of the
available columns.
Example<html>
{LotName}<br/>
{LotSequence}<br/>
{LotStatus}<br/>
{LotBeginDateTime}<br
/>{LotEndDateTime}<br
/>{MaterialName}<br/>
{LotLocationName}<
/html>
Possible Tooltips are:
LotUUID
LotName
SublotUUID
SublotName
LotSequence
LotUse
LotBeginDateTime
923
MES Platform 2.0
LotEndDateTime
LotQuantity
LotStatus
MaterialUUID
MaterialName
LotLocationUUID
LotLocationName
SegmentUUID
SegmentName
SegmentBeginDateTime
SegmentEndDateTime
SegmentLocationUUID
SegmentLocationName
PrevSegmentUUID
PrevLotUUID
NextSegmentUUID
NextLotUUID
SegInCount
SegOutCount
LotInCount
LotOutCount
LotContainsSublot
LotAvailability
LotDescription
LotEnabled
LotAssembly
LotUnits
MaterialDescription
MaterialEnabled
EquipmentUUID
EquipmentName
EquipmentDescription
EquipmentPath
EquipmentEnabled
924
MES Platform 2.0
SublotDescription
SublotEnabled
SublotAssembly
SublotStatus
Sublots
CustomProperties
925
MES Platform 2.0
LotQuantity
LotStatus
MaterialUUID
MaterialName
LotLocationUUID
LotLocationName
SegmentUUID
SegmentName
SegmentBeginDateTime
SegmentEndDateTime
SegmentLocationUUID
SegmentLocationName
PrevSegmentUUID
PrevLotUUID
NextSegmentUUID
NextLotUUID
SegInCount
SegOutCount
LotInCount
LotOutCount
LotContainsSublot
LotAvailability
LotDescription
LotEnabled
LotAssembly
LotUnits
MaterialDescription
MaterialEnabled
EquipmentUUID
EquipmentName
EquipmentDescription
EquipmentPath
EquipmentEnabled
SublotDescription
SublotEnabled
SublotAssembly
SublotStatus
926
MES Platform 2.0
Sublots
CustomProperties
927
MES Platform 2.0
Title Text titleTextColor Appearance Color The color of the title text
Color in the editing panel.
928
MES Platform 2.0
Scripting
Scripting Functions
929
MES Platform 2.0
autoFit
Description
The trace graph is automatically resized as necessary to fit. Zooms a display such that
all items within a given group will fit within the display bounds. By default, this
achieved by clicking the right mouse button once, with no dragging.
Parameters
None
Return
Nothing
Scope
Client
Example
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
menu
userMenuItemClicked
This event fires when the menu item is clicked, or if the user selects the menu item
using the keyboard and presses the Enter key. It can also occur if an access key or
shortcut key is pressed that is associated with the MenuItem.
Property Description
menuItemName Name of the user menu item that triggered the event.
930
MES Platform 2.0
Property Description
nodeName Name of the node. This is the same as the name of the
MES object that is associated with the node.
objectType Name of the MES object type that is associated with the
node.
mouse
mouseClicked
931
MES Platform 2.0
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
932
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
933
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
934
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
935
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
936
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
937
MES Platform 2.0
Property Description
selectNode
nodeClicked
The NodeClick event is generated when the user clicks a particular Node object.
Property Description
nodeName Name of the node. This is the same as the name of the
MES object that is associated with the node.
objectType Name of the MES object type that is associated with the
node.
938
MES Platform 2.0
nodeEntered
This event is generated when the Node is being hovered over.
Property Description
nodeName Name of the node. This is the same as the name of the
MES object that is associated with the node.
objectType Name of the MES object type that is associated with the
node.
939
MES Platform 2.0
Property Description
nodeExited
This event is generated when drag gesture exits this Node .
Property Description
nodeName Name of the node. This is the same as the name of the
MES object that is associated with the node.
objectType Name of the MES object type that is associated with the
node.
940
MES Platform 2.0
Property Description
Customizers
Examples
941
MES Platform 2.0
Property Value
Name
Enable _ True
Auto _ Sizing
Breadcrumbs True
_ Visible
Breadcrumb True
_ Underlined
Breadcrumb 20
_ Max _
Count
942
MES Platform 2.0
Property Value
Name
LotStatus
MaterialUUID
MaterialName
LotLocationUUID
LotLocationName
SegmentUUID
SegmentName
SegmentBeginDateTime
SegmentEndDateTime
SegmentLocationUUID
SegmentLocationName
PrevSegmentUUID
PrevLotUUID
NextSegmentUUID
NextLotUUID
SegInCount
SegOutCount
LotInCount
LotOutCount
LotContainsSublot
LotAvailability
LotDescription
LotEnabled
LotAssembly
LotUnits
MaterialDescription
MaterialEnabled
EquipmentUUID
EquipmentName
EquipmentDescription
EquipmentPath
EquipmentEnabled
SublotDescription
SublotEnabled
SublotAssembly
SublotStatus
943
MES Platform 2.0
Property Value
Name
Sublots
CustomProperties
944
MES Platform 2.0
Property Value
Name
LotUnits
MaterialDescription
MaterialEnabled
EquipmentUUID
EquipmentName
EquipmentDescription
EquipmentPath
EquipmentEnabled
SublotDescription
SublotEnabled
SublotAssembly
SublotStatus
Sublots
CustomProperties
Node _
Configuration
If a node has a sublot that has a name that matches the Highlight Sublot Name, then text
specified by the Sublot Match Text property will be displayed in the lot node. This is
valuable at determining which lots contain the sublot (serial number) of interest.
The nodes are laid out in chronological order from left to right. The node type alternates
starting with a segment then showing a lot. The idea behind this is there are lots that are
inputs to an operation and there are lot that the operation produced. In the image below,
the upper left node titled Unload Station 1 is the operation that vinegar was unloaded.
945
MES Platform 2.0
When this operation was done, a new lot VIN 2988 was created. Then that lot was used in
the operation of making of balsamic dressing at Mix Station 1, which produced balsamic
dressing that resides in Holding Tank 2.
The Trace Graph component also is an excellent navigation tool to zero in on non-trace
information. Because the date and times, material, equipment, lot numbers, serial number,
etc. are known, other data can be filtered to match the trace information being shown. This
gives, otherwise just time series data, context to specific lots and serialized items without
the need to look it up manually potentially across multiple systems.
To support this functionality, the trace graph component has very configurable menus that
are used to display additional non-trace information. When the menu is selected by the
user, the associated date and times, lot number, material, personnel, etc. is included in the
menu event so that data within and outside of Ignition can be looked up and displayed.
General
946
MES Platform 2.0
In this Page
Description
A component that displays OEE downtime events for an active production run and allows
the operator to select more specific downtime reasons for the event. It also allows the
operator to split downtime events. This accommodates downtime events that have multiple
reasons. For example, if a production line goes down because of a mechanical failure and
when maintenance finishes the repair, it is time for break. The operator can split the
downtime event into two events. One for mechanical failure and the other for break.
Properties
947
MES Platform 2.0
downtime
events for that
cell will be
shown.
948
MES Platform 2.0
If set to
1 or
greater,
the
date
range
will not
be
used.
949
MES Platform 2.0
950
MES Platform 2.0
951
MES Platform 2.0
952
MES Platform 2.0
953
MES Platform 2.0
954
MES Platform 2.0
Scripting
Scripting Functions
955
MES Platform 2.0
This component does not have scripting functions associated with it.
Extension Functions
configureCell
Description
Provides a chance to configure the contents of each cell.
Parameters
self - A reference to the component that is invoking this function.
value - The value in the dataset at this cell.
textValue - The text the table expects to display at this cell (may be overridden by
including 'text' attribute in returned dictionary).
selected - A boolean indicating whether this cell is currently selected.
rowIndex - The index of the row in the underlying dataset.
colIndex - The index of the column in the underlying dataset.
colName - The name of the column in the underlying dataset.
rowView - The index of the row, as it appears in the table view (affected by sorting).
colView - The index of the column, as it appears in the table view (affected by column
re-arranging and hiding).
Returns
Return a dictionary of name-value pairs with the desired attributes. Available attributes
include: 'background', 'border', 'font', 'foreground', 'horizontalAlignment', 'iconPath',
'text', 'toolTipText', 'verticalAlignment'
You may also specify the attribute 'renderer', which is expected to be a javax.
swing.JComponent which will be used to render the cell.
Scope
Client
onColumnsCreate
Description
Called when columns are created in the table. Provides a chance to add custom
columns to the table.
956
MES Platform 2.0
Parameters
self - A reference to the component that is invoking this function.
Returns
Returns a dictionary of custom column name-type pairs.
Scope
Client
onRowAdd
Description
Called when a row is added in the table. Provides a chance to insert values to custom
columns in the table.
Parameters
reason - Down time reason of a row.
code - Down time code of a row.
Returns
Returns a dictionary of custom column name-value pairs.
Scope
Client
configureHeaderStyle
Description
Provides a chance to configure the style of each colummn header. Return a dictionary
of name-value pairs with the desired attributes. Available attributes include:
'background', 'border', 'font', 'foreground', 'horizontalAlignment', 'toolTipText',
'verticalAlignment'.
Parameters
self - A reference to the component that is invoking this fucntion.
colIndex - The index of the column in the underlying dataset.
colName - The name of the column in the underlying dataset.
Returns
Returns a dictionary of name-value pairs with the desired attributes.
Scope
Client
initialize
957
MES Platform 2.0
Description
Called when the window containing this table is opened, or the template containing it is
loaded. Provides a chance to initialize the table further, for example, setting the default
row configuration.
Parameters
self - A reference to the component that is invoking this fucntion.
Returns
Nothing
Scope
Client
loadIcon
Description
Provides a chance to change an icon. Based on the icon name parameter, return the
image path to the icon to use in place of the default icon.
Parameters
self - A reference to the component that is invoking this function.
iconName - The name of the icon.
Returns
Nothing
Scope
Client
Example
Event Handlers
propertyChange
propertyChange
958
MES Platform 2.0
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Table Customizer shown below manages the data entered into the Down Time Table.
Custom Properties
The custom properties can be used to add user defined properties.
959
MES Platform 2.0
Examples
General
960
MES Platform 2.0
In this Page
Custom Properties
See Setting Up Equipment Modes page and Setting Up Equipment States page for
various OEE Equipment Manager settings.
Description
OEE Equipment Manager component is used to modify MES equipment states, modes and
schedules. The change button will navigate to the window where you can add,
edit, delete, copy, paste, import and export the mode, state and schedule.
Properties
961
MES Platform 2.0
962
MES Platform 2.0
Title The
Background background
Color color of the
title bar.
963
MES Platform 2.0
recommended
icon size is
16x16 pixels.
964
MES Platform 2.0
965
MES Platform 2.0
966
MES Platform 2.0
image. The
recommended
icon size is
16x16 pixels.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
loadIcon
Description
967
MES Platform 2.0
Provides a chance to change an icon. Based on the icon name parameter, return the
image path to the icon to use in place of the default icon.
Parameters
self - A reference to the component that is invoking this function.
iconName - The name of the icon.
Returns
Nothing
Scope
Client
Example
Event Handlers
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
968
MES Platform 2.0
Property Description
Customizers
Custom Properties
The custom properties can be used to add user defined properties.
Example
969
MES Platform 2.0
To change the schedule, select the production item (for example Line 1) and then click the
change icon. The equipment schedule list appears. Now select the desired shift (in this
example Shift 1) and save the settings.
The equipment manager will now display the current selection as Shift 1.
970
MES Platform 2.0
General
In this Page
Custom Properties
971
MES Platform 2.0
See Creating Materials page for various OEE Material Manager settings.
Description
OEE Material Manager component to modify or configure MES materials for OEE. The
is the folder that holds all the material classes. Expand the material
classes to see the material definitions. This component can also be used to add, edit,
delete, copy, paste, import and export a material definition or the material class.
Properties
972
MES Platform 2.0
973
MES Platform 2.0
image. The
recommended
icon size is
16x16 pixels.
974
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
loadIcon
975
MES Platform 2.0
Description
Provides a chance to change an icon. Based on the icon name parameter, return the
image path to the icon to use in place of the default icon.
Parameters
self - A reference to the component that is invoking this function.
iconName - The name of the icon.
Returns
Nothing
Scope
Client
Example
Event Handlers
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
976
MES Platform 2.0
Property Description
Customizers
Custom Properties
The custom properties can be used to add user defined properties.
Example
The example below display a material class Soda with two material definitions: Mountain
Dew and Pepsi.
977
MES Platform 2.0
If you click on Export, save window will appear to set your export location. Select the file
type as xml to get the following xml file.
-<MaterialClass>
<Name>Soda</Name>
<Creator>OEE</Creator>
-<MaterialDef>
<Name>Mountain Dew </Name>
<Creator>OEE</Creator>
</MaterialDef>
-<MaterialDef>
<Name>Pepsi</Name>
<Creator>OEE</Creator>
</MaterialDef>
</MaterialClass>
</MaterialRoot>
To add a new material definition, first select the material class Soda and then New
Material Definition. The following editor appears.
978
MES Platform 2.0
Give it a name. In this example, the Name is set to Fanta, Material Production Settings
to Line 1 and Auto End Production to True. Click Save.
Material classes can be added to an existing material class or to the material root.
General
In this Page
979
MES Platform 2.0
Custom Properties
Description
OEE Run Director component is used to start and stop the production runs. Multiple
operations can be run at a time by setting the Enable Simultaneous Active property to
True. The button will begin the production run, button is for changeover and
button will end the run.
Properties
980
MES Platform 2.0
is opened, it will
cause calls to the
server which are
not needed.
Bindings,
however,
do persist.
As an
example,
the
property
may be
bound to a
tag or a
root
container's
custom
property
containing
a path.
Scripting
981
MES Platform 2.0
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
loadIcon
Description
Provides a chance to change an icon. Based on the icon name parameter, return the
image path to the icon to use in place of the default icon.
Parameters
self - A reference to the component that is invoking this function.
iconName - The name of the icon.
Returns
Nothing
Scope
Client
Example
Event Handlers
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
982
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Custom Properties
The custom properties can be used to add user defined properties.
Examples
983
MES Platform 2.0
General
In this Page
Description
A component that displays the line and cell downtime events of a run in a visual time chart.
984
MES Platform 2.0
Properties
985
MES Platform 2.0
986
MES Platform 2.0
987
MES Platform 2.0
[State] The
Starved foreground
Color color of the
Starved state.
988
MES Platform 2.0
state. The
recommended
icon size is
16x16 pixels.
989
MES Platform 2.0
The relative
path of an
icon image to
indicate the
'Idle' state.
The
recommended
icon size is
16x16 pixels.
990
MES Platform 2.0
status. The
recommended
icon size is
16x16 pixels.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
getCustomField
Description
Called to get a custom field.
Parameters
self - A reference to the component that is invoking this function
equipmentPath - The equipment path as a string.
customField - The custom field object to set property values and return.
Return
991
MES Platform 2.0
Example
loadIcon
Description
Provides a chance to change an icon. Based on the icon name parameter, return the
image path to the icon to use in place of the default icon.
Parameters
self - A reference to the component that is invoking this function.
iconName - The name of the icon.
Returns
Nothing
Scope
Client
Example
992
MES Platform 2.0
Event Handlers
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
993
MES Platform 2.0
The SPC tab contains the components used for sample analysis
Quality Component
994
MES Platform 2.0
Quality Components
Datatype Selector
General
Description
A component that allows selection of sample attribute data types. The data types are built
into the SPC module and cannot be added to or changed. There is no need for SQL
queries or scripting to display the data types.
Properties
995
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
focus
focusGained
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
focusLost
This event occurs when a component that had the input focus lost it to another
component.
Property Description
oppositeComponent
996
MES Platform 2.0
Property Description
key
keyPressed
An integer that indicates whether the state was changed to "Selected" (on) or
"Deselected" (off). Compare this to the event object's constants to determine what the
new state is.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyReleased
997
MES Platform 2.0
Fires when a key is released and the source component has the input focus. Works for
all characters, including non-printable ones, such as SHIFT and F3.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyTyped
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
998
MES Platform 2.0
Property Description
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
999
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1000
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
1001
MES Platform 2.0
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1002
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
1003
MES Platform 2.0
Customizers
This component does not have a customizer however this component relies on custom
styles. The example below has the styles defined here:
Examples
SPCDataTypeSelector
1004
MES Platform 2.0
General
Description
Properties
1005
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
1006
MES Platform 2.0
This component does not have extension functions associated with it.
Event Handlers
editSampleAttribute
add
Property Description
edit
Property Description
remove
Property Description
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
1007
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1008
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
1009
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1010
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1011
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1012
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
1013
MES Platform 2.0
Property Description
Customizers
Table Customizer
Table Customizer manages the data entered into the Definition Attribute List.
Column Configuration
Examples
There is no need for SQL queries or scripting to display sample definition attributes. If the
Definition List component is on the same screen, the Definition Attribute List will find the
Definition List component and register as a listener. Anytime the sample definition changes
or the users selects a different sample definition, the Definition Attribute List the attributes
will be updated automatically.
SPCDefAttributeList
1015
MES Platform 2.0
General
Description
A component that provides a list of control limits to apply to a sample definition. All control
limits that are configured in the project will appear in the list and can be selected by the
user. Control limits that are selected by the user will be available to show on control charts
and may be used during automatic signal evaluation.
Properties
1016
MES Platform 2.0
Scripting
1017
MES Platform 2.0
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1018
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
1019
MES Platform 2.0
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
1020
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1021
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1022
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
1023
MES Platform 2.0
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
There is no need for SQL queries or scripting to display control limits. If the Definition List
component is on the same screen, the Definition Control Limit List will find the Definition
List component and register as a listener. Anytime the sample definition changes or the
users selects a different sample definition, the Definition Control Limit List will be updated
automatically.
1024
MES Platform 2.0
SPCDefinitionCLList
Definition List
General
Description
A component that provides a list of sample definitions. A sample definition defines the
attributes (measurements), locations, control limits and out of control signals to use for
samples. It allows for adding, editing and deleting samples and works with the Definition
Attribute List, Definition Location List, Definition Control Limit List and Definition Signals
List components.
Properties
1025
MES Platform 2.0
1026
MES Platform 2.0
Scripting
Scripting Functions
save
Description
Save changes to the currently selected sample definition .
Parameters
None
Return
Nothing
Scope
Client
cancel
Description
Undo the changes to the currently selected sample definition.
Parameters
None
Return
Nothing
Scope
Client
getSampleDefinition
Description
Return the currently selected sample definition.
Parameters
None
Return
The currently selected sample definition.
Scope
Client
1027
MES Platform 2.0
addSampleDefinition
Description
Add the sample definition specified in the parameter.
Parameters
None
Return
Nothing
Scope
Client
updateSampleDefinition
Description
Update the sample definition specified in the parameter.
Parameters
None
Return
Nothing
Scope
Client
refresh
Description
Refresh the currently selected sample definition. This causes any associated
components such as the Definition Attribute List to also be refreshed.
Parameters
None
Return
Nothing
Scope
Client
Extension Functions
1028
MES Platform 2.0
This component does not have extension functions associated with it.
Event Handlers
editSampleDefinition
This event fires when the mouse enters the space over the source component.
add
Property Description
edit
Property Description
remove
Property Description
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
1029
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1030
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
1031
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1032
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1033
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1034
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
1035
MES Platform 2.0
Property Description
Customizers
Table Customizer
Table Customizer manages the data entered into the Definition List component.
Column Configuration
1036
MES Platform 2.0
1037
MES Platform 2.0
Examples
There is no need for SQL queries or scripting to display sample definitions. The SPC
Module will send notifications to each client with a Definition List component being
displayed when there is a change to any sample definitions made by another user. This
event-based functionality optimizes updates, reducing database updates and network
bandwidth.
1038
MES Platform 2.0
General
Description
A component that provides a list of production locations that a sample can be taken from
for the associated sample definition. In other words, a test is defined (sample definition)
and it has locations that are appropriate to take the test at (production location). There is
no need for SQL queries or scripting to display allowable locations. If the Definition List
component is on the same screen, the Definition Location List will find the Definition List
component and register as a listener. Anytime the sample definition changes or the users
selects a different sample definition, the Definition Location List will be updated
automatically.
Properties
1039
MES Platform 2.0
Scripting
1040
MES Platform 2.0
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
editSampleLocation
add
Property Description
edit
Property Description
remove
Property Description
mouse
mouseClicked
1041
MES Platform 2.0
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1042
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1043
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1044
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1045
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1046
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
1047
MES Platform 2.0
Property Description
Customizers
Table Customizer
Table Customizer manages the data entered into the Definition Location List.
Column Configuration
Examples
SPCDefinitionLocationList
1049
MES Platform 2.0
Definition Selector
General
Description
A component that allows selection of sample definitions. One source of sample definitions
is from the definition management screen that uses the Definition List component. There is
no need for SQL queries or scripting to display the data types.
Properties
1050
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
1051
MES Platform 2.0
focus
focusGained
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
focusLost
This event occurs when a component that had the input focus lost it to another
component.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
key
keyPressed
An integer that indicates whether the state was changed to "Selected" (on) or
"Deselected" (off). Compare this to the event object's constants to determine what the
new state is.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
1052
MES Platform 2.0
Property Description
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyReleased
Fires when a key is released and the source component has the input focus. Works for
all characters, including non-printable ones, such as SHIFT and F3.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
1053
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyTyped
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1054
MES Platform 2.0
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
1055
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1056
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
1057
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1058
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
This component does not have a customizer however this component relies on custom
styles. The example below has the styles defined here:
1059
MES Platform 2.0
Examples
SPCDefinitionSelector
1060
MES Platform 2.0
at packaging line 1 every 1 hour. When the lab takes a sample, they don't want to see
information that the operator has ownership for and visa versa. To accomplish this, set the
tag value to "Lab" for sample definitions that the lab has ownership for and to "Operator"
for sample definitions that the operator has ownership for.
General
Description
A component that provides a list of signals (rules) to apply to a sample definition. All
signals that are configured in the project will appear in the list and can be selected by the
user. Signals that are selected by the user will be available to show on control charts and
will be automatically evaluated when new samples are added.
Properties
1061
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
1062
MES Platform 2.0
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1063
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
1064
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
1065
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1066
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1067
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which
is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
1068
MES Platform 2.0
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
There is no need for SQL queries or scripting to display signals. If the Definition List
component is on the same screen, the Definition Signals List will find the Definition List
component and register as a listener. Anytime the sample definition changes or the users
selects a different sample definition, the Definition Signals List will be updated
automatically.
1069
MES Platform 2.0
SPCDefinitionSignalList
Interval Selector
General
Description
A component that allows selection of sample intervals. All intervals that are configured in
the project will appear in the list and can be selected by the user. See the Sample Intervals
section for more information on intervals. There is no need for SQL queries or scripting to
display intervals.
Properties
1070
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
focus
focusGained
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
Property Description
oppositeComponent
1071
MES Platform 2.0
Property Description
focusLost
This event occurs when a component that had the input focus lost it to another
component.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
key
keyPressed
An integer that indicates whether the state was changed to "Selected" (on) or
"Deselected" (off). Compare this to the event object's constants to determine what the
new state is.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
1072
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyReleased
Fires when a key is released and the source component has the input focus. Works for
all characters, including non-printable ones, such as SHIFT and F3.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1073
MES Platform 2.0
keyTyped
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
1074
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1075
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
1076
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1077
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
1078
MES Platform 2.0
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
This component does not have a customizer however this component relies on custom
styles. The example below has the styles defined here:
1079
MES Platform 2.0
Examples
SPCIntervallSelector
Interval Selector
1080
MES Platform 2.0
General
Description
A component that displays samples for a location and optionally by sample ownership.
Through configuration properties, it can show samples that are scheduled to be coming
due, due, overdue, or waiting approval or approved. There is no need for SQL queries or
scripting to display the samples.
Properties
1081
MES Platform 2.0
flag to determine
whether not whole-
rows, whole-
columns, or both.
1082
MES Platform 2.0
1083
MES Platform 2.0
1084
MES Platform 2.0
Scripting
Scripting Functions
createByDefUUID
Description
Create a new sample based on the sample definition specified by the defUUID
parameter .
Parameters
String defUUID - Sample definition UUID to base the new sample on. A UUID is a
universally unique identifier that, once assigned to a sample definition, will never
change. It is automatically generated when a sample definition is created and is
unique in that no two samples definitions will have the same UUID.
Return
Sample Object - An instance of a new sample.
Scope
Client
createByDefName
Description
Create a new sample based on the sample definition specified by the defName
parameter .
Parameters
String defName - Sample definition name to base the new sample on.
Return
Sample Object - An instance of a new sample.
Scope
Client
update
Description
Create a new sample based on the sample definition specified by the defName
parameter .
Parameters
1085
MES Platform 2.0
This is the sample to either update, if it already exists, or add, if it does not already
exist.
Return
String Message of any errors that may have occurred during the update operation.
Scope
Client
exclude
Description
Excludes the sample specified by uuid parameter.
Parameters
String sampleUUID - The UUID to an existing sample to exclude.
Return
String Message of any errors that may have occurred during the operation.
Scope
Client
include
Description
Includes the sample specified by uuid parameter.
Parameters
String sampleUUID - The UUID to an existing sample to include.
Return
String Message of any errors that may have occurred during the operation.
Scope
Client
approve
Description
Approve the sample specified by the sample parameter .
Parameters
Sample Object - This is the sample to approve.
Return
String Message of any errors that may have occurred during the approve operation.
1086
MES Platform 2.0
Scope
Client
unapprove
Description
Unapprove the sample specified by the sample parameter .
Parameters
Sample Object - This is the sample to unapprove.
Return
String Message of any errors that may have occurred during the unapprove operation.
Scope
Client
showEditNotePopup
Description
Show the note popup to allow the user to add or edit the note tied to the currently
selected sample.
Parameters
None
Return
Nothing
Scope
Client
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
editSampleLocation
add
1087
MES Platform 2.0
Property Description
edit
Property Description
remove
Property Description
approve
Property Description
unapprove
Property Description
review
1088
MES Platform 2.0
Property Description
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1089
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
1090
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
1091
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1092
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1093
MES Platform 2.0
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
1094
MES Platform 2.0
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Table Customizer
Table Customizer manages the data entered into the Location Sample List component.
Column Configuration
1095
MES Platform 2.0
Next »
Examples
1096
MES Platform 2.0
Location Selector
General
Description
A component that allows selection of production locations. Production locations are defined
in the production model using the Ignition Designer. See Production Model Overview for
more information. There is no need for SQL queries or scripting to display locations. The
selected location is reflected in Selected Location Name, Path and Location ID properties.
Properties
1097
MES Platform 2.0
1098
MES Platform 2.0
1099
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
focus
focusGained
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
1100
MES Platform 2.0
1101
MES Platform 2.0
allowed for
the
dropdown
table.
focusLost
This event occurs when a component that had the input focus lost it to another
component.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
key
keyPressed
An integer that indicates whether the state was changed to "Selected" (on) or
"Deselected" (off). Compare this to the event object's constants to determine what the
new state is.
1102
MES Platform 2.0
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyReleased
Fires when a key is released and the source component has the input focus. Works for
all characters, including non-printable ones, such as SHIFT and F3.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation
1103
MES Platform 2.0
Property Description
Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyTyped
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown
1104
MES Platform 2.0
Property Description
True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1105
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
1106
MES Platform 2.0
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
1107
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1108
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
1109
MES Platform 2.0
This component does not have a customizer however this component relies on custom
styles. The example below has the styles defined here:
Custom Properties
The custom properties can be used to add user defined properties.
1110
MES Platform 2.0
Examples
SPCLocationSelector
Location Selector
Sample Entry
General
Description
A component used to display and enter sample measurement data. The entry fields are
dynamically created based on attributes defined in the sample definition. Additionally, the
number of measurements are defined by the measurement count setting in the sample
definition. The Up Down Traversal property can be used to change the field tab order
between column and row. When saving, the measurement data is validated, and if any
validation errors exists a message is displayed to the user.
Properties
1112
MES Platform 2.0
1113
MES Platform 2.0
The name of
the user that is
recording the
sample.
Scripting
Scripting Functions
getSample()
Description
Returns an existing sample. (See Sample section for more information).
Parameters
None
Return
Sample sample - An existing Sample.
Scope
Client
getSampleUUID()
Description
Returns the uuid of existing sample. (See Sample section for more information).
Parameters
None
Return
String sampleUUID - The uuid of the existing Sample.
Scope
Client
1114
MES Platform 2.0
save
Description
Save changes made to the measurement values. This method also records the current
product code and reference number for the production location.
Parameters
None
Return
String Message of any errors that may have occurred during the save operation.
Scope
Client
save(productCode, refNo)
Description
Save changes made to the measurements values along with a product code and
reference number specified in the parameters.
Parameters
String productCode - Product code to record along with the measurement values.
String refNo - Reference number to record along with the measurement values.
Return
String Message of any errors that may have occurred during the save operation.
Scope
Client
populateMeasurements(measurementValues)
Description
Populate the list of measurement values.
Parameters
Map<String, List<Object>> measurementValues - The list of measurement values to
be populated.
Return
Nothing
Scope
Client
populateMeasurement(attributeName, measurementNo, value)
1115
MES Platform 2.0
Description
Populate the measurement into the sample entry component.
Parameters
String attributeName - Name of the attribute to return the measurement value for.
Integer measurementNo - The measurement number associated with the sample.
Object value - The value of the measurement.
Return
Nothing
Scope
Client
populateMeasurement(attributeName, value, moveToNextMeasurement)
Description
Populate the measurement into the sample entry component.
Parameters
String attributeName - Name of the attribute to return the measurement value for.
Object value - The value of the measurement.
Boolean moveToNextMeasurement - True if the value moved to the next
measurement.
Return
Nothing
Scope
Client
populateMeasurement(value, moveToNextMeasurement)
Description
Populate the measurement into the sample entry component.
Parameters
Object value - The value of the measurement.
Boolean moveToNextMeasurement - True if the value moved to the next
measurement.
Return
Nothing
1116
MES Platform 2.0
Scope
Client
selectMeasurement(attributeName, measurementNo)
Description
Selects the measurement specified by the attributeName and measurementNo.
Parameters
String attributeName - Name of the attribute to select the measurement for.
Integer measurementNo - The measurement number associated with the sample.
Return
Nothing
Scope
Client
clearMeasurementValues
Description
Removes all the measurement values.
Parameters
None
Return
Nothing
Scope
Client
undo
Description
Any changed measurement values will be restored to their original values.
Parameters
None
Return
Nothing
Scope
Client
approve
1117
MES Platform 2.0
Description
Approve the current sample .
Parameters
None
Return
String Message of any errors that may have occurred during the approve operation.
Scope
Client
unapprove
Description
Unapprove the current sample .
Parameters
None
Return
String Message of any errors that may have occurred during the unapprove operation.
Scope
Client
exclude
Description
Excludes the sample specified by uuid parameter.
Parameters
String sampleUUID - The UUID to an existing sample to exclude.
Return
String Message of any errors that may have occurred during the operation.
Scope
Client
include
Description
Includes the sample specified by uuid parameter.
Parameters
String sampleUUID - The UUID to an existing sample to include.
1118
MES Platform 2.0
Return
String Message of any errors that may have occurred during the operation.
Scope
Client
showEditNotePopup
Description
Show the note popup to allow the user to add or edit the note tied to the currently
selected sample.
Parameters
None
Return
String Message of any errors that may have occurred during the show note operation.
Scope
Client
validateMeasurementLimits
Description
Checks if the measurement values are within the spec or control limit.
Parameters
None
Return
String Message of any errors that may have occurred during the validation.
Scope
Client
Extension Functions
measurementSelected
Description
Called for each measurement when selected. Do not block, sleep, or execute any I/O;
called on painting thread.
Parameters
1119
MES Platform 2.0
Event Handlers
mouse
mouseClicked
1120
MES Platform 2.0
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1121
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1122
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1123
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1124
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1125
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
1126
MES Platform 2.0
Property Description
Customizers
Examples
Depending on the measurement count defined in the sample definition, the orientation of
the edit fields will change. If the measurement count is greater than 1, then there will be a
row for each measurement with the attributes appearing horizontally. If the measurement
count is equal to 1, then the attributes appear vertically in separate rows. This reduces the
need for the user to have to scroll while entering sample data if there are a number of
attributes.
1127
MES Platform 2.0
SPCComponents
SPC Components
C-Chart
General
Description
1128
MES Platform 2.0
The Number of Nonconformities (c) control chart is used to display SPC results that have
nonconformities counts for each sample. It does not retrieve SPC results from the SPC
module so it must be used with either the SPC Selector or the SPC Controller components
that do. Only SPC results with c chart SPC Data Format specified will be displayed.
Properties
1129
MES Platform 2.0
1130
MES Platform 2.0
1131
MES Platform 2.0
on the
secondary
chart.
1132
MES Platform 2.0
1133
MES Platform 2.0
1134
MES Platform 2.0
The font to
use for the
labels.
Scripting
Scripting Functions
1135
MES Platform 2.0
This component does not have scripting functions associated with it.
Extension Functions
getNoteToolTip
Description
Called when tool tip content is generated for a note symbol. The default tool tip is
passed and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
getSampleToolTip
Description
Called when tool tip content is generated for a sample. The default tool tip is passed
and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
valueInfo - The SPCCalcValueInfo object that holds information about the value.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
beforeSampleDelete
Description
1136
MES Platform 2.0
Called before the sample be deleted. If return value is True, then the sample be
deleted.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample to be deleted.
Return
True
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
1137
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which
is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1138
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
1139
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1140
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
1141
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1142
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Right clicking the control chart will give the pop up menu items like Delete Sample, Edit
Note, Hide Point and Restore Hidden Points. SPC chart popup panel menu strings are
localizable. The alternate strings can be added through the Ignition translation manager
(not the component translation manager). Reopen the control chart page and right click on
a point to manifest the changes.
1143
MES Platform 2.0
Customizers
Examples
SPCCChart
C Control Chart
1144
MES Platform 2.0
Histogram Chart
General
Description
Properties
Through the use of the properties listed below, the appearance and functionality of this
component can be modified as desired.
1145
MES Platform 2.0
Tick Label Font tickLabelFont Chart Font The font of the tick
labels.
Tick Label Color tickLabelColor Chart Color The color of the tick
labels.
Value Axis Title valueAxisTitle Chart String Title to show for the
value axis.
Axis Title Font axisTitleFont Chart Font Font for both axis
titles.
1146
MES Platform 2.0
Scripting
Scripting Functions
showSetLimitPanel
Description
Causes the calculate and set control limit dialog to be shown.
Parameters
None
Return
Nothing
Scope
Client
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
1147
MES Platform 2.0
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
1148
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1149
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
1150
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1151
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1152
MES Platform 2.0
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
1153
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
SPCHistogram
Histogram Chart
1154
MES Platform 2.0
General
Description
The Individual Moving Range (MR) control chart is used to display SPC results that have a
single measurement for each sample. It does not retrieve SPC results from the SPC
module so it must be used with either the SPC Selector or the SPC Controller components
that do. Only SPC results with Individual and MR SPC Data Format specified will be
displayed.
Properties
1155
MES Platform 2.0
1156
MES Platform 2.0
1157
MES Platform 2.0
If true, show
notes on the
chart.
1158
MES Platform 2.0
Calculated
value
definitions.
1159
MES Platform 2.0
1160
MES Platform 2.0
1161
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
getNoteToolTip
Description
Called when tool tip content is generated for a note symbol. The default tool tip is
passed and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
1162
MES Platform 2.0
Client
getSampleToolTip
Description
Called when tool tip content is generated for a sample. The default tool tip is passed
and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
valueInfo - The SPCCalcValueInfo object that holds information about the value.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
beforeSampleDelete
Description
Called before the sample be deleted. If return value is True, then the sample be
deleted.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample to be deleted.
Return
True
Scope
Client
Event Handlers
mouse
mouseClicked
1163
MES Platform 2.0
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1164
MES Platform 2.0
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1165
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1166
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1167
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1168
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
1169
MES Platform 2.0
Property Description
Right clicking the control chart will give the pop up menu items like Delete Sample, Edit
Note, Hide Point and Restore Hidden Points. SPC chart popup panel menu strings are
localizable. The alternate strings can be added through the Ignition translation manager
(not the component translation manager). Reopen the control chart page and right click on
a point to manifest the changes.
Customizers
Examples
1170
MES Platform 2.0
General
Description
1171
MES Platform 2.0
The Median Moving Range (MR) control chart is used to display SPC results that have
multiple measurements for each sample. It does not retrieve SPC results from the SPC
module so it must be used with either the SPC Selector or the SPC Controller components
that do. Only SPC results with Median and MR SPC Data Format specified will be
displayed.
Properties
1172
MES Platform 2.0
1173
MES Platform 2.0
1174
MES Platform 2.0
on the
secondary
chart.
1175
MES Platform 2.0
1176
MES Platform 2.0
1177
MES Platform 2.0
The font to
use for the
labels.
Scripting
Scripting Functions
1178
MES Platform 2.0
This component does not have scripting functions associated with it.
Extension Functions
getNoteToolTip
Description
Called when tool tip content is generated for a note symbol. The default tool tip is
passed and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
getSampleToolTip
Description
Called when tool tip content is generated for a sample. The default tool tip is passed
and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
valueInfo - The SPCCalcValueInfo object that holds information about the value.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
beforeSampleDelete
Description
1179
MES Platform 2.0
Called before the sample be deleted. If return value is True, then the sample be
deleted.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample to be deleted.
Return
True
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
1180
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1181
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
1182
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1183
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
1184
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1185
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Right clicking the control chart will give the pop up menu items like Delete Sample, Edit
Note, Hide Point and Restore Hidden Points. SPC chart popup panel menu strings are
localizable. The alternate strings can be added through the Ignition translation manager
(not the component translation manager). Reopen the control chart page and right click on
a point to manifest the changes.
1186
MES Platform 2.0
Customizers
Examples
SPCMedian
1187
MES Platform 2.0
NP-Chart
General
Description
The Number of Nonconforming Items (np) control chart is used to display SPC results that
have nonconforming counts for each sample. It does not retrieve SPC results from the
SPC module so it must be used with either the SPC Selector or the SPC Controller
components that do. Only SPC results with np chart SPC Data Format specified will be
displayed.
Properties
1188
MES Platform 2.0
1189
MES Platform 2.0
1190
MES Platform 2.0
If true, show
notes on the
chart.
1191
MES Platform 2.0
Calculated
value
definitions.
1192
MES Platform 2.0
1193
MES Platform 2.0
1194
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
getNoteToolTip
Description
Called when tool tip content is generated for a note symbol. The default tool tip is
passed and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
1195
MES Platform 2.0
Client
getSampleToolTip
Description
Called when tool tip content is generated for a sample. The default tool tip is passed
and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
valueInfo - The SPCCalcValueInfo object that holds information about the value.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
beforeSampleDelete
Description
Called before the sample be deleted. If return value is True, then the sample be
deleted.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample to be deleted.
Return
The defaultToolTip.
Scope
Client
Event Handlers
mouse
mouseClicked
1196
MES Platform 2.0
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1197
MES Platform 2.0
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1198
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1199
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1200
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1201
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
1202
MES Platform 2.0
Property Description
Right clicking the control chart will give the pop up menu items like Delete Sample, Edit
Note, Hide Point and Restore Hidden Points. SPC chart popup panel menu strings are
localizable. The alternate strings can be added through the Ignition translation manager
(not the component translation manager). Reopen the control chart page and right click on
a point to manifest the changes.
Customizers
Examples
1203
MES Platform 2.0
SPCNPChart
NP Control Chart
Pareto Chart
General
Description
The Pareto chart is used to display which nonconforming items or nonconformities are the
largest issue. It does not retrieve SPC results from the SPC module so it must be used with
either the SPC Selector or the SPC Controller components that do. Only SPC results with
Pareto SPC Data Format specified will be displayed.
1204
MES Platform 2.0
Properties
Tick Label Font tickLabelFont Chart Font The font of the tick
labels.
Tick Label Color tickLabelColor Chart Color The color of the tick
labels.
1205
MES Platform 2.0
Axis Title Font axisTitleFont Chart Font Font for both axis
titles.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
1206
MES Platform 2.0
Extension Functions
getWeightedValue
Description
Called to update a category weighted value to use instead of the raw frequency
(count). The Show Weighted Values property must be set to True for this extension
function to be called.
Parameters
self - A reference to the component that is invoking this function.
category - The name of the nonconforming or nonconformity attribute.
weight - The weight value defined in the attribute. If a weight value has not been
defined for the attribute, then the default of 1.0 is used.
frequency - The frequency (count) value for the category before it is adjusted.
Return
The weighted value (frequency * weight).
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
1207
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
1208
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1209
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
1210
MES Platform 2.0
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
1211
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1212
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
1213
MES Platform 2.0
Examples
SPCPareto
Pareto Chart
P-Chart
General
Description
1214
MES Platform 2.0
The Percentage of Nonconforming Items (p) control chart is used to display SPC results
that have nonconforming counts for each sample. It does not retrieve SPC results from the
SPC module so it must be used with either the SPC Selector or the SPC Controller
components that do. Only SPC results with p chart SPC Data Format specified will be
displayed.
Properties
1215
MES Platform 2.0
1216
MES Platform 2.0
1217
MES Platform 2.0
on the
secondary
chart.
1218
MES Platform 2.0
1219
MES Platform 2.0
1220
MES Platform 2.0
The font to
use for the
labels.
Scripting
Scripting Functions
1221
MES Platform 2.0
This component does not have scripting functions associated with it.
Extension Functions
getNoteToolTip
Description
Called when tool tip content is generated for a note symbol. The default tool tip is
passed and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
getSampleToolTip
Description
Called when tool tip content is generated for a sample. The default tool tip is passed
and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
valueInfo - The SPCCalcValueInfo object that holds information about the value.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
beforeSampleDelete
Description
1222
MES Platform 2.0
Called before the sample be deleted. If return value is True, then the sample be
deleted.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample to be deleted.
Return
True
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
1223
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1224
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
1225
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1226
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
1227
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1228
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Right clicking the control chart will give the pop up menu items like Delete Sample, Edit
Note, Hide Point and Restore Hidden Points. SPC chart popup panel menu strings are
localizable. The alternate strings can be added through the Ignition translation manager
(not the component translation manager). Reopen the control chart page and right click on
a point to manifest the changes.
1229
MES Platform 2.0
Customizers
Examples
SPCPChart
P Control Chart
General
Description
Properties
1231
MES Platform 2.0
Tick Label Font tickLabelFont Chart Font The font of the tick
labels.
Spec Limit specLimitColor Chart Color Color of the lsl and usl
Color lines.
Control Limit controlLimitColor Chart Color Color of the lcl and ucl
Color lines.
1232
MES Platform 2.0
Value Axis Title valueAxisTitle Chart String Title to show for the
value axis.
Axis Title Font axisTitleFont Chart Font Font for both axis titles.
1233
MES Platform 2.0
Scripting
Scripting Functions
showSetLimitPanel
Description
Causes the calculate and set control limit dialog to be shown.
Parameters
String chartName - Which chart to show the control limit dialog for. Available options
are "Primary".
Return
Nothing
Scope
Client
1234
MES Platform 2.0
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1235
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
1236
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
1237
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1238
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1239
MES Platform 2.0
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
1240
MES Platform 2.0
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
General
1241
MES Platform 2.0
Description
Properties
Tick Label Font tickLabelFont Chart Font The font of the tick
labels.
1242
MES Platform 2.0
Spec Limit specLimitColor Chart Color Color of the lsl and usl
Color lines.
Control Limit controlLimitColor Chart Color Color of the lcl and ucl
Color lines.
Value Axis Title valueAxisTitle Chart String Title to show for the
value axis.
Axis Title Font axisTitleFont Chart Font Font for both axis titles.
1243
MES Platform 2.0
1244
MES Platform 2.0
Scripting
Scripting Functions
showSetLimitPanel
Description
Causes the calculate and set control limit dialog to be shown.
Parameters
String chartName - Which chart to show the control limit dialog for. Available options
are "Primary".
Return
Nothing
Scope
Client
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
1245
MES Platform 2.0
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1246
MES Platform 2.0
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1247
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1248
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1249
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1250
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
1251
MES Platform 2.0
Property Description
Customizers
Examples
SPC Controller
General
Description
An invisible component that makes SPC data available for reports and other components.
The term invisible component means that this component appears during design time, but
is not visible during runtime.
Properties
1252
MES Platform 2.0
1253
MES Platform 2.0
1254
MES Platform 2.0
1255
MES Platform 2.0
include in the
histogram
results.
Scripting
Scripting Functions
update
Description
Causes the SPC results to be updated.
Parameters
None
Return
Nothing
Scope
Client
refreshInfo
Description
Causes the sample definition information to be refreshed.
Parameters
None
Return
1256
MES Platform 2.0
Nothing
Scope
Client
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
sPCUpdate
beforeUpdate
Is fired just before SPC results are requested from the SPC module.
Property Description
afterUpdate
Is fired just after SPC results are requested from the SPC module.
Property Description
Customizers
Examples
1257
MES Platform 2.0
In cases where the SPC Selector offers too many options to the user, this component can be
used. It has all of the same functionality as the SPC Selector but without the user interface.
This means property bindings or script must be used to make the filter, compare by and data
point selections. It also is used for providing data to canned reports and optionally allowing the
user to make limited filter options.
To display the SPC results of this component in a control chart, bind the SPC Results property
of the control chart to the SPC Results property of this component.
SPC Selector
General
Description
A component that allows selections of SPC data. As the user makes selections, this
component will query the server for results. These results can be accessed through the
SPC Results and SPC Data and can be linked with any of the SPC control charts.
Properties
1258
MES Platform 2.0
1259
MES Platform 2.0
SPC Results
including data,
measurement
count and
calculated
value
information.
1260
MES Platform 2.0
If true, sample
attributes that
are disabled
will be
included.
1261
MES Platform 2.0
If true, uses
the default
chart type
from the
attribute
definition.
1262
MES Platform 2.0
Scripting
Scripting Functions
refreshInfo
Description
Force refresh of the SPC results.
Parameters
None
Return
Nothing
Scope
Client
setSpcDataFormat
Description
Change to format if the SPC data to return.
Parameters
spcDataFormat - Format of the SPC data to return.
None 0
XBarR 1
XBarS 2
Individual 3
Median 4
U 5
C 6
1263
MES Platform 2.0
P 7
NP 8
Histogram 9
Pareto 10
Return
Nothing
Scope
Client
setRowLimit
Description
Change the default number of samples to return to the value specified in the rowLimit
parameter. By default only 500 samples are returned in the SPC results. This is done
to unburden the database, network bandwidth and memory.
Parameters
int rowLimit - New row limit.
Return
Nothing
Scope
Client
getRowLimit
Description
Returns the current row limit value.
Parameters
None
Return
Nothing
Scope
1264
MES Platform 2.0
Client
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown
1265
MES Platform 2.0
Property Description
True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
1266
MES Platform 2.0
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
1267
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1268
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1269
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
1270
MES Platform 2.0
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
SPC Selector
1271
MES Platform 2.0
A filter can be added by selecting the link to the right of Filter By. A window panel
will open and filter categories will be displayed. Click the link by the filter category and
specific filter items will be displayed. When selected they will be added to the filters as
shown below. To minimize the number of filter options, reduce the date range defined by
the Start Date and End Date properties and the associated filter values will be shown.
Because values collected from different locations being shown together does not make
sense, a location must be added to the Filter By section.
Filter By List
Sample definitions can have more than one attribute. At the time sample data is recorded,
each attribute will have a value associated with it. For example, when collecting viscosity
reading it may also be important to know the temperature. But, showing and making
calculations on a viscosity value of 10000 with a temperature value of 75.2 does not make
sense. The SPC Selector allow selecting a single attribute as shown below.
If an attribute type of sample definition is selected, then the Attribute section will not
appear. This is because with attribute charts, all attributes are included as shown. For
example, if a sample definition has an attribute for Torn, Discolored, Pitted, etc. then all will
show in the table and is included for calculations.
1272
MES Platform 2.0
Attribute Selection
Similar to filters, control limits and signals can be added to the SPC results. Any selected
control limits, and signals that depend on them, will not appear on the control chart until the
control limit value has been set.
Selections can be removed by selecting the link to the left of the selection.
To display the SPC results of this component in a control charts, bind the SPC Results
property of the control chart to the SPC Results property of this component.
General
Description
1273
MES Platform 2.0
A component that allows creating, recalling and saving SPC selections in the SPC Selector
component. This component will automatically use the available SPC Selector in the
container. Keep in mind that whenever a new sample definition is created, the new stored
SPC settings items will be created with the default values. This being said, additional
stored SPC settings items can be created each with different filters, attribute, control limits
and signals.
Properties
Show Menu showMenu Appearance Boolean Display the menu for the
selector.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
1274
MES Platform 2.0
This component does not have extension functions associated with it.
Event Handlers
Event Handlers
menu
userMenuItemClicked
This event fires when the menu item is clicked, or if the user selects the menu
item using the keyboard and presses the Enter key. It can also occur if an access
key or shortcut key is pressed that is associated with the MenuItem.
Property Description
1275
MES Platform 2.0
Property Description
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed
and released events have fired.
Property Description
button The code for the button that caused this event to fire.
1276
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
1277
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1278
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false
(0) otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
1279
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
1280
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent,
which is why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
1281
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false
(0) otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works
for standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that
not all components include an accurate oldValue in their
events.
settings
selected
Is fired when a different SPC Settings item is selected menu item is selected.
1282
MES Platform 2.0
Property Description
settings The SPCSettings object that contains the filter, attribute, control
limit and signal selections.
created
Property Description
settings The SPCSettings object that contains the filter, attribute, control
limit and signal selections.
deleted
Property Description
settings The SPCSettings object that contains the filter, attribute, control
limit and signal selections.
renamed
1283
MES Platform 2.0
Property Description
settings The SPCSettings object that contains the filter, attribute, control
limit and signal selections.
Customizers
Examples
By clicking on the link, a menu with the option to create new, save, delete and
rename SPC settings will popup.
To add a new saved SPC settings item, click on New menu item, enter a name, select a
sample definition and click OK. This will create a default SPC Settings item. Now the user
can select filters, attribute, control limits and signals that will be saved and can easily be
selected at a later time.
1284
MES Platform 2.0
StoredSPCSettingsNew
U-Chart
General
Description
1285
MES Platform 2.0
The Percentage of Nonconformities (u) control chart is used to display SPC results that
have nonconformities counts for each sample. It does not retrieve SPC results from the
SPC module so it must be used with either the SPC Selector or the SPC Controller
components that do. Only SPC results with u chart SPC Data Format specified will be
displayed.
Properties
1286
MES Platform 2.0
1287
MES Platform 2.0
1288
MES Platform 2.0
on the
secondary
chart.
1289
MES Platform 2.0
1290
MES Platform 2.0
1291
MES Platform 2.0
The font to
use for the
labels.
Scripting
Scripting Functions
1292
MES Platform 2.0
This component does not have scripting functions associated with it.
Extension Functions
getNoteToolTip
Description
Called when tool tip content is generated for a note symbol. The default tool tip is
passed and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
getSampleToolTip
Description
Called when tool tip content is generated for a sample. The default tool tip is passed
and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
valueInfo - The SPCCalcValueInfo object that holds information about the value.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
beforeSampleDelete
Description
1293
MES Platform 2.0
Called before the sample be deleted. If return value is True, then the sample be
deleted.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample to be deleted.
Return
True
Scope
Client
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
1294
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1295
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
1296
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1297
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
1298
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1299
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Right clicking the control chart will give the pop up menu items like Delete Sample, Edit
Note, Hide Point and Restore Hidden Points. SPC chart popup panel menu strings are
localizable. The alternate strings can be added through the Ignition translation manager
(not the component translation manager). Reopen the control chart page and right click on
a point to manifest the changes.
1300
MES Platform 2.0
Customizers
Examples
SPCUChart
U Control Chart
1301
MES Platform 2.0
General
Description
The XBar Range control chart is used to display SPC results that have multiple
measurements for each sample. It does not retrieve SPC results from the SPC module so
it must be used with either the SPC Selector or the SPC Controller components that do.
Only SPC results with XBar and Range SPC Data Format specified will be displayed.
Properties
1302
MES Platform 2.0
The message
to show when
there is no
data.
1303
MES Platform 2.0
1304
MES Platform 2.0
If true, show
notes on the
chart.
1305
MES Platform 2.0
Calculated
value
definitions.
1306
MES Platform 2.0
1307
MES Platform 2.0
1308
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
getNoteToolTip
Description
Called when tool tip content is generated for a note symbol. The default tool tip is
passed and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
1309
MES Platform 2.0
Client
getSampleToolTip
Description
Called when tool tip content is generated for a sample. The default tool tip is passed
and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
valueInfo - The SPCCalcValueInfo object that holds information about the value.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The defaultToolTip.
Scope
Client
beforeSampleDelete
Description
Called before the sample be deleted. If return value is True, then the sample be
deleted.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample to be deleted.
Return
True
Scope
Client
Event Handlers
mouse
mouseClicked
1310
MES Platform 2.0
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1311
MES Platform 2.0
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1312
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1313
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1314
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1315
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
propertyName
1316
MES Platform 2.0
Property Description
Right clicking the control chart will give the pop up menu items like Delete Sample, Edit
Note, Hide Point and Restore Hidden Points. SPC chart popup panel menu strings are
localizable. The alternate strings can be added through the Ignition translation manager
(not the component translation manager). Reopen the control chart page and right click on
a point to manifest the changes.
Customizers
Examples
1317
MES Platform 2.0
SPCXBarR
General
Description
The XBar Standard Deviation (S) control chart is used to display SPC results that have
multiple measurements for each sample. It does not retrieve SPC results from the SPC
module so it must be used with either the SPC Selector or the SPC Controller components
that do. Only SPC results with XBar and S SPC Data Format specified will be displayed.
1318
MES Platform 2.0
Properties
1319
MES Platform 2.0
1320
MES Platform 2.0
1321
MES Platform 2.0
1322
MES Platform 2.0
Calc The
Background background
color of the
calculated
values.
1323
MES Platform 2.0
The
background
color of the
date row.
1324
MES Platform 2.0
The
foreground
color of the
labels.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
1325
MES Platform 2.0
Extension Functions
getNoteToolTip
Description
Called when tool tip content is generated for a note symbol. The default tool tip is
passed and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The default tool tip.
Scope
Client
getSampleToolTip
Description
Called when tool tip content is generated for a sample. The default tool tip is passed
and can be modified or replaced.
Parameters
self - A reference to the component that is invoking this function.
sampleUUID - The UUID of the sample that the tool tip is being generated for.
valueInfo - The SPCCalcValueInfo object that holds information about the value.
defaultToolTip - The default tool tip that can be modified or replaced.
Return
The default tool tip.
Scope
Client
beforeSampleDelete
Description
Called before the sample be deleted. If return value is True, then the sample be
deleted.
Parameters
1326
MES Platform 2.0
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1327
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
1328
MES Platform 2.0
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
1329
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1330
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1331
MES Platform 2.0
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
1332
MES Platform 2.0
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Right clicking the control chart will give the pop up menu items like Delete Sample, Edit
Note, Hide Point and Restore Hidden Points. SPC chart popup panel menu strings are
localizable. The alternate strings can be added through the Ignition translation manager
(not the component translation manager). Reopen the control chart page and right click on
a point to manifest the changes.
1333
MES Platform 2.0
Customizers
Examples
SPCXBarS
General
1334
MES Platform 2.0
Description
A component that is added to manage a multiple recipes. This is just one method of
managing recipes and for more information on the other methods see the Editing Recipes
section.
Properties
1335
MES Platform 2.0
Recipe state
filter, including *
and ? wildcard
characters, to
filter results by
recipe state.
1336
MES Platform 2.0
The background
color of selected
cells.
1337
MES Platform 2.0
Scripting
Scripting Functions
This component does not have script functions associated with it.
1338
MES Platform 2.0
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
1339
MES Platform 2.0
Property Description
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
1340
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
1341
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
1342
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1343
MES Platform 2.0
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
1344
MES Platform 2.0
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Examples
Property Value
Name
1345
MES Platform 2.0
General
Description
A component that is added to display recipe change log history in a table. This is just one
method of viewing a recipe change log history and for more information on the other
methods see the Recipe Change Log section. This component simplifies displaying a
recipe changes log by handling all of the backend database queries based on the property
settings of the component.
Properties
1346
MES Platform 2.0
1347
MES Platform 2.0
1348
MES Platform 2.0
The foreground
color of a
selected cell.
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
1349
MES Platform 2.0
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
1350
MES Platform 2.0
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1351
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
1352
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1353
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1354
MES Platform 2.0
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
1355
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Table Customizer
Table Customizer manages the data entered into the Recipe Change Log Viewer.
Examples
1356
MES Platform 2.0
Recipe Editor
General
Description
A component that is added to manage recipes. This is just one method of managing
recipes and for more information on the other methods see the Editing Recipes section.
Properties
1357
MES Platform 2.0
shown. ? and
* can be used
as wildcards
1358
MES Platform 2.0
1359
MES Platform 2.0
recipe values
created by the
OEE module
and 3 is
recipe values
created by the
SPC module.
Use \
1360
MES Platform 2.0
A dataset that
stores user
menu items.
1361
MES Platform 2.0
1362
MES Platform 2.0
single sub
recipe for a
production
item.
1363
MES Platform 2.0
The relative
path of an
icon image
appearing for
the delete
menu item.
1364
MES Platform 2.0
Scripting
1365
MES Platform 2.0
Scripting Functions
changeLocalizationString
Description
Any of the text that is displayed in the recipe editor change be changed. For example,
displaying Recipes for the root recipe node can be replaced with Products. This can
be done for any static text in the recipe editor including menu items.
Parameters
String key - The key to the string value to change.
Recipe Editor component keys:
node.recipes
node.default.values
node.subrecipes
node.subrecipes.default
node.descendants
node.subrecipes.default
menu.recipe.add
menu.recipe.delete
menu.recipe.rename
menu.value.revert
menu.recipe.revertvalues
menu.value.read
menu.recipe.setvalues
menu.value.security
menu.recipe.selectitems
menu.subrecipe.add
menu.subrecipe.delete
menu.subrecipe.rename
menu.recipe.import
menu.recipe.export
panel.item.select.inst
1366
MES Platform 2.0
panel.security.inst
panel.note.inst
panel.cancel.desc
panel.ok.desc
String displayText - The new text to replace the existing display text.
Return
Nothing
Scope
Client
Code Examples
Code Snippet
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
menu
userMenuItemClicked
1367
MES Platform 2.0
This event fires when the menu item is clicked, or if the user selects the menu item
using the keyboard and presses the Enter key. It can also occur if an access key or
shortcut key is pressed that is associated with the MenuItem.
Property Description
menuItemName Name of the user menu item that triggered the event.
nodeName Name of the node. This is the same as the name of the
MES object that is associated with the node.
objectType Name of the MES object type that is associated with the
node.
1368
MES Platform 2.0
Property Description
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1369
MES Platform 2.0
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1370
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
1371
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1372
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1373
MES Platform 2.0
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
1374
MES Platform 2.0
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
General
Description
A component that is added to Ignition windows to manage a single recipe. This is just one
method of managing recipes and for more information on the other methods see the
Editing Recipes section.
Properties
1375
MES Platform 2.0
1376
MES Platform 2.0
determine whether
not whole-rows,
whole-columns, or
both.
1377
MES Platform 2.0
Scripting
Scripting Functions
activateRecipe
Description
This script will activate the current recipe name on the selected item path using the
Manual Values entered in the table.
Parameters
None
Return
A String representing any error that was encountered. The string will be blank if the
recipe was successfully activated.
Scope
Client
Code Examples
1378
MES Platform 2.0
Code Snippet
recipeEditorTable = event.source.parent.getComponent('Rec
ipe Editor Table')
result = recipeEditorTable.activateRecipe()
if result != '':
system.gui.messageBox(result, "Recipe activation error")
updateLiveValues
Description
This script will update the live values of the recipe referenced tags in the table.
Parameters
None
Return
A String representing any error that was encountered. The string will be blank if the
recipe was successfully activated.
Scope
Client
saveRecipe
Description
This script will update the settings for the recipe with the current live recipe values.
Parameters
None
Return
A String representing any error that was encountered. The string will be blank if the
recipe was successfully activated.
Scope
Client
reset
Description
This script will reset the manual values to the recipe settings value.
Parameters
1379
MES Platform 2.0
None
Return
None
Scope
Client
Extension Functions
getBackgroundAt
Description
Called for each cell, returns the appropriate background color. Do not block, sleep, or
execute any I/O; called on painting thread.
Parameters
self - A reference to the component that is invoking this function.
row - The row index of the cell.
col - The column index of the cell.
isSelected - A boolean representing if this cell is currently selected.
value - The value in the table's dataset at index [row, col]
defaultColor - The color the table would have chosen if this function was not
implemented.
Return
Default color
Scope
Client
getForegroundAt
Description
Called for each cell, returns the appropriate foreground (text) color. Do not block,
sleep, or execute any I/O; called on painting thread.
Parameters
self - A reference to the component that is invoking this function.
row - The row index of the cell.
1380
MES Platform 2.0
1381
MES Platform 2.0
Event Handlers
cell
cellEdited
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
Property Description
focus
focusGained
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
Property Description
oppositeComponent
1382
MES Platform 2.0
Property Description
focusLost
This event occurs when a component that had the input focus lost it to another
component.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
key
keyPressed
An integer that indicates whether the state was changed to "Selected" (on) or
"Deselected" (off). Compare this to the event object's constants to determine what the
new state is.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
1383
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyReleased
Fires when a key is released and the source component has the input focus. Works for
all characters, including non-printable ones, such as SHIFT and F3.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1384
MES Platform 2.0
keyTyped
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
1385
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1386
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
1387
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown
1388
MES Platform 2.0
Property Description
True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
1389
MES Platform 2.0
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
Table Customizer
Table Customizer manages the data entered into the Recipe Editor Table.
1390
MES Platform 2.0
Examples
To use the recipe table you must supply an item path and recipe name then the table will
populate with the related values.
It has the capability for end users to do the following recipe related tasks:
View the current tag values related to this recipe and equipment path. This can be set to
update at a specific interval.
Manually adjust the recipe value before writing it down to the tags.
Update the selected recipe with the current live values.
RecipeEditorTable_Main
The table coulmns displayed can be customized by using the standard Ignition table customizer
available by right clicking on the table component in the designer. The available fields are:
Name
The recipe value name
Recipe Setting
The set value assigned in the recipe
Live Value
The current live tag value referenced by this recipe value
Manual Value
A value that is manually set by the user. You must call a method of the component in order to
have this value affect the recipe or the tag value.
Description
The description of this recipe value
Units
1391
MES Platform 2.0
General
Description
A component that is added to Ignition windows to select recipes in a drop down list. This is
just one method of selecting a recipe for a production line, cell, cell group or location. For
more information on the other methods see the Selecting Recipes section. The Recipe
Selector Combo component is automatically updated when recipes are added, removed,
etc.
Properties
1392
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
1393
MES Platform 2.0
Event Handlers
focus
focusGained
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
focusLost
This event occurs when a component that had the input focus lost it to another
component.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
key
keyPressed
An integer that indicates whether the state was changed to "Selected" (on) or
"Deselected" (off). Compare this to the event object's constants to determine what the
new state is.
Property Description
keyCode
1394
MES Platform 2.0
Property Description
The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyReleased
Fires when a key is released and the source component has the input focus. Works for
all characters, including non-printable ones, such as SHIFT and F3.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
1395
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyTyped
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
1396
MES Platform 2.0
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1397
MES Platform 2.0
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1398
MES Platform 2.0
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
1399
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1400
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1401
MES Platform 2.0
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
1402
MES Platform 2.0
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
Customizers
This component does not have a customizer however this component relies on custom
styles. The example below has the styles defined here:
1403
MES Platform 2.0
Examples
General
Description
1404
MES Platform 2.0
A component that is added to Ignition windows to select recipes in a scrollable list. This is
just one method of selecting a recipe for a production line, cell, cell group or location. For
more information on the other methods see the Selecting Recipes section. The Recipe
Selector List component is automatically updated when recipes are added, removed, etc.
The current recipe selected is also automatically updated if the recipe changes from a
different source.
To select a recipe for a production item, the user can right click on a recipe then select the
Select Recipe menu item. To cancel a recipe, right click on the selected recipe then select
the Cancel Recipe menu item. This component also supports additional menu item to be
added by using the User Menu Items property and the userMenuItemClicked event.
Properties
1405
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
focus
focusGained
This event occurs when a component that can receive input, such as a text box,
receives the input focus. This usually occurs when a user clicks on the component or
tabs over to it.
1406
MES Platform 2.0
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
focusLost
This event occurs when a component that had the input focus lost it to another
component.
Property Description
oppositeComponent The other component involved in this focus change. That is,
the component that lost focus in order for this one to gain it,
or vise versa.
key
keyPressed
An integer that indicates whether the state was changed to "Selected" (on) or
"Deselected" (off). Compare this to the event object's constants to determine what the
new state is.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
1407
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyReleased
Fires when a key is released and the source component has the input focus. Works for
all characters, including non-printable ones, such as SHIFT and F3.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
1408
MES Platform 2.0
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
keyTyped
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
keyCode The key code for this event. Used with the keyPressed and
keyReleased events. See below for the key code constants.
keyChar The character that was typed. Used with the keyTyped event.
keyLocation Returns the location of the key that originated this key event. Some
keys occur more than once on a keyboard, e.g. the left and right shift
keys. Additionally, some keys occur on the numeric keypad. This
provides a way of distinguishing such keys. See the KEY_LOCATION
constants in the documentation. The keyTyped event always has a
location of KEY_LOCATION_UNKNOWN.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouse
mouseClicked
1409
MES Platform 2.0
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1410
MES Platform 2.0
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
1411
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1412
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
1413
MES Platform 2.0
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1414
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
button The code for the button that caused this event to fire.
1415
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
Customizers
This component does not have a customizer however this component relies on custom
styles. The example below has the styles defined here:
1416
MES Platform 2.0
Examples
General
Description
A component that is added to Ignition windows to display recipe variances in a table. This
is just one method of viewing a recipe variances and for more information on the other
methods see the Variance Monitoring section. The Recipe Variance Viewer is
1417
MES Platform 2.0
automatically updated when live recipe value variances are detected by the Recipe /
Changeover Module. The Show Full Details property will cause the initial values when the
recipe was selected, to also be included. This component simplifies displaying recipe
variances by handling all of the backend database queries based on the property settings
of the component.
Properties
1418
MES Platform 2.0
Optionally, limit
recipe variance
results to recipe
trackingUUID.
1419
MES Platform 2.0
1420
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
mouse
mouseClicked
This event signifies a mouse click on the source component. A mouse click the
combination of a mouse press and a mouse release, both of which must have
occurred over the source component. Note that this event fires after the pressed and
released events have fired.
Property Description
button The code for the button that caused this event to fire.
1421
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseEntered
This event fires when the mouse enters the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger
1422
MES Platform 2.0
Property Description
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseExited
This event fires when the mouse leaves the space over the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
1423
MES Platform 2.0
Property Description
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mousePressed
This event fires when a mouse button is pressed down on the source component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseReleased
1424
MES Platform 2.0
This event fires when a mouse button is released, if that mouse button's press
happened over this component.
Property Description
button The code for the button that caused this event to fire.
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMotion
mouseDragged
Fires when the mouse moves over a component after a button has been pushed.
Property Description
button The code for the button that caused this event to fire.
1425
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
mouseMoved
Fires when the mouse moves over a component, but no buttons are pushed.
Property Description
button The code for the button that caused this event to fire.
1426
MES Platform 2.0
Property Description
popupTrigger Returns True (1) if this mouse event is a popup trigger. What
constitutes a popup trigger is operating system dependent, which is
why this abstraction exists.
altDown True (1) if the Alt key was held down during this event, false (0)
otherwise.
controlDown True (1) if the Ctrl key was held down during this event, false (0)
otherwise.
shiftDown True (1) if the Shift key was held down during this event, false (0)
otherwise.
propertyChange
propertyChange
Fires whenever a bindable property of the source component changes. This works for
standard and custom (dynamic) properties.
Property Description
oldValue The value that this property was before it changed. Note that not all
components include an accurate oldValue in their events.
Customizers
1427
MES Platform 2.0
Table Customizer
Table Customizer manages the data entered into the Recipe Variance Viewer.
Examples
1. File Monitor
2. Serial Controller
File Monitor handles the functions for reading data in files, and Serial Controller handles the
functions for device communications.
General
1428
MES Platform 2.0
Not intended for very large files. Parsed Files are loaded into memory.
Description
An invisible component that handles detecting, reading and parsing functions to provide
reading data in files. The term invisible component means that this component appears
during design time, but is not visible during runtime.
Info
In design time, the last raw data read from a file can be sent to the selected template
defined by the Instrument Interface Name by right clicking on the component in the
Ignition designer and selecting the Send to Template menu item. This will also select
and display the template and replace the existing textual data with the last raw data
read.
If the Enable Monitoring property is selected and the designer is preview mode or
client has the window open that contains a file monitor component, this component will
actively look for files to process. The files that it will process are specified by the File
Path property and can contain wildcard characters.
This component will perform a test lock on the file prior to processing to insure that
writing to the file is complete. This prevents processing a file before it is ready. This is
an important feature, if processing of a file starts and data is still being written to the
file it will wither cause errors or incomplete data will be processed.
Properties
1429
MES Platform 2.0
Last File lastFileReadAt Status DateTime Date and time the last
Read At file was read at.
1430
MES Platform 2.0
Scripting Functions
read
Description
Check existence of and process one files. If multiple files exist only one file is processed
because the ParseResults are returned.
Parameters
None
Return
ParseResults - Returns a ParseResults object containing all the values that were parsed
from the raw data. See ParseResults object reference for more information about reading
values from the ParseResults object.
Scope
Client
read(fileName)
Description
Check existence of and process one files. If multiple files exist only one file is processed
because the ParseResults are returned.
Parameters
String fileName - File path to file to process if it exists.
Return
ParseResults - Returns a ParseResults object containing all the values that were parsed
from the raw data. See ParseResults object reference for more information about reading
values from the ParseResults object.
Scope
Client
parseText(template, text)
Description
Parses the given text by using the template of templateName.
Parameters
String templateName - The template to use for parsing the text.
String text - The text to be parsed.
1431
MES Platform 2.0
Return
ParseResults See ParseResults object for information about accessing parsed values
contained in the parse results.
Scope
Client
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
monitorFile
onError
Is fired when an error occurs during reading file contents. The errorMessage property can
be read to get the error message.
Property Description
errorMessage Is fired when an error occurs on the the serial communication port. The
errorMessage property can be read to get the error message.
parse
onBeforeParse
Is fired before raw data is sent to the parsing engine to be parsed. This provides a method
for the raw data to be modified before being parsed. It can be useful to remove unwanted
characters or merging more data into the raw data before parsing.
Property Description
1432
MES Platform 2.0
onAfterParse
Is fired after the raw data has been parsed.
Property Description
parseResults Object containing all the values that were parsed from the raw data.
Code Snippets
parseResults = event.getParseResults()
if parseResults.isValid():
event.source.parent.getComponent('LabelDate').text = str(parse
Results.getValue("Date"))
event.source.parent.getComponent('LabelTime').text = str(parse
Results.getValue("Time"))
event.source.parent.getComponent('LabelSampleNo').text = str(p
arseResults.getValue("Sample No"))
event.source.parent.getComponent('LabelAlcohol').text = str(pa
rseResults.getValue("Alcohol"))
event.source.parent.getComponent('LabelDensity').text = str(pa
rseResults.getValue("Density"))
event.source.parent.getComponent('LabelCalories').text = str(p
arseResults.getValue("Calories"))
Customizers
Example 1
File monitor component can be used to move a file to a specific location. For this, first give
the current location of the file in the File Path property of the component. Now specify the
destination location in Move To Directory Path property.
1433
MES Platform 2.0
Example 2
result = event.getParseResults()
title = result.getValue('PositionModeBox')
timeStamp = result.getValue('DateLabel')
scaleID = result.getValue('ScaleLabel')
event.source.parent.getComponent('Label').text = str(title)
event.source.parent.getComponent('Label 1').text = str(scaleID)
event.source.parent.getComponent('Label 2').text = str(timeStam
p)
1434
MES Platform 2.0
In design time, the last raw data read from a file can be sent to the selected template defined
by the Instrument Interface Name by right clicking on the component in the Ignition designer
and selecting the Send to Template menu item. This will also select and display the template
and replace the existing textual data with the last raw data read.
If the Enable Monitoring property is selected and the designer is preview mode or client has the
window open that contains a file monitor component, this component will actively look for files
to process. The files that it will process are specified by the File Path property and can contain
wildcard characters.
Serial Controller
General
1435
MES Platform 2.0
Description
Properties
clearBufferBeforeSend Boolean
1436
MES Platform 2.0
1437
MES Platform 2.0
Scripting
Scripting Functions
openPort
Description
Attempts to open the port. If an error occurs the errorMessage property will be set and
an exception will be thrown.
Parameters
None
Return
Nothing
Scope
Client
1438
MES Platform 2.0
closePort
Description
Attempts to close the port. If an error occurs the errorMessage property will be set and
an exception will be thrown.
Parameters
None
Return
Nothing
Scope
Client
writeString
Description
Write value of the text parameter to the communication port. If an error occurs the
errorMessage property will be set and an exception will be thrown.
Parameters
String text - The text to write to the port.
Return
Nothing
Scope
Client
writeBytes
Description
Write value of the data parameter to the communication port. If an error occurs the
errorMessage property will be set and an exception will be thrown.
Parameters
byte[] - The byte array to write to the port.
Return
Nothing
Scope
Client
readString
Description
1439
MES Platform 2.0
Reads and returns string data from the communication port. If an error occurs the
errorMessage property will be set and an exception will be thrown. If no data is
received within the default timeout setting, then an empty string will be returned.
Parameters
None
Return
String data - The data read from the port.
Scope
Client
readString(timeout)
Description
Reads and returns string data from the communication port. If an error occurs the
errorMessage property will be set and an exception will be thrown. If no data is
received within the value specified in the timeout parameter, then an empty string will
be returned.
Parameters
Integer timeout - The time in milliseconds to wait for a response from the port.
Return
String data - The data read from the port.
Scope
Client
readBytes(count)
Description
Reads and returns byte array data from the communication port. If an error occurs the
errorMessage property will be set and an exception will be thrown. If the number of
characters specified by the count parameter are not received within the default timeout
setting, then any characters received will be returned.
Parameters
Integer count - The number of bytes to read from the port.
Return
byte[ ] The data read from the port.
Scope
Client
1440
MES Platform 2.0
readBytes(count, timeout)
Description
Reads and returns byte array data from the communication port. If an error occurs the
errorMessage property will be set and an exception will be thrown. If the number of
characters specified by the count parameter are not received within the value specified
in the timeout parameter, then any characters received will be returned.
Parameters
Integer count - The number of bytes to read from the port.
Integer timeout - The time in milliseconds to wait for a response from the port.
Return
byte[ ] The data read from the port.
Scope
Client
readUntil(delimiter, includeDelimiter)
Description
Reads and returns string data from the communication port up until the character
specified by the delimiter parameter. If an error occurs the errorMessage property will
be set and an exception will be thrown. If the delimiter character is not received within
the default timeout setting, then any characters received will be returned.
Parameters
Char delimiter - The delimiter to read until.
Return
Boolean includeDelimiter - If true the delimiter will be included in the return value.
Scope
Client
readUntil(delimiter, includeDelimiter, timeout)
Description
Reads and returns string data from the communication port up until the character
specified by the delimiter parameter. If an error occurs the errorMessage property will
be set and an exception will be thrown. If the delimiter character is not received within
the value specified in the timeout parameter, then any characters received will be
returned.
Parameters
1441
MES Platform 2.0
1442
MES Platform 2.0
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
parse
onBeforeParse
Is fired before raw data is sent to the parsing engine to be parsed. This provides a
method for the raw data to be modified before being parsed. It can be useful to
remove unwanted characters or merging more data into the raw data before parsing.
Property Description
onAfterParse
Is fired after the raw data has been parsed.
Property Description
parseResults Object containing all the values that were parsed from the raw data.
1443
MES Platform 2.0
Property Description
Code Snippet
results = event.getParseResults()
if results != None and results.isRequiredValid():
reading = results.getValue("reading")
event.source.parent.getComponent('Numeric Text Field').
doubleValue = reading.getValue()
event.source.parent.getComponent('Sample Entry').
populateMeasurement("Viscosity", reading.getValue(), 1)
else:
system.gui.messageBox("Error reading value from
instrument.")
serialPort
onOpen
Is fired when the serial communication port is opened.
Property Description
errorMessage Is fired when an error occurs on the the serial communication port.
The errorMessage property can be read to get the error message.
onClose
Is fired when the serial communication port is closed.
Property Description
errorMessage
1444
MES Platform 2.0
Property Description
onSend
Is fired when data has been sent to the port.
Property Description
errorMessage Is fired when an error occurs on the the serial communication port.
The errorMessage property can be read to get the error message.
onReceive
Is fired when data has been received from the serial communication port.
Property Description
errorMessage Is fired when an error occurs on the the serial communication port.
The errorMessage property can be read to get the error message.
onPoll
Is fired when the serial communications port has been polled for data .
1445
MES Platform 2.0
Property Description
errorMessage Is fired when an error occurs on the the serial communication port.
The errorMessage property can be read to get the error message.
onError
Is fired when an error occurs on the the serial communication port. The errorMessage
property can be read to get the error message.
Property Description
errorMessage Is fired when an error occurs on the the serial communication port.
The errorMessage property can be read to get the error message.
Customizers
Examples
BarcodeScanner
General
Description
1447
MES Platform 2.0
An invisible component that listens for barcode input received via a keyboard interface.
The term invisible component means that this component appears during design time, but
is not visible during runtime.
There are over 100 barcode patterns predefined to support the most common and GS1
international standards. All the patterns are customizable and can be enabled as required.
Multiple components can be used on the same window to detect different types of
barcodes.
The component listens to keystrokes based on a defined preamble and an optional post
amble specification, then decodes the raw barcode using regular expression patterns and
passes the results to a script event. The component is designed to work in the background
and allow scripting to process the results of the barcode content, such as auto fill fields or
update information.
Info
This component when enabled will listen for barcode input only on Stage or Published
clients. It doesn't activate in the designer's preview mode.
Properties
1448
MES Platform 2.0
1449
MES Platform 2.0
Scripting
Scripting Functions
This component does not have scripting functions associated with it.
Extension Functions
This component does not have extension functions associated with it.
Event Handlers
barcode
onBarcodeReceived
Is fired after the component decodes a raw barcode. It is passed a BarcodeEvent
object that contains the results of the decoding, any error message, and the raw
barcode.
Property Description
Example 1
1450
MES Platform 2.0
system.util.beep()
else:
#Update screen components from decode results
if 'GTIN-12' in results:
event.source.parent.getComponent('txtUPC').text =
results['GTIN-12'][0]
if 'GTIN-13' in results:
event.source.parent.getComponent('txtUPC').text =
results['GTIN-13'][0]
if 'GTIN-14' in results:
event.source.parent.getComponent('txtUPC').text =
results['GTIN-14'][0]
Example 2
Customizers
1451
MES Platform 2.0
Examples
9.6 Objects
Objects are at the heart of the Sepasoft Product Suite. They provide the methods and attributes
that all our components interact with to create production schedules, start runs, enforce
production control and analyze production results.
We have objects for each of the products as well as some objects that are common across all
products. In future releases, almost all products will be based on the MES objects.
For this reason, the Sepasoft MES system uses Universally Unique Identifiers (UUID). A UUID
represents a 128-bit value that enables distributed systems to uniquely identify information
without significant central coordination. Information identified with a UUID can therefore be
combined into a single database without needing to be concerned about duplicates.
Even though true UUIDs are a data type of their own, all UUID values within the Sepasoft MES
modules are strings.
Mentally, it is hard to keep track of the full UUID value, so usually the last 3 or 4 digits
will be unique and is easier to keep track in ones head.
1452
MES Platform 2.0
Today, the MES Objects are used by the Track & Trace and OEE 2.0 modules. In
future releases, all other MES modules will also be based on the MES Objects.
1453
MES Platform 2.0
1454
MES Platform 2.0
There is a MES Object Link object . This is a light-weight object that acts like a reference to the
full MES object, but only contains some general information. Consider using this when
populating dropdowns or lists to reduce unneeded overhead.
Both the AbstractMESObject and the MES Object Link object s have a getMESObjectType()
function that returns the type of an MES object . The MES Object Types object has the
following helpful functions when working with MES Objects .
Object Functions
ISA-95 does not define object functions (or methods), but the MES modules extend these
objects with functions to make common tasks easier. There are common functions that are
available on all MES objects and then each MES object type may have additional functions.
The additional functions are appropriate for the type of MES object.
An example of an object function that is common across all MES object is
addCustomProperty(). An example of a object function that is specific for one type of MES
object is setMaterial(). The setMaterial() function is only appropriate for a response segment
type of MES object.
The Object model diagram in the Object Types section provides a quick view on which
functions each object provides and which functions are inherited. Detailed information
regarding the functions themselves can be found under the specific object in the Object Types
section.
Scripting Functions
Scripting functions are provided through the system.mes namespace and can be found under
Scripting Functions.
Object Events
1455
MES Platform 2.0
Object Events
Each of the different MES Object Types have events that are fired during the life cycle of the
object. All MES object types support the New event that is run every time a new instance is
created. This is great place to add custom properties for a given MES Object Type every time a
new one is created. Depending on the type of MES object, there may be additional events that
are fired. For example, the Material Lot MES object has an event that is run every time a new
lot number is generated.
Events can be viewed and edited from the ProductionModel section of the Ignition Designer.
Whenever an event is fired, an MES Script Event object is passed to the event. You can use
this object to get information about the event and the object.
Event Types
There are two types of MES Object events, System events and Custom events.
System events are provided by default and cannot be deleted. A listing of all System Events is
provided below. Custom Events can be created by right-clicking in the MES Events table and
selecting 'New'.
For both System and custom events, custom scripts can be added to alter what happens when
these event are triggered. This is also done in the ProductionModel section of the Ignition
Designer.
1456
MES Platform 2.0
1457
MES Platform 2.0
ProcessSegment New
1458
MES Platform 2.0
ResponseSegment BeginTrace
1459
MES Platform 2.0
If no script is entered, then the default handler will be executed. To execute the default handler
from within the script entered here, add a script line:
1461
MES Platform 2.0
if mesObject != None:
#Create parameters to send to the custom event.
#Not required if no values are being passed to the custom
event
params = system.mes.object.parameters.create() #Creates an
MESObjectEventParameters object
params.put('Kind', 'Dressing')
#Add as many parameters as needed
References
MES Script Event
MES Object Event Parameters
system.mes.executeMESEvent
Object Properties
Properties are broken into three different categories. The first are core properties and follow
closely to what the ISA-95 standard defines each object should support. The ISA-95 standard
refers to these as attributes, but the Track and Trace module uses the term "core properties" to
keep consistent with terminology already used in Ignition.
Next are custom properties, and the ISA-95 standards simply refers to these as properties.
Again, the term is consistent with the existing "custom properties" term already being used in
Ignition.
And last, there are complex properties. Complex properties are not defined explicitly in the ISA-
95 standard, but are inferred when defining resources needed for an operation and other
aggregate lists.
Complex Properties
Complex properties are predefined and vary based on the type of MES object. In general, they
are named complex properties because they have a number of members and there can be
multiple instances for a given complex property type. A Process Segment to mix dressing will
have multiple material references. Each one will be an instance of a Material complex property.
Even more complex is the Lot complex property used by the Response Segment for mixing
1462
MES Platform 2.0
dressing, because there will be multiple lots for each input material each with their own
complex property base name. Then, if an input material lot is used up during production and
switched over to another input lot, then there will be multiple instances for the same input lot
reference.
An example will help clarify this concept. If we are mixing dressing which requires vinegar that
is coming from Lot 123 in vinegar tank 1, then there will be an instance of a Lot complex
property for it. This complex property has a name to reference it by, and in this example we will
call it "Ingredient Vinegar". Then during production of mixing dressing, we run out of vinegar in
tank 1 and we switch over to vinegar tank 2. Vinegar tank 2 contains Lot 234 so there will be
another Lot complex property for it with the same name "Ingredient Vinegar". Now there are
two Lot complex properties that are referenced by the same name "Ingredient Vinegar". Behind
the scenes, the names are modified with a post fix. As a result the Lot complex property for Lot
123 will be named "Ingredient Vinegar-1" and the one for Lot 234 will be named "Ingredient
Vinegar-2". This is referred to as extended naming. Each will hold complete details of when the
lot start and when it finished, quantity, etc.
Refer to the Process Segment, Operations Definition, Operations Segment, Operations
Response. and Response Segment for more details about the different types of complex
properties.
Code Snippet
Code Snippet
1463
MES Platform 2.0
#Get all available complex property types and cycle through them
list = mesObject.getComplexPropertyTypeNames()
for i in range(list.size()):
complexPropType = list.get(i)
Core Properties
The base AbstractMESObject object provides common core properties that are passed on to
each of specific MES objects types. Each specific MES object can have additional core
properties.
name read This is the name of the MES object. This name is used when
only referencing the object. It must be a unique name meaning that no other
MES object of it's type can have the same name.
UUID read This will contain the Universally Unique Identifier for each instance of a
only MES object.
enabled write This property will be set to true when the MES object is active and
only usable. When MES objects are deleted they are still retained in the
database and the Enabled setting is set to false. This is done to
maintain past traceability information.
description read- An optional settings to give more details for a MES Object.
only
1464
MES Platform 2.0
The values of the core properties are accessed using the getPropertyValue() and
setPropertyValue() functions of the AbstractMESObject object.
Examples
Custom Properties
Custom properties are added to any MES object by using the MES object editor component or
by using script functions.
Custom properties can be nested, meaning a custom property can be added to a custom
property. This allows defining a structure to custom properties where Width, Height and Depth
custom properties can be add beneath Dimension custom property.
Custom properties have a production visible option that will show the property in the MES
Property Value Editor component. This provides a method to keep custom properties hidden
and not show then to operators or other end users. If the custom property is visible to the end
users, the required options will make sure a value is entered before ending an operation.
1465
MES Platform 2.0
Code Snippet
Code Snippet
1466
MES Platform 2.0
Code Snippet
Info
See the custom property section of the AbstractMESObject reference for all of the
custom property functions.
Object Types
There are many different types of MES objects in the Sepasoft MES Module, all of which are
inherited from the AbstractMESObject . Many of the scripting functions and properties refer to
the common AbstractMESObject . The image below shows the MES Objects properties,
methods and events. As all objects inherit from the AbstractMESObject , they all will have the
Name property and the addCustomProperty() method.
As an example, the Equipment Object has an EquipmentPath property and a
getEquipmentPath() method in addition to those properties and methods inherited from the
AbstractMESObject .
1467
MES Platform 2.0
MESObjectTypes
There is a MESObjectTypes object has some helpful functions when working with MES Objects
. Both the AbstractMESObject and the MES Object Link object s have a getMESObjectType()
function that returns the type of an MES object .
The code below shows how to determine the specific MES object type using the
getMESObjectType() method on the object.
#This code snippet will print the names of MES object types.
filter = system.mes.object.filter.createFilter()
filter.setMESObjectNamePattern('Receive Turkeys')
list = system.mes.searchMESObjects(filter)
for ndx in range(list.size()):
mesObject = list.get(ndx)
print mesObject.getMESObjectType().getDisplayName()
1468
MES Platform 2.0
AbstractMESComplexProperty
An AbstractMESComplexProperty object is used as a base object for Material Resource
Property, Personnel Resource Property, Equipment Resource Property (which are detailed in
Process Segment reference), the Segment Dependency Property (which is detailed in the
Operations Definition reference) and the Lot Reference Property (which is detailed in the
Response Segment reference).
The complex property script functions return an AbstractMESComplexProperty object. This is
done because duplicate functions would have to be implemented for Material Resource
Property, Personnel Resource Property, etc. reference type.
Code Snippet
Output
Out
Complex properties have various values of various data types. For the specific value names
see:
Process Segment for details about Material Resource Property, Personnel Resource
Property and Equipment Resource Property.
Operations Definition for details about Segment Dependency.
Operations Response for details about Lot.
getBaseName
Complex properties that use extended naming have an associated base name and a number
following it. This is used with Lot Reference Property that the Response Segment uses. Each
time a lot reference is created it is named the base name with an extension added to it.
For example:
1469
MES Platform 2.0
If balsamic vinegar is being unloaded and the tank it is being stored in fills up before the truck is
fully unloaded. When it is switched to another storage tank a new lot reference is created. If the
name of the material reference in the Process Segment is named Vinegar, then the first lot
reference is named Vinegar-1 for the first storage tank and the second is Vinegar-2 for the
second storage tank.
Description
Syntax
getBaseName()
Parameters
None
Returns
String baseName - The base name for the complex property.
Scope
All
Code Examples
Code Snippet
#This code snippet prints the base name for the specific
property.
seg = system.mes.createMESObject('ProcessSegment')
#Create a new material reference complex property
materialProp = seg.createComplexProperty('Material', 'Vinegar')
print materialProp.getBaseName()
Output
1470
MES Platform 2.0
Vinegar
getName
Complex properties that use extended naming have an associated base name and a number
following it. This is used with Lot Reference Property that the Response Segment uses. Each
time a lot reference is created it is named the base name with an extension added to it.
For example:
If balsamic vinegar is being unloaded and the tank it is being stored in fills up before the truck is
fully unloaded. When it is switched to another storage tank a new lot reference is created. If the
name of the material reference in the Process Segment is named Vinegar, then the first lot
reference is named Vinegar-1 for the first storage tank and the second is Vinegar-2 for the
second storage tank.
Description
Syntax
getName()
Parameters
None
Returns
String - The name for the complex property.
Scope
All
Code Examples
Code Snippet
1471
MES Platform 2.0
Output
Steel In-1
Steel In-2
getValue
Description
Syntax
getValue(valueName)
Parameters
1472
MES Platform 2.0
Code Examples
Code Snippet
#This code snippet prints the value for the specific property.
seg = system.mes.createMESObject('ProcessSegment')
#Create a new material reference complex property
materialProp = seg.createComplexProperty('Material', 'Vinegar')
print materialProp.getValue('MaterialProductionSelectable')
Output
True
setValue
Description
Syntax
setValue(valueName, value)
Parameters
String valueName - The name of the value to set.
1473
MES Platform 2.0
Code Examples
Code Snippet
#Example
seg = system.mes.createMESObject('ProcessSegment')
#Create a new material reference complex property
materialProp = seg.createComplexProperty('Material', 'Vinegar')
materialProp.setValue('MaterialRatePeriod', 'Sec')
materialProp.setValue('MaterialRate', '74')
#Just to make sure the value is reset.
print materialProp.getValue('MaterialRatePeriod')
Output
Sec
getMode()
Description
1474
MES Platform 2.0
Syntax
getMode()
Parameters
None
Returns
String mode - The mode of this property.
Scope
All
getPrecedingRef()
Description
Syntax
getPrecedingRef()
Parameters
None
Returns
MESObjectLink - The MES object link to the preceding reference to this complex property.
Scope
All
getPrecedingRefProperty()
1475
MES Platform 2.0
Description
Syntax
getPrecedingRefProperty()
Parameters
None
Returns
MESTriggerOperationBeginPrecedingRefProperty - The preceding reference property.
Scope
All
getPrecedingRefType()
Description
Syntax
getPrecedingRefType()
Parameters
None
Returns
String precedingRefType - Type of the preceding reference to this complex property.
Scope
All
1476
MES Platform 2.0
Code Examples
Code Snippet
getPrecedingRefUUID()
Description
Syntax
getPrecedingRefUUID()
Parameters
None
Returns
String precedingRefUUID - The uuid corresponding to the preceding reference.
Scope
All
Code Examples
Code Snippet
isAuto()
1477
MES Platform 2.0
Description
Syntax
isAuto()
Parameters
None
Returns
boolean - True if the Begin trigger auto execute property is true and False otherwise.
Scope
All
Code Examples
Code Snippet
isDefault()
Description
Syntax
isDefault()
Parameters
1478
MES Platform 2.0
None
Returns
boolean - True if the default trigger property is true and False otherwise.
Scope
All
Code Examples
Code Snippet
isModePrimary()
Description
Syntax
isModePrimary()
Parameters
None
Returns
boolean - True if the property mode is primary and False otherwise.
Scope
All
Code Examples
1479
MES Platform 2.0
Code Snippet
requiresReference()
Description
Syntax
requiresReference()
Parameters
None
Returns
boolean - True if the property is in reference mode and False otherwise.
Scope
All
Code Examples
Code Snippet
setAuto(auto)
Description
1480
MES Platform 2.0
Syntax
setAuto(auto)
Parameters
boolean - True to set the Begin trigger auto execute property to true and False otherwise.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
setDefault(value)
Description
Syntax
setDefault(value)
Parameters
Boolean value - True to set the default value to True and False otherwise.
Returns
1481
MES Platform 2.0
Nothing
Scope
All
setMode(mode)
Description
Syntax
setMode(mode)
Parameters
String mode - The mode to set for this property.
Returns
Nothing
Scope
All
setPrecedingRef(mesObjectLink)
Description
Syntax
setPrecedingRef(mesObjectLink)
Parameters
1482
MES Platform 2.0
MESObjectlink mesObjectLink - The MES object link to the preceding reference to set for.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
setPrecedingRefType(precedingRefType)
Description
Syntax
setPrecedingRefType(precedingRefType)
Parameters
String precedingRefType - The type to set for the preceding reference.
Returns
Nothing
Scope
All
Code Examples
1483
MES Platform 2.0
Code Snippet
setPrecedingRefUUID(precedingRefUUID)
Description
Syntax
setPrecedingRefUUID(precedingRefUUID)
Parameters
String precedingRefUUID - The uuid to set for the preceding reference.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1484
MES Platform 2.0
getMESPropertyID()
Description
Syntax
getMESPropertyID()
Parameters
None
Returns
MESPropertyID - The identifier corresponding to this property.
Scope
All
getPrecedingRef()
Description
Syntax
getPrecedingRef()
Parameters
None
Returns
MESObjectLink - The reference of the preceding MES object.
Scope
1485
MES Platform 2.0
All
setPrecedingRef(mesObjectLink)
Description
Syntax
setPrecedingRef(mesObjectLink)
Parameters
MES Object Link mesObjectLink - The reference of the preceding MES object to set for.
Returns
Nothing
Scope
All
getPrecedingRefUUID()
Description
Gets the uuid of the MES object that precedes this property.
Syntax
getPrecedingRefUUID()
Parameters
None
Returns
1486
MES Platform 2.0
String uuid - The uuid corresponding to the object that precedes this property.
Scope
All
setPrecedingRefUUID(precedingRefUUID)
Description
Sets the uuid of the MES object that precedes this property.
Syntax
setPrecedingRefUUID(precedingRefUUID)
Parameters
String precedingRefUUID - The uuid to set for the preceding MES object.
Returns
Nothing
Scope
All
getPrecedingRefProperty()
Description
Syntax
getPrecedingRefProperty()
Parameters
1487
MES Platform 2.0
None
Returns
MESTriggerOperationBeginPrecedingRefProperty - The preceding reference property.
Scope
All
AbstractMESObject
There are many different types of MES objects in the Sepasoft MES system. All of them are
inherited from the AbstractMESObject. Many of the scripting functions and properties refer to
the commonAbstractMESObject objects. This page details the properties, functions and events
that are common to all objects that are inherited from the AbstractMESObject.
name read- This is the name of the MES object. This name is used when
only referencing the object. It must be a unique name meaning that no other
MES object of it's type can have the same name.
UUID read- This will contain the Universally Unique Identifier for each instance of a
only MES object.
enabled write- This property will be set to true when the MES object is active and
only usable. When MES objects are deleted they are still retained in the
database and the Enabled setting is set to false. This is done to
maintain past traceability information.
description read- An optional settings to give more details for a MES Object.
only
Events
'New' Event
1488
MES Platform 2.0
This event is run every time a new MES object is created. It can be used to add custom
properties or to perform other tasks.
If no script is entered, then the default handler will be executed. To execute the default
handler from within the script entered here, add a script line:
Code Snippet
Script Functions
The script functions listed below are available for all MES objects. They are used to simplify
and reduce the number of lines of script for common tasks. An example is adding children,
adding custom properties, changing property values, etc.
All of these script functions require an instance of a MES object. There are a number of
methods to get an instance of an MES object and the code snippets below show just a couple
of them.
Code Snippet
#Get the MES object for a given name and MES object type
obj = system.mes.loadMESObject('Balsamic Vinegar', 'MaterialDef')
Code Snippet
#If a link was returned from another script function, then this
will return the full MES object instance
obj = objLink.getMESObject()
addChild
Description
1489
MES Platform 2.0
MES objects can have children and parents. Depending on the type of MES object
determines the types of children or parents that can be added. For example, a material
class (MESMaterialClass) object can have material definitions (MESMaterialDef) as
children, but material definitions objects cannot have material class objects as children.
Note
When a child is added to an MES object, then a parent reference will be added to the
child behind the scenes. Likewise, when a parent is added to a child, a child reference
will be added to the parent behind the scenes. This insures if integrity of relationships
are maintained.
Method Options
addChild(mesObject)
Description
Syntax
addChild(mesObject)
Parameters
AbstractMESObject mesObject - An instance to an MES object. An AbstractMESObject
object is just the generic form of an MES object when the specific type is unknown.
Returns
Nothing
Scope
All
Code Examples
1490
MES Platform 2.0
Code Snippet
addChild(mesObjectLink)
Description
Syntax
addChild(mesObject)
Parameters
MES Object Link mesObjectLink - A link to an MES object. A MES Object Link holds
identification information to a MES object. This is very efficient when displaying MES
objects in a list and all the MES object details are not needed.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1491
MES Platform 2.0
addCustomProperty
Description
Custom properties can be added to MES objects or even complex properties (such as a
material, equipment or personnel reference) of an MES object. The addCustomProperty
method can be used to add a custom property directly to a MES object by not specifying a
path to the parent property. To add a custom property as a child of an existing custom
property or to a complex property, the parent path is used to specify the parent.
Each level of the path is separated with a period. This allows for names to be duplicated
provided the path is unique. For example, it is possible for a MES object to have custom
properties "Dimension 1.Wdith" and "Dimension 2.Width"
Method Options
Syntax
Parameters
String name - The name of the custom property to add.
1492
MES Platform 2.0
String dataTypeName - The name of the Ignition data type to make the new custom
property.
String description - The description of the custom property.
String units - The units of the new custom property. This is just for reference.
Boolean productionVisible - The default is false. If True, show the custom property in
various components. If False, it will be hidden and can be used to store values behind the
scenes.
Boolean required - If True, a value must be assigned to the custom property before and
segment is ended.
String value - The value to assign to the custom property after it has been added.
Returns
Nothing
Scope
All
Syntax
Parameters
String name - The name of the custom property to add.
String dataTypeName - The name of the Ignition data type to make the new custom
property.
String description - The description of the custom property.
String units - The units of the new custom property. This is just for reference.
Boolean productionVisible - The default is false. If True, show the custom property in
various components. If False, it will be hidden and can be used to store values behind the
scenes.
Boolean required - If True, a value must be assigned to the custom property before and
segment is ended.
Returns
1493
MES Platform 2.0
Nothing
Scope
All
addCustomProperty(name, dataType)
Syntax
addCustomProperty(name, dataTypeName)
Parameters
String name - The name of the custom property to add.
String dataTypeName - The name of the Ignition data type to make the new custom
property.
Returns
Nothing
Scope
All
Syntax
Parameters
String parentPath - The path of the parent to add the custom property to.
String name - The name of the custom property to add.
String dataTypeName - The name of the Ignition data type to make the new custom
property.
String description - The description of the custom property.
1494
MES Platform 2.0
String units - The units of the new custom property. This is just for reference.
Boolean productionVisible - The default is false. If True, show the custom property in
various components. If False, it will be hidden and can be used to store values behind the
scenes.
Boolean required - If True, a value must be assigned to the custom property before and
segment is ended.
String value - The value to assign to the custom property after it has been added.
Returns
Nothing
Scope
All
Syntax
Parameters
String parentPath - The path of the parent to add the custom property to.
String name - The name of the custom property to add.
String dataTypeName - The name of the Ignition data type to make the new custom
property.
String description - The description of the custom property.
String units - The units of the new custom property. This is just for reference.
Boolean productionVisible - The default is false. If True, show the custom property in
various components. If False, it will be hidden and can be used to store values behind the
scenes.
Boolean required - If True, a value must be assigned to the custom property before and
segment is ended.
Returns
Nothing
1495
MES Platform 2.0
Scope
All
Syntax
Parameters
String parentPath - The path of the parent to add the custom property to.
String name - The name of the custom property to add.
String dataTypeName - The name of the Ignition data type to make the new custom
property.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1496
MES Platform 2.0
Output
None
24
12
addParent
Description
MES objects can have children and parents. Depending on the type of MES object
determines the types of children or parents that can be added. For example, a material
class (MESMaterialClass) object can have material definitions (MESMaterialDef) as
children, but material definitions objects cannot have material class objects as children.
Note
When a child is added to an MES object, then a parent reference will be added to the
child behind the scenes. Likewise, when a parent is added to a child, a child reference
will be added to the parent behind the scenes. This insures if integrity of relationships
are maintained.
1497
MES Platform 2.0
Method Options
addParent(mesObject)
Description
Syntax
addParent(mesObject)
Parameters
AbstractMESObject mesObject - An instance to an MES object. An AbstractMESObject
object is just the generic form of an MES object when the specific type is unknown.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1498
MES Platform 2.0
addParent(mesObjectLink)
Description
Syntax
addParent(mesObject)
Parameters
MES Object Link mesObjectLink - A link to an MES object. A MES Object Link holds
identification information to a MES object. This is very efficient when displaying MES
objects in a list and all the MES object details are not needed.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1499
MES Platform 2.0
createComplexProperty
Description
Create a complex property directly to an MES object by not specifying a path to the parent
property.
Syntax
createComplexProperty(complexPropertyType , name)
Parameters
String complexPropertyType - The type of complex property.
String name - The name of complex property.
Returns
The complex property for the specified type.
Scope
All
Code Examples
Code Snippet
od = system.mes.createMESObject('OperationsDefinition')
1500
MES Platform 2.0
Output
getAllCustomProperties
Description
Returns all the custom properties for the definition and any class object that the definition is
a member of.
Syntax
getAllCustomProperties()
Parameters
None
Returns
List<MESCustomProperty> - The list of custom properties.
Scope
All
Code Examples
Code Snippet
1501
MES Platform 2.0
getChildCollection
Description
Syntax
getChildCollection()
Parameters
None
Returns
MES Object Collection - Returns a collection object containing references to all children of
the MES object.
Scope
All
MESObjectCollection Details
A MESObjectCollection object is used by MES objects to hold parents and children. Normally,
the parent and child script functions of the MES objects should be used, but this is provided as
a reference to the MESObjectCollection object itself and provides some additional functionality.
Methods:
get(uuid)
Description
Returns the MES object link for the specified UUID. If the specified UUID does not exist,
None will be returned.
Syntax
1502
MES Platform 2.0
get(uuid)
Parameters
None
Returns
String mesObjectLink - The MES object link corresponding to the uuid.
Code Examples
Code Snippet
Output
getList()
Description
Syntax
getList()
1503
MES Platform 2.0
Parameters
None
Returns
String mesObjectLinkList - A list containing MES object links.
Code Examples
Code Snippet
#This example reads the child MES object links that belong to
the Vinegar Material Class.
mesObject = system.mes.loadMESObject('Vinegar', 'MaterialClass'
)
if mesObject != None:
childList = mesObject.getChildCollection().getList()
for child in childList:
print child.getName()
Output
Balsamic Vinegar
Red Wine Vinegar
White Vinegar
isEmpty()
Description
Syntax
isEmpty()
1504
MES Platform 2.0
Parameters
None
Returns
Boolean - True if there are no MES object links in the collection.
Code Examples
Code Snippet
Output
False
size()
Description
Syntax
size()
1505
MES Platform 2.0
Parameters
None
Returns
Integer - The number of MES object links in the collection.
Code Examples
Code Snippet
Output
Properties:
None
Code Examples
Code Snippet
#This example reads and prints the name of all child MES
objects that belong to the Vinegar Material Class.
mesObject = system.mes.loadMESObject('Vinegar', 'MaterialClass'
)
if mesObject != None:
childList = mesObject.getChildCollection().getList()
for child in childList:
1506
MES Platform 2.0
Output
Balsamic Vinegar
Red Wine Vinegar
White Vinegar
getComplexProperty
Description
Method Options
getComplexProperty(complexPropertyName, entryName)
Syntax
getComplexProperty(complexPropertyName, entryName)
Parameters
String complexPropertyName - The name for the type of complex property.
String entryName - The name of the complex property entry.
Returns
The complex property collection.
Scope
All
Code Examples
1507
MES Platform 2.0
Code Snippet
seg = system.mes.createMESObject('ProcessSegment')
#Create a new material reference complex property
materialProp = seg.createComplexProperty('Material', 'Vinegar')
print seg.getComplexProperty('Material','Vinegar')
Output
{MaterialOptional=false, MaterialProductionSelectable=true,
MaterialUse=null, MaterialAutoGenerateLot=false, MaterialRef=,
MaterialRefUUID=null, MaterialRefType=null,
MaterialEquipmentRef=, MaterialEquipmentRefType=null,
MaterialEquipmentRefUUID=null, MaterialEnableSublots=false,
MaterialLotNoSource=null, MaterialLotNoSourceLink=null,
MaterialQuantitySource=null, MaterialQuantitySourceLink=null,
MaterialQuantity=null, MaterialUnits=null,
MaterialRatePeriod=null, MaterialRate=null,
MaterialCycleTime=0, MaterialFinalLotStatus=null,
MaterialAutoLotCompletion=Disabled,
MaterialLotDepletionWarning=0, MaterialLotStatusFilter=null}
getComplexProperty(complexPropertyName, index)
Syntax
getComplexProperty(complexPropertyName, index)
Parameters
String complexPropertyName - The name for the type of complex property.
Integer index - The specified position in this list.
Returns
The complex property collection.
Scope
All
1508
MES Platform 2.0
Code Examples
Code Snippet
seg = system.mes.createMESObject('ProcessSegment')
#Create a new material reference complex property
materialProp = seg.createComplexProperty('Material', 'Vinegar')
print seg.getComplexProperty('Material', 0)
Output
{MaterialOptional=false, MaterialProductionSelectable=true,
MaterialUse=null, MaterialAutoGenerateLot=false, MaterialRef=,
MaterialRefUUID=null, MaterialRefType=null,
MaterialEquipmentRef=, MaterialEquipmentRefType=null,
MaterialEquipmentRefUUID=null, MaterialEnableSublots=false,
MaterialLotNoSource=null, MaterialLotNoSourceLink=null,
MaterialQuantitySource=null, MaterialQuantitySourceLink=null,
MaterialQuantity=null, MaterialUnits=null,
MaterialRatePeriod=null, MaterialRate=null,
MaterialCycleTime=0, MaterialFinalLotStatus=null,
MaterialAutoLotCompletion=Disabled,
MaterialLotDepletionWarning=0, MaterialLotStatusFilter=null}
getComplexProperty(path)
Syntax
getComplexProperty(path)
Parameters
MESPropertyPath The path to the MES property to get.
Returns
The complex property for the specified path.
Scope
All
1509
MES Platform 2.0
Code Examples
Code Snippet
seg = system.mes.createMESObject('ProcessSegment')
#Create a new material reference complex property
materialProp = seg.createComplexProperty('Material', 'Vinegar')
print seg.getComplexProperty('Material.Vinegar')
Output
{MaterialOptional=false, MaterialProductionSelectable=true,
MaterialUse=null, MaterialAutoGenerateLot=false, MaterialRef=,
MaterialRefUUID=null, MaterialRefType=null,
MaterialEquipmentRef=, MaterialEquipmentRefType=null,
MaterialEquipmentRefUUID=null, MaterialEnableSublots=false,
MaterialLotNoSource=null, MaterialLotNoSourceLink=null,
MaterialQuantitySource=null, MaterialQuantitySourceLink=null,
MaterialQuantity=null, MaterialUnits=null,
MaterialRatePeriod=null, MaterialRate=null,
MaterialCycleTime=0, MaterialFinalLotStatus=null,
MaterialAutoLotCompletion=Disabled,
MaterialLotDepletionWarning=0, MaterialLotStatusFilter=null}
getComplexPropertyCount
Description
Syntax
getComplexPropertyCount(complexPropertyName)
Parameters
String complexPropertyName - The name for the complex property.
1510
MES Platform 2.0
Returns
Integer count - The size of the complex property collection.
Scope
All
Code Examples
Code Snippet
Output
getComplexPropertyItemNames
Description
Gets the list of production item with the specified complex property.
Syntax
1511
MES Platform 2.0
getComplexPropertyItemNames(complexPropertyName)
Parameters
String complexPropertyName - The name of the complex property.
Returns
List<String> itemNameList - The list of production item names with the specified complex
property.
Scope
All
Code Examples
Code Snippet
Output
getComplexPropertyTypeNames
Description
1512
MES Platform 2.0
Syntax
getComplexPropertyTypeNames()
Parameters
None
Returns
A list of complex properties that matches the given type.
Scope
All
Code Examples
Code Snippet
Output
1513
MES Platform 2.0
getCustomProperties
Description
Syntax
getCustomProperties ()
Parameters
None
Returns
MESPropertyCollection - The list of custom properties.
Scope
All
Code Examples
Code Snippet
getCustomPropertiesFull
Description
Return all the custom properties definitions of an MES object. The results are returned as
name (or property path) definition pairs. This is useful for copying custom properties from
one MES object to another MES object that doesn't have the custom properties defined.
1514
MES Platform 2.0
Method Options
getCustomPropertiesFull()
Description
Return the custom properties for the MES object as a Python dictionary. The Python
dictionary will contain custom property path, definition pairs. The definition is a Python list
containing the data type, value, description, units, production visible and required settings
of the custom property.
Because custom properties can be nested, the path of the custom property is used. Each
level of the path is separated with a period. This allows for names to be duplicated
provided the path is unique. For example, it is possible for a MES object to have custom
properties "Dimension 1.Wdith" and "Dimension 2.Width"
Syntax
getCustomProperties()
Parameters
Nothing
Returns
PyDictionary - A Python dictionary containing custom property path (name) definition pairs.
Scope
All
Code Examples
Code Snippet
1515
MES Platform 2.0
print widthDef
#Print setting individually for the Width custom property
print widthDef[0] #Data type
print widthDef[1] #Value
print widthDef[2] #Description
print widthDef[3] #Units
print widthDef[4] #Production Visible
print widthDef[5] #Required
Output
getCustomPropertiesFull(complexPropertyName, entryName)
Description
Return the custom properties for a complex property of a MES object as a Python
dictionary. When the complex properties on a MES object (for example, a material
reference) have custom properties, this method is used to get them by type and name. The
Python dictionary will contain custom property path, definition pairs. The definition is a
Python list containing the data type, value, description, units, production visible and
required settings of the custom property.
Because custom properties can be nested, the path of the custom property is used. Each
level of the path is separated with a period. This allows for names to be duplicated
provided the path is unique. For example, it is possible for a MES object to have custom
properties "Dimension 1.Wdith" and "Dimension 2.Width"
Syntax
1516
MES Platform 2.0
getCustomPropertiesFull(complexPropertyName, entryName)
Parameters
String complexPropertyType - The name for the type of complex property.
String name - The name of the complex property entry.
Returns
PyDictionary - A Python dictionary containing custom property path (name) definition pairs.
Scope
All
Code Examples
Code Snippet
Output
1517
MES Platform 2.0
Thickness of steel
1/1000th
True
True
getCustomPropertyDescription
Description
Syntax
getCustomPropertyDescription(propertyPath)
Parameters
String propertyPath - The name or property path of the custom property to get the
description for.
Returns
String description - The custom property description.
Scope
All
Code Examples
Code Snippet
1518
MES Platform 2.0
Output
Kind of box
getCustomPropertyEnabled
Description
Get the enabled state of a custom property. If the enabled state is True then custom
property is available. If False, the custom property will not appear in component, be used
during production or is not accessible in script.
Syntax
getCustomPropertyEnabled(propertyPath)
Parameters
String propertyPath - The name or property path of the custom property to get the enabled
state.
Returns
Boolean The enabled state of the custom property.
Scope
All
Code Examples
Code Snippet
1519
MES Platform 2.0
Output
True
False
getCustomPropertyUnits
Description
Syntax
getCustomPropertyUnits(propertyPath)
Parameters
String propertyPath - The name or property path of the custom property to get the
description for.
Returns
String units - The units of the new custom property.
Scope
1520
MES Platform 2.0
All
Code Examples
Code Snippet
Output
lbs
getCustomPropertyValues
Description
Return all the custom properties off an MES object as name (or property path) value pairs.
This simplifies copying custom property values from one MES object to another.
Method Options
getCustomPropertyValues()
Description
Return the custom properties for the MES object as a Python dictionary. The Python
dictionary will contain custom property path, value pairs. Because custom properties can
be nested, the path of the custom property is used. Each level of the path is separated with
a period. This allows for names to be duplicated provided the path is unique. For example,
it is possible for a MES object to have custom properties "Dimension 1.Wdith" and
"Dimension 2.Width"
1521
MES Platform 2.0
Syntax
getCustomProperties()
Parameters
Nothing
Returns
PyDictionary - A Python dictionary containing custom property path (name) value pairs.
Scope
All
Code Examples
Code Snippet
Output
1522
MES Platform 2.0
Description
Return the custom properties for the complex property (resource reference) as a Python
dictionary. The Python dictionary will contain custom property path, value pairs. Because
custom properties can be nested, the path of the custom property is used. Each level of the
path is separated with a period. This allows for names to be duplicated provided the path is
unique. For example, it is possible for a MES object to have custom properties "Dimension
1.Wdith" and "Dimension 2.Width".
For response segments, references to resources are created for each lot, person or
supplemental equipment. For example, if a segment is started filling tank 1 and then
switches to tank 2, then there will be two complex properties. One that has all the
information while tank 1 was selected and a second that has all the information while tank
2 was selected. Custom properties can be added to the complex properties that will be
unique for the time each tank was selected. If a pH reading is collected for each tank, then
the separate readings can be saved in the appropriate complex property. To specify which
complex property to access, extended naming is used. Referring to our sample, if we
named the material complex property "Liquid", then the extend name for the first entry is
"Liquid-1" and the second entry is "Liquid-2".
Syntax
Code Examples
Code Snippet
1523
MES Platform 2.0
getMESObjectType
Description
Get the type of the MES object. This returns an object that represents the MES object type.
This object contains other information associated with the type. In most cases only the
name of the MES object type is needed and using the getMESObjectTypeName script
function is recommended instead.
Syntax
getMESObjectType()
Parameters
None
Returns
MESObjectType - The type of MES object.
Scope
All
Code Examples
1524
MES Platform 2.0
Code Snippet
Output
Process Segment
getMESObjectTypeName.
Description
Syntax
getMESObjectTypeName()
Parameters
None
Returns
String - The MES object type name of the MES object.
Scope
All
Code Examples
1525
MES Platform 2.0
Code Snippet
Output
Material Definition
getName.
Description
Get the name of the MES object. For each type of MES object, the name must be unique.
For example, the name of each material definition is unique. In addition, the MES object
name must also be unique for various categories of MES object types.
Syntax
getName()
Parameters
None
Returns
String - MES object name.
Scope
All
Info
Below are the categories of MES object types that the names will be unique:
1526
MES Platform 2.0
Code Examples
Code Snippet
Output
Box
getParentCollection
Description
Syntax
getParentCollection()
Parameters
1527
MES Platform 2.0
None
Returns
Returns a collection object containing references to all parents of the MES object.
Scope
All
MESObjectCollection Details
A MESObjectCollection object is used by MES objects to hold parents and children. Normally,
the parent and child script functions of the MES objects should be used, but this is provided as
a reference to the MESObjectCollection object itself and provides some additional functionality.
Methods:
get(uuid)
Description
Returns the MES object link for the specified UUID. If the specified UUID does not exist,
None will be returned.
Syntax
get(uuid)
Parameters
None
Returns
String mesObjectLink - The MES object link corresponding to the uuid.
Code Examples
Code Snippet
1528
MES Platform 2.0
Output
getList()
Description
Syntax
getList()
Parameters
None
Returns
String mesObjectLinkList - A list containing MES object links.
Code Examples
Code Snippet
#This example reads the child MES object links that belong to
the Vinegar Material Class.
1529
MES Platform 2.0
Output
Balsamic Vinegar
Red Wine Vinegar
White Vinegar
isEmpty()
Description
Syntax
isEmpty()
Parameters
None
Returns
Boolean - True if there are no MES object links in the collection.
Code Examples
Code Snippet
1530
MES Platform 2.0
Output
False
size()
Description
Syntax
size()
Parameters
None
Returns
Integer - The number of MES object links in the collection.
Code Examples
Code Snippet
1531
MES Platform 2.0
Output
Properties:
None
Code Examples
Code Snippet
#This example reads and prints the name of all parent MES
objects that belong to Balsamic Vinegar.
mesObject = system.mes.loadMESObject('Balsamic Vinegar', 'Mater
ialDef')
if mesObject != None:
parentList = mesObject.getParentCollection().getList()
for parent in parentList:
Output
Vinegar
1532
MES Platform 2.0
getPropertyValue
Description
Get a property value of an MES object by name or path. The property can be a core
property, custom property or complex property of the MES object. In the case where
custom properties are nested, a path is required to return the correct value.
The type of the value depends on the property being read. If no value is currently assigned
to the property, None will be returned.
Syntax
getPropertyValue(propertyPath)
Parameters
String propertyPath - The name or path of the property being read.
Returns
The value of the property. The type depends on the property being read.
Scope
All
Code Examples
Code Snippet
#Read and print the Width and Height custom properties that
are children of the Dimension custom property.
width = obj.getPropertyValue('Dimension.Width')
height = obj.getPropertyValue('Dimension.Height')
print "Width = %d, Height = %d" % (width, height)
1533
MES Platform 2.0
Output
getUUID
Description
Return the UUID value from the UUID property of the MES object. UUID stands for
Universally Unique Identifier and each MES object will have a UUID assigned.
Syntax
getUUID()
Parameters
None
Returns
String - UUID of the MES object
Scope
All
Code Examples
Code Snippet
Output
1534
MES Platform 2.0
b17159b6-81ce-4057-a5b3-626126079320
getVersion
Description
Return the version number of the MES object. Not all MES objects have version number.
Every time a definition type of MES object is modified, the version number is increased.
When new schedules or production is run based on the definition MES object, it is tied the
latest version of the definition MES objects.
Syntax
getVersion()
Parameters
None
Returns
Integer - The version number of this MES object.
Scope
All
Code Examples
Code Snippet
Output
1535
MES Platform 2.0
isEnabled
Description
Get the enabled state of the MES object. If an MES object is not enabled, it will not show in
any selection list or able to be selected within script. Essentially, the enabled state will
change to false when the MES object is deleted. Deleted MES object still reside in the
system for history of past production.
Syntax
isEnabled()
Parameters
None
Returns
Boolean - The enabled state of the MES object.
Scope
All
Code Examples
Code Snippet
Output
1536
MES Platform 2.0
True
isModified
Description
If one or more properties of an MES object are changed, then True will be returned.
Syntax
isModified()
Parameters
None
Returns
Boolean - The MES object modified state.
Scope
All
Code Examples
Code Snippet
#Change a property of it
obj.setPropertyValue('Name', 'Empty Box')
print obj.isModified()
Output
1537
MES Platform 2.0
False
True
removeChild
Description
Note
When a child is removed from an MES object, then the parent reference will be
removed from the child behind the scenes. Likewise, when a parent is removed from a
child, the child reference will be removed from the parent behind the scenes. This
insures if integrity of relationships are maintained.
Syntax
removeChild(mesObject)
Parameters
AbstractMESObject mesObject - An instance to an MES object. An AbstractMESObject
object is just the generic form of an MES object when the specific type is unknown.
Returns
Nothing
Scope
All
1538
MES Platform 2.0
Code Examples
Code Snippet
removeComplexProperty
Description
Syntax
removeComplexProperty(complexPropertyName, entryName)
Parameters
String complexPropertyName - The name for the type of complex property.
String entryName - The name of the complex property entry.
Returns
Nothing
Scope
All
1539
MES Platform 2.0
Code Examples
Code Snippet
seg = system.mes.createMESObject('ProcessSegment')
Output
None
removeParent
Description
Note
1540
MES Platform 2.0
When a child is removed from an MES object, then the parent reference will be
removed from the child behind the scenes. Likewise, when a parent is removed from a
child, the child reference will be removed from the parent behind the scenes. This
insures the integrity of relationships are maintained.
Syntax
removeParent(mesObject)
Parameters
AbstractMESObject mesObject - An instance to an MES object. An AbstractMESObject
object is just the generic form of an MES object when the specific type is unknown.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1541
MES Platform 2.0
renameComplexProperty
Description
Syntax
Parameters
String complexPropertyName - The name for the type of complex property.
String entryName - The name of the complex property entry.
String newEntryName - The new complex property name.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
seg = system.mes.createMESObject('ProcessSegment')
1542
MES Platform 2.0
renameCustomProperty
Description
Syntax
renameCustomProperty(propertyPath, newName)
Parameters
String propertyPath - The name or property path of the existing custom property to rename.
String newName - New custom property name.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1543
MES Platform 2.0
Output
setCustomPropertyDescription
Description
Syntax
setCustomPropertyDescription(propertyPath, description)
Parameters
String propertyPath - The name or property path of the custom property to get the
description for.
String description - The custom property description.
Returns
Nothing
Scope
All
Code Examples
1544
MES Platform 2.0
Code Snippet
Output
Class of Box
setCustomPropertyEnabled
Description
Set the enabled state of a custom property. If set to True then custom property is available.
If False, the custom property will not appear in component, be used during production or is
not accessible in script.
Syntax
setCustomPropertyEnabled(propertyPath, enable)
Parameters
String propertyPath - The name or property path of the custom property to set the enabled
state.
Boolean enable - The enabled state to set the custom property to.
Returns
Nothing
Scope
1545
MES Platform 2.0
All
Code Examples
Code Snippet
Output
True
False
setCustomPropertyUnits
Description
Syntax
setCustomPropertyUnits(propertyPath, units)
1546
MES Platform 2.0
Parameters
String propertyPath - The name or property path of the custom property to get the
description for.
String units - The units of the new custom property.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
lbs
setCustomPropertyValues
Description
This method can be used to set custom properties values or create custom properties of an
MES object. The format of the customProperties parameter determines if just custom
property values will be assigned or custom properties will be created and values assigned.
Because custom properties can be nested, the path of the custom property is used. Each
level of the path is separated with a period. This allows for names to be duplicated
provided the path is unique. For example, it is possible for a MES object to have custom
properties "Dimension 1.Width" and "Dimension 2.Width"
1547
MES Platform 2.0
Python dictionary
To just set the custom property values, use a Python dictionary for the
customProperties parameter that contains name value pairs.
To create custom properties, use a Python dictionary for the customProperties
parameter that contains name definition pairs. The custom property definition is a
Python list that contains the settings. The order of the setting must be data type, value
, description, units, production visible and required. Optionally, the production
visible and required can be left out. If they are left out the default values of production
visible = true and required = false will be used.
Syntax
setCustomPropertyValues(customProperties)
Parameters
PyDictionary customProperties - A Python dictionary containing custom property path
(name) definition pairs.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1548
MES Platform 2.0
volts_dataType = 'Float8'
volts= 12.0
volts_desc = 'Test results - current'
volts_units = 'Volts'
lotCP = {'Amps' : [current_dataType , current, current_desc ,
current_units], 'Volts': [volts_dataType , volts, volts_desc,
volts_units]}
print lotCP
Output
Code Snippet
1549
MES Platform 2.0
Output
Code Snippet
Output
setEnabled
Description
1550
MES Platform 2.0
Set the enabled state of the MES object. By using this script function with parameter of
False will delete the MES object. After setting the enabled state to false, the object must be
save for the changes to take effect. At the time the disabled MES object is saved, the
name is also modified. This allows for the name to be reused in the future without naming
conflicts.
Syntax
setEnabled(enable)
Parameters
Boolean enable - The new enabled state to make the MES object.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
1551
MES Platform 2.0
Code Snippet
Output
setPropertyValue
Description
Set a property value of an MES object by name or path. The property can be a core
property, custom property or complex property of the MES object. In the case where
custom properties are nested, a path is required to set the correct value.
The property value is passed as a String, but is converted to the correct data type for the
property.
Syntax
setPropertyValue(propertyPath, value)
Parameters
String propertyPath - The name or path of the property being written to.
String value - The value to set the property to.
Returns
Nothing
1552
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
Output
Code Snippet
1553
MES Platform 2.0
Methods
getMESObjectType()
Description
Gets the MES object type that this property is set to.
Syntax
getMESObjectType()
Parameters
None
Returns
MESObjectTypes type - The MES object type that this property is set to.
Scope
All
getParentMESObjectUUID()
1554
MES Platform 2.0
Description
Syntax
getParentMESObjectUUID()
Parameters
None
Returns
String parentMESObjectUUID - The uuid of the parent object.
Scope
All
getReferenceMESObjectName()
Description
Syntax
getReferenceMESObjectName()
Parameters
None
Returns
String name - The name of the reference object of this property.
Scope
All
1555
MES Platform 2.0
getReferenceObject(mesObjectTypeName, mesObjectUUID)
Description
Syntax
getReferenceObject(mesObjectTypeName, mesObjectUUID)
Parameters
String mesObjectTypeName - The name of the type of MES object to return reference
object for.
String mesObjectUUID - The UUID of MES object to return the reference object for. See
UUIDs for more information.
Returns
AbstractMESObject - The reference object for this property.
Scope
All
getReferenceOptions(referenceType, searchPattern)
Description
Syntax
getReferenceOptions(referenceType, searchPattern)
Parameters
MESObjectTypes referenceType - The reference of MES object type that this property is
set to.
1556
MES Platform 2.0
String searchPattern - The search pattern to filter the results by. It can contain the * and ?
wild card characters.
Returns
List <MESObjectLink> - The reference options for this property.
Scope
All
getRefPropertyPath()
Description
Syntax
getRefPropertyPath()
Parameters
None
Returns
String refPropertyPath - The reference property path for this property.
Scope
All
getVersionRefUUID()
Description
Syntax
1557
MES Platform 2.0
getVersionRefUUID()
Parameters
None
Returns
String versionRefUUID - The version reference uuid for this property.
Scope
All
hasParentMESObjectUUID()
Description
Checks whether there is a parent object uuid associated with this property.
Syntax
hasParentMESObjectUUID()
Parameters
None
Returns
Boolean - True if there exist a parent object uuid and False otherwise.
Scope
All
hasRefPropertyPath()
Description
1558
MES Platform 2.0
Syntax
hasRefPropertyPath()
Parameters
None
Returns
Boolean - True if there exist a reference property path and False otherwise.
Scope
All
setParentMESObjectUUID(parentMESObjectUUID)
Description
Syntax
setParentMESObjectUUID(parentMESObjectUUID)
Parameters
String parentMESObjectUUID - The uuid of the parent object.
Returns
Nothing
Scope
All
setRefPropertyPath(refPropertyPath)
Description
1559
MES Platform 2.0
Syntax
setRefPropertyPath(refPropertyPath)
Parameters
String refPropertyPath - The reference property path for this property.
Returns
Nothing
Scope
All
Definition Objects
Definition Objects as defined by ISA-95 represent the definition of task that are carried out
during production. There are three object types that fall under this category, Process Segment
, Operation Segment and Operation Definition.
Each of these objects inherits the AbstractMESObject properties and methods.
1560
MES Platform 2.0
1561
MES Platform 2.0
Process Segment
The Process Segment is an object used to hold the definition of basic tasks that are performed
in a manufacturing facility. Tasks can be as simple as 'Produce Product' or 'Unload Material',
but can be more granular like 'Changeover Line', 'Clean', 'Lab Inspection', 'Heat Up', 'Pre-
Production', 'Produce Product' and 'Run Out Line'.
The Process Segment is never used in an actual operation, but acts as a template for
Operation Segments to be created and based against.
This object inherits the AbstractMESObject properties and methods and extends it with some
custom methods.
1562
MES Platform 2.0
Operations Segment
Operations Segments are not created directly. Instead, they are derived from a Process
Segment or an existing Operations Segment. This is typically done using the MES Object
Editor component, but can also be done using script functions. When a new Operations
Segment is derived from a Process Segment or Operations Segment, the core, material
resource, personnel resource and equipment resource properties are copied over from the
derived object. When updating a Process or Operations Segment using the MES Object Editor
component, the user will be asked if they want to update the dependencies of any derived
Operations Segments. If they answer yes, the changes will be pushed to all Process Segments
or Operations Segments that were derived from the modified Process Segment.
This object inherits the AbstractMESObject properties and methods.
Goto Operations Segment section
Operations Definition
1563
MES Platform 2.0
Operations Definition
The Operations Definition object is used to hold one or Operations Segments (basic tasks) to
form a single Operation with multiple steps. Most commonly, there will be a one to one
relationship of an Operations Definition i.e. 'Unload Material' having a single Operations
Segment called 'Unload Material' which is derived from a Process Segment called 'Unload
Material'.
In Track & Trace, Operations are selected, the segment within the operation is selected and
executed and response objects are created containing the actual production results of that
Operations Segment.
This object inherits the AbstractMESObject properties and methods and extends it with some
custom properties.
Goto Operations Definition section
Operations Definition
Base Object
The Operations Definition is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Scripting Functions
1564
MES Platform 2.0
name read This is the name of the MES object. This name is used when
only referencing the object. It must be a unique name meaning that no other
MES object of it's type can have the same name.
UUID read This will contain the Universally Unique Identifier for each instance of a
only MES object.
enabled write This property will be set to true when the MES object is active and
only usable. When MES objects are deleted they are still retained in the
database and the Enabled setting is set to false. This is done to
maintain past traceability information.
description read- An optional settings to give more details for a MES Object.
only
Events
'New' Event
This event is run every time a new MES object is created. It can be used to add custom
properties or to perform other tasks.
If no script is entered, then the default handler will be executed. To execute the default
handler from within the script entered here, add a script line:
Code Snippet
Script Functions
1565
MES Platform 2.0
The script functions listed below are available for all MES objects. They are used to simplify
and reduce the number of lines of script for common tasks. An example is adding children,
adding custom properties, changing property values, etc.
All of these script functions require an instance of a MES object. There are a number of
methods to get an instance of an MES object and the code snippets below show just a couple
of them.
Code Snippet
#Get the MES object for a given name and MES object type
obj = system.mes.loadMESObject('Balsamic Vinegar', 'MaterialDef')
Code Snippet
#If a link was returned from another script function, then this
will return the full MES object instance
obj = objLink.getMESObject()
Object Description
The Operations Definition object is used to hold one or more Operations Segments (basic
tasks) to form a single Operation with multiple steps. Most commonly, there will be a one to one
relationship of an Operations Definition i.e. 'Unload Material' having a single Operations
Segment called 'Unload Material' which is derived from a Process Segment called 'Unload
Material'.
In Track & Trace, Operations are selected, the segment within the operation is selected and
executed and response objects are created containing the actual production results of that
Operations Segment.
Events
Besides the common MES object events, the following events exist for MES Work Order.
Setting Description
Name
New The event is fired when a new instance of an Operations Definition object is
created.
If no script is entered, then the default handler will be executed. To execute the
default handler from within the script entered here, add a script line:
event.runDefaultHandler()
1566
MES Platform 2.0
Extended Properties
Besides the common core properties , the following core properties exist for Operations
Definition objects.
Enable Update Event Read When this setting is set to true, the UpdateProgress
/Write event for the Response Segments associated with
this Operations Definition will be executed at the
interval set in the Update Event Interval.
The UpdateProgress event is defined in the Ignition
Designer in the MES Events section.
Update Event Interval Read This setting defined the frequency (in ms) to
/Write execute the UpdateProgress event.
Segment Dependency properties are added as needed to define the Operations Segments that
are associated with the operation. In the MES Object Editor component, the options shown
when selecting a segment are Process Segments. When the Operations Definition is saved,
Operations Segments will be derive from the Process Segment behind the scenes. Existing
Operations Segments cannot be added because the equipment resource properties may not
apply.
1567
MES Platform 2.0
When creating a new Operations Definition as a child of an existing Operations Definition, new
Operations Segments will be created for each of the parent's Operations Segments. The setting
name is what appears in the MES Object Editor component and the script name is what is used
to set or get the value using script. See AbstractMESComplexProperty for details about
accessing values using script.
Operations Segment
Base Object
1568
MES Platform 2.0
The Operations Segment is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Scripting Functions
Description
Return the equipment MES object associated with the segment. This will be the same
equipment that is associated with the operation that the segment is running under.
Syntax
getEquipment()
Parameters
None
Returns
The AbstractMESObject representing the equipment.
Scope
All
getEquipmentLink
Description
Return the link to the equipment MES object associated with the segment. This will be the
same equipment that is associated with the operation that the segment is running under.
Syntax
getEquipmentLink()
1569
MES Platform 2.0
Parameters
None
Returns
The MES Object Link representing the equipment.
Scope
All
getEquipmentProperty
Description
Return the complex property of the equipment MES object associated with the segment.
This will be the same equipment that is associated with the operation that the segment is
running under.
Syntax
getEquipmentProperty()
Parameters
None
Returns
The MESEquipmentProperty representing the equipment.
Scope
All
Object Description
Operations Segments are not created directly. Instead, they are derived from a Process
Segment or an existing Operations Segment. This is typically done using the MES Object
Editor component, but can also be done using script functions. When a new Operations
Segment is derived from a Process Segment or Operations Segment, the core, material
resource, personnel resource and equipment resource properties are copied over from the
source object to the derived object. When updating a Process or Operations Segment using the
1570
MES Platform 2.0
MES Object Editor component, the user will be asked if they want to update the dependencies
of any derived Operations Segments. If they answer yes, the changes will be pushed to all
Process Segments or Operations Segments that were derived from the modified Process
Segment.
Events
Besides the common MES object events, no other events exist for the Operations Segment
object.
Properties
Material Resource Property
Material resource properties are added as needed to define the materials feeding into or out of
a Process Segment.
Setting Description
Name
Material _ This is the name to refer to this material resource by. Many process segments
Resource have multiple material resources and this is a unique name displayed to the
_ Name operator, shown in analysis and reports, and also internally used to reference
this material resource.
Material _ This can be set to a Material Class or a Material Definition. By setting this to a
Reference Material Class will cause the operator to be prompted for the specific material
for this material resource. If set to a Material Definition, then the selection will be
automatically selected.
MES Depending on the type set, Material Class or Material Definition, options will
Object show. When Process Segments or Operations Segments are inherited from a
Name Process Segment, the options that show for the Material Reference setting will
be limited to the settings in the parent .
For example: If Vinegar Material class is selected for a Process Segment and a
new child Process Segment is created from it, then the options will be limited to
the Vinegar Material Class for any child of it.
Use This is a very important setting and complete understanding of the possible
options is critical.
1571
MES Platform 2.0
Setting Description
Name
Options
In - is used for material feeding into a segment that will be part of the finished
goods.
Out - is used for material feeding out of a segment that is or will be part of the
finished goods.
Consumable - is used for material feeding into a segment that is not part of the
finished goods.
By-product - is used for material feeding out of a segment that is not part of the
finished goods.
Lot If the Lot Number Source setting is set to In Link, then this is the name of the
Number material resource to get the lot number from.
Source
Link
Auto If true, a new lot will be generated for the material output of a segment. This is
Generate typically only done when receiving material and a lot doesn't currently exist.
Lot
This is the type of equipment associated with this material resource. It can be
set to a Material Class or a specific piece of equipment.
1572
MES Platform 2.0
Setting Description
Name
In the case where this material resource is an input to the segment, this will be
Lot _
the equipment where the material is coming from. This helps establish routes
Equipment
that exist for physical machinery. For example if tanks 1 and 2 can only supply
_
line 1 and tanks 3 and 4 can only supply line 2.
Reference
In the case where this material resource is an output from the segment, this will
be the equipment where the material is going to. And as was the case for the
input, routes that exist for physical machinery can be accommodated.
MES Depending on the setting of the type, Equipment Class, Equipment, Line, Line
Object Cell, Line Cell Group or Storage Unit options will show. When Process
Name Segments or Operations Segments are inherited from a Process Segment, then
the options that show for the Material Reference setting will be limited by the
settings in the parent.
For example: If Vinegar Tanks class is selected for a Process Segment and a
new child Process Segment is created from it, then the only options will be
limited to the Vinegar Tanks class and any child of it.
Quantity Typically this is left blank, but it can be set to a fixed value that will be constant
every time the segment is used for production.
Quantity This setting determines the source of the quantity for this material resource.
Source
Options
Available Lot Quantity - The available lot quantity for the incoming lot will be
used for the Quantity Source.
Link - This option allows the quantity to come from an input or output material
resource of this segment. This eliminates the need to type in the quantity
multiple times if they will always be the same as another material resource.
Link Combine - For segments that are combining two or more lots into one
stream, as is the case of joining goods after tests are done to only a portion of a
lot, this option can be used. It is used by having two or more material resources
that are segment inputs linked to the same material resource output. When the
segment is ended, the system will add the quantities of both material resources.
Delimiters such as "," or any other delimiter is unnecessary while defining the
quantity source link, instead a single name is used that can be put into all of the
material references link name field .
1573
MES Platform 2.0
Setting Description
Name
Link Split - For segments that are splitting a lot into two or more streams, as is
the case of separating good product from bad, this option can be used. It is
used by having two or more material resources, that are segment outputs,
linked to the same material resource. When the segment is ended, the system
will ensure that the sum of the quantities of the split material resources equals
that of the linked material resources.
Manual - The operator will be prompted for the quantity. The quantity must be
entered before the segment is ended.
MES Counter - Obtain the quantity from the automatic production counters
defined for the associated equipment. The associated equipment may change if
the Lot Equipment Reference setting is set to a Material Class and the specific
equipment is not known until the segment is started for production. More
information can be found in the MES Counters page.
Sublot Count - The quantity will be automatically set based on the number of
Material Sublot items belonging to the Material Lot. If sublots are used, then
serial numbers, or other unique identification number, can be assigned to each
sublot item.
For example, a Material Lot of batteries may have 25 individual batteries each
with a serial number and each with their own test result. The quantity of the
Material Lot will match the number of Material Sublot items of the Material Lot.
Or, in this case, the number of batteries in the lot.
Quantity This is used when the Quantity Source setting is set to Link, Split or Combine. It
Source is the name of the material resource to link to for this segment. On the In s, if
Link Quantity Source is set to Available Lot Quantity or Manual, and the Quantity
Source Link to "combine", then on the Out s, set the Quantity Source to "Link
Combine" and the Quantity Source Link also to "combine".
Final Lot When a segment is started, the status of the Material Lots will be set to Active.
Status When the segment is ended or a new lot is used for the material resource, the
status will be set to Complete. Optionally, the value of this setting can be used
instead of the default Complete. Please note, the Active status while the lot is
active cannot be changed.
This is useful for setting a lot to Hold, In Process or anything that can be used to
filter lots or sublots.
1574
MES Platform 2.0
Setting Description
Name
Enable If this setting is selected, then sublot support will be enabled for the material
Sublots resource. If sublots are used, then serial numbers, or other unique identification
number, can be assigned to each sublot item.
For example, a Material Lot of batteries maybe have 25 individual batteries
each with a serial number and each with their own test result.
Personnel resource properties are added as needed to define the people that are required for
the Process Segment.
Setting Description
Name
Personnel This is the name to refer to this personnel resource by. Some process segments
Resource have multiple personnel resources and this is a unique name displayed to the
Name operator, shown in analysis and reports, and also internally used to reference
this personnel resource.
Personnel This can be set to a Personnel Class or a Person. By setting this to Personnel
_ Class will cause the operator to be prompted for the specific Person for this
Reference personnel resource. If set to a Person, then the selection will be automatically
_ Type selected.
MES Depending on the setting of the type, Personnel Class or Person options will
Object show. When Process Segments or Operations Segments are inherited from a
Name Process Segment, then the options that show for the Personnel Reference
setting will be limited by the parent settings.
1575
MES Platform 2.0
Setting Description
Name
Use Currently this is here for reference and is included to align with the ISA-95
standard and will become significant in the next phase of the Track and Trace
Module.
Quantity Currently this is here for reference and is included to align with the ISA-95
standard and will become significant in the next phase of the Track and Trace
Module.
An equipment resource property is added to define the equipment that the Process Segment
will run on.
Setting Description
Name
Equipment This is the name to refer to this equipment resource by. Some process
. segments have multiple equipment resources and this is a unique name
Resource displayed to the operator, shown in analysis and reports, and also internally
. Name used to reference this equipment resource.
Equipment This can be set to a Equipment Class or a Equipment, Line, Line Cell, Line Cell
Reference Group or Storage Unit. By setting this to Equipment Class will cause the
operator to be prompted for the specific equipment for this equipment resource.
If set to a specific equipment item, then the selection will be automatically
selected.
MES Depending on the setting of the type, Material Class or specific equipment item
Object options will show. When Process Segments or Operations Segments are
Name inherited from a Process Segment, then the options that show for the
Equipment Reference setting will be limited by the parent settings.
1576
MES Platform 2.0
Setting Description
Name
For example: If Unload Stations class is selected for a Process Segment and a
new child Process Segment is created from it, then the only options will be
limited to the Unload Stations Class and any child of it.
Use Currently this is here for reference and is included to align with the ISA-95
standard and will become significant in the next phase of the Track and Trace
Module.
Quantity Currently this is here for reference and is included to align with the ISA-95
standard and will become significant in the next phase of the Track and Trace
Module.
Process Segment
Base Object
The Process Segment is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Scripting Functions
Description
Return the equipment MES object associated with the segment. This will be the same
equipment that is associated with the operation that the segment is running under.
Syntax
getEquipment()
Parameters
None
1577
MES Platform 2.0
Returns
The AbstractMESObject representing the equipment.
Scope
All
getEquipmentLink
Description
Return the link to the equipment MES object associated with the segment. This will be the
same equipment that is associated with the operation that the segment is running under.
Syntax
getEquipmentLink()
Parameters
None
Returns
The MES Object Link representing the equipment.
Scope
All
getEquipmentProperty
Description
Return the complex property of the equipment MES object associated with the segment.
This will be the same equipment that is associated with the operation that the segment is
running under.
Syntax
1578
MES Platform 2.0
getEquipmentProperty()
Parameters
None
Returns
The MESEquipmentProperty representing the equipment.
Scope
All
Object Description
The Process Segment is an object used to hold the definition of basic tasks that are performed
in a manufacturing facility. Tasks can be as simple as 'Produce Product' or 'Unload Material',
but can be more granular like 'Changeover Line', 'Clean', 'Lab Inspection', 'Heat Up', 'Pre-
Production', 'Produce Product' and 'Run Out Line'.
The Process Segment is never used in an actual operation, but acts as a template for
Operation Segments to be created and based against.
Events
Besides the common MES object events, the following events exist for Process Segment.
Setting Description
Name
New The event is fired when a new instance of an Process Segment object is created.
If no script is entered, then the default handler will be executed. To execute the
default handler from within the script entered here, add a script line:
event.runDefaultHandler()
Properties
Material Resource Property
Material resource properties are added as needed to define the materials feeding into or out of
a Process Segment. The setting name is what appears in the MES Object Editor component
and the script name is what is used to set or get the value using script. See
AbstractMESComplexProperty for details about accessing values using script.
1579
MES Platform 2.0
1580
MES Platform 2.0
1581
MES Platform 2.0
Auto MaterialAutoGenerateLot If true, a new lot will be generated for the material
Generate output of a segment. This is typically only done
Lot when receiving material that a lot doesn't already
exists.
1582
MES Platform 2.0
1583
MES Platform 2.0
MaterialFinalLotStatus
1584
MES Platform 2.0
1585
MES Platform 2.0
Units PersonnelUnits This specifies the units for the quantity setting.
Use PersonnelUse Currently this is here for reference and is included to align
with the ISA-95 standard and will become significant in the
next phase of the Track and Trace Module.
Quantity PersonnelQuanity Currently this is here for reference and is included to align
with the ISA-95 standard and will become significant in the
next phase of the Track and Trace Module.
1586
MES Platform 2.0
An equipment resource property is added to define the equipment that the Process Segment will run on.
The setting name is what appears in the MES Object Editor component and the script name is what is
used to set or get the value using script. See AbstractMESComplexProperty for details about accessing
values using script.
Units EquipmentUnits This specifies the units for the quantity setting.
Use EquipmentUse Currently this is here for reference and is included to align
with the ISA-95 standard and will become significant in
the next phase of the Track and Trace Module.
Quantity EquipmentQuantity
1587
MES Platform 2.0
Equipment Objects
Equipment MES objects are created when the production model is started. Only one Equipment
MES object is created for every production item in the production model that is defined in the
designer. Multiple Equipment class MES objects can be created in the MES object Editor
component and equipment assigned to them.
There are two main Object Types in the Equipment Objects Group, MESEquipmentObject and
MESEquipmentClassObject.
Both these objects have a corresponding ResponseEquipmentObject and
ResponseEquipmentClassObject which is an internal versioning schema created to maintain
historical production data whenever changes are made to the MESEquipment or
EquipmentClass objects.
The MESEquipmentObject and MESEquipmentClassObject inherit the AbstractMESObject
properties and methods and also extend it with the same properties and methods as shown
further down in this section.
The MESEquipmentClassObject and ResponseEquipmentClassObject inherit the
AbstractMESObject properties and methods but do not extend it in anyway.
1588
MES Platform 2.0
Although these are called Response Objects, they are in fact Version objects of the
Equipment Objects. They are not Response Segment objects as defined by ISA-95.
1589
MES Platform 2.0
The following table summarizes the different Equipment Objects that inherit from the
MESEquipmentObject and what is possible.
Line ResponseLine
1590
MES Platform 2.0
Object based
on the Line
configured in
the production
model.
Description
Syntax
getEquipmentPath()
Parameters
None
Returns
String EquipmentPath - The path associated with this equipment.
Scope
All
getEquipmentModeClassUUID()
Description
Syntax
getEquipmentModeClassUUID()
Parameters
None
1592
MES Platform 2.0
Returns
String uuid - The uuid that represents the equipment mode class.
Scope
All
getEquipmentStateClassUUID()
Description
Syntax
getEquipmentStateClassUUID()
Parameters
None
Returns
String uuid - The uuid that represents the equipment state class.
Scope
All
Extended Properties
Besides the common core properties, the following core properties exist for Equipment and
ResponseEquipment objects only.
1593
MES Platform 2.0
EquipmentForceSingleLot Force storage of a single lot. There should be at least one lot.
EquipmentLotHandlingMode This would handle the equipment lots. The different types of
mode available are single lot, random lot, FIFO, LIFO, same
lot, blend lot and unknown.
Material Objects
Any production or processing that is done involves material. The material maybe raw material
that goes into finished goods, or it can be consumable or by-product that is not directly related
to the finished good.
There are four Object Types in the Material Objects Group, MaterialClass and MaterialDef,
MaterialLot and MaterialSubLot.
1594
MES Platform 2.0
1595
MES Platform 2.0
For all intents and purposes, MES Material objects will be created and configured in the MES
Management screen and through scripting. Response Objects are automatically created by
Operations and will be used for any kind of traceability analysis.
Although these are called Response Objects, they are in fact Version objects of the
Material Objects. They are not Response Segment objects as defined by ISA-95
Material Class
The MaterialClass object is used to group material into a category. It can have MaterialDef or
another MaterialClass objects as children. Defining production tasks for each specific material,
is very tedious. A better method would be to organize the material into categories, or class
using ISA-95 terms. An example will make this clearer with fewer words. Consider unloading
electronic components at a receiving dock. Defining a task to receive each type of component
would be a management nightmare. Instead all of the components can be added to an
Electronic Component class and when the operator does the receive components task at the
dock, it prompts them for the specific component that belongs to the Electronic Components
class. Only one receive components task has to be defined, which is much easier to manage.
The MaterialClass object inherits the AbstractMESObject properties and methods, but does not
extend them.
Material Def
An object used to define material that can have Material Definition objects as children. Material
definitions are used to define raw materials, material that are partially processed but not in
finished goods state and finished goods. Consider the following case: If we are assembling an
electronic product, then we will have electronic components, including a circuit board, that will
each have material definitions. The components will be soldered to the circuit board and will
have a material definition for the sub assembly. Next, the circuit board will be added to the
housing which will have a material definition that represents it. This will continue until the
finished goods are complete. It may even include accessories that are sold with the finished
product. Each will have a material definition. Think of it this way: in order to know which lots of
components were used to make a batch of circuit boards material definitions are needed.
The MaterialDef object inherits the AbstractMESObject properties and methods, but does not
extend them.
1596
MES Platform 2.0
Material Lot
Base Object
The Material Lot Object is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Scripting Functions
Object Description
Material Lot Objects are used and created whenever an Operations Segment is executed. This
object holds information about the Material Lot and can have Material Sublot objects as
children. The Material Lot object does not store a great deal of information about itself, but
stores references and links to other objects associated with it. Object Methods are provided
that allow you to access the Response Segment that created the Material Lot, the Response
Material Definition for the Material Lot and the Response Equipment (i.e. Response Storage
Unit), where the Material Lot is located.
Material Sublots
1597
MES Platform 2.0
When a segment is started, a Material Lot object is created for the OUT material. If the parts
being produced by that segment are serialized, a Material Sublot object can be created for
each serialized part that are associated with the Material Lot. The Material Sublots can be
traced back throughout the process and show up as a highlight on the Material Lot object on
the Trace Graph View. Creating Material Sublots is much more efficient than executing a
process segment for each part produced. However re-introducing sublots back into a
manufacturing process for re-work provides some challenges for traceability.
Example
obj = system.mes.loadMESObject('2dce886c-8ce6-4aeb-b271-
62adc07a6f26') #Return a Material lot object
obj.getChildCollection().getList()
Material Lot Objects do not hold the quantity of material in that lot. The quantity consumed or
created is kept in the Lot Resource properties of the Response Segment object which
provides a mechanism for determining how much of a material lot was consumed or created by
a given Response Segment.
In order to find out how much material remains in a lot, the material lot object method obj.
getLotInventory().getNetQuantity() queries each of the response segments that have
touched the Material Lot object to return the remaining lot quantity
References versus Links
The Material Lot object provides two methods to obtain the associated Response Material
Definition and Response {Equipment} objects.
getLocationLink() and getMaterialDefLink() both return a lightweight object that can then be
used to access the actual object i.e. getLocationLink().getMESObject() whereas
getLocationRef() and getMaterialRef() return an AbstractMESObjectReferenceProperty
object.
It is recommended to always use the ...Link() method as this provides a faster way of
getting to the object directly, however, be advised that ...link().getMESObject() will
throw the error Information is missing for response material location reference if either
the UUID or Type is missing for the returned MESObject. getLocationRef() will not
throw an error and allows you to access an object that has only one of the UUID or
Type parameters set. This error generally only occurs if deriveMESObject() or
createMESObject() was used to create an MES object without setting up all the
necessary parameters. Using process segments to create the MES Objects will
ensure that the objects have the parameters correctly setup.
1598
MES Platform 2.0
The Material Lot Object provides a set of methods that can be called to return object properties
such as obj.getUnits() or obj.getLotAvailabilityStatus(). These method calls are
recommended over directly accessing object properties using the obj.getPropertyValue
("LotStatus"). The reason for this is because of subtle differences between the value returned
by the method and the property.
As an example, obj.getLotAvailabilityStatus() returns the enumerated type AVAILABLE
whereas myobj.getPropertyValue('LotAvailabilityStatus') returns the string Available.
It is recommended to only access properties when no method currently exists to obtain the
value of the property.
Methods
Beside the common MESAbstractObject methods, the following methods exist for the
MaterialLot object.
getLocationLink
Description
Syntax
getLocationLink()
Parameters
None
Returns
The MES Object Link representing the location.
Scope
All
getLocationRef
Description
1599
MES Platform 2.0
Syntax
getLocationRef()
Parameters
None
Returns
AbstractMESObjectReferenceProperty - The location reference of the material lot property.
Scope
All
getLotAvailabilityStatus
Description
Syntax
getLotAvailabilityStatus()
Parameters
None
Returns
Availability status is returned.
Scope
All
getLotInventory
1600
MES Platform 2.0
Description
Syntax
getLotInventory()
Parameters
None
Returns
The MES Lot Quantity Summary Item object with inventory details.
Scope
All
getLotSequence
Description
Syntax
getLotSequence()
Parameters
None
Returns
Integer lotSequence - The sequence number associated with this material lot.
Scope
All
1601
MES Platform 2.0
getMaterialDefLink
Description
Syntax
getMaterialDefLink()
Parameters
None
Returns
The MES Object Link representing the definition.
Scope
All
getMaterialRef
Description
Syntax
getMaterialRef()
Parameters
None
Returns
AbstractMESObjectReferenceProperty - The reference of the material lot property.
Scope
1602
MES Platform 2.0
All
getUnits
Description
Syntax
getUnits()
Parameters
None
Returns
String units - The units for the lot quantity.
Scope
All
setLotSequence(lotSequence)
Description
Syntax
setLotSequence(lotSequence)
Parameters
Integer lotSequence - The sequence number associated with this material lot.
Returns
1603
MES Platform 2.0
Nothing
Scope
All
setUnits(lotUnits)
Description
Syntax
setUnits(lotUnits)
Parameters
String lotUnits - The units to set for the lot quantity.
Returns
Nothing
Scope
All
Events
Besides the common MES object events, the following events exist for Material Lot objects.
CreateLotNumber This event is run every time a Material Lot object is requested to create
a new lot number. This event provides a method to intercept the
generation of lot numbers so that the format of the lot number or even
the number itself can be modified. For systems that retrieve lot numbers
from a ERP or other system, this event will allow obtaining a lot number
from it. Script in this event can also read from a block of available lot
numbers that are maintained in a database.
1604
MES Platform 2.0
EvaluateLotStatus The event is fired when a Material Lot is being finalized in a segment
operation with a quantity and/or status change.
If no script is entered, then the default handler will be executed. To
execute the default handler from within the script entered here, add a
script line:
event.runDefaultHandler()
New The event is fired when a new instance of a Material Lot MES object is
created.
If no script is entered, then the default handler will be executed. To
execute the default handler from within the script entered here, add a
script line:
event.runDefaultHandler()
Properties
Property values can be accessed and changed for an object by using the getPropertyValue()
and setPropertyValue() method.
Example
obj = system.mes.loadMESObject('2dce886c-8ce6-4aeb-b271-
62adc07a6f26') #Return a Material lot object
print obj.getPropertyValue('LotStatus')
Besides the common core properties, the following properties exist for Material Lot objects.
MaterialRefType Read The type of the Material Definition object assigned to the
Material Lot object. i.e. ResponseMaterialDef
ResponseSegmentUUID Read The UUID of the Response Segment that created the
Material Lot object.
1605
MES Platform 2.0
LotAssemblyType Read Currently this is here for reference and is included to align
with the ISA-95 standard and will become significant in
the next phase of the Track and Trace Module.
Lot AvailabilityStatus Read Returns the availability status of the lot. Default is
/Write Available.
Available - Material Lot is currently available
Used - Material Lot has been used up
LotStatus Read The status of the Material Lot object. When a Material Lot
/Write object is currently being used by a Response Segment,
this will be set to Active. When the Response Segment is
ended, this will be set to the Final Lot Status setting in
the Operation Segment configuration. If a Final Lot Status
is not defined, it will be set to the default status of
Complete.
LotLocationRefType Read This is the type of equipment object where the lot is
/Write located i.e. ResponseStorageUnit
LotLocationRef UUID Read This is the UUID for the specific equipment of where the
lot is located i.e. 6d15732b-5d64-41d7-a596-
9ccef8eead15
LotUnits Read The unit defined for the lot quantity. Notice, that this is not
/Write a quantity setting for the Material Lot object. This is
because the quantities are kept in the lot resource
properties of the Response Segment object. The reason
for this is that a many Response Segments may pull
product from a single lot and it will have to be continually
updated. In addition, details of how much a given
Response Segment used of a lot still has to be
maintained and storing quantities in the Material Lot
object will be redundant which is never good.
LotSequence Read
/Write
1606
MES Platform 2.0
Material Sublot
Object Description
When an operations segment is started, a Material Lot object is created for the OUT material. If
the parts being produced by that segment are serialized, a Material Sublot object can be
created for each serialized part that are associated with the Material Lot. The Material Sublots
can be traced back throughout the process and show up as a highlight on the Material Lot
object on the Trace Graph View. Creating Material Sublots is much more efficient than
executing a process segment for each part produced. However re-introducing sublots back into
a manufacturing process for re-work provides some challenges for traceability.
Material Sub lots can be created using the MES Sublot List component and through scripting
functions exposed by the Response Segment.
addSublot
Description
These script functions are used to add sublots one at a time to active segments and
the different versions provide various methods to do so. Sublots are represented by
MESMaterialSublot objects which corresponds to the ISA-95 Material Sublot objects.
MESMaterialSublot objects must be children of a MESMaterialLot object, event though
the lot information may not be needed. Usually, when production details are
maintained for serialized items moving through production as groups, sublots are
used. In cases where each item moves independently through production, then just
material lots can be used for each serialized item.
Notice
1607
MES Platform 2.0
In order for material sublots to be added, the Enable Sublots setting of the
segment material property must be set to true.
addSublot(materialPropertyName, sublotName)
Description
This version of the addSublot script function is used to create a single new material
sub lot. When the new is created, the CreateSerialNumber event of the MaterialSublot
object will be executed and a serial number will automatically be assigned. This serial
number, which is the name of the MaterialSublot object, can be changed prior
updating the segment.
Syntax
addSublot(materialPropertyName, sublotName)
Parameters
String materialPropertyName - The name of the material property item as defined for
the segment.
String sublotName - The name of the sublot which is usually the serial number of the
item.
Returns
MESMaterialSublot - A new MESMaterialSublot object.
Scope
All
Code Examples
Code Snippet
1608
MES Platform 2.0
Description
This version of the addSublot script function functions the same as the addSublot
(materialPropertyName, sublotName) script function above with the added support to
assign new custom properties to the new material sublot at the same time.
Syntax
Code Examples
1609
MES Platform 2.0
Code Snippet
addSublots(materialPropertyName, countToAdd)
Description
These script functions are used to add multiple sublots to active segments and the
different versions provide various methods to do so. Sublots are represented by
MESMaterialSublot objects which corresponds to the ISA-95 Material Sublot objects.
MESMaterialSublot objects must be children of a MESMaterialLot object, event though
the lot information may not be needed. Usually, when production details are
maintained for serialized items moving through production as groups, sublots are
used. In cases where each item moves independently through production, then just
material lots can be used for each serialized item.
1610
MES Platform 2.0
Notice
In order for material sublots to be added, the Enable Sublots setting of the
segment material property must be set to true.
Description
This version of the addSublots script function is used to create a specified quantity of
new material sublots. For each sublot object created, the CreateSerialNumber event of
the MaterialSublot object will be executed and a serial number will automatically be
assigned. This serial number, which is the name of the MaterialSublot object, can be
changed prior updating the segment.
Syntax
addSublots(materialPropertyName, countToAdd)
Parameters
String materialPropertyName - The name of the material property item as defined for
the segment.
Integer countToAdd - The number of sub lots to add.
Returns
List<MESMaterialSublot> - A list of new MESMaterialSublot objects. The size of the
list will match the countToAdd parameter.
Scope
All
Code Examples
Code Snippet
1611
MES Platform 2.0
getSubLot
Description
Get an existing sublot that is associated with a segment. Sublots are represented by
MESMaterialSublot objects and correspond to the ISA-95 Material Sublot objects.
Syntax
getSublot(materialPropertyName, sublotName)
Parameters
String materialPropertyName - The name of the material property item as defined for
the segment.
String sublotName - The name of an existing sublot to return.
Returns
MESMaterialSublot - The MESMaterialSublot object.
Scope
All
Code Examples
1612
MES Platform 2.0
Code Snippet
Base Object
The Material Sublot is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Script Functions
Description
Syntax
getLocationLink()
Parameters
None
Returns
The MES Object Link representing the location.
1613
MES Platform 2.0
Scope
All
getMaterialDefLink
Description
Syntax
getMaterialDefLink()
Parameters
None
Returns
The MES Object Link representing the definition.
Scope
All
getName
Description
Syntax
getName()
Parameters
None
1614
MES Platform 2.0
Returns
String name - The name of the corresponding material sublot.
Scope
All
Methods
Beside the common MESAbstractObject methods, the following methods exist for the Material
Sublots.
getLocationLink
Description
Syntax
getLocationLink()
Parameters
None
Returns
The MES Object Link representing the location.
Scope
All
getMaterialDefLink
Description
Syntax
1615
MES Platform 2.0
getMaterialDefLink()
Parameters
None
Returns
The MES Object Link representing the definition.
Scope
All
getName
Description
Syntax
getName()
Parameters
None
Returns
String name - The name of the corresponding material sublot.
Scope
All
Events
Besides the common MES object events, the following events exist for Material Sublot objects.
New
1616
MES Platform 2.0
CreateSerialNumber This event is run every time a Material Sublot object is requested to
create a new serial number. This event provides a method to intercept
the generation of serial numbers so that the format of the serial
number or even the number itself can be modified. For systems that
retrieve serial numbers from a ERP or other system, this event will
allow obtaining a serial number from it. Script in this event can also
read from a block of available serial numbers that are maintained in a
database.
Properties
Property values can be accessed and changed for an object by using the getPropertyValue()
and setPropertyValue() method.
Example
1617
MES Platform 2.0
Besides the common core properties, the following properties exist for Material Sublots.
Lot . Read Currently this is here for reference and is included to align with the ISA-
Assembly 95 standard and will become significant in the next phase of the Track
. Type and Trace Module.
Sublot Read The status of the Material Sublot object. When a Material Sublot object
Status /Write is currently being processed by a Response Segment, this will be set to
Active. When the Response Segment is ended, this will be set to the
Final Lot Status setting in the Operation Segment configuration. If a
Final Lot Status is not defined, it will be set to the default status of
Completed.
MESLotAvailabilityStatusTypes
This object is used for filtering the results based on the lot status. The available lot status types
are:
Available
Used
Both
Lot status can also be set with setPropertyValue('LotAvailabilityStatus', 'Both') script function
1618
MES Platform 2.0
Base Object
The MES Analysis Results object is derived from the MESAbstractObject and inherits all the
exposed properties, methods and events for that object.
Scripting Functions
The following scripting functions return a MES Analysis Results object ...
system.mes.executeAnalysis(beginDate, endDate, settings) system.mes.executeAnalysis
(beginDate, endDate, savedSettingsName)
Methods
Beside the common MESAbstractObject methods, the following methods exist for the MES
Analysis Results object .
addMessage(message)
Description
Syntax
addMessage(message)
Parameters
String message - The message to be added.
Returns
Nothing
Scope
All
1619
MES Platform 2.0
getDrillDownOptions()
Description
Syntax
getDrillDownOptions()
Parameters
None
Returns
List<AbstractValueItemInfo> options - The drill down options for the analysis results.
Scope
All
getExecutionDurationMS()
Description
Syntax
getExecutionDurationMS()
Parameters
None
Returns
Long executionDurationMS - The duration of execution in milliseconds.
Scope
1620
MES Platform 2.0
All
setDrillDownOptions(List<AbstractValueItemInfo> drillDownOptionMap)
Description
Syntax
setDrillDownOptions(List<AbstractValueItemInfo> drillDownOptionMap)
Parameters
List<AbstractValueItemInfo> options - Drill down options for the analysis results.
Returns
Nothing
Scope
All
Base Object
The MES Analysis Settings object is derived from the MESAbstractObject and inherits all the
exposed properties, methods and events for that object.
Scripting Functions
The following scripting functions return a MES Analysis Settings object ...
system.mes.createMESAnalysisSettings
system.mes.getMESAnalysisSettings
system.mes.getMESAnalysisSettingsList
1621
MES Platform 2.0
Methods
Beside the common MESAbstractObject methods, the following methods exist for the MES
Analysis Settings object .
addParameter(parameterName)
Description
Syntax
addParameter(parameterName)
Parameters
String parameterName - Name of the parameter to be added.
Returns
Nothing
Scope
All
addSecurityRole(roleName)
Description
Syntax
addSecurityRole(roleName)
Parameters
1622
MES Platform 2.0
canUserExecute(user)
Description
Syntax
canUserExecute(user)
Parameters
MESUser user - The MES user for which the canUserExecute property is checked for.
Returns
boolean True if the MES user can execute analysis settings and False otherwise.
Scope
All
canUserModify(user)
Description
Syntax
canUserModify(user)
1623
MES Platform 2.0
Parameters
MESUser user - The MES user for which the canUserModify property is checked for.
Returns
boolean True if the MES user can modify analysis settings and False otherwise.
Scope
All
getDataPointList()
Description
Gets the list of data points associated with the analysis settings.
Syntax
getDataPointList()
Parameters
None
Returns
List<String> dataPointList - A list of data points for the analysis settings.
Scope
All
getDataPoints()
Description
1624
MES Platform 2.0
Syntax
getDataPoints()
Parameters
None
Returns
String dataPoints - Data points for the analysis settings.
Scope
All
getEndDateParameterName()
Info
Analysis data can be filtered using Ignition report parameters. They can be selected
from the drop down menu of the analysis sector (only for reports) as shown below.
1625
MES Platform 2.0
Description
Gets the end date parameter name for the MES analysis.
Syntax
getEndDateParameterName()
Parameters
None
Returns
String parameterName - The end date parameter name for the MES analysis (reports).
Scope
All
getFilterExpression()
Description
Syntax
getFilterExpression()
Parameters
None
Returns
String expression - The filter expression for the analysis settings.
Scope
All
1626
MES Platform 2.0
getGroupBy()
Description
Syntax
getGroupBy()
Parameters
None
Returns
String groupBy - GroupBys defined in the analysis settings.
Scope
All
getGroupByList()
Description
Syntax
getGroupByList()
Parameters
None
Returns
List<String> groupByList - The list of GroupBys defined in the analysis settings.
Scope
1627
MES Platform 2.0
All
getIncludeDrillDownOptions()
Description
Syntax
getIncludeDrillDownOptions()
Parameters
None
Returns
boolean includeOptions - True if the drill down options are included and False otherwise.
Scope
All
getOrderBy()
Description
Syntax
getOrderBy()
Parameters
None
Returns
1628
MES Platform 2.0
getOrderByList()
Description
Syntax
getOrderByList()
Parameters
None
Returns
List<String> orderByList - The list of OrderBys defined in the analysis settings.
Scope
All
getParameterCount()
Description
Syntax
getParameterCount()
Parameters
1629
MES Platform 2.0
None
Returns
int count - The parameter count for the analysis settings.
Scope
All
getParameter(index)
Description
Syntax
getParameter(index)
Parameters
int index - The index representing the parameter.
Returns
AnalysisParameterProperty analysisParameter - The analysis parameter complex property
defined by the specified index.
Scope
All
getParameter(parameterName)
Description
Syntax
1630
MES Platform 2.0
getParameter(parameterName)
Parameters
String parameterName - The name of the parameter to be returned.
Returns
AnalysisParameterProperty analysisParameter - The analysis parameter complex property.
Scope
All
getSecurityRoleCount()
Description
Syntax
getSecurityRoleCount()
Parameters
None
Returns
int count - The count of security roles associated with this analysis settings.
Scope
All
getSecurityRole(index)
Description
1631
MES Platform 2.0
Syntax
getSecurityRole(index)
Parameters
int index - The security role index.
Returns
AnalysisSecurityProperty analysisSecurity - The analysis security complex property with
the security role details.
Scope
All
getSecurityRole(roleName)
Description
Syntax
getSecurityRole(roleName)
Parameters
String roleName - The role name to return the security role for.
Returns
AnalysisSecurityProperty analysisSecurity - The analysis security complex property with
the security role details.
Scope
All
getStartDateParameterName()
Info
1632
MES Platform 2.0
Info
Analysis data can be filtered using Ignition report parameters. They can be selected
from the drop down menu of the analysis sector (only for reports) as shown below.
Description
Gets the start date parameter name from the MES analysis (report).
Syntax
getStartDateParameterName()
Parameters
None
Returns
String parameterName - The start date parameter defined in the MES analysis.
Scope
1633
MES Platform 2.0
All
hasDataPoints()
Description
Checks whether there exist any data points for the analysis settings.
Syntax
hasDataPoints()
Parameters
None
Returns
boolean - True if there exist any data points for the analysis settings and False otherwise.
Scope
All
removeParameter(parameterName)
Description
Syntax
removeParameter(parameterName)
Parameters
String parameterName - Name of the parameter to be removed.
Returns
1634
MES Platform 2.0
Nothing
Scope
All
removeSecurityRole(roleName)
Description
Syntax
removeSecurityRole(roleName)
Parameters
String roleName - The name of security role that is to be removed.
Returns
Nothing
Scope
All
setDataPoints(dataPoints)
Description
Syntax
setDataPoints(dataPoints)
Parameters
1635
MES Platform 2.0
String dataPoints - The data points to set for the analysis settings.
Returns
Nothing
Scope
All
setEndDateParameterName(parameterName)
Info
Analysis data can be filtered using Ignition report parameters. They can be selected
from the drop down menu of the analysis sector (only for reports) as shown below.
Description
Sets the end date parameter name for the MES analysis settings (reports).
1636
MES Platform 2.0
Syntax
setEndDateParameterName(parameterName)
Parameters
String parameterName - The end date parameter name to set for the analysis settings.
Returns
Nothing
Scope
All
setFilterExpression(expression)
Description
Syntax
setFilterExpression(expression)
Parameters
String expression - The filter expression to be set for.
Returns
Nothing
Scope
All
setGroupBy(groupBy)
Description
1637
MES Platform 2.0
Syntax
setGroupBy(groupBy)
Parameters
String groupBy - The factors to group the analysis data.
Returns
Nothing
Scope
All
setGroupBy(groupBy)
Description
Syntax
setGroupBy(groupBy)
Parameters
List<String> groupBy - The list of GroupBys separated by commas.
Returns
Nothing
Scope
All
setIncludeDrillDownOptions(includeOptions)
1638
MES Platform 2.0
Description
Syntax
setIncludeDrillDownOptions(includeOptions)
Parameters
boolean includeOptions - Set to True if you like to include the drill down options and False
otherwise.
Returns
Nothing
Scope
All
setOrderBy(orderBy)
Description
Syntax
setOrderBy(orderBy)
Parameters
String orderBy - The orderBy to set for the analysis data.
Returns
Nothing
Scope
All
1639
MES Platform 2.0
setOrderBy(orderBy)
Description
Syntax
setOrderBy(orderBy)
Parameters
List<String> orderBy - The list of OrderBys for the analysis data.
Returns
Nothing
Scope
All
setParameterDataType(parameterName, parameterDataType)
Description
Syntax
setParameterDataType(parameterName, parameterDataType)
Parameters
String parameterName - Name of the parameter to set the data type for.
String parameterDataType - Data type to set for the parameter.
Returns
1640
MES Platform 2.0
Nothing
Scope
All
Description
Syntax
Parameters
String roleName - The name of the security role to set the security rights for.
boolean canExecute - Set to True if this security role can execute the analysis and False
otherwise.
boolean canModify - Set to True if this security role can modify the analysis and False
otherwise.
Returns
Nothing
Scope
All
Object Description
A MESInventoryFilter object used to query inventory information and is required by certain
script methods. Because inventory results may be specific to known materials, locations, etc.,
this object is used to hold the filter settings.
1641
MES Platform 2.0
Scripting Functions
This script function can be used to create an MESInventoryFilter object.
system.mes.inventory.filter.createFilter()
Description
Returns a new instance of a MESInventoryFilter object for that properties can be set on.
This is typically used when a script function requires a MESInventoryFilter object as a
parameter.
Syntax
system.mes.inventory.filter.createFilter()
Parameters
None
Returns
MESInventoryFilter - A new instance of a MESInventoryFilter object.
Example
Code Snippet
Code Snippet
filter = system.mes.inventory.filter.createFilter()
filter.setIncludeCompleteLots(True)
filter.setEquipmentClassName('Vinegar Tanks')
beginCal = Calendar.getInstance()
beginCal.add(Calendar.DAY_OF_MONTH, -30)
filter.setBeginDateTime(beginCal)
endCal = Calendar.getInstance()
filter.setEndDateTime(endCal)
results = system.mes.getInventory(filter)
1642
MES Platform 2.0
Methods
Beside the common MESAbstractObject methods, the following methods exist for the MES
Inventory Filter Object.
getBeginDateTime()
Description
Get the beginning date and time to limit the results to return.
Syntax
getBeginDateTime()
Parameters
None
Returns
Calendar The beginning date and time to filter results.
getCustomLotStatus()
Description
Syntax
getCustomLotStatus()
Parameters
None
Returns
1643
MES Platform 2.0
getEndDateTime()
Description
Get the ending date and time to limit the results to return.
Syntax
getEndDateTime()
Parameters
None
Returns
Calendar The ending date and time to filter results.
getEquipmentClassName()
Description
Get the lot equipment class name used to filter the results.
Syntax
getEquipmentClassName()
Parameters
None
Returns
String The lot equipment class name.
Code Examples
1644
MES Platform 2.0
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setIncludeActiveLots(True)
filter.setEquipmentClassName('Vinegar Tanks')
print filter.getEquipmentClassName()
Output
Vinegar Tanks
getEquipmentClassUUID()
Description
Get the lot equipment class UUID used to filter the results.
Syntax
getEquipmentClassUUID()
Parameters
None
Returns
String The lot equipment class UUID.
getEquipmentPath()
Description
Syntax
1645
MES Platform 2.0
getEquipmentPath()
Parameters
None
Returns
String The lot equipment path.
getEquipmentUUID()
Description
Syntax
getEquipmentUUID()
Parameters
None
Returns
String The lot equipment UUID.
getMaterialClassName()
Description
Syntax
getMaterialClassName()
Parameters
None
Returns
1646
MES Platform 2.0
getMaterialClassUUID()
Description
Syntax
getMaterialClassUUID()
Parameters
None
Returns
String The material class UUID.
getMaterialDefUUID()
Description
Syntax
getMaterialDefUUID()
Parameters
None
Returns
String The material name UUID.
getMaterialNameFilter()
1647
MES Platform 2.0
Description
Syntax
getMaterialNameFilter()
Parameters
None
Returns
String The material name filter.
getPersonFirstName()
Description
Syntax
getPersonFirstName()
Parameters
None
Returns
String The person first name filter.
getPersonLastName()
Description
1648
MES Platform 2.0
Syntax
getPersonLastName()
Parameters
None
Returns
String The person last name filter.
getPersonnelClassName()
Description
Syntax
getPersonnelClassName()
Parameters
None
Returns
String The personnel class name.
getPersonnelClassUUID()
Description
Syntax
getPersonnelClassUUID()
Parameters
None
1649
MES Platform 2.0
Returns
String The personnel class UUID.
getPersonUUID()
Description
Syntax
getPersonUUID()
Parameters
None
Returns
String The person UUID filter.
includeActiveLots()
Description
If True, lots or sublots currently being processed will be included in the results.
Syntax
includeActiveLots()
Parameters
None
Returns
Boolean If True, active lots will be return in the results.
1650
MES Platform 2.0
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.includeActiveLots()
includeCompleteLots()
Description
Syntax
includeCompleteLots()
Parameters
None
Returns
Boolean If True, completed lots will be returned in the results.
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.includeCompleteLots()
setBeginDateTime(beginDateTime)
1651
MES Platform 2.0
Description
Set the beginning date and time to limit results to return. This applies to lots or sublots that
are completed or have a custom lot status.
Syntax
setBeginDateTime(beginDateTime)
Parameters
Calendar beginDateTime - Beginning date and time to filter results.
Returns
Nothing
Code Examples
Code Snippet
#Example
from java.util import Calendar
cal = Calendar.getInstance()
cal.add(Calendar.MONTH, -1)
beginDate = cal.getTime()
filter = system.mes.inventory.filter.createFilter()
filter.setBeginDateTime(beginDate)
setCustomLotStatus(customLotStatus)
Description
Set the custom lot status of results to return. If the Final Lot Status property in a resource
definition of a Process Segment or Operations Segment is set to a custom lot status, it can
be filtered with this property.
Syntax
1652
MES Platform 2.0
setCustomLotStatus(customLotStatus)
Parameters
String customLotStatus - Custom lot status value to filter results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setCustomLotStatus('Good')
setEndDateTime(endDateTime)
Description
Set the ending date and time to limit results to return. This applies to lots or sublots that are
completed or have a custom lot status.
Syntax
setEndDateTime(endDateTime)
Parameters
Calendar endDateTime - Ending date and time to filter results.
Returns
Nothing
Code Examples
1653
MES Platform 2.0
Code Snippet
#Example
from java.util import Calendar
cal = Calendar.getInstance()
cal.add(Calendar.MONTH, -1)
endDate = cal.getTime()
filter = system.mes.inventory.filter.createFilter()
filter.setEndDateTime(endDate)
setEquipmentClassName(equipmentClassName)
Description
The results can be limited to only include lots or sublots that are or were stored at the
equipment that are included in a material class that match this property. It can contain
wildcard characters including * or ?. The * character can be any characters and the ?
character represents any single character.
Only one of the Equipment Class Name, Equipment Class UUID, Equipment Path or
Equipment UUID properties can be specified at a time.
Example
Vinegar Storage Tanks.
Syntax
setEquipmentClassName(equipmentClassName)
Parameters
String equipmentClassName - The lot equipment class name used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
1654
MES Platform 2.0
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setEquipmentClassName('Vinegar Tank?')
setEquipmentClassUUID(equipmentClassUUID)
Description
The results can be limited to only include lots or sublots that are or were stored at the
equipment that are included in a material class that match this property. See UUIDs for
more information.
Only one of the Equipment Class Name, Equipment Class UUID, Equipment Path or
Equipment UUID properties can be specified at a time.
Syntax
setEquipmentClassUUID(equipmentClassUUID)
Parameters
String equipmentClassUUID - The lot equipment class UUID used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setIncludeActiveLots(True)
filter.setEquipmentClassUUID('a0a7991c-ee75-47d7-8c91-
b0e20e736ea9')
results = system.mes.getInventory(filter)
print filter.getEquipmentClassUUID()
1655
MES Platform 2.0
Output
a0a7991c-ee75-47d7-8c91-b0e20e736ea9
setEquipmentPath(equipmentPath)
Description
The results can be limited to only include lots or sublots that are or were stored at the
equipment that match this property. See Equipment for more information on equipment
paths.
Only one of the Equipment Class Name, Equipment Class UUID, Equipment Path or
Equipment UUID properties can be specified at a time.
Syntax
setEquipmentPath(equipmentPath)
Parameters
String equipmentPath - The lot equipment path used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setEquipmentPath('[global]\My
Enterprise\California\Storage\Vinegar Tanks\Vinegar Tank 1')
setEquipmentUUID(equipmentUUID)
1656
MES Platform 2.0
Description
The results can be limited to only include lots or sublots that are or were stored at the
equipment that match this property. See UUIDs for more information.
Syntax
setEquipmentUUID(equipmentUUID)
Parameters
String equipmentClassUUID - The lot equipment UUID used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setEquipmentUUID('8da06ff8-2922-4e0c-a01a-e7cda6899a0e')
setIncludeActiveLots(includeActiveLots)
Description
If set to True, lots or sublots that are actively being processed will be included in the
results.
Syntax
setIncludeActiveLots(includeActiveLots)
Parameters
1657
MES Platform 2.0
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setIncludeActiveLots(True)
setIncludeCompleteLots(includeCompleteLots)
Description
If set to True, lots or sublots that are completed will be included in the results.
Syntax
setIncludeCompleteLots(includeCompleteLots)
Parameters
Boolean includeActiveLots - If True, include completed lots or sublots in results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
1658
MES Platform 2.0
filter.setIncludeCompleteLots(True)
setMaterialClassName(materialClassName)
Description
The results can be limited to only include lots or sublots that the associated material is
included in a material class that matches this property. It can contain wildcard characters
including * or ?. The * character can be any characters and the ? character represents any
single character.
Only one of the Material Class Name, Material Class UUID, Material Definition Name,
Material Definition UUID properties can be specified at a time.
Example:
Vinegar
Syntax
setMaterialClassName(materialClassName)
Parameters
String materialClassName - The material class name used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setMaterialClassUUID('a3809970-2c99-4fce-a3dc-
14f8e80155a5')
1659
MES Platform 2.0
setMaterialClassUUID(materialClassUUID)
Description
The results can be limited to only include lots or sublots that the associated material is
included in a material class that matches this property. See UUIDs for more information.
Only one of the Material Class Name, Material Class UUID, Material Definition Name,
Material Definition UUID properties can be specified at a time.
Syntax
setMaterialClassUUID(materialClassUUID)
Parameters
String materialClassUUID - The material class name used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setMaterialClassUUID('5acf3c9f-2789-44af-888f-
fce08d9972a7')
setMaterialDefName(materialDefName)
Description
The results can be limited to only include lots or sublots that the associated material
matches this property. It can contain wildcard characters including * or ?. The * character
can be any characters and the ? character represents any single character.
1660
MES Platform 2.0
Only one of the Material Class Name, Material Class UUID, Material Definition Name,
Material Definition UUID properties can be specified at a time.
Example
*Balsamic*
Syntax
setMaterialDefName(materialDefName)
Parameters
String materialDefName - The material definition name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setMaterialDefName('Raw Balsamic Vinegar')
setMaterialDefUUID(materialDefUUID)
Description
The results can be limited to only include lots or sublots that the associated material
matches this property. See UUIDs for more information.
Only one of the Material Class Name, Material Class UUID, Material Definition Name,
Material Definition UUID properties can be specified at a time.
Syntax
1661
MES Platform 2.0
setMaterialDefUUID(materialDefUUID)
Parameters
String materialDefUUID - The material definition UUID used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setMaterialDefUUID('8ea5bd6b-80ec-484f-98b4-
2de7d6d0724a')
setPersonnelClassName(personnelClassName)
Description
The results can be limited to only include lots or sublots that are or were handled by
personnel that are included in a personnel class that match this property. It can contain
wildcard characters including * or ?. The * character can be any characters and the ?
character represents any single character.
Only one of the Personnel Class Name, Personnel Class UUID or Person First Name and
Person Last Name combination properties can be specified at a time.
Example
Unload Operator
Syntax
setPersonnelClassName(personnelClassName)
Parameters
1662
MES Platform 2.0
String personnelClassName - The personnel class name used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setPersonnelClassName('Operator')
setPersonnelClassUUID(personnelClassUUID)
Description
The results can be limited to only include lots or sublots that are or were handled by
personnel that are included in a personnel class that match this property. See UUIDs for
more information.
Only one of the Personnel Class Name, Personnel Class UUID or Person First Name and
Person Last Name combination properties can be specified at a time.
Syntax
setPersonnelClassUUID(personnelClassUUID)
Parameters
String personnelClassUUID - The personnel class UUID used to filter the results.
Returns
Nothing
Code Examples
1663
MES Platform 2.0
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setPersonnelClassUUID('865d2c95-f06c-4cce-9625-
3631e465e904')
setPersonFirstName(personFirstName)
Description
The results can be limited to only include lots or sublots that are or were handled by
personnel that match this property. It can contain wildcard characters including * or ?. The
* character can be any characters and the ? character represents any single character.
Syntax
setPersonFirstName(personFirstName)
Parameters
String personFirstName - The person first name used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setPersonFirstName('Mark')
setPersonLastName(personLastName)
1664
MES Platform 2.0
Description
The results can be limited to only include lots or sublots that are or were handled by
personnel that match this property. It can contain wildcard characters including * or ?. The
* character can be any characters and the ? character represents any single character.
Syntax
setPersonLastName(personLastName)
Parameters
String personLastName - The person last name used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setPersonLastName('West')
setPersonUUID(personUUID)
Description
The results can be limited to only include lots or sublots that are or were handled by
personnel that match this property. See UUIDs for more information.
Syntax
setPersonUUID(personUUID)
Parameters
1665
MES Platform 2.0
Code Examples
Code Snippet
#Example
filter = system.mes.inventory.filter.createFilter()
filter.setPersonUUID('654e3245-2f95-4d10-8fda-53e22400482e')
Object Description
The MESLotFilter object is used to help when searching for lots or sublots and is required for
certain script methods. Lot or sublot search results can be limited by using the MESLotFilter
properties to narrow down the MES lots to return when using the system.mes.getLotList script
function.
The MESLotFilter object doesn't have a option to set the lot sequence number. The
loadMaterialLotLink and loadMaterialLot script function will return the last lot if the lot
sequence parameter is less than 0. All function using the MESLotFilter object return a
list of lots and will include all lots that match the settings in the MESLotFilter object. So
not just the last lot, but all that apply.
Scripting Functions
The following function can be used to create MESLotFilter.
system.mes.lot.filter.createFilter()
Description
1666
MES Platform 2.0
Returns a new instance of a MESLotFilter object for that properties can be set on. This is
typically used when a script function requires a MESLotFilter object as a parameter.
Syntax
system.mes.lot.filter.createFilter()
Parameters
None
Returns
A new instance of a MESLotFilter object.
Code Snippet
Example
If the MESLotFilter was not provided, then each option would have to be passed as a
parameter in the system.mes.getLotList method. There are over a dozen options to filter lot on.
This would make it very difficult to use because the line of script would look something like the
following:
Code Example 1
1667
MES Platform 2.0
Code Example 2
The second example is the supported method and is much more readable.
Methods
The following methods exist for the MES Lot Filter Object.
getBeginDateTime()
Description
Get the beginning date and time to limit the results to return.
Syntax
getBeginDateTime()
Parameters
None
Returns
Calendar The beginning date and time to filter results.
Info
Custom Property Value Filter
Description
The results can be limited to only include items that have a custom property
expressions defined by this property that evaluates to true.Example Kind > 3.
1668
MES Platform 2.0
getCustomPropertyValueFilter()
Description
Syntax
getCustomPropertyValueFilter()
Parameters
None
Returns
List of MES Property Value Filter - The custom property value filter containing information
about MESObjectTypes, propertyPath, etc .
getEndDateTime()
Description
Get the ending date and time to limit the results to return.
Syntax
getEndDateTime()
Parameters
None
Returns
Calendar The ending date and time to filter results.
getLotEquipmentClassFilter()
1669
MES Platform 2.0
Description
Get the lot equipment class filter used to filter the results.
Syntax
getLotEquipmentClassFilter()
Parameters
None
Returns
String The lot equipment class filter.
getLotEquipmentNameFilter()
Description
Get the lot equipment name filter used to filter the results.
Syntax
getLotEquipmentNameFilter()
Parameters
None
Returns
String The lot equipment name filter.
getLotNameFilter()
Description
1670
MES Platform 2.0
Syntax
getLotNameFilter()
Parameters
None
Returns
String The lot name filter.
getLotStatusFilter()
Description
Syntax
getLotStatusFilter()
Parameters
None
Returns
String - The custom lot status value.
getMaterialClassFilter()
Description
Syntax
getMaterialClassFilter()
Parameters
1671
MES Platform 2.0
None
Returns
String The material class filter.
getMaterialNameFilter()
Description
Syntax
getMaterialNameFilter()
Parameters
None
Returns
String The material name filter.
getMaxResults()
Description
Syntax
getMaxResults()
Parameters
None
Returns
Integer The maximum number of items to return.
1672
MES Platform 2.0
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
print filter.getMaxResults()
Output
100
getModeName()
Description
Get the type of results to return. It can be return results for lots (batches) of material or
serialized items (sublots).
Syntax
getModeName()
Parameters
None
Returns
String Name - The name of the type of results to return.
Code Examples
Code Snippet
1673
MES Platform 2.0
filter = system.mes.lot.filter.createFilter()
filter.setIncludeActiveLots(True)
print filter.getModeName()
Output
LOT
getOperationNameFilter()
Description
Syntax
getOperationNameFilter()
Parameters
None
Returns
String The operation name filter.
getPersonnelClassFilter()
Description
Syntax
getPersonnelClassFilter()
Parameters
1674
MES Platform 2.0
None
Returns
String The personnel class filter.
getPersonnelNameFilter()
Description
Syntax
getPersonnelNameFilter()
Parameters
None
Returns
String The P ersonnelNameFilter.
getSegmentEquipmentClassFilter()
Description
Get the segment equipment class filter used to filter the results.
Syntax
getSegmentEquipmentClassFilter()
Parameters
None
Returns
String The segment equipment class filter.
1675
MES Platform 2.0
getSegmentEquipmentNameFilter()
Description
Get the segment equipment name filter used to filter the results.
Syntax
getSegmentEquipmentNameFilter()
Parameters
None
Returns
String The lot equipment name filter.
getSegmentNameFilter()
Description
Syntax
getSegmentNameFilter()
Parameters
None
Returns
String The segment name filter.
getSublotNameFilter()
Description
1676
MES Platform 2.0
Syntax
getSublotNameFilter()
Parameters
None
Returns
String The sublot name filter.
hasCustomPropertyValuefilter()
Description
Checks to see if a custom property value filter exists for the given lot.
Syntax
hasCustomPropertyValuefilter()
Parameters
None
Returns
True, if there exist a custom property value filter .
Scope
All
includeActiveLots()
Description
If True, lots or sublots currently being processed will be included in the results.
1677
MES Platform 2.0
Syntax
includeActiveLots()
Parameters
None
Returns
Boolean If True, active lots will be return in the results.
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.includeInactiveLots()
includeInactiveLots()
Description
If True, lots or sublots that are complete will be included in the results.
Syntax
includeInactiveLots()
Parameters
None
Returns
Boolean - If True, completed lots will be return in the results.
Code Examples
1678
MES Platform 2.0
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.includeInactiveLots()
setBeginDateTime(beginDateTime)
Description
Set the beginning date and time to limit results to return. This applies to lots or sublots that
are completed or have a custom lot status.
Syntax
setBeginDateTime(beginDateTime)
Parameters
Calendar beginDateTime - Beginning date and time to filter results.
Returns
Nothing
Code Examples
Code Snippet
#Example
from java.util import Calendar
filter = system.mes.lot.filter.createFilter()
begin = Calendar.getInstance()
begin.add(Calendar.MONTH, -1)
filter.setBeginDateTime(begin)
1679
MES Platform 2.0
setCustomPropertyValueFilter(customPropertyValueFilter)
Description
Set the custom property filter expressions to filter the results. If a custom property of a
MES object matches an expression in this list, then it will be included in the results. Use
system.mes.object.filter.parseCustomPropertyValueFilter() script function to create the list
of MES Property Value Filter objects.
Syntax
setCustomPropertyValueFilter(customPropertyValueFilter)
Parameters
List of MES Property Value Filter customPropertyValueFilter - The custom property value
list to filter the results.
Returns
Nothing
Code Examples
Code Snippet
filter = system.mes.object.filter.createFilter()
list = system.mes.object.filter.parseCustomPropertyValueFilter(
'pH > 5.0,Width = 2.5')
filter.setCustomPropertyValueFilter(list)
setEndDateTime(endDateTime)
Description
Set the ending date and time to limit results to return. This applies to lots or sublots that are
completed or have a custom lot status.
1680
MES Platform 2.0
Syntax
setEndDateTime(endDateTime)
Parameters
Calendar endDateTime - Ending date and time to filter results.
Returns
Nothing
Code Examples
Code Snippet
setIncludeActiveLots(includeActiveLots)
Description
If set to True, lots or sublots that are actively being processed will be included in the
results.
Syntax
setIncludeActiveLots(includeActiveLots)
Parameters
Boolean includeActiveLots - If True, include active lots or sublots in results.
Returns
Nothing
1681
MES Platform 2.0
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setIncludeActiveLots(True)
setIncludeInactiveLots(includeInactiveLots)
Description
If set to True, lots or sublot that are completed will be included in the results.
Syntax
setIncludeInactiveLots(includeInactiveLots)
Parameters
Boolean includeActiveLots - If True, include completed lots or sublots in results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setIncludeInactiveLots(True)
setLotEquipmentClassFilter(lotEquipmentClassFilter)
1682
MES Platform 2.0
Description
Set the lot equipment class filter to include lots that were stored in the equipment that
belong to the equipment class that matches this property. It can contain wildcard
characters including * or ?. The * character can be any characters and the ? character
represents any single character.
Syntax
setLotEquipmentClassFilter(lotEquipmentClassFilter)
Parameters
String lotEquipmentClassFilter - The lot equipment class filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setLotEquipmentClassFilter('Storage Tank')
setLotEquipmentNameFilter(lotEquipmentNameFilter)
Description
Set the lot equipment name filter to include lots that were stored in the equipment with a
name that matches this property. It can contain wildcard characters including * or ?. The *
character can be any characters and the ? character represents any single character.
Syntax
1683
MES Platform 2.0
setLotEquipmentNameFilter(lotEquipmentNameFilter)
Parameters
String lotEquipmentNameFilter - The lot equipment name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setLotEquipmentNameFilter('Vinegar Tank?')
setLotNameFilter(lotNameFilter)
Description
Set the lot name to filter to include in the results. It can contain wildcard characters
including * or ?. The * character can be any characters and the ? character represents any
single character.
Syntax
setLotNameFilter(lotNameFilter)
Parameters
String lotNameFilter - The lot name filter used to filter the results.
Returns
Nothing
Code Examples
1684
MES Platform 2.0
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setLotNameFilter('V100*')
setLotStatusFilter(lotStatusFilter)
Description
Set the custom lot status of results to return. If the Final Lot Status property in a resource
definition of a Process Segment or Operations Segment is set to a custom lot status, it can
be filtered with this property.
Syntax
setLotStatusFilter(lotStatusFilter)
Parameters
String lotStatusFilter - Custom lot status value to filter results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setLotStatusFilter('Complete')
setMaterialClassFilter(materialClassFilter)
1685
MES Platform 2.0
Description
Set the material class filter to include lots that have material that belong to the material
class that matches this property. It can contain wildcard characters including * or ?. The *
character can be any characters and the ? character represents any single character.
Syntax
setMaterialClassFilter(materialClassFilter)
Parameters
String materialClassFilter - The material class filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setMaterialClassFilter('* Vinegar')
setMaterialNameFilter(materialNameFilter)
Description
Set the material definition name filter to include lots that have material with a name that
matches this property. It can contain wildcard characters including * or ?. The * character
can be any characters and the ? character represents any single character.
Syntax
setMaterialNameFilter(materialNameFilter)
1686
MES Platform 2.0
Parameters
String materialNameFilter - The material definition name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setMaterialNameFilter('* Turkey')
setMaxResults(maxResults)
Description
Set the maximum results to return. This prevents a large list from being returned which
reduces database operations, memory usage and other resources when most of the time,
the results are not used. If large results are needed, then this property can be increased.
Syntax
setMaxResults(maxResults)
Parameters
Integer maxResults - The maximum number of items to return.
Returns
Nothing
Code Examples
1687
MES Platform 2.0
Code Snippet
Output
200
setModeName(modeName)
Description
Set the type of results to return. It can be return results for lots (batches) of material or
serialized items (sublots). Options are Lot and Sublot.
Syntax
setModeName(modeName)
Parameters
String modeName - The name of the mode for the type of results to return.
Returns
Nothing
Code Examples
Code Snippet
1688
MES Platform 2.0
setOperationNameFilter(operationNameFilter)
Description
Set the operation name filter to include lots that were processed by the operation with a
name that matches this property. It can contain wildcard characters including * or ?. The *
character can be any characters and the ? character represents any single character.
Syntax
setOperationNameFilter(operationNameFilter)
Parameters
String operationNameFilter - The operation name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setOperationNameFilter('Receive*')
setPersonnelClassFilter(personnelClassFilter)
Description
Set the personnel class filter to include lots that were processed by personnel that belong
to the personnel class that matches this property. It can contain wildcard characters
including * or ?. The * character can be any characters and the ? character represents any
single character.
1689
MES Platform 2.0
Syntax
setPersonnelClassFilter(personnelClassFilter)
Parameters
String personnelClassFilter - The personnel class filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setPersonnelClassFilter('Operator?')
setPersonnelNameFilter(personnelNameFilter)
Description
Set the personnel name filter to include lots that were processed with a name that matches
this property. It can contain wildcard characters including * or ?. The * character can be
any characters and the ? character represents any single character.
Syntax
setPersonnelNameFilter(personnelNameFilter)
Parameters
String personnelNameFilter - The personnel name filter used to filter the results.
Returns
Nothing
1690
MES Platform 2.0
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setPersonnelNameFilter('Jo*')
setSegmentEquipmentClassFilter(segmentEquipmentClassFilter)
Description
Set the segment equipment class filter to include lots that were processed at the
equipment that belong to the equipment class that matches this property. It can contain
wildcard characters including * or ?. The * character can be any characters and the ?
character represents any single character.
Syntax
setSegmentEquipmentClassFilter(segmentEquipmentClassFilter)
Parameters
String segmentEquipmentClassFilter - The segment equipment class filter used to filter the
results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setSegmentEquipmentClassFilter('* Tank')
1691
MES Platform 2.0
setSegmentEquipmentNameFilter(segmentEquipmentNameFilter)
Description
Set the segment equipment name filter to include lots that were processed at the
equipment with a name that matches this property. It can contain wildcard characters
including * or ?. The * character can be any characters and the ? character represents any
single character.
Syntax
setSegmentEquipmentNameFilter(segmentEquipmentNameFilter)
Parameters
String segmentEquipmentNameFilter - The segment equipment name filter used to filter
the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setSegmentEquipmentNameFilter('Vinegar*')
setSegmentNameFilter(segmentNameFilter)
Description
1692
MES Platform 2.0
Set the segment name filter to include lots that were processed by the segment with a
name that matches this property. It can contain wildcard characters including * or ?. The *
character can be any characters and the ? character represents any single character.
Syntax
setSegmentNameFilter(segmentNameFilter)
Parameters
String segmentNameFilter - The segment name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setSegmentNameFilter('Receive*')
setSublotNameFilter(sublotNameFilter)
Description
Set the sublot name to filter to include in the results. It can contain wildcard characters
including * or ?. The * character can be any characters and the ? character represents any
single character.
Syntax
setSublotNameFilter(sublotNameFilter)
Parameters
1693
MES Platform 2.0
String sublotNameFilter - The sublot name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setSublotNameFilter('BB 100?')
Properties:
getAvailable()
Description
Get the available quantity of the item. Available quantity = Quantity of material fed into the
segment in the beginning - (Quantity fed out of the segment + scheduled quantity)
Syntax
getAvailable()
Parameters
None
Returns
Double The quantity of material that is available.
Scope
All
1694
MES Platform 2.0
getInQuantity()
Description
Get the quantity of material feeding into a segment that will be part of the finished goods.
Syntax
getInQuantity()
Parameters
None
Returns
Double The quantity of material.
Scope
All
getLocationLink()
Description
Syntax
getLocationLink()
Parameters
None
Returns
MES Object Link - The link representing the location.
Scope
1695
MES Platform 2.0
All
getLotNumber()
Description
Get the lot number of the material lot used to filter the results.
Syntax
getLotNumber()
Parameters
None
Returns
String materialLotNumber - The lot number to return the material lot object for.
Scope
All
getLotSequence()
Description
Get the lot sequence of the material lot used to filter the results. The sequence property is
incremented every time a new Material Lot is created for a given lot number.
Syntax
getLotSequence()
Parameters
None
1696
MES Platform 2.0
Returns
Integer sequenceNumber - The lot sequence number to return the link for. If it is less than
zero, then the lot holding the maximum value is returned and if the same lot number is
used for multiple segments, each lot with the same lot number will be assigned a different
lot sequence number.
Scope
All
getMaterialDescription()
Description
Syntax
getMaterialDescription()
Parameters
None
Returns
String The description of the specified material.
Scope
All
getMaterialLot()
Description
Return the material lot MES object associated the specified material property of a segment.
Syntax
1697
MES Platform 2.0
getMaterialLot()
Parameters
None
Returns
String - A MESMaterialLot object that is associated with the specified material property for
segment.
Scope
All
getMaterialLotUUID()
Description
Get the UUID of the material lot used to filter the results.
Syntax
getMaterialLotUUID()
Parameters
None
Returns
String materialLotUUID - The UUID of the Material Definition to assign to the Material Lot
object.
Scope
All
getMaterialName()
Description
1698
MES Platform 2.0
Syntax
getMaterialName()
Parameters
None
Returns
String The name of the specified material.
Scope
All
getMaterialUUID()
Description
The UUID of the material to assign to the Material Lot object. See UUIDs for more
information.
Syntax
getMaterialUUID()
Parameters
None
Returns
String The UUID of the specified material.
Scope
All
getNetQuantity()
1699
MES Platform 2.0
Description
Get the net quantity of material in the lot. Net quantity = quantity in the beginning - used
quantity of the item.
Syntax
getNetQuantity()
Parameters
None
Returns
Double The net quantity of material.
Scope
All
getUnits()
Description
Syntax
getUnits()
Parameters
None
Returns
String units - The units of quantity.
Scope
1700
MES Platform 2.0
All
setAvailable()
Description
Get the available quantity of the item. Available quantity = Quantity of material fed into the
segment in the beginning - (Quantity fed out of the segment + scheduled quantity)
Syntax
setAvailable()
Parameters
Double The quantity of material that is available.
Returns
Nothing
Scope
All
setInQuantity()
Description
Set the quantity of material feeding into a segment that will be part of the finished goods.
Syntax
setInQuantity()
Parameters
Double The quantity of material.
1701
MES Platform 2.0
Returns
Nothing
Scope
All
setLocationLink()
Description
Syntax
setLocationLink()
Parameters
MES Object Link - The link representing the location.
Returns
Nothing
Scope
All
setLotNumber()
Description
Set the lot number of the material lot used to filter the results.
Syntax
setLotNumber()
1702
MES Platform 2.0
Parameters
String materialLotNumber - The lot number to return the material lot object for.
Returns
Nothing
Scope
All
setLotSequence()
Description
Set the lot sequence of the material lot used to filter the results. The sequence property is
incremented every time a new Material Lot is created for a given lot number.
Syntax
setLotSequence()
Parameters
Integer sequenceNumber - The lot sequence number to return the link for. If it is less than
zero, then the lot holding the maximum value is returned and if the same lot number is
used for multiple segments, each lot with the same lot number will be assigned a different
lot sequence number.
Returns
Nothing
Scope
All
setMaterialDescription()
Description
1703
MES Platform 2.0
Syntax
setMaterialDescription()
Parameters
String The description of the specified material.
Returns
Nothing
Scope
All
setMaterialLot()
Description
Return the material lot MES object associated the specified material property of a segment.
Syntax
setMaterialLot()
Parameters
String - A MESMaterialLot object that is associated with the specified material property for
segment.
Returns
Nothing
Scope
All
setMaterialLotUUID()
1704
MES Platform 2.0
Description
Set the UUID of the material lot used to filter the results.
Syntax
setMaterialLotUUID()
Parameters
String materialLotUUID - The UUID of the Material Definition to assign to the Material Lot
object.
Returns
Nothing
Scope
All
setMaterialName()
Description
Syntax
setMaterialName()
Parameters
String The name of the specified material.
Returns
Nothing
Scope
All
1705
MES Platform 2.0
setMaterialUUID()
Description
The UUID of the material to assign to the Material Lot object. See UUIDs for more
information.
Syntax
setMaterialUUID()
Parameters
String The UUID of the specified material.
Returns
Nothing
Scope
All
setNetQuantity()
Description
Get the net quantity of material in the lot. Net quantity = quantity in the beginning - used
quantity of the item.
Syntax
setNetQuantity()
Parameters
Double The net quantity of material.
Returns
1706
MES Platform 2.0
Nothing
Scope
All
setUnits()
Description
Syntax
setUnits()
Parameters
String units - The units of quantity.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
equipLotSummary = system.mes.getLotInventoryByEquipment('[globa
l]\My Enterprise\California\Storage\Vinegar Tanks\Vinegar Tank
1')
for lotSummary in equipLotSummary:
lotUUID = lotSummary.getMaterialLotUUID()
lotNo = lotSummary.getLotNumber()
lotSeq = lotSummary.getLotSequence()
matUUID = lotSummary.getMaterialUUID()
matName = lotSummary.getMaterialName()
matDescription = lotSummary.getMaterialDescription()
1707
MES Platform 2.0
inQuant = lotSummary.getInQuantity()
outQuant = lotSummary.getOutQuantity()
schedule = lotSummary.getScheduled()
available = lotSummary.getAvailable()
netQuant = lotSummary.getNetQuantity()
units = lotSummary.getUnits()
locationLink = lotSummary.getLocationLink()
print "lot uuid: %s, lot number: %s, lot sequence: %d,
material UUID: %s, material name: %s, material Description: %
s, In Quantity: %f, Out Quantity: %f, schedule: %f, available:
%f, net quantity: %f, units: %s, locationLink: %s" % (lotUUID,
lotNo, lotSeq, matUUID, matName, matDescription, inQuant,
outQuant, schedule, available, netQuant, units, locationLink)
Output
Properties:
getInQuantitySum()
Description
Get the quantity of a specific item inside the segment that will be part of the finished goods.
1708
MES Platform 2.0
Syntax
getInQuantitySum()
Parameters
None
Returns
Double The quantity of a specific item inside the segment.
getNetQuantitySum()
Description
Get the net quantity of a specific item. Net Quantity = inQuantity - outQuantity.
Syntax
getNetQuantitySum()
Parameters
None
Returns
Double The net quantity of a specific item in the lot.
getOutQuantitySum()
Description
Get the quantity of a specific item moved out of the segment that is or will be part of the
finished goods.
Syntax
getOutQuantitySum()
1709
MES Platform 2.0
Parameters
None
Returns
Double The quantity of a specific item moved out of a segment.
getScheduledSum()
Description
Syntax
getScheduledSum()
Parameters
None
Returns
Double The quantity of a specific item within a schedule.
Code Examples
Code Snippet
1710
MES Platform 2.0
Output
Methods:
get(uuid)
Description
Returns the MES object link for the specified UUID. If the specified UUID does not exist,
None will be returned.
Syntax
get(uuid)
Parameters
None
Returns
String mesObjectLink - The MES object link corresponding to the uuid.
Code Examples
1711
MES Platform 2.0
Code Snippet
Output
getList()
Description
Syntax
getList()
Parameters
None
Returns
String mesObjectLinkList - A list containing MES object links.
Code Examples
Code Snippet
1712
MES Platform 2.0
#This example reads the child MES object links that belong to
the Vinegar Material Class.
mesObject = system.mes.loadMESObject('Vinegar', 'MaterialClass'
)
if mesObject != None:
childList = mesObject.getChildCollection().getList()
for child in childList:
print child.getName()
Output
Balsamic Vinegar
Red Wine Vinegar
White Vinegar
isEmpty()
Description
Syntax
isEmpty()
Parameters
None
Returns
Boolean - True if there are no MES object links in the collection.
Code Examples
Code Snippet
1713
MES Platform 2.0
Output
False
size()
Description
Syntax
size()
Parameters
None
Returns
Integer - The number of MES object links in the collection.
Code Examples
Code Snippet
1714
MES Platform 2.0
Output
Properties:
None
Description
Methods:
get
Description
1715
MES Platform 2.0
Syntax
get(parameterName)
Parameters
String parameterName - The name of the parameter to return the value for.
Returns
Object - The type return matches the type when the parameter was added to the collection
using the put() function. If the parameter name does not exist in the collection, None is
returned.
Scope
All
Code Examples
Code Snippet
Output
Dressing
High
None
1716
MES Platform 2.0
put
Description
Syntax
put(parameterName, value)
Parameters
String parameterName - The name of the parameter to add to the parameters collection.
String value - The value of the parameter.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
size
Description
1717
MES Platform 2.0
Syntax
size()
Parameters
None
Returns
Integer - description
Scope
All
Code Examples
Code Snippet
Output
1718
MES Platform 2.0
Base Object
The MES Object Filter is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Scripting Functions
system.mes.object.filter.createFilter() can be used to create an MESObjectFilter object
system.mes.object.filter.parseCustomPropertyValueFilter(filter) takes in an
MESObjectFilter object as a parameter
myMESObjectFilter = system.mes.object.filter.createFilter()
print myMESObjectFilter.getMESObjectTypeName()
Object Description
The MESObjectFilter object is used to specify the MES objects to return for various
components such as the MES Object Selector and script functions.
Methods
Beside the common MESAbstractObject methods, the following methods exist for the MES
Object Filter.
getCustomPropertyNamePattern()
Description
Get the custom property name pattern used to filter the results.
Syntax
getCustomPropertyNamePattern()
Parameters
1719
MES Platform 2.0
None
Returns
String The custom property name pattern.
getCustomPropertyValueFilter()
Description
Syntax
getCustomPropertyValueFilter()
Parameters
None
Returns
List of MESPropertyValueFilter - The custom property value list.
getEnabledStateName()
Description
Syntax
getEnabledStateName()
Parameters
None
Returns
String name - The name of the enable state.
1720
MES Platform 2.0
getExcludedEquipmentPathList()
Description
Syntax
getExcludedEquipmentPathList()
Parameters
None
Returns
List<String> pathList - The list of equipment paths that are excluded.
getMESObjectNamePattern()
Description
Get the MES object name pattern used to filter the results.
Syntax
getMESObjectNamePattern()
Parameters
None
Returns
String The MES object name pattern.
getMESObjectTypeName()
Description
Return the MES object type name the filter is set for.
1721
MES Platform 2.0
Syntax
getMESObjectTypeName()
Parameters
None
Returns
String The MES object type name.
getMESObjectTypes()
Description
Gets the MES object types associated with the specified MES object filter.
Syntax
getMESObjectTypes()
Parameters
None
Returns
MESObjectTypes - A list of mes object types associated with this filter.
Scope
All
getMESObjectUUIDList()
Description
1722
MES Platform 2.0
Syntax
getMESObjectUUIDList()
Parameters
None
Returns
List of String - A list of MES object UUIDs.
Code Snippet
filter = system.mes.object.filter.createFilter()
#Gets the list of uuid.
list = filter.getMESObjectUUIDList()
Addind another item to the list.
list.add('5253ccae-47b4-4dc2-954f-900ffa8636eb')
getPrimaryClassFilter()
Description
Syntax
getPrimaryClassFilter()
Parameters
None
Returns
The primary class filter which was previously defined to filter the results.
getPrimaryMESObjectPath()
Description
Gets the primary MES object path that was set to filter the results.
1723
MES Platform 2.0
Syntax
getPrimaryMESObjectPath()
Parameters
None
Returns
The primary MES object path to filter the results.
getPrimaryMESObjectUUID()
Description
Get the UUID of the primary MES object to include in the results.
Syntax
getPrimaryMESObjectUUID()
Parameters
None
Returns
String The primary MES object UUID.
hasCustomPropertyNamePattern()
Description
Syntax
hasCustomPropertyNamePattern()
1724
MES Platform 2.0
Parameters
None
Returns
boolean - True, if there exist a custom property name pattern and False otherwise.
Scope
All
hasCustomPropertyValueFilter()
Description
Syntax
hasCustomPropertyValueFilter()
Parameters
None
Returns
boolean - True, if there exist a custom property value filter and False otherwise.
Scope
All
hasMESObjectNamePattern()
Description
Syntax
hasMESObjectNamePattern()
1725
MES Platform 2.0
Parameters
None
Returns
boolean - True, if there exist an MES object name pattern and False otherwise.
Scope
All
hasMESObjectTypes()
Description
Checks whether there is any MES object type name to filter the results.
Syntax
hasMESObjectTypes()
Parameters
None
Returns
boolean - True, if there exist any MES object type defined to filter the results and False
otherwise.
Scope
All
hasMESObjectUUIDs()
Description
Syntax
1726
MES Platform 2.0
hasMESObjectUUIDs()
Parameters
None
Returns
boolean - True, if there exist some uuids to filter the results.
hasPrimaryClassFilter()
Description
Checks if there is any primary class filter associated with this MES object filter.
Syntax
hasPrimaryClassFilter()
Parameters
None
Returns
boolean - True, if there exist a primary class filter and False otherwise.
hasPrimaryMESObjectPath()
Description
Checks whether there is a primary MES object path to filter the results.
Syntax
hasPrimaryMESObjectPath()
Parameters
None
Returns
1727
MES Platform 2.0
boolean - True, if there exist a primary MES object path and False otherwise.
hasPrimaryMESObjectUUID()
Description
Checks for the existence of primary MES object uuid to filter the results.
Syntax
hasPrimaryMESObjectUUID()
Parameters
None
Returns
boolean - True, if there exist a primary MES object uuid and False otherwise.
isIncludeRelated()
Description
The results can be limited to only include the related items that is defined by this property
that evaluates to true.
Syntax
isIncludeRelated()
Parameters
None
Returns
boolean - True if the MES object include related items and False otherwise.
isShowEquipmentPath()
1728
MES Platform 2.0
Description
Syntax
isShowEquipmentPath()
Parameters
None
Returns
boolean - True if the ShowEquipmentPath property is set to True and False otherwise.
setCustomPropertyNamePattern(customPropertyNamePattern)
Description
Set the custom property name pattern to filter the results. If a MES object contains a
custom property that matches the custom property name pattern, then it will be included in
the results.
Syntax
setCustomPropertyNamePattern(customPropertyNamePattern)
Parameters
String customPropertyNamePattern - The custom property name pattern used to filter the
results.
Returns
Nothing
Code Examples
Code Snippet
1729
MES Platform 2.0
filter = system.mes.object.filter.createFilter()
filter.setCustomPropertyNamePattern('Type')
setCustomPropertyValueFilter(customPropertyValueFilter)
Description
Set the custom property filter expressions to filter the results. If a custom property of a
MES object matches an expression in this list, then it will be included in the results. Use
system.mes.object.filter.parseCustomPropertyValueFilter() script function to create the list
of MESPropertyValueFilter objects.
Syntax
setCustomPropertyValueFilter(customPropertyValueFilter)
Parameters
List of MES Property Value Filter customPropertyValueFilter - The custom property value
list to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Create a filter.
filter = system.mes.object.filter.createFilter()
#Parses the expression and returns a list of
MESPropertyValueFilter objects that are used in filters.
list = system.mes.object.filter.parseCustomPropertyValueFilter(
'pH > 5.0,Width = 2.5')
filter.setCustomPropertyValueFilter(list)
1730
MES Platform 2.0
Code Examples
Code Snippet
filter = system.mes.object.filter.createFilter()
list = system.mes.object.filter.parseCustomPropertyValueFilter(
'Item Number=A12SIK')
filter.setCustomPropertyValueFilter(list)
list = system.mes.searchMESObjects(filter)
for ndx in range(list.size()):
mesObject = list.get(ndx)
print mesObject.getName()
Output
84001
setEnableStateName(name)
Description
Syntax
setEnableStateName(name)
Parameters
String name - The name of the enable state.
Returns
Nothing
1731
MES Platform 2.0
Code Examples
Code Snippet
setExcludedEquipmentPathList(excludePaths)
Description
Syntax
setExcludedEquipmentPathList(excludePaths)
Parameters
List<String> excludePaths - The list of equipment paths (separated by commas) to be
excluded.
Returns
Nothing
setExcludedEquipmentPathList(excludeList)
Description
Syntax
setExcludedEquipmentPathList(excludeList)
1732
MES Platform 2.0
Parameters
List<String> pathList - The list of equipment paths to be excluded.
Returns
Nothing
setIncludeRelated(includeRelated)
Description
Syntax
setIncludeRelated(includeRelated)
Parameters
boolean includeRelated - Set this to True, if results should only include related objects and
set to False otherwise.
Returns
Nothing
setMESObjectNamePattern(mesObjectNamePattern)
Description
Set the MES object name pattern to include in the results. It can contain wildcard
characters including * or ?. The * character can be any characters and the ? character
represents any single character.
Syntax
setMESObjectNamePattern(mesObjectNamePattern)
Parameters
String mesObjectNamePattern - The MES object name pattern used to filter the results.
1733
MES Platform 2.0
Returns
Nothing
Code Examples
Code Snippet
#Create a filter.
filter = system.mes.object.filter.createFilter()
#Here is an example for setting the name pattern.
filter.setMESObjectNamePattern('*Turkey')
list = system.mes.searchMESObjects(filter)
for ndx in range(list.size()):
mesObject = list.get(ndx)
print mesObject.getMESObjectType().getDisplayName()
Output
setMESObjectTypeName(mesObjectTypeNames)
Description
Syntax
setMESObjectTypeName(mesObjectTypeNames)
Parameters
1734
MES Platform 2.0
String name - Name of the MES object type to limit the results. Options are:
EquipmentClass, Equipment, Enterprise, Site, Area, Line, LineCell, LineCellGroup,
StorageZone, StorageUnit.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
filter = system.mes.object.filter.createFilter()
#Name of MESObjectType is set to "EquipmentClass."
filter.setMESObjectTypeName('EquipmentClass')
setMESObjectTypes(mesObjectTypes)
Description
Syntax
setMESObjectTypes(mesObjectTypes)
Parameters
MESObjectTypes - The MES object types to set as filter.
Returns
Nothing
Scope
All
1735
MES Platform 2.0
setMESObjectUUIDList(mesObjectUUIDList)
Description
Syntax
setMESObjectUUIDList(mesObjectUUIDList)
Parameters
List of String mesObjectUUIDList - The list of UUIDs to include in the results.
Returns
Nothing
setPrimaryClassFilter(primaryClassFilter)
Description
The results can be limited to only include items that have a primary class filter defined by
this property that evaluates to true.
Syntax
setPrimaryClassFilter(primaryClassFilter)
Parameters
String primaryClassFilter - The primary class to filter the results.
Returns
Nothing
setPrimaryMESObjectPath(primaryMESObjectPath)
Description
1736
MES Platform 2.0
Set the path of the primary MES object to include in the results.
Syntax
setPrimaryMESObjectPath(primaryMESObjectPath)
Parameters
String primaryMESObjectPath - The path of the primary MES object to include the results.
Returns
Nothing
setPrimaryMESObjectUUID(primaryMESObjectUUID)
Description
Set the UUID of the primary MES object to include in the results. Child MES objects will
also be included in the results.
Syntax
setPrimaryMESObjectUUID(primaryMESObjectUUID)
Parameters
String primaryMESObjectUUID - The UUID of the primary MES object to include the
results.
Returns
Nothing
Code Examples
Code Snippet
filter = system.mes.object.filter.createFilter()
filter.setPrimaryMESObjectUUID('73facb39-806c-4bfc-8881-
cc06707a9909')
1737
MES Platform 2.0
setShowEquipmentPath(showPath)
Description
If set to True the equipment names with the paths are shown.
Syntax
setShowEquipmentPath(showPath)
Parameters
Boolean showPath - Set to True to display equipment path and False otherwise.
Returns
Nothing
Properties
The following properties are available for this object.
None
Object Description
The MESObjectLink object is a light weight version of an MES object. Think of it as a reference
to the full MES object. In many cases, just the general information about an MES object is
needed instead of the full details of the MES object.
Consider the case of displaying options in the MES Object Selector component. For example,
there may be 100 different names populating the drop down selector. Loading the full details of
each MES object loads a lot of unnecessary data and creates extra overhead. Instead a
reference to each item in the MES Object Selector could be loaded with a link that includes the
name, UUID, and type for each MES object. This approach is faster for the operator and less
costly to the server.
Scripting Functions
1738
MES Platform 2.0
Scripting Functions
The following functions can be used to create an MESObjectLink object.
system.mes.object.link.create(mesObject)
system.mes.object.link.create(mesObjectType, mesObjectUUID)
system.mes.object.link.create(mesObjectType, mesObjectUUID, name)
system.mes.object.link.create(mesObjectTypeName, mesObjectUUID)
system.mes.object.link.create(mesObjectTypeName, mesObjectUUID, name)
Example
From the MESObjectLink object the full MES object can be loaded by calling the
getMESObject() method.
Code Snippet
mesObject = mesObjectLink.getMESObject()
Methods
The following methods exist for the MES Object Link.
getMESObject()
Description
Returns MES object associated with a MESObjectLink object. If the MES object has not
been previously loaded, it will be loaded.
Syntax
getMESObject()
Parameters
None
Returns
AbstractMESObject - The MES object associated with the event.
1739
MES Platform 2.0
Code Examples
Code Snippet
#Example
objLink = system.mes.object.link.create('ProcessSegment', '4c8e
dc76-d08b-4838-9e3f-562151eecfa0')
print objLink.getMESObject()
Output
getMESObjectType()
Description
Returns MES object type that this MESObjectLink object is set to.
Syntax
getMESObjectType()
Parameters
None
Returns
MESObjectTypes
Code Examples
Code Snippet
1740
MES Platform 2.0
#Example
obj = system.mes.loadMESObject('57290b1b-c734-404a-bc0f-
af0f5e4d2a91')
objLink = system.mes.object.link.create(obj)
print objLink.getMESObjectType()
Output
Material Class
getMESObjectUUID()
Description
Syntax
getMESObjectUUID()
Parameters
None
Returns
String
Code Examples
Code Snippet
#Example
matCls = system.mes.loadMESObject('Turkey', 'MaterialClass')
objLink = system.mes.object.link.create(matCls)
print objLink.getMESObjectUUID()
1741
MES Platform 2.0
Output
57290b1b-c734-404a-bc0f-af0f5e4d2a91
getName()
Syntax
getName()
Parameters
None
Returns
String
Code Examples
Code Snippet
#Example
obj = system.mes.loadMESObject('8da06ff8-2922-4e0c-a01a-
e7cda6899a0e')
objLink = system.mes.object.link.create(obj)
print objLink.getName()
Output
Vinegar Tank 1
hasMESObject()
Description
1742
MES Platform 2.0
Returns True if MES object has been loaded into this MESObjectLink. This will be the case
either after the system.mes.create(mesObject) constructor or the getMESObject() property
of a MESObjectLink object has been called.
Syntax
hasMESObject()
Parameters
None
Returns
Boolean
Code Examples
Code Snippet
#Example
obj = system.mes.loadMESObjectByEquipmentPath('[global]\My
Enterprise\California\Receiving\Unload Station 1')
objLink = system.mes.object.link.create(obj)
print objLink.hasMESObject()
Output
True
hasMESObjectInfo()
Description
Returns True if MES object information exists. This includes the MES object type and
UUID. The name is not required for this property to return True.
1743
MES Platform 2.0
Syntax
hasMESObjectInfo()
Parameters
None
Returns
Boolean
Code Examples
Code Snippet
#Example
objLink = system.mes.object.link.create('MaterialDef', 'Box')
print objLink.hasMESObjectInfo()()
Output
True
hasName()
Description
Syntax
hasName()
Parameters
None
Returns
1744
MES Platform 2.0
Boolean
Code Examples
Code Snippet
#Example
obj = system.mes.loadMESObjectByEquipmentPath('[global]\My
Enterprise\California\Storage\Vinegar Tanks\Vinegar Tank 1')
objLink = system.mes.object.link.create(obj)
print objLink.hasName()
Output
True
invalidateMESObject()
Description
This clears the previously loaded MES object associated with this MESObjectLink. This
can be used to reuse a MESObjectLink object.
Syntax
invalidateMESObject()
Parameters
None
Returns
Nothing
Code Examples
1745
MES Platform 2.0
Code Snippet
Output
False
Object Description
The MESObjectList is a collection of MES objects. A list may contain any number of mes
objects. From the MESObjectList object an MES object with a specific uuid can be loaded by
calling the findByUUID() function.
Scripting Functions
The following function can be used to create an MESObjectList object.
system.mes.object.list.createList()
Description
Syntax
system.mes.object.list.createList()
Parameters
None
1746
MES Platform 2.0
Returns
The list of MES objects.
Scope
All
Example
Methods
The following methods exist for the MES Object List.
add(mesobject)
Description
Syntax
add(mesobject)
Parameters
AbstractMESObject mesobject - The object to be added.
Returns
True if the object is added and False otherwise.
Scope
All
1747
MES Platform 2.0
remove(mesobject)
Description
Syntax
remove(mesobject)
Parameters
AbstractMESObject mesobject - The object to be removed.
Returns
True if the object is removed and False otherwise.
Scope
All
addAll(collection)
Description
Appends all of the elements in the specified collection to the end of this MES object list.
Syntax
addAll(collection)
Parameters
List collection - A collection containing elements to be added to this list.
Returns
True if all the objects are added to this MES object list and False otherwise.
Scope
1748
MES Platform 2.0
All
removeAll(collection)
Description
Syntax
removeAll(collection)
Parameters
List collection - A collection containing elements to be removed to this list.
Returns
True if the objects in the list is removed and False otherwise.
Scope
All
findByUUID()
Description
Syntax
findByUUID(uuid)
Parameters
String uuid - UUID of the MES object.
Returns
1749
MES Platform 2.0
hasSingleMESObject()
Description
Checks whether the list contains more than one MES object.
Syntax
hasSingleMESObject()
Parameters
None
Returns
Boolean
Scope
All
Code Example
Code Snippet
1750
MES Platform 2.0
#This code snippet will check if the list contains only one
MES object
print objList.hasSingleMESObject()
#Creates a filter
filter = system.mes.object.filter.createFilter()
filter.setEnableStateName('ENABLED')
filter.setMESObjectNamePattern('Receive *')
mesList = system.mes.loadMESObjects(filter)
Output
True
True
False
MaterialDef (a3f05165-1cee-4661-a1e8-d282bf2c6a02, Bulk
Almonds, 1 parents, 0 children, 2 custom properties, 0 complex
properties)
True
True
ResponsePersonnelClass
ResponsePerson
PersonnelClass
Person
ResponseMaterialClass
1751
MES Platform 2.0
ResponseMaterialDef
MaterialLot
MaterialSublot
MaterialRoot
MaterialClass
MaterialDef
ResponseEquipmentClass
ResponseEquipment
MESResponseEnterprise
MESResponseSite
MESResponseArea
MESResponseLine
MESResponseLineCell
MESResponseLineCellGroup
MESResponseStorageZone
MESResponseStorageUnit
EquipmentClass
Equipment
MESEnterprise
MESSite
MESArea
MESLine
MESLineCell
MESLineCellGroup
MESStorageZone
MESStorageUnit
ProcessSegment
OperationsDefinition
OperationsSegment
OperationsVersion
VersionSegment
OperationsSchedule
OperationsRequest
RequestSegment
OperationsPerformance
OperationsResponse
ResponseSegment
EquipmentState
EquipmentStateClass
EquipmentStateRoot
EquipmentMode
1752
MES Platform 2.0
EquipmentModeClass
EquipmentModeRoot
AnalysisSettings
WorkOrder
MESObjectTypes
The MESObjectTypes object has some helpful functions when working with MES Objects (T&T)
. Both the AbstractMESObject and the MES Object Link object s have a getMESObjectType()
function that returns the type of an MES object .
The code below shows how to determine the specific MES object type using the
getMESObjectType() method on the object.
##This code snippet will print the names of MES object types
##for the objects returned by the filter.
##For this example there is an Equipment Class called "Packaging
Equipment".
filter = system.mes.object.filter.createFilter()
filter.setMESObjectNamePattern('Packaging Equipment')
list = system.mes.searchMESObjects(filter)
for ndx in range(list.size()):
mesObject = list.get(ndx)
print mesObject.getMESObjectType().getDisplayName()
Result
Equipment Class
Methods
getDescription()
Description
Syntax
1753
MES Platform 2.0
getDescription()
Parameters
None
Returns
String description - The description of the MES object type.
Scope
All
getDisplayName()
Description
Return the display name of the MES object type. This will be the long name with spaces.
Syntax
getDisplayName()
Parameters
None
Returns
String name - The display name of the MES object type.
Scope
All
getName()
Description
Returns the name of the MES object type. This will be a short name without spaces.
1754
MES Platform 2.0
Syntax
getName()
Parameters
None
Returns
String name - The name of the MES object type.
Scope
All
getTypeFromName()
Description
Returns a MES Object Types object for the specified type name.
Syntax
getTypeFromName(name)
Parameters
String name - The short name of the MES object type.
Returns
The MESObjectTypes object.
Scope
All
1755
MES Platform 2.0
Methods:
system.mes.object.filter.parseCustomPropertyValueFilter(filterExpression)
Description
Parses a string expression and returns a list of MESPropertyValueFilter objects that are
used in filters. The expression consists of the custom property path, a comparison and a
constant value.
The custom property path starts with the MES object types and continues with the route
including nested custom properties to the final custom property to be used in the
comparison.
Example Paths:
MaterialLot.pH
MaterialLot.Dimension.Width
The path is followed by a comparison that can be any one of the following:
= Equal
!= Not equal
Multiple expressions can be included by separating then with commas. When this is done, all
sub expressions must match for the overall expression to evaluate to true.
Example Expressions:
1756
MES Platform 2.0
Syntax
Parameters
String filterExpression - The custom property filter expression to parse.
Returns
Based on the filterExpression, a list of MESPropertyValueFilter objects.
Code Snippet
filter = system.mes.object.filter.createFilter()
list = system.mes.object.filter.parseCustomPropertyValueFilter('pH
> 5.0,Width = 2.5')
filter.setCustomPropertyValueFilter(list)
results = system.mes.loadMESObjects(filter)
for link in results:
print link.getName()
Properties:
None
Description
Syntax
getAllocatedQuantity()
1757
MES Platform 2.0
Parameters
None
Returns
Double value - The allocated quantity of the lot.
Scope
All
getAutoGenerateLot()
Description
Gets a boolean indicating whether this response material property will automatically
generate lots or not.
Syntax
getAutoGenerateLot()
Parameters
None
Returns
boolean autoGenerateLot - True, if the autoGenerateLot property is set to true and False
otherwise.
Scope
All
getAutoLotCompletion()
Description
Gets the value of auto lot completion property associated with this response material
property.
1758
MES Platform 2.0
Syntax
getAutoLotCompletion()
Parameters
None
Returns
The value set for the auto lot completion property.
Scope
All
getBeginDateTime()
Description
Get the beginning date and time to limit the results to return.
Syntax
getBeginDateTime()
Parameters
None
Returns
Date beginDateTime - The date and time to filter the results.
Scope
All
getCycleTime()
1759
MES Platform 2.0
Description
Syntax
getCycleTime()
Parameters
None
Returns
Integer value - The lot cycle time in seconds.
Scope
All
getDefaultQuantity()
Description
Syntax
getDefaultQuantity()
Parameters
None
Returns
Double value - The default quantity value.
Scope
All
getEnableSublots()
1760
MES Platform 2.0
Description
A boolean indicating whether this response material property will enable sublots or not.
Syntax
getEnableSublots()
Parameters
None
Returns
boolean enableSublots - True, if sublots are enabled and False otherwise.
Scope
All
getEndDateTime()
Description
Get the end date and time to limit the results to return.
Syntax
getEndDateTime()
Parameters
None
Returns
Date endDateTime - The date and time to filter the results.
Scope
All
getEquipmentRef()
1761
MES Platform 2.0
Description
Syntax
getEquipmentRef()
Parameters
None
Returns
MES Object Link mesObjectLink - The MESObjectLink representing the equipment.
Scope
All
getEquipmentRefProperty()
Description
Gets the equipment reference properties for this response material property.
Syntax
getEquipmentRefProperty()
Parameters
None
Returns
MESLotEquipmentRefProperty - The equipment reference properties. All those children
properties to the MES response material property referring the equipment.
Scope
All
getEquipmentRefType()
1762
MES Platform 2.0
Description
Syntax
getEquipmentRefType()
Parameters
None
Returns
String equipmentRefType - The type of the equipment.
Scope
All
getEquipmentRefUUID()
Description
Syntax
getEquipmentRefUUID()
Parameters
None
Returns
String equipmentRefUUID - The uuid representing this equipment.
Scope
All
1763
MES Platform 2.0
getEquipmentVersionRefUUID()
Description
Syntax
getEquipmentVersionRefUUID()
Parameters
None
Returns
String getVersionRefUUID - The uuid to refer the version of the equipment.
Scope
All
getFinalLotStatus()
Description
Syntax
getFinalLotStatus()
Parameters
None
Returns
String finalLotStatus - The final status of the material lot.
Scope
1764
MES Platform 2.0
All
getLotBeginningQuantity()
Description
Syntax
getLotBeginningQuantity()
Parameters
None
Returns
Double value - The quantity of material set at the beginning.
Scope
All
getLotCycleTime()
Description
Syntax
getLotCycleTime()
Parameters
None
Returns
1765
MES Platform 2.0
Integer cycleTime - Lot cycle time for this response material property.
Scope
All
getLotDepletionSeconds()
Description
Syntax
getLotDepletionSeconds()
Parameters
None
Returns
Integer lotDepletionSeconds - The depletion time of the lot.
Scope
All
getLotDepletionWarning()
Description
Syntax
getLotDepletionWarning()
Parameters
1766
MES Platform 2.0
None
Returns
Integer value - The depletion warning in seconds.
Scope
All
getLotMessageType()
Description
Syntax
getLotMessageType()
Parameters
None
Returns
MESLotMessageTypes lotMessageType - The lot message type.
Scope
All
getLotNumberSource()
Description
Syntax
getLotNumberSource()
1767
MES Platform 2.0
Parameters
None
Returns
String lotNoSource - The name of the lot number source.
Scope
All
getLotNumberSourceLink()
Description
Syntax
getLotNumberSourceLink()
Parameters
None
Returns
String lotNoSourceLink - Name of the lot number source link.
Scope
All
getLotRate()
Description
Syntax
getLotRate()
1768
MES Platform 2.0
Parameters
None
Returns
Double lotRate - The lot rate for this response material property.
Scope
All
getLotRatePeriod()
Description
Gets the lot rate period for this response material property.
Syntax
getLotRatePeriod()
Parameters
None
Returns
String lotRatePeriod - The lot rate period for this response material property.
Scope
All
getLotRefSequence()
Description
1769
MES Platform 2.0
Syntax
getLotRefSequence()
Parameters
None
Returns
Integer value - The sequence number associated with the lot.
Scope
All
getLotStatusFilter()
Description
Syntax
getLotStatusFilter()
Parameters
None
Returns
String lotStatusFilter - The custom lot status value.
Scope
All
getLotUUID()
Description
1770
MES Platform 2.0
Syntax
getLotUUID()
Parameters
None
Returns
String uuid - The unique identifier for this lot.
Scope
All
getManualLotNo()
Description
Syntax
getManualLotNo()
Parameters
None
Returns
String manualLotNum - The lot number entered by the user.
Scope
All
getMaterialLot()
Description
Gets the material lot associated with this response material property.
1771
MES Platform 2.0
Syntax
getMaterialLot()
Parameters
None
Returns
MESMaterialLot materialLot - The material lot object.
Scope
All
getMaterialRef()
Description
Gets the MES object link corresponding to this response material property.
Syntax
getMaterialRef()
Parameters
None
Returns
MES Object Link mesObjectLink - The link corresponding to the material.
Scope
All
getMaterialRefProperty()
Description
1772
MES Platform 2.0
Gets the material reference properties for this response material property.
Syntax
getMaterialRefProperty()
Parameters
None
Returns
The material reference properties. All those children properties to MES response material
property.
Scope
All
getMaterialRefType()
Description
Syntax
getMaterialRefType()
Parameters
None
Returns
S tring materialRefType - The type of the material reference.
Scope
All
getMaterialRefUUID()
1773
MES Platform 2.0
Description
Syntax
getMaterialRefUUID()
Parameters
None
Returns
S tring materialRefUUID - The unique identifier for the material reference.
Scope
All
getMaterialVersionRefUUID()
Description
Syntax
getMaterialVersionRefUUID()
Parameters
None
Returns
String uuid - The uuid which represent the version of the material.
Scope
All
getQuantity()
1774
MES Platform 2.0
Description
Syntax
getQuantity()
Parameters
None
Returns
Double quantity - The actual quantity for this lot resource. This can be the current quantity
at anytime during the life of a Response Segment, but will equal the final production
quantity when this lot resource is finalized.
Scope
All
getQuantitySource()
Description
This setting determines the source of the quantity for this response material resource.
Syntax
getQuantitySource()
Parameters
None
Returns
String quantitySource - The name of the source of the quantity.
Scope
All
1775
MES Platform 2.0
getQuantitySourceLink()
Description
Gets the name of the material resource to link to this segment. This is used when the
Quantity Source setting is set to Link, Split or Combine.
Syntax
getQuantitySourceLink()
Parameters
None
Returns
String quantitySourceLink - The link to the quantity source.
Scope
All
getQuantityUnits()
Description
Syntax
getQuantityUnits()
Parameters
None
Returns
String quantityUnits - The units of lot quantity.
Scope
1776
MES Platform 2.0
All
getRate()
Description
Syntax
getRate()
Parameters
None
Returns
Double rate - The lot rate set for this response segment object.
Scope
All
getRatePeriod()
Description
Syntax
getRatePeriod()
Parameters
None
Returns
String ratePeriod - The material rate period.
1777
MES Platform 2.0
Scope
All
getReferenceOptions(mesObjectType, searchPattern)
Description
Get a list of the available options for the specified MES reference property specified by the
object type and search pattern.
Syntax
getReferenceOptions(mesObjectType, searchPattern)
Parameters
MESObjectTypes mesObjectType - The MES object type of the links that represent the
options.
String searchPattern - The search pattern to filter the results by. It can contain the * and ?
wild card characters.
Returns
A list of MES Object Link objects holding the options that are appropriate for the specified
property. The list is returned as a MES List object that is a collection holding MES object
links that represent the options.
Scope
All
Description
Get a list of the available options for the specified MES reference property specified by the
parameters.
1778
MES Platform 2.0
Syntax
Parameters
MESObjectTypes mesObjectType - The MES object type of the links that represent the
options.
String searchPattern - The search pattern to filter the results by. It can contain the * and ?
wild card characters.
int maxLotReturnCount - The maximum number of lots.
String lotDescriptionPattern - This is a pattern to filter the lot descriptions.
Returns
A list of MES Object Link objects holding the options that are appropriate for the specified
property. The list is returned as a MES List object that is a collection holding MES object
links that represent the options.
Scope
All
getSegmentRefUUID()
Description
Syntax
getSegmentRefUUID()
Parameters
None
Returns
String uuid - The reference uuid for the response segment.
1779
MES Platform 2.0
Scope
All
getStatus()
Description
Syntax
getStatus()
Parameters
None
Returns
String status - The previously set lot status.
Scope
All
getUnits()
Description
Syntax
getUnits()
Parameters
None
Returns
1780
MES Platform 2.0
getUse()
Description
Gets the material use types. Options are In, Out, Consumable, By-product.
Syntax
getUse()
Parameters
None
Returns
String lotUse - The lot use type for the response material.
Scope
All
getZeroLotThresholdQty()
Description
Syntax
getZeroLotThresholdQty()
Parameters
None
1781
MES Platform 2.0
Returns
Double value - The zero lot threshold quantity value.
Scope
All
hasBeginDateTime()
Description
Syntax
hasBeginDateTime()
Parameters
None
Returns
boolean time - True, if the date and time to begin is set and False otherwise.
Scope
All
hasEndDateTime()
Description
Syntax
hasEndDateTime()
Parameters
1782
MES Platform 2.0
None
Returns
boolean time - True, if the end date and time is set and False otherwise.
Scope
All
hasEquipmentRef()
Description
Syntax
hasEquipmentRef()
Parameters
None
Returns
boolean True, if there exist any reference to the equipment and False otherwise.
Scope
All
hasLotRef()
Description
Syntax
hasLotRef()
1783
MES Platform 2.0
Parameters
None
Returns
boolean True, if there exist any reference to the lot and False otherwise.
Scope
All
hasMaterialRef()
Description
Syntax
hasMaterialRef()
Parameters
None
Returns
boolean True, if there is material reference and False otherwise.
Scope
All
hasQuantity()
Description
Syntax
hasQuantity()
1784
MES Platform 2.0
Parameters
None
Returns
boolean True, if the quantity is specified for the response segment and False otherwise.
Scope
All
hasQuantityUnits()
Description
Syntax
hasQuantityUnits()
Parameters
None
Returns
boolean True, if there exist a quantity unit setting and False otherwise.
Scope
All
hasSegmentRefUUID()
Description
Syntax
1785
MES Platform 2.0
hasSegmentRefUUID()
Parameters
None
Returns
boolean True if there is a reference uuid for the segment and False otherwise.
Scope
All
isActive()
Description
Syntax
isActive()
Parameters
None
Returns
boolean - True if the lot is active and False if it is inactive.
Scope
All
isEquipmentReadyToRun()
Description
1786
MES Platform 2.0
Syntax
isEquipmentReadyToRun()
Parameters
None
Returns
boolean True if the equipment is ready to run and False otherwise.
Scope
All
isMaterialReadyToRun()
Description
Syntax
isMaterialReadyToRun()
Parameters
None
Returns
boolean True if the material reference type is valid and False otherwise.
Scope
All
isOptional()
Description
1787
MES Platform 2.0
Syntax
isOptional()
Parameters
None
Returns
boolean True if the lot is set as optional and False otherwise.
Scope
All
isOutUse()
Description
Syntax
isOutUse()
Parameters
None
Returns
boolean True if the material use type is out and False otherwise.
Scope
All
isProductionSelectable()
1788
MES Platform 2.0
Description
Syntax
isProductionSelectable()
Parameters
None
Returns
boolean True if the production is selectable and False otherwise.
Scope
All
setAllocatedQuantity(allocatedQuantity)
Description
Syntax
setAllocatedQuantity(allocatedQuantity)
Parameters
Double allocatedQuantity - The quantity to allocate the lot for.
Returns
Nothing
Scope
All
setAutoGenerateLot(autoGenerateLot)
1789
MES Platform 2.0
Description
Sets a boolean indicating whether this response material property will automatically
generate lots or not.
Syntax
setAutoGenerateLot(autoGenerateLot)
Parameters
boolean autoGenerateLot - True, if the autoGenerateLot property is set to true and False
otherwise.
Returns
Nothing
Scope
All
setAutoLotCompletion(autoLotCompletion)
Description
Sets the value of auto lot completion property associated with this response material
property.
Syntax
setAutoLotCompletion(autoLotCompletion)
Parameters
String autoLotCompletion - The value to set the auto lot completion property for.
Returns
Nothing
Scope
1790
MES Platform 2.0
All
setBeginDateTime(beginDateTime)
Description
Set the beginning date and time to limit the results to return.
Syntax
setBeginDateTime(beginDateTime)
Parameters
Date beginDateTime - The date and time to filter the results.
Returns
Nothing
Scope
All
setCycleTime(cycleTime)
Description
Syntax
setCycleTime(cycleTime)
Parameters
Sets the lot cycle time in seconds.
Returns
Nothing
1791
MES Platform 2.0
Scope
All
setDefaultQuantity(defaultQuantity)
Description
Syntax
setDefaultQuantity(defaultQuantity)
Parameters
Double defaultQuantity - The default quantity value.
Returns
Nothing
Scope
All
setEnableSublots(enableSublots)
Description
A boolean indicating whether this response material property will enable sublots or not.
Syntax
setEnableSublots(enableSublots)
Parameters
boolean enableSublots - True, if sublots are enabled and False otherwise.
Returns
1792
MES Platform 2.0
Nothing
Scope
All
setEndDateTime(endDateTime)
Description
Set the end date and time to limit the results to return.
Syntax
setEndDateTime(endDateTime)
Parameters
Date endDateTime - The date and time to filter the results.
Returns
Nothing
Scope
All
setEquipmentRef(mesObjectLink)
Description
Syntax
setEquipmentRef(mesObjectLink)
Parameters
1793
MES Platform 2.0
setEquipmentRefType(equipmentRefType)
Description
Syntax
setEquipmentRefType(equipmentRefType)
Parameters
String equipmentRefType - The type of the equipment.
Returns
Nothing
Scope
All
setEquipmentRefUUID(equipmentRefUUID)
Description
Syntax
setEquipmentRefUUID(equipmentRefUUID)
1794
MES Platform 2.0
Parameters
String equipmentRefUUID - The uuid representing this equipment.
Returns
Nothing
Scope
All
setFinalLotStatus(finalLotSttus)
Description
This is useful for setting a lot to Hold, In Process or anything that can be used to filter lots
or sublots. When a segment is started, the status of the Material Lots will be set to Active.
When the segment is ended or a new lot is used for the material resource, the status will
be set to Complete. Optionally, the value of this setting can be used instead of the default
Complete. Please note, the Active status while the lot is active cannot be changed.
Syntax
setFinalLotStatus(finalLotStatus)
Parameters
String finalLotStatus - The status to set the lot for.
Returns
Nothing
Scope
All
setLotCycleTime(cycleTime)
Description
1795
MES Platform 2.0
Sets the lot cycle time in seconds for the response material property.
Syntax
setLotCycleTime(cycleTime)
Parameters
Integer cycleTime - Lot cycle time to set the property for.
Returns
Nothing
Scope
All
setLotDepletionSeconds(lotDepletionSeconds)
Description
Syntax
setLotDepletionSeconds(lotDepletionSeconds)
Parameters
Integer lotDepletionSeconds - The depletion time of the lot.
Returns
Nothing
Scope
All
setLotDepletionWarning(lotDepletionWarningSeconds)
1796
MES Platform 2.0
Description
Syntax
setLotDepletionWarning(lotDepletionWarningSeconds)
Parameters
Integer lotDepletionWarningSeconds - The depletion warning in seconds.
Returns
Nothing
Scope
All
setLotMessageType(lotMessageType)
Description
Syntax
setLotMessageType(lotMessageType)
Parameters
MESLotMessageTypes lotMessageType - The lot message type.
Returns
Nothing
Scope
All
1797
MES Platform 2.0
setLotNetQuantity(lotNetQuantity)
Description
Syntax
setLotNetQuantity(lotNetQuantity)
Parameters
Double lotNetQuantity - The net quantity in double to set at the beginning.
Returns
Nothing
Scope
All
setLotNumberSource(lotNoSource)
Description
Syntax
setLotNumberSource(lotNoSource)
Parameters
String lotNoSource - The name of the lot number source.
Returns
Nothing
Scope
1798
MES Platform 2.0
All
setLotNumberSourceLink(lotNoSourceLink)
Description
Syntax
setLotNumberSourceLink(lotNoSourceLink)
Parameters
String lotNoSourceLink - Name of the lot number source link.
Returns
Nothing
Scope
All
setLotRate(lotRate)
Description
Syntax
setLotRate(lotRate)
Parameters
Double lotRate - The lot rate for this response material property.
Returns
Nothing
1799
MES Platform 2.0
Scope
All
setLotRatePeriod(lotRatePeriod)
Description
Sets the lot rate period for this response material property.
Syntax
setLotRatePeriod(lotRatePeriod)
Parameters
String lotRatePeriod - The lot rate period for this response material property.
Returns
Nothing
Scope
All
setLotRefSequence(refSequence)
Description
Syntax
setLotRefSequence(refSequence)
Parameters
Integer refSequence - The sequence number associated with the lot.
1800
MES Platform 2.0
Returns
Nothing
Scope
All
setLotStatusFilter(lotStatusFilter)
Description
Syntax
setLotStatusFilter(lotStatusFilter)
Parameters
String lotStatusFilter - The custom lot status value.
Returns
Nothing
Scope
All
setLotUUID(lotUUID)
Description
Syntax
setLotUUID(lotUUID)
Parameters
1801
MES Platform 2.0
setManualLotNo(manualLotNum)
Description
Syntax
setManualLotNo(manualLotNum)
Parameters
String manualLotNum - The lot number entered by the user.
Returns
Nothing
Scope
All
setMaterialRef(mesObjectLink)
Description
Sets the MES object link corresponding to this response material property.
Syntax
setMaterialRef(mesObjectLink)
Parameters
1802
MES Platform 2.0
setMaterialRefType(materialRefType)
Description
Syntax
setMaterialRefType(materialRefType)
Parameters
S tring materialRefType - The type of the material reference.
Returns
Nothing
Scope
All
setMaterialRefUUID(materialRefUUID)
Description
Syntax
setMaterialRefUUID(materialRefUUID)
1803
MES Platform 2.0
Parameters
S tring materialRefUUID - The unique identifier for the material reference.
Returns
Nothing
Scope
All
setOptional(optional)
Description
Syntax
setOptional(optional)
Parameters
boolean optional - Set to True if this lot should be optional and False otherwise.
Returns
Nothing
Scope
All
setProductionSelectable(productionSelectable)
Description
Sets the boolean value for the production selectable property. User can select the
production if set to True.
Syntax
1804
MES Platform 2.0
setProductionSelectable(productionSelectable)
Parameters
boolean productionSelectable - Set to True if you need to enable this property and False
otherwise.
Returns
Nothing
Scope
All
setQuantity(quantity)
Description
Syntax
setQuantity(quantity)
Parameters
Double quantity - The actual quantity for this lot resource. This can be the current quantity
at anytime during the life of a Response Segment, but will equal the final production
quantity when this lot resource is finalized.
Returns
Nothing
Scope
All
setQuantitySource(quantitySource)
Description
This setting determines the source of the quantity for this response material resource.
1805
MES Platform 2.0
Syntax
setQuantitySource(quantitySource)
Parameters
String quantitySource - The name of the source of the quantity.
Returns
Nothing
Scope
All
setQuantitySourceLink(quantitySourceLink)
Description
Sets the name of the material resource to link to this segment. This is used when the
Quantity Source setting is set to Link, Split or Combine.
Syntax
setQuantitySourceLink(quantitySourceLink)
Parameters
String quantitySourceLink - The link to the quantity source.
Returns
Nothing
Scope
All
setQuantityUnits(quantityUnits)
Description
1806
MES Platform 2.0
Syntax
setQuantityUnits(quantityUnits)
Parameters
String quantityUnits - The units of quantity.
Returns
Nothing
Scope
All
setRate(rate)
Description
Syntax
setRate(rate)
Parameters
Double rate - The rate to set for.
Returns
Nothing
Scope
All
setRatePeriod(ratePeriod)
1807
MES Platform 2.0
Description
Syntax
setRatePeriod(ratePeriod)
Parameters
String ratePeriod - The material rate period.
Returns
Nothing
Scope
All
setSegmentRefUUID(segmentRefUUID)
Description
Syntax
setSegmentRefUUID(segmentRefUUID)
Parameters
String segmentRefUUID - The uuid to set the segment for.
1808
MES Platform 2.0
Returns
Nothing
Scope
All
setStatus(status)
Description
Sets the lot property status for the response material property.
Syntax
setStatus(status)
Parameters
String status - The status to set the material property for.
Returns
Nothing
Scope
All
setUnits(units)
Description
Syntax
setUnits(units)
Parameters
1809
MES Platform 2.0
setUse(lotUse)
Description
Sets the material use types. Options are In, Out, Consumable, By-product.
Syntax
setUse(lotUse)
Parameters
String lotUse - The lot use type for the response material.
Returns
Nothing
Scope
All
setZeroLotThresholdQty(lotNetQuantity)
Description
Sets the zero lot threshold quantity for the response material lot.
Syntax
setZeroLotThresholdQty(lotNetQuantity)
1810
MES Platform 2.0
Parameters
Double lotNetQuantity - The net quantity to be set to the material lot.
Returns
Nothing
Scope
All
Methods:
runDefaultHandler()
Description
Executes the built-in logic for the event. This allows pre or post logic to be executed around
the built-in logic or completely replace the built-in logic.Note that user events will not have
a default handler and no logic will be executed if this function is called.
Syntax
runDefaultHandler()
Parameters
None
Returns
Nothing
1811
MES Platform 2.0
Properties:
getMESObject()
Description
Returns the MES object that the event is being executed for.
Syntax
getMESObject()
Parameters
None
Returns
AbstractMESObject - The MES object associated with the event.
getParameters()
Description
Syntax
getParameters()
Parameters
None
Returns
MES Object Event Parameters - A new instance of a MESObjectEventParameters object.
setResult()
1812
MES Platform 2.0
Description
Set the return result. When a MES events requires a result value, this helper function can
be used in place of using the script event.getParameters().put('Result', value)
Syntax
setResult(value)
Parameters
Value of the result to return
Returns
Nothing
Scope
All
MES User
Object Definition
The MES User object is used to get the user name and role list.
Methods
The following methods exist for the MES User object .
getRoleList()
Description
Gets the roles this MES user takes. It may be admin, operator, etc.
Syntax
getRoleList()
1813
MES Platform 2.0
Parameters
None
Returns
List<String> role - The list of roles that are assigned to this MES user .
Scope
All
getUserName()
Description
Syntax
getUserName()
Parameters
None
Returns
String name - The user name.
Scope
All
Base Object
The MES Work Order is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
1814
MES Platform 2.0
Scripting Functions
The following scripting functions return a MES Work Order ...
system.mes.workorder.createMESWorkOrder
system.mes.workorder.getMESWorkOrder
system.mes.workorder.getMESWorkOrders
Code Example
Methods
Beside the common MESAbstractObject methods, the following methods exist for the MES
Work Order .
getActualQuantity()
Description
Syntax
getActualQuantity()
Parameters
None
1815
MES Platform 2.0
Returns
Double quantity - The work order quantity.
Scope
All
getDueDate()
Description
Syntax
getDueDate()
Parameters
None
Returns
Date dueDate - The due date for the work order.
Scope
All
getMaterialRef()
Description
Syntax
getMaterialRef()
1816
MES Platform 2.0
Parameters
None
Returns
MESObjectLink mesMaterialDef - The material definition object corresponding to the work
order.
Scope
All
getMaterialRefName()
Description
Syntax
getMaterialRefName()
Parameters
None
Returns
String materialRefName - Name of the material reference object.
Scope
All
getMaterialRefType()
Description
Syntax
1817
MES Platform 2.0
getMaterialRefType()
Parameters
None
Returns
String materialRefType - Type of the material reference object.
Scope
All
getMaterialRefUUID()
Description
Syntax
getMaterialRefUUID()
Parameters
None
Returns
String materialRefUUID - The unique identifier that represent the material reference object.
Scope
All
getRemainingQuantity()
Description
1818
MES Platform 2.0
Syntax
getRemainingQuantity()
Parameters
None
Returns
Double qty - The remaining quantity for the work order.
Scope
All
getScheduledQuantity()
Description
Syntax
getScheduledQuantity()
Parameters
None
Returns
Double quantity - The scheduled quantity of the work order.
Scope
All
getWorkOrderQuantity()
Description
1819
MES Platform 2.0
Syntax
getWorkOrderQuantity()
Parameters
None
Returns
Double quantity - The quantity assigned for the work order.
Scope
All
isClosed()
Description
Syntax
isClosed()
Parameters
None
Returns
Boolean True if it is a closed work order and False otherwise.
Scope
All
setClosed(closed)
1820
MES Platform 2.0
Description
Syntax
setClosed(closed)
Parameters
Boolean closed - Set to True to set work order to close and False otherwise.
Returns
Nothing
Scope
All
setDueDate(dueDate)
Description
Syntax
setDueDate(dueDate)
Parameters
Date dueDate - The due date to set for the work order.
Returns
Nothing
Scope
All
1821
MES Platform 2.0
setMaterialRef(mesMaterialDef)
Description
Syntax
setMaterialRef(mesMaterialDef)
Parameters
MESMaterialDef mesMaterialDef - The material definition to set as the reference for the
work order.
Returns
Nothing
Scope
All
setMaterialRef(materialLink)
Description
Syntax
setMaterialRef(materialLink)
Parameters
MESObjectLink materialLink - The material reference to set for the work order.
Returns
Nothing
1822
MES Platform 2.0
Scope
All
setWorkOrderQuantity(quantity)
Description
Syntax
setWorkOrderQuantity(quantity)
Parameters
Double quantity - The quantity to set for the work order.
Returns
Nothing
Scope
All
Events
Besides the common MES object events, no other events exist for the MES Work Order .
Properties
Property values can be accessed and changed for an object by using the getPropertyValue()
and setPropertyValue() method.
Example
1823
MES Platform 2.0
Besides the common core properties, the following properties exist for MES Work Order .
Object Description
MESWorkOrderFilter object is used to set filters for work order to narrow down the search
results.
Scripting Functions
The following scripting function return a MES Work Order Filter ...
1824
MES Platform 2.0
system.mes.workorder.createMESWorkOrderFilter
Methods
Beside the common MESAbstractObject methods, the following methods exist for the MES
Work Order Filter object .
getClosedBeginDate()
Description
Gets the closed begin date for the work order object.
Syntax
getClosedBeginDate()
Parameters
None
Returns
Date closedBeginDate - The closed begin date for the work order object.
Scope
All
getClosedEndDate()
Description
Gets the closed end date for the MES work order object.
Syntax
getClosedEndDate()
1825
MES Platform 2.0
Parameters
None
Returns
Date closedEndDate - The closed end date for the MES work order object.
Scope
All
getEquipmentPathFilter()
Description
Gets the equipment path filter set for the MES work order object.
Syntax
getEquipmentPathFilter()
Parameters
None
Returns
String equipmentPathFilter - The equipment path filter associated with the work order
object.
Scope
All
getMaterialNameFilter()
Description
Gets the material name filter set for the MES work order object.
Syntax
1826
MES Platform 2.0
getMaterialNameFilter()
Parameters
None
Returns
String nameFilter - The material name filter associated with the work order object.
Scope
All
getReturnClosed()
Description
Checks for the boolean that is set for return closed property. The work order search results
will include closed work orders if the return closed property is set to True.
Syntax
getReturnClosed()
Parameters
None
Returns
Boolaen returnClosed - The boolean that is set for the return closed property.
Scope
All
getUpdateQuantities()
Description
Checks whether the quantities associated with the work order object are updated or not.
1827
MES Platform 2.0
Syntax
getUpdateQuantities()
Parameters
None
Returns
Boolean updateQuantities - True if the quantities are updated and False otherwise.
Scope
All
getWorkOrderNameFilter()
Description
Returns the name filter set for the MES Work Order object.
Syntax
getWorkOrderNameFilter()
Parameters
None
Returns
String workOrderNameFilter - The name filter that is set for the MES work order object.
Scope
All
setClosedBeginDate(closedBeginDate)
1828
MES Platform 2.0
Description
Sets the closed begin date for the work order object.
Syntax
setClosedBeginDate(closedBeginDate)
Parameters
Date closedBeginDate - Date to be set as closed begin date for the work order object.
Returns
Nothing
Scope
All
setClosedEndDate(closedEndDate)
Description
Sets the closed end date for the work order object.
Syntax
setClosedEndDate(closedEndDate)
Parameters
Date closedEndDate - Date to set as the closed end date.
Returns
Nothing
Scope
All
1829
MES Platform 2.0
setEquipmentPathFilter(pathFilter)
Description
Sets the equipment path filter for the MES work order object.
Syntax
setEquipmentPathFilter(pathFilter)
Parameters
String pathFilter - The equipment path filter to set for the work order object.
Returns
Nothing
Scope
All
setMaterialNameFilter(nameFilter)
Description
Sets the material name filter for the work order object.
Syntax
setMaterialNameFilter(nameFilter)
Parameters
String nameFilter - The material name filter to set for the MES work order filter.
Returns
Nothing
Scope
1830
MES Platform 2.0
All
setReturnClosed(returnClosed)
Description
Sets the return closed date for the work order object.
Syntax
setReturnClosed(returnClosed)
Parameters
Boolean returnClosed - The boolean to set for the return closed property.
Returns
Nothing
Scope
All
setUpdateQuantities(updateQuantities)
Description
Sets the update quantity setting for the work order. Setting this property to True will update
the quantities associated with this work order.
Syntax
setUpdateQuantities(updateQuantities)
Parameters
Boolean updateQuantities - True to update the quantities for the work order and False
otherwise.
1831
MES Platform 2.0
Returns
Nothing
Scope
All
setWorkOrderNameFilter(searchPattern)
Description
Syntax
setWorkOrderNameFilter(searchPattern)
Parameters
String searchPattern - The name of work order(s).
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1832
MES Platform 2.0
Output
Size 1
WorkOrder (d709a509-932g-1382-b258-927d6ac4292c, WO899, 0
parents, 0 children, 0 custom properties, 0 complex
properties)
Methods:
None
Properties:
None
Code Snippet
1833
MES Platform 2.0
Personnel Objects
Any production or processing that is done involves people. In the Sepasoft MES system, this is
optional. If trace information about the personnel involved in the production or processing is
desired, then it is supported. The person can be automatically selected based on their Ignition
login or it can be selected by another means.
There are two Object Types in the Personnel Objects Group, Person and PersonnelClass.
Person and PersonnelClass objects have a corresponding ResponsePerson and
ResponsePersonnelClass, which is an internal versioning schema created to maintain
historical production data whenever changes are made to the properties or settings of the
Person and PersonnelClass objects.
All of these objects inherit the AbstractMESObject properties and methods. The Person and
ResponsePerson further extend the parent object with the properties and methods found
further down in this section.
1834
MES Platform 2.0
Object Versions
Every time a Person or PersonnelClass Object is modified, i.e. adding custom properties,
changing a setting etc., the version number of that equipment object will be updated in the
background. When an operation is scheduled, it will check for a corresponding Response
Object version. If one does not exist, it will automatically create a new Response object.
This versioning is not part of ISA-95, however, without it, analysis of historical data would lose
the original configuration of equipment, personnel and materials.
For all intents and purposes, MES Person objects will be created and configured in the MES
Management screen and through scripting. Response Objects are automatically created by
Operations and will be used for any kind of traceability analysis.
Although these are called Response Objects, they are in fact Version objects of the
Person Objects. They are not Response Segment objects as defined by ISA-95
1835
MES Platform 2.0
Setting Description
Name
Person First The users first name that is configured in the Ignition user profile.
Name
Person Last The users last name that is configured in the Ignition user profile.
Name
Name This is the name of the MES object. This name is used when referencing the
object. It must be a unique name.
Request Objects
Operations Schedule
Base Object
The Operations Schedule is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Object Description
Methods
Info
These helper functions are available in version 1.8.3 or greater.
getScheduleCategory
Description
1836
MES Platform 2.0
Syntax
getScheduleCategory()
Parameters
None
Returns
String scheduleCategory - The category of the operations schedule object.
Scope
All
getScheduleDurationSec
Description
Syntax
getScheduleDurationSec()
Parameters
None
Returns
Integer scheduleDuration - The duration of schedule in seconds.
Scope
All
getScheduleProductionCount
1837
MES Platform 2.0
Description
Syntax
getScheduleProductionCount()
Parameters
None
Returns
Double productionCount -The production count for this schedule.
Scope
All
getSchedulePublishDate
Description
Returns date and time at which schedule was published. This setting is set when the
operation is started, and it will be automatically set to the date and time of the Ignition
server.
Syntax
getSchedulePublishDate()
Parameters
None
Returns
Date - The date and time the schedule was published.
Scope
1838
MES Platform 2.0
All
getScheduleType
Description
Syntax
getScheduleType()
Parameters
None
Returns
String type - The type of this schedule.
Scope
All
setScheduleCategory
Description
Sets the category of an operations schedule object. Options for the toCategory parameter
is either 'Hold' or 'Record Scheduled'.
Syntax
setScheduleCategory(scheduleCategory)
Parameters
String scheduleCategory - The category of the operations schedule object.
1839
MES Platform 2.0
Returns
Nothing
Scope
All
setScheduleDurationSec
Description
Syntax
setScheduleDurationSec(scheduleDuration)
Parameters
Integer scheduleDuration - The duration in seconds to set for.
Returns
Nothing
Scope
All
setScheduleProductionCount
Description
Syntax
setScheduleProductionCount(productionCount)
1840
MES Platform 2.0
Parameters
Double productionCount -The production count to set for this schedule.
Returns
Nothing
Scope
All
setSchedulePublishDate
Description
Sets date and time at which schedule was published. This setting is set when the operation
is started, and it will be automatically set to the date and time of the Ignition server.
Syntax
setSchedulePublishDate(schedulePublishDate)
Parameters
Date schedulePublishDate - The date to set for.
Returns
Nothing
Scope
All
setScheduleType
Description
Syntax
1841
MES Platform 2.0
setScheduleType(scheduleType)
Parameters
String scheduleType - The type to set for.
Returns
Nothing
Scope
All
Events
Besides the common MES object events, the following events exist for MES Work Order.
New The event is fired when a new instance of an Operations Schedule object
is created.
If no script is entered, then the default handler will be executed. To
execute the default handler from within the script entered here, add a
script line:
event.runDefaultHandler()
UpdateProgress The event is fired during the update progress of an Operations Schedule.
1842
MES Platform 2.0
Properties
Besides the common core properties, the following properties exist for Operations Schedule
Object.
SchedulePublishDate Read The date and time at which schedule was published.
/Write This setting is set when the operation is started, and it
will be automatically set to the date and time of the
Ignition server.
RequestRefUUID Read
/Write
1843
MES Platform 2.0
Operations Request
Base Object
The Operations Request is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Scripting Functions
name read This is the name of the MES object. This name is used when
only referencing the object. It must be a unique name meaning that no other
MES object of it's type can have the same name.
UUID
1844
MES Platform 2.0
read This will contain the Universally Unique Identifier for each instance of a
only MES object.
enabled write This property will be set to true when the MES object is active and
only usable. When MES objects are deleted they are still retained in the
database and the Enabled setting is set to false. This is done to
maintain past traceability information.
description read- An optional settings to give more details for a MES Object.
only
Events
'New' Event
This event is run every time a new MES object is created. It can be used to add custom
properties or to perform other tasks.
If no script is entered, then the default handler will be executed. To execute the default
handler from within the script entered here, add a script line:
Code Snippet
Script Functions
The script functions listed below are available for all MES objects. They are used to simplify
and reduce the number of lines of script for common tasks. An example is adding children,
adding custom properties, changing property values, etc.
All of these script functions require an instance of a MES object. There are a number of
methods to get an instance of an MES object and the code snippets below show just a couple
of them.
1845
MES Platform 2.0
Code Snippet
#Get the MES object for a given name and MES object type
obj = system.mes.loadMESObject('Balsamic Vinegar', 'MaterialDef')
Code Snippet
#If a link was returned from another script function, then this
will return the full MES object instance
obj = objLink.getMESObject()
Events
Besides the common MES object events, the following events exist for MES Work Order.
BeforeAutoStart The event is fired before the automatic start of a scheduled Operations
Request.
If no script is entered, then the default handler will be executed. To
execute the default handler from within the script entered here, add a
script line:
event.runDefaultHandler()
EndSchedule The event is fired after the requested operation has been scheduled.
If no script is entered, then the default handler will be executed. To
execute the default handler from within the script entered here, add a
script line:
event.runDefaultHandler()
New The event is fired when a new instance of an Operations Request object is
created.
1846
MES Platform 2.0
Properties
Besides the common core properties, the following properties exist for Operations Request
objects.
Enable . Update Read When this setting is set to true, the UpdateProgress event for the
. Event /Write Response Segments associated with this Operations Request
will be executed at the interval set in the Update Event Interval.
The UpdateProgress event is defined in the Ignition Designer in
the MES Events section.
Update . Event . Read This setting defines the frequency (in ms) to execute the
Interval /Write UpdateProgress event.
TrackProgressBy Read Production can be tracked by two factors namely, time and
/Write material in each segment. The default is to track by time and the
option to track by material will only show if in the associated
process segment material has been defined and a rate has been
specified.
IsExecuteReady Read It is true only when there is a response segment to act upon.
/Write Operations Definition will not be ready for production unless all
the segments are completely setup. And it is false if there is any
error when validating the Operations Definition object.
1847
MES Platform 2.0
Request Segment
Base Object
The Request Segment is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Methods
Beside the common MESAbstractObject methods, the following methods exist for the Request
Segment.
getAvailableEquipmentOptions
Info
Available in version 1.8.3 or greater.
Description
Get a list of the available equipment options for the specified request segment.
Syntax
getAvailableEquipmentOptions()
Parameters
None
Returns
MESList<MESObjectLink> A list of MES Object Link objects holding the options that are
appropriate for the segment. The list is returned as a MES List object that is a collection
holding MES object links that represent the options.
Scope
All
getAvailableLotEquipmentOptions(baseName)
Info
1848
MES Platform 2.0
Description
Get a list of the available lot equipment options for the specified request segment.
Syntax
getAvailableLotEquipmentOptions(baseName)
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
Returns
MESList<MESObjectLink> A list of MES Object Link objects holding the options that are
appropriate for the segment. The list is returned as a MES List object that is a collection
holding MES object links that represent the options.
Scope
All
getAvailableMaterialOptions(baseName)
Info
Available in version 1.8.3 or greater.
Description
Get a list of the available material options for the specified request segment.
1849
MES Platform 2.0
Syntax
getAvailableMaterialOptions(baseName)
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
Returns
MESList<MESObjectLink> A list of MES Object Link objects holding the options that are
appropriate for the segment. The list is returned as a MES List object that is a collection
holding MES object links that represent the options.
Scope
All
getAvailablePersonnelOptions(baseName)
Info
Available in version 1.8.3 or greater.
Description
Get a list of the available personnel options for the specified request segment.
Syntax
getAvailablePersonnelOptions(baseName)
Parameters
1850
MES Platform 2.0
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
Returns
MESList<MESObjectLink> A list of MES Object Link objects holding the options that are
appropriate for the segment. The list is returned as a MES List object that is a collection
holding MES object links that represent the options.
Scope
All
getAvailableSupplementalEquipmentOptions(baseName)
Info
Available in version 1.8.3 or greater.
Description
Get a list of the available supplemental equipment options for the specified request
segment.
Syntax
getAvailableSupplementalEquipmentOptions(baseName)
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
Returns
1851
MES Platform 2.0
MESList<MESObjectLink> A list of MES Object Link objects holding the options that are
appropriate for the segment. The list is returned as a MES List object that is a collection
holding MES object links that represent the options.
Scope
All
getEquipment
Description
Return the equipment MES object associated with the segment. This will be the same
equipment that is associated with the operation that the segment is running under.
Syntax
getEquipment()
Parameters
None
Returns
The AbstractMESObject representing the equipment.
Scope
All
getEquipmentLink
Description
Return the link to the equipment MES object associated with the segment. This will be the
same equipment that is associated with the operation that the segment is running under.
Syntax
1852
MES Platform 2.0
getEquipmentLink()
Parameters
None
Returns
The MES Object Link representing the equipment.
Scope
All
getEquipmentProperty
Description
Return the complex property of the equipment MES object associated with the segment.
This will be the same equipment that is associated with the operation that the segment is
running under.
Syntax
getEquipmentProperty()
Parameters
None
Returns
The MESEquipmentProperty representing the equipment.
Scope
All
setEquipmentLink(equipmentLink)
Info
Available in version 1.8.3 or greater.
1853
MES Platform 2.0
Description
Set the equipment that the segment is associated with by the link to the equipment.
Syntax
setEquipmentLink(equipmentLink)
Parameters
MES Object LinkMES Object LinkequipmentLink - A MES Object Link object containing
details of the equipment to associate with the segment.
Returns
Nothing
Scope
All
Info
Available in version 1.8.3 or greater.
Description
This script function is used to set the material resources for a segment by material and
location. There are different versions depending on if a lot is being referenced, a new lot is
being created, etc. It can be used before or after the begin script function is called on the
segment. If they are used for an active segment, then they will update the material
resources information. This is common when changing to a different lot of material or other
material related information during a production run.
Syntax
1854
MES Platform 2.0
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
String materialName - The material name that must match an existing MESMaterialDef
object.
String equipmentPath - The equipment path that must match the path to equipment defined
in the production model.
Returns
Nothing
Scope
All
Info
Available in version 1.8.3 or greater.
Description
This script function is used to set the material resources for a segment. There are different
versions depending on if a lot is being referenced, a new lot is being created, etc. It can be
used before or after the begin script function is called on the segment. If they are used for
an active segment, then they will update the material resources information. This is
common when changing to a different lot of material or other material related information
during a production run.
Syntax
1855
MES Platform 2.0
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
String materialName - The material name that must match an existing MESMaterialDef
object.
String equipmentPath - The equipment path that must match the path to equipment defined
in the production model.
Double quantity - The quantity of material.
Returns
Nothing
Scope
All
Info
Available in version 1.8.3 or greater.
Description
This script function is used to set the material resources for a segment. There are different
versions depending on if a lot is being referenced, a new lot is being created, etc. It can be
used before or after the begin script function is called on the segment. If they are used for
an active segment, then they will update the material resources information. This is
common when changing to a different lot of material or other material related information
during a production run.
Syntax
1856
MES Platform 2.0
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
String materialName - The material name that must match an existing MESMaterialDef
object.
String equipmentPath - The equipment path that must match the path to equipment defined
in the production model.
Double quantity - The quantity of material.
PyDictionary customProperties - A PyDictionary containing either name value pairs or
complete custom property definitions. See Custom Properties for more information.
Returns
Nothing
Scope
All
Info
Available in version 1.8.3 or greater.
Description
This version of the setMaterial script function is used for setting the material name and
location equipment to use the material from, or place the material at for a material
reference belonging to a segment. For cases when a material lot does already exist, this
script function is used and allows for naming the new lot and updating the quantity at the
same time. Instead of automatically generating a new lot number, the system with use the
manual lot number provided in the manualLotNumber parameter.
1857
MES Platform 2.0
The material name must match the name of an existing MESMaterialDef object which
corresponds to the ISA-95 Material Definition object. The equipment path must match a
valid line, line cell, line cell group or storage unit defined in the production model. See the
custom properties for more information.
Syntax
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
String materialName - The material name that must match an existing MESMaterialDef
object.
String equipmentPath - The equipment path that must match the path to equipment defined
in the production model.
String manualLotNumber - The lot number to name to the new MESMaterialLot object
Double quantity - The quantity of material.
Returns
Nothing
Scope
All
Info
Available in version 1.8.3 or greater.
Description
1858
MES Platform 2.0
This version of the setMaterial script function is used for setting the material name and
location equipment to use the material from, or place the material at for a material
reference belonging to a segment. For cases when a material lot does already exist, this
script function is used and allows for naming the new lot and updating the quantity at the
same time. Instead of automatically generating a new lot number, the system with use the
manual lot number provided in the manualLotNumber parameter.
The material name must match the name of an existing MESMaterialDef object which
corresponds to the ISA-95 Material Definition object. The equipment path must match a
valid line, line cell, line cell group or storage unit defined in the production model. See the
custom properties for more information.
Syntax
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
String materialName - The material name that must match an existing MESMaterialDef
object.
String equipmentPath - The equipment path that must match the path to equipment defined
in the production model.
String manualLotNumber - The lot number to name to the new MESMaterialLot object
Double quantity - The quantity of material.
PyDictionary customProperties - A PyDictionary containing either name value pairs or
complete custom property definitions. See Custom Properties for more information.
Returns
Nothing
Scope
All
1859
MES Platform 2.0
setPersonnel(baseName, personName)
Info
Available in version 1.8.3 or greater.
Description
This script function is used to set the personnel resources for a segment. It can be used
before or after begin script function is called on the segment. If they are used for an active
segment, then they will update the personnel resources information. This is common when
changing to different personnel during a production run.
Syntax
setPersonnel(baseName, personName)
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
String personName - The name of the person. The name of the person is derived from the
last and first name from the Ignition user list.
Returns
Nothing
Scope
All
Info
Available in version 1.8.3 or greater.
1860
MES Platform 2.0
Description
This script function is used to set the personnel resources for a segment. It can be used
before or after begin script function is called on the segment. If they are used for an active
segment, then they will update the personnel resources information. This is common when
changing to different personnel during a production run.
Syntax
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
String personName - The name of the person. The name of the person is derived from the
last and first name from the Ignition user list.
PyDictionary customProperties - A PyDictionary containing either name value pairs or
complete custom property definitions. See Custom Properties for more information.
Returns
Nothing
Scope
All
setSupplementalEquipment(baseName, equipmentName)
Info
Available in version 1.8.3 or greater.
Description
1861
MES Platform 2.0
This script function is used to set the supplemental equipment resources for a segment.
Syntax
setSupplementalEquipment(baseName, equipmentName)
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
String equipmentName - The name of the supplemental equipment.
Returns
Nothing
Scope
All
Info
Available in version 1.8.3 or greater.
Description
Syntax
1862
MES Platform 2.0
Parameters
String baseName - The base name for the complex property associated with this segment.
Complex properties that use extended naming have an associated base name and a
number following it. This is used with Lot Reference Property that the Request Segment
uses. Each time a lot reference is created it is named the base name with an extension
added to it.
String equipmentName - The name of the supplemental equipment.
PyDictionary customProperties - A PyDictionary containing either name value pairs or
complete custom property definitions. See Custom Properties for more information.
Returns
Nothing
Scope
All
Events
Besides the common MES object events, the following events exist for Request Segment.
Setting Description
Name
New The Schedule Request Segment event is fired when a Request Segment is begin
scheduled. This script must determine the begin date time and end date time of
the request segment.
If no script is entered, then the default handler will be executed. To execute the
default handler from within the script entered here, add a script line:
event.runDefaultHandler()
Schedule The Schedule Request Segment event is fired when a Request Segment is begin
scheduled. This script must determine the begin date time and end date time of
the request segment.
If no script is entered, then the default handler will be executed. To execute the
default handler from within the script entered here, add a script line:
event.runDefaultHandler()
Properties
1863
MES Platform 2.0
Besides the common core properties, the following properties exist for Request Segment
objects.
Operation Read This setting is automatically set and should not be changed. It refers to
. Request /Write the UUID of the Operations Request.
. Ref .
UUID
Begin Read The date and time the operation started. This setting is set when the
Date /Write operation is started, and it will automatically be set to the date and time
Time of the Ignition server.
End Date Read The date and time the operation ended. This setting is set when the
Time /Write operation is ended, and it will automatically be set to the date and time
of the Ignition server.
Operation Read This setting is automatically set and should not be changed. It will either
Segment /Write be set to Operations Segment or Request Segment depending on how
Ref Type the operation was started. If the operation was scheduled prior to being
run, then it will equal Request Segment, otherwise it will equal
Operations Segment.
Operation Read This setting is automatically set and should not be changed. It refers to
Segment /Write the UUID of the Operations Segment or Request Segment, depending
Ref UUID on how the operation was started. If the operation was scheduled prior
to being run, then it will equal the UUID of the Request Segment it is
based on, otherwise it will equal the UUID of the Operations Segment it
is based on.
Segment Read When this setting is set to true, the Segments associated with this
Execute /Write Operations Request will be executed.
Enabled
End . Read This setting will end the operation automatically, after completion.
Operation /Write
. When .
Complete
1864
MES Platform 2.0
Response Objects
Operations Performance
Base Object
The Operations Performance is derived from the MESAbstractObject and inherits all the
exposed properties, methods and events for that object.
Methods
Beside the common MESAbstractObject methods, the following methods exist for the
Operations Performance objects.
getActiveSegmentName
Description
Syntax
getActiveSegmentName()
Parameters
None
Returns
An MES Object Link representing the active segment.
Scope
All
getEquipmentLink
Description
Return the link to the equipment MES object associated with the segment. This will be the
same equipment that is associated with the operation that the segment is running under.
1865
MES Platform 2.0
Syntax
getEquipmentLink()
Parameters
None
Returns
The MES Object Link representing the equipment.
Scope
All
Events
Besides the common MES object events, no other events exist for the Operations Performance
object.
Properties
Besides the common core properties, the following properties exist for Operations Performance
object.
Schedule Reference Read The UUID of the schedule associated with this
UUID /Write operation.
Schedule Publish Date Read The date and time the schedule was published. This
Time /Write setting is automatically set to the date and time of the
Ignition server.
1866
MES Platform 2.0
Read
/Write
Operations Response
Base Object
The Operations Response is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Extended Script Functions
This object inherits the properties and methods of MESAbstractObject and extends the
available methods as shown below.
abort
begin
createSegment
end
getActiveSegment
getActiveSegmentName
getActiveSegmentNames
getAvailableSegmentNames
getEquipmentLink
getWorkOrderLink
setEquipmentLink
setWorkOrderLink
All of these script functions require an instance of a MESOperationsResponse object. The
following code snippets are a couple of examples of how to get an instance of a
MESOperationsResponse.
Code Snippet
1867
MES Platform 2.0
Code Snippet
Object Description
The Operations Response is an object that is created behind the scenes anytime a Operations
Definition is selected to begin. It hold the actual production or traceability information. It can
also be created from script and used to begin segments from script, but it cannot be created
from the components provided with the Track and Trace Module. For this reason, there is no
component that can be used to change the properties listed for the Operations Response
object.
Events
Besides the common MES object events, the following events exist for MES Work Order.
Setting Description
Name
New The event is fired when a new instance of an Operations Response object is
created.
If no script is entered, then the default handler will be executed. To execute the
default handler from within the script entered here, add a script line:
event.runDefaultHandler()
Properties
Besides the common core properties, the following properties exist for Operations Response.
Read
/Write
1868
MES Platform 2.0
Enable . When this setting is set to true, the UpdateProgress event for the
Update . Response Segments associated with this Operations Definition will be
Event executed at the interval set in the Update Event Interval. The
UpdateProgress event is defined in the Ignition Designer in the MES
Events section.
Update . Read This setting defined the frequency (in mS) to execute the
Event . /Write UpdateProgress event.
Interval
Begin . Read The date and time the operation started. This setting is set when the
Date . /Write operation is started, and it will automatically be set to the date and time
Time of the Ignition server.
End . Read The date and time the operation ended. This setting is set when the
Date . /Write operation is ended, and it will automatically be set to the date and time
Time of the Ignition server.
Operation Read This setting is automatically set and should not be changed. It will either
. /Write be set to Operations Definition or Operations Request depending on
Reference how the operation was started. If the operation was scheduled prior to
. Type being run, then it will equal Operations Request, otherwise it will equal
Operations Definition.
Operation Read This setting is automatically set and should not be changed. It refers to
. /Write the UUID of the Operations Definition or Operations Request,
Reference depending on how the operation was started. If the operation was
. UUID scheduled prior to being run, then it will equal the UUID of the
Operations Request it is based on, otherwise it will equal the UUID of
the Operations Definition it is based on.
abort
Note
This helper function should NOT be used in normal operations because the tracking
data will not be validated or in many cases accurately recorded in the database.
1869
MES Platform 2.0
Description
Abort the operation. This will do an abrupt abort of all segments currently running under the
operation before aborting the operation.
Syntax
abort()
Parameters
None
Returns
Nothing
Scope
All
Code Examples
Code Snippet
begin
Description
1870
MES Platform 2.0
Begin the operation which will allow segments to begin. Only one operation can be running
at an equipment item at a time, but multiple segments can run under an operation.
Syntax
begin()
Parameters
None
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Overview
Description
1871
MES Platform 2.0
Create a new segment to run under the operation. After calling this script function, the
segment will not be running until required resources and custom properties are assigned
begin is called. Operations can contain one or more segments and the name of the
segment to create is passed in the segmentName parameter.
Syntax
createSegment(segmentName)
Parameters
String segmentName - The name of the segment to create.
Returns
A new MESResponseSegment object that can be used to assign resources and custom
properties.
Scope
All
Code Examples
Code Snippet
createSegment(segmentName, autoAssignOptions)
1872
MES Platform 2.0
Description
Create a new segment to run under the operation. After calling this script function, the
segment will not be running until required resources and custom properties are assigned
begin is called. Operations can contain one or more segments and the name of the
segment to create is passed in the segmentName parameter.
Syntax
createSegment(segmentName, autoAssignOptions)
Parameters
String segmentName - The name of the segment to create.
Boolean autoAssignOptions - If true, automatically assign material, lot and person options.
Otherwise, they have to be set prior to beginning the segment.
Returns
A new MESResponseSegment object that can be used to assign resources and custom
properties.
Scope
All
Code Examples
Code Snippet
1873
MES Platform 2.0
seg.begin()
end
Description
End the operation. Before an operation can be ended all segments must be ended first.
Syntax
end()
Parameters
None
Returns
Nothing
Scope
All
Code Examples
Code Snippet
getActiveSegment
1874
MES Platform 2.0
Description
Get the active segment MES object from a operation by the name of the segment.
Because more than one segment can be running under an operation, the segmentName
parameter specifies which one to return.
Syntax
getActiveSegment(segmentName)
Parameters
String segmentName - The name of the segment.
Returns
The MESResponseSegment object that can be updated to reflect lot, material, personnel,
supplemental equipment or custom properties changes.
Scope
All
Code Examples
Code Snippet
getActiveSegmentName
1875
MES Platform 2.0
Description
Return the name of currently active segment for the operation. If there are no active
segments or more than one active segment, then an exception will be thrown.
Syntax
getActiveSegmentName()
Parameters
None
Returns
The name of the currently active segment.
Scope
All
Code Examples
Code Snippet
getActiveSegmentNames
Description
1876
MES Platform 2.0
Return names of all active segments for an operation. Operations can be running multiple
segments at any time and this script function is used to get the names of them.
Syntax
getActiveSegmentNames()
Parameters
None
Returns
An array of the names of all active segments for the operation.
Scope
All
Code Examples
Code Snippet
except:
print 'There are no segments available for "%s "' %
operName
Output
1877
MES Platform 2.0
Unload Steel
Inspect Steel
getAvailableSegmentNames
Description
Return a list of all available segments that can be run for the operation. Both currently
running and not running segments will be returned.
Syntax
getAvailableSegmentNames()
Parameters
None
Returns
An array of the names of all available segments for the operation.
Code Examples
Code Snippet
Output
1878
MES Platform 2.0
Unload Steel
Inspect Steel
Store in Inventory
getEquipmentLink
Description
Return a link to the equipment MES object associated with the operation.
Syntax
getEquipmentLink()
Parameters
None
Returns
MES Object Link object containing details of the equipment that is associated with the
operation.
Scope
All
Code Examples
Code Snippet
1879
MES Platform 2.0
Output
508ebebc-8f19-4521-b018-a3e177028981
Response Line
Unload Station 1
getWorkOrderLink
Description
Return a link to the work order MES object associated with the operation.
Syntax
getWorkOrderLink()
Parameters
None
Returns
MESObjectLink object containing details of the work order that is associated with the
operation.
Scope
All
Code Examples
Code Snippet
1880
MES Platform 2.0
Output
setEquipmentLink
Description
Set the equipment that the operation is associated with by the link to the equipment.
Notice
Using this method is not the preferred method of assigning the equipment of where an
operation is to run. Instead, use the system.mes.createOperation script function that
will set the equipment based on the equipment path.
Syntax
setEquipmentLink(equipmentLink)
Parameters
A MES Object Link object containing details of the equipment to associate with the
operation.
Returns
Nothing
Scope
All
1881
MES Platform 2.0
Code Examples
Preferred Method
setWorkOrderLink
Description
Sets a link to the work order MES object associated with the operation.
Syntax
setWorkOrderLink(woLink)
Parameters
1882
MES Platform 2.0
MESObjectLink woLink - The object link containing details of the work order that is
associated with the operation.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Response Segment
Base Object
The Response Segment is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Object Description
The Response Segment is an object that is created behind the scenes anytime Operations
Segment is selected to begin. It holds the actual production or traceability information. It can
also be created from the script and used to begin segments from script and not from the
components provided with the Track and Trace Module. For this reason, there is not a
component that can be used to change the properties listed for the Response Segment objects.
Extended Script Functions
This object inherits the AbstractMESObject properties and methods and also extend it with the
same properties and methods as shown.
1883
MES Platform 2.0
abort
Description
Abort the segment. This will do an abrupt abort of the segments. The operation the
segment is running under and all other segments running under the operation will remain
active.
Notice
This helper function should NOT be used in normal operations because the tracking
data will not be validated or in many cases accurately recorded in the database. For
normal operations use the end segment, which will be accurately recorded in the
database.
Syntax
abort()
Parameters
None
Returns
Nothing
Scope
All
addSublot(materialPropertyName, sublotName)
Description
These script functions are used to add sublots one at a time to active segments and the
different versions provide various methods to do so. Sublots are represented by
MESMaterialSublot objects which corresponds to the ISA-95 Material Sublot objects.
MESMaterialSublot objects must be children of a MESMaterialLot object, event though the
1884
MES Platform 2.0
lot information may not be needed. Usually, when production details are maintained for
serialized items moving through production as groups, sublots are used. In cases where
each item moves independently through production, then just material lots can be used for
each serialized item.
Notice
In order for material sublots to be added, the Enable Sublots setting of the segment
material property must be set to true.
addSublot(materialPropertyName, sublotName)
Description
This version of the addSublot script function is used to create a single new material sub lot.
When the new is created, the CreateSerialNumber event of the MaterialSublot object will
be executed and a serial number will automatically be assigned. This serial number, which
is the name of the MaterialSublot object, can be changed prior updating the segment.
Syntax
addSublot(materialPropertyName, sublotName)
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
String sublotName - The name of the sublot which is usually the serial number of the item.
Returns
MESMaterialSublot - A new MESMaterialSublot object.
Scope
All
Code Examples
1885
MES Platform 2.0
Code Snippet
Description
This version of the addSublot script function functions the same as the addSublot
(materialPropertyName, sublotName) script function above with the added support to
assign new custom properties to the new material sublot at the same time.
Syntax
1886
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
addSublots(materialPropertyName, countToAdd)
Description
1887
MES Platform 2.0
These script functions are used to add multiple sublots to active segments and the different
versions provide various methods to do so. Sublots are represented by MESMaterialSublot
objects which corresponds to the ISA-95 Material Sublot objects. MESMaterialSublot
objects must be children of a MESMaterialLot object, event though the lot information may
not be needed. Usually, when production details are maintained for serialized items moving
through production as groups, sublots are used. In cases where each item moves
independently through production, then just material lots can be used for each serialized
item.
Notice
In order for material sublots to be added, the Enable Sublots setting of the segment
material property must be set to true.
Description
This version of the addSublots script function is used to create a specified quantity of new
material sublots. For each sublot object created, the CreateSerialNumber event of the
MaterialSublot object will be executed and a serial number will automatically be assigned.
This serial number, which is the name of the MaterialSublot object, can be changed prior
updating the segment.
Syntax
addSublots(materialPropertyName, countToAdd)
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
Integer countToAdd - The number of sub lots to add.
Returns
List<MESMaterialSublot> - A list of new MESMaterialSublot objects. The size of the list will
match the countToAdd parameter.
Scope
All
1888
MES Platform 2.0
Code Examples
Code Snippet
begin
Description
Begin the segment. Multiple segments can be running under one operation, but only one
operation can be running at an equipment item at a time.
Syntax
begin()
Parameters
None
Returns
Nothing
1889
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
changeLot
Description
Syntax
changeLot(lotPropertyName)
Parameters
String lotPropertyName - Name of the lot property to be changed.
Returns
MESResponseMaterialProperty newLotProp - The new lot property.
1890
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
Output
end
Description
End an active segment. Multiple segments can be running under one operation, but only
one operation can be running at an equipment item at a time.
Syntax
end()
Parameters
None
Returns
Nothing
Scope
All
Code Examples
1891
MES Platform 2.0
Code Snippet
execute
Description
Execute a segment. For situations where a production task or event is happening with no
definite begin and end times, the execute script function will begin and end a segment with
one script function. After the execute script function is called on a segment, the segment
will be left in the inactive state and no further updates to it can be done.
Syntax
execute()
Parameters
None
Returns
Nothing
Scope
All
getAvailableMaterialLots
Description
1892
MES Platform 2.0
Syntax
getAvailableMaterialLots(materialPropertyName, equipmentPathFilter)
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
String equipmentPathFilter - Equipment path to filter results.
Returns
MESList<MESObjectLink> - A list of MESObjectLink containing lot number or lot sequence
number of available material lots.
Scope
All
Code Examples
Code Snippet
1893
MES Platform 2.0
Output
OperationsResponse (3b7d2e8d-ca90-4e8f-9682-c364fd2ec991,
Unload Nuts, 0 parents, 0 children, 0 custom properties, 1
complex properties)
A 2234
getEquipmentLink
Description
Return the link to the equipment MES object associated with the segment. This will be the
same equipment that is associated with the operation that the segment is running under.
Syntax
getEquipmentLink()
Parameters
None
Returns
A MES Object Link object containing details of the equipment that is associated with the
segment.
Scope
All
Code Examples
Code Snippet
1894
MES Platform 2.0
Output
508ebebc-8f19-4521-b018-a3e177028981
Response Line
Unload Station 1
getLot
Description
Returns the response material object corresponding to the given name parameter.
Syntax
getLot(lotPropertyName)
Parameters
String lotPropertyName - The property associated with the lot to return for.
Returns
MESResponseMaterialProperty - The name of the response material object corresponding
to the given lotPropertyName parameter.
Scope
All
Code Examples
1895
MES Platform 2.0
Code Snippet
getMaterialLot
Description
Return the material lot MES object associated the specified material property of a segment.
Material lots is represented by MESMaterialLot objects and correspond to ISA-95 Material
Lot objects. MESMaterialLot objects are automatically created by the Sepasoft MES
system when segments are began, updated, executed or ended. In cases where additional
information is attached to the material lot, this script function provides an easy method of
getting the actual MESMaterialLot object.
Syntax
getMaterialLot(materialPropertyName)
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
Returns
A MESMaterialLot object that is associated with the specified material property for
segment.
Scope
All
Code Examples
Code Snippet
1896
MES Platform 2.0
getPerson
Description
Return the person MES object associated with the specified personnel property of a
segment. People is represented by MESPerson objects and correspond to ISA-95 Person
objects. The MESResponsePerson object isolates changes made to a MESPerson object
and production history. In cases where additional information is attached the the person,
this script function provides an easy method of getting the actual MESResponsePerson
object.
Syntax
getPerson(personnelPropertyName)
Parameters
String personnelPropertyName - The name of the personnel property item as defined for
the segment.
Returns
A MESResponsePerson object that is associated with the specified personnel property for
segment.
1897
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
getSegmentEquipmentLink
Description
Syntax
getSegmentEquipmentLink()
Parameters
1898
MES Platform 2.0
None
Returns
The MES Object Link object .
Scope
All
Code Examples
Code Snippet
getSubLot
Description
Get an existing sublot that is associated with a segment. Sublots are represented by
MESMaterialSublot objects and correspond to the ISA-95 Material Sublot objects.
Syntax
getSublot(materialPropertyName, sublotName)
Parameters
1899
MES Platform 2.0
String materialPropertyName - The name of the material property item as defined for the
segment.
String sublotName - The name of an existing sublot to return.
Returns
MESMaterialSublot - The MESMaterialSublot object.
Scope
All
Code Examples
Code Snippet
getSupplementalEquipment
Description
Return the supplemental equipment MES object associated with the specified
supplemental equipment property of a segment. Supplemental equipment is represented
by MESEquipment objects and correspond to ISA-95 Equipment objects. The
MESResponseEquipment object isolates changes made to a MESEquipment object and
production history. In cases where additional information is attached to the supplemental,
this script function provides an easy method of getting the actual MESResponseEquipment
object.
1900
MES Platform 2.0
Syntax
getSupplementalEquipment(supplementalEquipmentPropertyName)
Parameters
String supplementalEquipmentPropertyName - The name of the supplemental equipment
property item as defined for the segment.
Returns
MESResponseEquipment - A MESResponseEquipment object that is associated with the
specified supplemental equipment property for segment.
Scope
All
Code Examples
Code Snippet
removeSublot
1901
MES Platform 2.0
Description
Remove an existing sublot that is associated with a segment. Sublots are represented by
MESMaterialSublot objects and correspond to the ISA-95 Material Sublot objects.
Syntax
removeSublot(materialPropertyName, sublotName)
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
String s ublotName - The name of an existing sublot to remove.
Returns
The MESMaterialSublot object that was removed.
Scope
All
Code Examples
Code Snippet
renameSublot
Description
1902
MES Platform 2.0
Rename an existing sublot that is associated with a segment. Sublots are represented by
MESMaterialSublot objects and correspond to the ISA-95 Material Sublot objects.
Syntax
Code Examples
Code Snippet
setMaterial
Description
1903
MES Platform 2.0
These script functions are used to set the material resources for a segment. There are
different versions depending on if a lot is being referenced, a new lot is being created, etc.
These script functions can be used before or after the begin script function is called on the
segment. If they are used for an active segment, then they will update the material
resources information. This is common when changing to a different lot of material or other
material related information during a production run.
Existing Lot
setMaterial(materialPropertyName, quantity)
Description
This version of the setMaterial script function is used for setting just the quantity for a
material reference belonging to a segment. If the lot or material have already been
assigned, then this provides a method to update the quantity.
Syntax
setMaterial(materialPropertyName, quantity)
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
Double quantity - The quantity of material.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1904
MES Platform 2.0
setMaterial(materialPropertyName, lotNumber)
Description
This version of the setMaterial script function is used for setting the lot number for a
material reference belonging to a segment. The material lot must already exist for the lot
number at the equipment location as defined in the material reference. If the lot has
already been assigned, then this provides a method to change the lot.
Syntax
setMaterial(materialPropertyName, lotNumber)
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
String lotNumber - The lot number that must match the name of an existing
MESMaterialLot object.
Returns
Nothing
Scope
All
Code Examples
1905
MES Platform 2.0
Code Snippet
Description
This version of the setMaterial script function is used for setting the lot number and quantity
for a material reference belonging to a segment. The material lot must already exist for the
lot number at the equipment location as defined in the material reference. If the lot has
already been assigned, then this provides a method to change the lot and update the
quantity at the same time.
Syntax
1906
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
Description
This version of the setMaterial script function is used for setting the lot number with a lot
sequence number and quantity for a material reference belonging to a segment. The
material lot and lot sequence number combination must already exist for the lot number at
the equipment location as defined in the material reference. If the lot has already been
assigned, then this provides a method to change the lot and update the quantity at the
same time.
Material lots are represented by MESMaterialLot objects which corresponds to the ISA-95
Material Lot objects. Because more that one MESMaterialLot object can existing for a
given lot number, each one is assigned a unique lot sequence number making it unique.
Normally this is not required provided that only one lot number (MESMaterialLot object)
exists at an equipment locations. If more than one MESMaterialLot object with the same lot
1907
MES Platform 2.0
number exists at an equipment location, then the lot sequence number can be used to
specify which one to use. If more than one do exist and the lot sequence number is not
specified, then the one used is determined by the Lot Handling Mode the equipment
location is configured for.
Syntax
Code Examples
Code Snippet
1908
MES Platform 2.0
Description
This version of the setMaterial script function functions the same as the setMaterial
(materialPropertyName, lotNumber, lotSequenceNumber, quantity) script function above
with the added support to assign custom properties for the material resource reference at
the same time.
Syntax
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
String lotNumber - The lot number that must match the name of an existing
MESMaterialLot object.
Integer lotSequenceNumber - The lot sequence number of the desired existing
MESMaterialLot object. If it is less than zero, then the lot holding the maximum value is
returned and if the same lot number is used for multiple segments, each lot with the same
lot number will be assigned a different lot sequence number. It could be obtained by using
getLotSequence() script function. For more details see MES Lot Quantity Summary Item .
Double quantity - The quantity of material.
1909
MES Platform 2.0
Code Examples
Code Snippet
Code Snippet
1910
MES Platform 2.0
Non-existent Lot
Description
This version of the setMaterial script function is used for setting the material name and
location equipment to use the material from, or place the material at for a material
reference belonging to a segment. For cases when a material lot does already exist, this
script function is used and allows for updating the quantity at the same time. With this
version of the setMaterial script function, the lot number is automatically generated in the
CreateLotNumber event of the MESMaterialLot object.
The material name must match the name of an existing MESMaterialDef object which
corresponds to the ISA-95 Material Definition object. The equipment path must match a
valid line, line cell, line cell group or storage unit defined in the production model. See
Custom Properties for more information.
Syntax
Parameters
1911
MES Platform 2.0
String materialPropertyName - The name of the material property item as defined for the
segment.
String materialName - The material name that must match an existing MESMaterialDef
object.
String equipmentPath - The equipment path that must match the path to equipment defined
in the production model.
Double quantity - The quantity of material.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Description
1912
MES Platform 2.0
This version of the setMaterial script function functions the same as the setMaterial
(materialPropertyName, materialName, equipmentPath, quantity) script function above with
the added support to assign custom properties for the material resource reference at the
same time.
Syntax
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
String materialName - The material name that must match an existing MESMaterialDef
object.
String equipmentPath - The equipment path that must match the path to equipment defined
in the production model.
Double quantity - The quantity of material.
PyDictionary c ustomProperties - A PyDictionary containing either name value pairs or
complete custom property definitions. See the custom properties for more information.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1913
MES Platform 2.0
Code Snippet
Description
This version of the setMaterial script function functions the same as the setMaterial
(materialPropertyName, materialName, equipmentPath, quantity) script function above with
the added support to assign custom properties for the material resource reference at the
same time.
1914
MES Platform 2.0
Syntax
Code Examples
Code Snippet
1915
MES Platform 2.0
Code Snippet
Description
This version of the setMaterial script function is used for setting the material name and
location equipment to use the material from, or place the material at for a material
reference belonging to a segment. For cases when a material lot does already exist, this
script function is used and allows for naming the new lot and updating the quantity at the
same time. Instead of automatically generating a new lot number, the system with use the
manual lot number provided in the manualLotNumber parameter.
The material name must match the name of an existing MESMaterialDef object which
corresponds to the ISA-95 Material Definition object. The equipment path must match a
valid line, line cell, line cell group or storage unit defined in the production model. See the
custom properties for more information.
Syntax
1916
MES Platform 2.0
Code Examples
Code Snippet
1917
MES Platform 2.0
Description
This version of the setMaterial script function functions the same as the setMaterial
(materialPropertyName, materialName, equipmentPath, manualLotNumber, quantity) script
function above with the added support to assign custom properties for the material
resource reference at the same time.
Syntax
Parameters
String materialPropertyName - The name of the material property item as defined for the
segment.
String materialName - The material name that must match an existing MESMaterialDef
object.
String equipmentPath - The equipment path that must match the path to equipment defined
in the production model.
String manualLotNumber - The lot number to name to the new MESMaterialLot object
Double quantity - The quantity of material.
PyDictionary customProperties - A PyDictionary containing either name value pairs or
complete custom property definitions . See the custom properties for more information.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1918
MES Platform 2.0
Code Snippet
setMaterialByPassChecks(baseName, lotNumber)
Overview
Description
Sets the lot for the segment's material reference bypassing inventory checks.
1919
MES Platform 2.0
Click here to read the Knowledge base article for bypassing inventory checks.
Info
The Lot Availability Status must be set to "Available" which means this script function
is for an active segment object.
Method Options
Syntax
setMaterialByPassChecks(baseName, lotNumber)
Parameters
String baseName - The base name for the complex property.
String lotNumber - The lot number that must match the name of an existing
MESMaterialLot object.
Returns
Nothing
Scope
All
Syntax
Parameters
String baseName - The base name for the complex property.
String lotSequenceNumber - The lot sequence number corresponding to the material lot
object. If it is less than zero, then the lot holding the maximum value is returned and if the
same lot number is used for multiple segments, each lot with the same lot number will be
assigned a different lot sequence number.
1920
MES Platform 2.0
String lotNumber - The lot number that must match the name of an existing
MESMaterialLot object.
Returns
Nothing
Scope
All
Syntax
Syntax
Parameters
String baseName - The base name for the complex property.
String lotNumber - The lot number that must match the name of an existing
MESMaterialLot object.
String lotSequenceNumber - The lot sequence number corresponding to the material lot
object. If it is less than zero, then the lot holding the maximum value is returned and if the
same lot number is used for multiple segments, each lot with the same lot number will be
assigned a different lot sequence number.
1921
MES Platform 2.0
Syntax
Parameters
String baseName - The base name for the complex property.
String lotNumber - The lot number that must match the name of an existing
MESMaterialLot object.
String lotSequenceNumber - The lot sequence number corresponding to the material lot
object. If it is less than zero, then the lot holding the maximum value is returned and if the
same lot number is used for multiple segments, each lot with the same lot number will be
assigned a different lot sequence number.
Double quantity - The quantity of material.
PyDictionary customProperties - A PyDictionary containing either name value pairs or
complete custom property definitions. See Custom Properties for more information.
Returns
Nothing
Scope
All
setPersonnel
Description
1922
MES Platform 2.0
These script functions are used to set the personnel resources for a segment. There are
different versions detailed below. These script functions can be used before or after begin
script function is called on the segment. If they are used for an active segment, then they
will update the personnel resources information. This is common when changing to
different personnel during a production run.
Syntax
setPersonnel(personnelPropertyName, personName)
Parameters
String personnelPropertyName - The name of the personnel property item as defined for
the segment.
String personName - The name of the person. The name of the person is derived from the
last and first name from the Ignition user list.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1923
MES Platform 2.0
setSupplementalEquipment(supplementalEquipmentPropertyName, equipmentName,
customProperties)
Description
This version of the setSupplementalEquipment script function functions the same as the
setSupplementalEquipment(supplementalEquipmentPropertyName, equipmentName)
script function above with the added support to assign custom properties for the
supplemental equipment resource reference at the same time.
Syntax
setSupplementalEquipment(supplementalEquipmentPropertyName,
equipmentName, customProperties)
Parameters
String supplementalEquipmentPropertyName - The name of the supplemental equipment
property item as defined for the segment.
String equipmentName - The name of the supplemental equipment.
PyDictionary customProperties - A PyDictionary containing either name value pairs or
complete custom property definitions. See Custom Properties for more information.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
1924
MES Platform 2.0
Code Snippet
update
Description
Syntax
1925
MES Platform 2.0
update()
Parameters
None
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Code Snippet
1926
MES Platform 2.0
Code Snippet
Code Snippet
Events
Besides the common Event Overview, the following events exist for Response Segment
objects.
BeforeAutoBegin The event is fired before the automatic begin of a Response Segment.
If no script is entered, then the default handler will be executed. To
execute the default handler from within the script entered here, add a
script line:
event.runDefaultHandler()
BeforeAutoEnd The event is fired before the automatic end of a Response Segment.
If no script is entered, then the default handler will be executed. To
execute the default handler from within the script entered here, add a
script line:
1927
MES Platform 2.0
event.runDefaultHandler()
BeforeBegin The event is fired just before a Response Segment object starts.
BeforeEnd The event is fired just before a Response Segment object ends.
BeginTrace This event is run every time a Response Segment object starts. This
event provides a method to perform tasks when a Response Segment
begins. Information about the MES object is passed to the event in a MES
Script Event object.
EndTrace This event is run every time a Response Segment object ends. This event
provides a method to perform tasks when a Response Segment ends.
Information about the MES object is passed to the event in a MES Script
Event object.
New The event is fired when a new instance of an Response Segment object
is created.
If no script is entered, then the default handler will be executed. To
execute the default handler from within the script entered here, add a
script line:
event.runDefaultHandler()
SetRecipe The event is fired when a recipe is set on the Response Segment.
If no script is entered, then the default handler will be executed. To
execute the default handler from within the script entered here, add a
script line:
event.runDefaultHandler()
UpdateProgress This event is run at an interval defined by the Update Event Interval in the
Operations Definition. The Enable Update Event setting must also be set
to true. This event provides a method to update production counts or
other information associated with an active Response Segment.
Information about the MES object is passed to the event in a MES Script
Event object.
Extended Properties
1928
MES Platform 2.0
Setting Description
Name
Begin . The date and time the operation started. This setting is set when the operation
Date . is started, and it will be automatically set to the date and time of the Ignition
Time server.
End Date The date and time the operation ended. This setting is set when the operation is
Time ended, and it will be automatically set to the date and time of the Ignition server.
Operation This setting is automatically set and should not be changed. It will either be set
. Segment to Operations Segment or Request Segment depending on how the operation
. was started. If the operation was scheduled prior to being run, then it will equal
Reference Request Segment, otherwise it will equal Operations Segment.
. Type
Operation This setting is automatically set and should not be changed. It refers to the
. Segment UUID of the Operations Segment or Request Segment, depending on how the
. operation was started. If the operation was scheduled prior to being run, then it
Reference will equal the UUID of the Request Segment it is based on, otherwise it will
. UUID equal the UUID of the Operations Segment it is based on.
Operations This setting is automatically set and should not be changed. It refers to the
. UUID of the Operations Response this Response Segment is based on.
Response
.
Reference
. UUID
Running This is set by the system and should be changed. The possible values and their
State meaning is as follows:Options
Idle - Segment is not in use.
Running - Segment is currently being used.
Complete - Segment has completed and is used in the transition from
RUNNING to IDLE.
Action Needed - Some rectifiable error has occured, immediate action should
be taken.
Faulted - An unrecoverable error has occurred in the segment.
1929
MES Platform 2.0
The MESResponseSegment also has Lot, Personnel and Equipment Resource Properties
based on the AbstractMESComplexProperty Object.
Lot Resource Property
A lot resource property is added for every material resource property that is defined in the
Operations Segment or Request Segment that this Response Segment is based on. It
represents a lot supplying or lot output from this Response Segment.
During the life of a Response Segment, multiple lot resource properties maybe created for a
single material resource property of the Operations Segment. This happens if a lot is changed
as maybe the case when a raw material tanks is emptied and changed to another tank.
The setting name is what appears in the MES Object Editor component and the script name is
what is used to set or get the value using script. See AbstractMESComplexProperty for details
about accessing values using script.
Lot . This is the name to refer to this lot resource by. Many
Resource response segments have multiple lot resources and
. Name this is a unique name displayed to the operator, shown
in analysis and reports, and also internally used to
reference this lot resource.
Lot . LotRefUUID The UUID of the Material Lot object that this lot
Reference resource is linked to.
. UUID
Lot . LotRefSequence The Material Lot object has a lot sequence property
Reference that is incremented every time a new Material Lot is
. created for a given lot number. This makes it unique
Sequence as an unchanging lot number flows through a
manufacturing facility.
1930
MES Platform 2.0
Lot . LotNoSourceLink If the Lot Number Source setting is set to In Link, then
Number . this is the name of the material resource to get the lot
Source . number from.
Link
Lot . Auto LotAutoGenerate If true, a new lot will be generated for the material
. Generate output of a segment. This is typically only done when
. Lot receiving material that a lot doesn't already exists.
Lot . LotBeginDateTime The date and time that this lot resource started.
Begin .
Date .
Time
1931
MES Platform 2.0
Lot . End . LotEndDateTime The date and time that this lot resource ended.
Date .
Time
Lot Use LotUse This follows the Use setting of the Process Segment.
Options
In - is used for material feeding into a segment that
will be part of the finished goods.
Out - is used for material feeding out of a segment
that is or will be part of the finished goods.
Consumable - is used for material feeding into a
segment that is not part of the finished goods.
By-product - is used for material feeding out of a
segment that is not part of the finished goods.
Lot _ LotEquipmentRefType When a Material Lot is not referenced for this lot
Equipment resource and a new Material Lot created this setting
_ will define the type of location of the new lot.
Reference
_ Type
Lot _ LotEquipmentRefUUID When a Material Lot is not referenced for this lot
Equipment resource and a new Material Lot created this setting is
_ the UUID of the specific location of the new lot.
Reference
- UUID
Lot _ LotSegmentRefUUID This is set to the UUID of the Operations Segment that
Segment this Response Segment is based on.
_
Reference
_ UUID
LotAllocatedQuantity
1932
MES Platform 2.0
Lot LotQuantity The actual quantity for this lot resource. This can be
Quantity the current quantity at anytime during the life of a
Response Segment, but will equal the final production
quantity when this lot resource is finalized.
Lot . LotQuantitySource This setting determines the source of the quantity for
Quantity . this material resource.
Source
Options
Auto - Obtain the quantity from the automatic
production counters defined for the associated
equipment. The associated equipment may change if
the Lot Equipment Reference setting is set to a
Material Class and the specific equipment is not
known until the segment is started for production.
Link - This option allows the quantity to come from an
input or output material resource of this segment. This
eliminates the need to type in the quantity multiple
times if they will always be the same as another
material resource.
Manual - The operator will be prompted for the
quantity. The quantity must be entered before the
segment is ended.
Split - For segments that are splitting a lot into two or
more streams, as is the case of separating good from
bad product, this option can be used. It is used by
having two or more material resources, that are
segment outputs, linked to the same material
resource. When the segment is ended, the system will
ensure that the sum of the quantities of the linking
material resources equal that of the linked material
resources.
1933
MES Platform 2.0
Lot LotQuantitySourceLink This is used when the Quantity Source setting is set to
Quantity Link, Split or Combine. It is the name of the material
Source resource to link to this segment.
Link
Lot LotPropertyStatus The status of the lot resource. The system changes
Property this value through the life cycle of a lot resource
Status property.
Options
Beginning - It is a new lot resource property.
Active - The lot resource is currently active.
1934
MES Platform 2.0
Lot Final LotFinalLotStatus When a segment is started, the status of the Material
Lot Status Lots will be set to Active. When the segment is ended
or a new lot is used for the material resource, the
status will be set to Complete. Optionally, the value of
this setting can be used instead of the default
Complete. Please note, the Active status while the lot
is active cannot be changed.
This is useful for setting a lot to Hold, In Process or
anything that can be used to filter lots or sublots.
1935
MES Platform 2.0
Units PersonnelUnits This specifies the units for the quantity setting.
Use PersonnelUse Currently this is here for reference and is included to align
with the ISA-95 standard and will become significant in the
next phase of the Track and Trace Module.
Quantity PersonnelQuanity Currently this is here for reference and is included to align
with the ISA-95 standard and will become significant in the
next phase of the Track and Trace Module.
1936
MES Platform 2.0
An equipment resource property is added for every equipment resource property that is defined
in the Operations Segment or Request Segment that this Response Segment is based on. It
represents an actual equipment involved in the Response Segment. The setting name is what
appears in the MES Object Editor component and the script name is what is used to set or get
the value using script. See AbstractMESComplexProperty for details about accessing values
using script.
Units EquipmentUnits This specifies the units for the quantity setting.
Use EquipmentUse
1937
MES Platform 2.0
Quantity EquipmentQuanity Currently this is here for reference and is included to align
with the ISA-95 standard and will become significant in
the next phase of the Track and Trace Module
Object Description
The AbstractValueItemInfo object holds the information of an analysis value item that can be a
value source or calculator.
Scripting Functions
The following function can be used to get Abstract Value Item Info object.
system.mes.analysis.getDataPointOptions(groupFilter, itemFilter)
Description
Return data point options that can be used when executing analysis.
Syntax
system.mes.analysis.getDataPointOptions(groupFilter, itemFilter)
Parameters
String groupFilter - A filter to limit the data point options returned to one or more groups.
Multiple groups can be specified by separating them with commas. The wildcard * is
accepted.
1938
MES Platform 2.0
String itemFilter - A filter to limit the data point options returned to one or more items.
Multiple data point items can be specified by separating them with commas. The wildcard *
is accepted.
Returns
List<AbstractValueItemInfo> - Returns a map (a key-value pair) containing the filter group
path as the key and a list of AbstractValueItemInfo objects as the value. See
AbstractValueItemInfo object documentation for details.
Scope
All
Code Examples
Code Snippet
Output
system.mes.analysis.getFilterOptions(groupFilter, itemFilter)
Description
1939
MES Platform 2.0
Syntax
system.mes.analysis.getFilterOptions(groupFilter, itemFilter)
Parameters
String groupFilter - A filter to limit the filter options returned to one or more groups. Multiple
groups can be specified by separating them with commas. The wildcard * is accepted.
String itemFilter - A filter to limit the group by options returned to one or more items.
Multiple filter items can be specified by separating them with commas. The wildcard * is
accepted.
Returns
List <AbstractValueItemInfo> - Returns a map (a key-value pair) containing the filter group
path as the key and a list of AbstractValueItemInfo objects as the value. See
AbstractValueItemInfo object documentation for details.
Scope
All
Code Examples
Code Snippet
Output
1940
MES Platform 2.0
system.mes.analysis.getGroupByOptions(groupFilter, itemFilter)
Description
Syntax
system.mes.analysis.getGroupByOptions(groupFilter, itemFilter)
Parameters
String groupFilter - A filter to limit the group-by options returned to one or more groups.
Multiple groups can be specified by separating them with commas.
String itemFilter - A filter to limit the group-by options returned to one or more items.
Multiple group-by items can be specified by separating them with commas.
Returns
List<AbstractValueItemInfo> - Returns a map (a key-value pair) containing the filter group
path as the key and a list of AbstractValueItemInfo objects as the value. See
AbstractValueItemInfo object documentation for details.
Scope
All
system.mes.analysis.getOrderByOptions(groupFilter, itemFilter)
Description
Syntax
1941
MES Platform 2.0
system.mes.analysis.getOrderByOptions(groupFilter, itemFilter)
Parameters
String groupFilter - A filter to limit the order by options returned to one or more groups.
Multiple groups can be specified by separating them with commas.
String itemFilter - A filter to limit the order by options returned to one or more items.
Multiple order by items can be specified by separating them with commas.
Returns
List<AbstractValueItemInfo> - Returns a map containing the filter group path in the key and
a list of AbstractValueItemInfo objects in the value. See AbstractValueItemInfo object
documentation for details.
Scope
All
Methods
The following methods exist for the Abstract Value Item Info object.
getDescription()
Description
Syntax
getDescription()
Parameters
None
Returns
String - The description for this AbstractValueItem object.
Scope
All
1942
MES Platform 2.0
isBoolean()
Description
Syntax
isBoolean()
Parameters
None
Returns
Boolean - True, if it is a boolean.
Scope
All
isDateTime()
Description
Returns True if this Abstract Value Item object holds a date and time value.
Syntax
isDateTime()
Parameters
None
Returns
Boolean - True if the object holds a date and time.
Scope
All
1943
MES Platform 2.0
isDouble()
Description
Syntax
isDouble()
Parameters
None
Returns
Boolean - True, if the object is a double.
Scope
All
isInteger()
Description
Syntax
isInteger()
Parameters
None
Returns
Boolean - True, if the object is an integer.
Scope
All
1944
MES Platform 2.0
isNumeric()
Description
Syntax
isNumeric()
Parameters
None
Returns
Boolean - True, if it is a numeric value.
Scope
All
isString()
Description
Syntax
isString()
Parameters
None
Returns
Boolean - True, if the object is a string.
Scope
All
1945
MES Platform 2.0
Base Object
The Analysis Parameter Property is derived from the AbstractMESComplexProperty and
inherits all the exposed properties, methods and events for that object.
Methods
Beside the common AbstractMESComplexProperty methods, the following methods exist for
the Analysis Parameter Property object .
getParameterDataType()
Description
Syntax
getParameterDataType()
Parameters
None
Returns
String type - The data type of the parameter.
Scope
All
setParameterDataType(type)
Description
1946
MES Platform 2.0
Syntax
setParameterDataType(type)
Parameters
String type - The data type to set for the parameter.
Returns
Nothing
Scope
All
Events
Besides the common MES object events, no other events exist for the Analysis Parameter
Property object.
Properties
Property values can be accessed and changed for an object by using the getPropertyValue()
and setPropertyValue() method.
Example
Besides the common core properties, the following properties exist for Analysis Parameter
Property object.
1947
MES Platform 2.0
Base Object
The Analysis Security Property object is derived from the AbstractMESComplexProperty and
inherits all the exposed properties, methods and events for that object.
Methods
Beside the common MESAbstractObject methods, the following methods exist for the Analysis
Security Property object.
getCanExecute()
Description
Syntax
getCanExecute()
Parameters
None
Returns
Boolean - True if execution of analysis security property is allowed and False otherwise.
Scope
All
getCanModify()
Description
1948
MES Platform 2.0
Syntax
getCanModify()
Parameters
None
Returns
Boolean - True if modification of analysis security property is allowed and False otherwise.
Scope
All
setCanExecute(canExecute)
Description
Sets the can execute property for saved analysis. If this property is set to True, then the
saved analysis can be executed.
Syntax
setCanExecute(canExecute)
Parameters
Boolean canExecute - Set to True to allow execution and False otherwise.
Returns
Nothing
Scope
All
setCanModify(canModify)
Description
1949
MES Platform 2.0
Sets the can modify property for saved analysis. If this property is set to True, then the
saved analysis can be modified.
Syntax
setCanModify(canModify)
Parameters
Boolean canModify - Set to True to allow modification and False otherwise.
Returns
Nothing
Scope
All
Events
Besides the common MES object events, no other events exist for the Analysis Security
Property.
Properties
Property values can be accessed and changed for an object by using the getPropertyValue()
and setPropertyValue() method.
Example
Besides the common core properties, the following properties exist for Analysis Security
Property object.
1950
MES Platform 2.0
This provides two important capabilities. The first is the ability to analyze the duration of time
spent in each mode or mode category to clearly show the equipment utilization. The second is
complete control of which mode to include in OEE and production counts.
Methods
getIncludeInOEE()
Description
1951
MES Platform 2.0
Checks whether the include OEE property is enabled and returns the corresponding
boolean.
Syntax
getIncludeInOEE()
Parameters
None
Returns
Boolean - True if include OEE property is enabled and False otherwise.
getIncludeProductionCounts()
Description
Checks whether the include production counts property is enabled and returns the
corresponding boolean.
Syntax
getIncludeProductionCounts()
Parameters
None
Returns
Boolean - True if include production counts property is enabled and False otherwise.
getMESObjectType()
Description
Gets the MES object type associated with this equipment mode.
1952
MES Platform 2.0
Syntax
getMESObjectType()
Parameters
None
Returns
MESObjectTypes type - The MES object type associated with this equipment mode.
getModeCode()
Description
Returns the code (an Integer) that represents this equipment mode.
Syntax
getModeCode()
Parameters
None
Returns
Integer code - The integer that represents this equipment mode.
getModeType()
Description
Syntax
getModeType()
Parameters
1953
MES Platform 2.0
None
Returns
EquipmentModeTypes modeType - The type of the equipment mode.
getModeTypeName()
Description
Syntax
getModeTypeName()
Parameters
None
Returns
String modeType - The name of the equipment mode type.
Events
Besides the common MES object events, the following events exist for Equipment Mode object.
Setting Description
Name
New The event is fired when a new instance of a Equipment Mode object is created.
If no script is entered, then the default handler will be executed. To execute the
default handler from within the script entered here, add a script line:
event.runDefaultHandler()
1954
MES Platform 2.0
Object Description
This object holds information about the Equipment Mode Classes. New equipment mode
classes can be created using the OEE Equipment Manager component.
Base Object
The MES Equipment Mode Class object is derived from the MESAbstractObject and inherits all
the exposed properties, methods and events for that object.
Methods
getStateCode()
Description
1955
MES Platform 2.0
Returns the code (an integer) that represents this equipment state.
Syntax
getStateCode()
Parameters
None
Returns
Integer - The integer code that is associated with this equipment state.
getStateOverrideScope()
Description
Syntax
getStateOverrideScope()
Parameters
None
Returns
String scope - The override scope associated with this equipment state.
getStateOverrideSetting()
Description
Syntax
1956
MES Platform 2.0
getStateOverrideSetting()
Parameters
None
Returns
String setting - The override setting associated with this equipment state.
getStateShortStopThreshold()
Description
Returns the duration (in seconds) that a state will be considered as a short stop (if less
than). If state duration is longer, then it will be considered a downtime event, or planned
downtime event or other.
Syntax
getStateShortStopThreshold()
Parameters
None
Returns
Integer threshold - T he duration (in seconds) that a state will be considered as a short
stop.
getStateType()
Description
Syntax
getStateType()
Parameters
1957
MES Platform 2.0
None
Returns
EquipmentStateTypes type - The type of this equipment state.
getStateTypeName()
Description
Syntax
getStateTypeName()
Parameters
None
Returns
EquipmentStateTypes type - The name of the equipment state mode.
Events
Besides the common MES object events, the following events exist for Equipment State
objects.
Setting Description
Name
New The event is fired when a new instance of a Equipment State object is created.
If no script is entered, then the default handler will be executed. To execute the
default handler from within the script entered here, add a script line:
event.runDefaultHandler()
1958
MES Platform 2.0
Object Description
This object holds information about the Equipment State Classes. New equipment state classes
can be created using OEE Equipment Manager component.
Base Object
The MES Equipment State Class object is derived from the MESAbstractObject and inherits all
the exposed properties, methods and events for that object.
Object Description
The Material Root is the base class for all OEE 2.0 Material Classes and Definitions. All
materials utilized in OEE 2.0 operations (e.g. production runs, etc.) are children of the Material
Root. There is only one Material Root object per Ignition Gateway instance. The Material Root
object is created automatically by the OEE 2.0 module.
Base Object
The MES Material Root object is derived from the MESAbstractObject and inherits all the
exposed properties, methods and events for that object.
Methods
getIdealStandardCount()
Description
Syntax
getIdealStandardCount()
Parameters
1959
MES Platform 2.0
None
Returns
int idealStandardCount - The ideal standard count of this OEE counter.
Scope
All
getInfeedCount()
Description
Syntax
getInfeedCount()
Parameters
None
Returns
int infeedCount - The infeed count.
Scope
All
getName()
Description
Syntax
getName()
1960
MES Platform 2.0
Parameters
None
Returns
String name - The name of this OEE counter.
Scope
All
getPackageCount()
Description
Syntax
getPackageCount()
Parameters
None
Returns
Double packageCount - The package count.
Scope
All
getPath()
Description
1961
MES Platform 2.0
Syntax
getPath()
Parameters
None
Returns
String path - The path of this OEE counter.
Scope
All
getProductionCount()
Description
Syntax
getProductionCount()
Parameters
None
Returns
int productionCount - The production count.
Scope
All
getStandardCount()
Description
1962
MES Platform 2.0
Syntax
getStandardCount()
Parameters
None
Returns
int standardCount - The standard count of this OEE counter.
Scope
All
getStandardRate()
Description
Syntax
getStandardRate()
Parameters
None
Returns
Double standardRate - The standard rate.
Scope
All
getStandardRatePeriod()
1963
MES Platform 2.0
Description
Syntax
getStandardRatePeriod()
Parameters
None
Returns
String standardRatePeriod - The standard rate period of this OEE counter.
Scope
All
getStandardVariance()
Description
Syntax
getStandardVariance()
Parameters
None
Returns
int standardVariance - The standard variance of this OEE counter.
Scope
All
1964
MES Platform 2.0
getTargetCount()
Description
Syntax
getTargetCount()
Parameters
None
Returns
int targetCount - The target count.
Scope
All
getTargetVariance()
Description
Syntax
getTargetVariance()
Parameters
None
Returns
int targetVariance - The target variance of this OEE counter.
Scope
1965
MES Platform 2.0
All
getWasteCount()
Description
Syntax
getWasteCount()
Parameters
None
Returns
int wasteCount - The waste count of this OEE counter.
Scope
All
setIdealStandardCount(idealStandardCount)
Description
Syntax
setIdealStandardCount(idealStandardCount)
Parameters
int idealStandardCount - The ideal standard count to set for.
Returns
1966
MES Platform 2.0
Nothing
Scope
All
setStandardCount(standardCount)
Description
Syntax
setStandardCount(standardCount)
Parameters
int standardCount - The standard count to set for.
Returns
Nothing
Scope
All
setStandardVariance(standardVariance)
Description
Syntax
setStandardVariance(standardVariance)
Parameters
1967
MES Platform 2.0
setTargetCount(targetCount)
Description
Syntax
setTargetCount(targetCount)
Parameters
int targetCount - The count to set as a target for.
Returns
Nothing
Scope
All
setTargetVariance(targetVariance)
Description
Syntax
setTargetVariance(targetVariance)
1968
MES Platform 2.0
Parameters
int targetVariance - The target variance to set for.
Returns
Nothing
Scope
All
setWasteCount(wasteCount)
Description
Syntax
setWasteCount(wasteCount)
Parameters
int wasteCount - The waste count to set for.
Returns
Nothing
Scope
All
Properties:
getScheduleCategory()
Description
1969
MES Platform 2.0
Syntax
getScheduleCategory()
Parameters
None
Returns
String scheduleCategory - The category of the operations schedule object.
Scope
All
getScheduleDurationSec()
Description
Syntax
getScheduleDurationSec()
Parameters
None
Returns
Integer scheduleDuration - The duration of schedule in seconds.
Scope
All
getScheduleProductionCount()
1970
MES Platform 2.0
Description
Syntax
getScheduleProductionCount()
Parameters
None
Returns
Integer productionCount -The production count for this schedule.
Scope
All
getSchedulePublishDate()
Description
Returns date and time at which schedule was published. This setting is set when the
operation is started, and it will be automatically set to the date and time of the Ignition
server.
Syntax
getSchedulePublishDate()
Parameters
None
Returns
Date - The date and time the schedule was published.
Scope
1971
MES Platform 2.0
All
getScheduleType()
Description
Syntax
getScheduleType()
Parameters
None
Returns
String type - The type of this schedule.
Scope
All
setScheduleCategory(scheduleCategory)
Description
Sets the category of an operations schedule object. Options for the toCategory parameter
is either 'Hold' or 'Record Scheduled'.
Syntax
setScheduleCategory(scheduleCategory)
Parameters
String scheduleCategory - The category of the operations schedule object.
1972
MES Platform 2.0
Returns
Nothing
Scope
All
setScheduleDurationSec(scheduleDuration)
Description
Syntax
setScheduleDurationSec(scheduleDuration)
Parameters
Integer scheduleDuration - The duration in seconds to set for.
Returns
Nothing
Scope
All
setScheduleProductionCount(productionCount)
Description
Syntax
setScheduleProductionCount(productionCount)
1973
MES Platform 2.0
Parameters
Integer productionCount -The production count to set for this schedule.
Returns
Nothing
Scope
All
setSchedulePublishDate(schedulePublishDate)
Description
Sets date and time at which schedule was published. This setting is set when the operation
is started, and it will be automatically set to the date and time of the Ignition server.
Syntax
setSchedulePublishDate(schedulePublishDate)
Parameters
Date schedulePublishDate - The date to set for.
Returns
Nothing
Scope
All
setScheduleType(scheduleType)
Description
Syntax
1974
MES Platform 2.0
setScheduleType(scheduleType)
Parameters
String scheduleType - The type to set for.
Returns
Nothing
Scope
All
Properties:
determinePriorityState(state1, state2)
Description
Compares the priorities of the states and returns the state with highest priority.
Syntax
determinePriorityState(state1, state2)
Parameters
int state1 - The first state to compare.
Integer state2 - The second state to compare.
Returns
The state with highest priority.
Scope
All
1975
MES Platform 2.0
getActualEndDate()
Description
Syntax
getActualEndDate()
Parameters
None
Returns
Date actualEndDate - The actual end date for the schedule.
Scope
All
getActualStartDate()
Description
Syntax
getActualStartDate()
Parameters
None
Returns
Date actualStartDate - The actual start date of the schedule.
1976
MES Platform 2.0
Scope
All
getCategory()
Description
Syntax
getCategory()
Parameters
None
Returns
String category - The category of this schedule entry.
Scope
All
getDefaultToolTipText()
Description
Returns the tool tip text with details of schedule start, end and progress.
Syntax
getDefaultToolTipText()
Parameters
None
1977
MES Platform 2.0
Returns
The tool tip text for this schedule entry.
Scope
All
getLabel()
Description
Syntax
getLabel()
Parameters
None
Returns
String label - The label corresponding to this schedule entry.
Scope
All
getMESOperationsRequestLink()
Description
Syntax
getMESOperationsRequestLink()
1978
MES Platform 2.0
Parameters
None
Returns
MESObjectLink mesOperationsRequestLink - The link to the operations request object.
Scope
All
getMESOperationsResponseLink()
Description
Syntax
getMESOperationsResponseLink()
Parameters
None
Returns
MESObjectLink mesOperationsResponseLink - The link corresponding to operations
response object.
Scope
All
getMESOperationsScheduleLink()
Description
Syntax
1979
MES Platform 2.0
getMESOperationsScheduleLink()
Parameters
None
Returns
MESObjectLink - The link to the operations schedule object.
Scope
All
getOriginalState()
Description
Syntax
getOriginalState()
Parameters
None
Returns
Integer originalState - The state at which the schedule started.
Scope
All
getProgressPercent()
Description
1980
MES Platform 2.0
Syntax
getProgressPercent()
Parameters
None
Returns
double progressPercent - The percentage of work done for this schedule entry.
Scope
All
getScheduledEndDate()
Description
Syntax
getScheduledEndDate()
Parameters
None
Returns
Date scheduledEndDate - The end date for this schedule.
Scope
All
getScheduledStartDate()
Description
1981
MES Platform 2.0
Syntax
getScheduledStartDate()
Parameters
None
Returns
Date scheduledStartDate - The date at which this schedule starts.
Scope
All
getState()
Description
Syntax
getState()
Parameters
None
Returns
Integer state - The state of this schedule entry.
Scope
All
hasMESOperationsResponseLink()
1982
MES Platform 2.0
Description
Syntax
hasMESOperationsResponseLink()
Parameters
None
Returns
boolean mesOperationsResponseLink - True, if there is any link corresponding to
operations response object and False otherwise.
Scope
All
hasMESOperationsScheduleLink()
Description
Checks for any MES object link to the operations schedule object.
Syntax
hasMESOperationsScheduleLink()
Parameters
None
Returns
boolean - True, If there exist an MES object link for the operations schedule and False
otherwise.
Scope
1983
MES Platform 2.0
All
hasState()
Description
Syntax
hasState()
Parameters
None
Returns
boolean state - True if there is any state associated with this schedule entry and False
otherwise.
Scope
All
resetState()
Description
Syntax
resetState()
Parameters
None
1984
MES Platform 2.0
Returns
Nothing
Scope
All
setActualEndDate(actualEndDate)
Description
Syntax
setActualEndDate(actualEndDate)
Parameters
Date actualEndDate - The actual end date to set for.
Returns
Nothing
Scope
All
setActualStartDate(actualStartDate)
Description
Syntax
setActualStartDate(actualStartDate)
1985
MES Platform 2.0
Parameters
Date actualStartDate - The actual start date for the schedule.
Returns
Nothing
Scope
All
setCategory(category)
Description
Syntax
setCategory(category)
Parameters
String category - The category to set for.
Returns
Nothing
Scope
All
setLabel(label)
Description
Syntax
1986
MES Platform 2.0
setLabel(label)
Parameters
String label - The label to set for this schedule entry.
Returns
Nothing
Scope
All
setMESOperationsRequestLink(MESObjectLink mesOperationsRequestLink)
Description
Syntax
setMESOperationsRequestLink(mesOperationsRequestLink)
Parameters
MESObjectLink mesOperationsRequestLink - The link to the operations request object.
Returns
Nothing
Scope
All
setMESOperationsResponseLink(mesOperationsResponseLink)
Description
1987
MES Platform 2.0
Syntax
setMESOperationsResponseLink(mesOperationsResponseLink)
Parameters
MESObjectLink mesOperationsResponseLink - The link corresponding to operations
response object to set for.
Returns
Nothing
Scope
All
setMESOperationsScheduleLink(mesOperationsScheduleLink)
Description
Syntax
setMESOperationsScheduleLink(mesOperationsScheduleLink)
Parameters
MESObjectLink mesOperationsScheduleLink - The operations schedule link to set for.
Returns
Nothing
Scope
All
setProgressPercent(progressPercent)
Description
1988
MES Platform 2.0
Syntax
setProgressPercent(progressPercent)
Parameters
double progressPercent - The percentage of work to set for.
Returns
None
Scope
All
setScheduledEndDate(endDate)
Description
Syntax
setScheduledEndDate(endDate)
Parameters
Date scheduledEndDate - The end date to set for.
Returns
Nothing
Scope
All
setScheduledStartDate(startDate)
1989
MES Platform 2.0
Description
Syntax
setScheduledStartDate(startDate)
Parameters
Date startDate - The date to start the schedule for.
Returns
Nothing
Scope
All
setState(state)
Description
Syntax
setState(state)
Parameters
boolean state - The state to set for.
Returns
Nothing
Scope
All
1990
MES Platform 2.0
where n = sample size, F(X) = cumulative distribution function for the specified distribution and i
= the ith sample when the data is sorted in ascending order.
The summation portion of the equation is given below, the summation term S in the Anderson-
Darling equation:
The value of AD needs to be adjusted for small sample sizes. The adjusted AD value is given
by:
The p -value is defined as the probability of obtaining a result equal to or "more extreme" than
what was actually observed, when the null hypothesis is true. For typical analysis, using the
standard = 0.05 cutoff, the null hypothesis is rejected when p < .05 and not rejected when p > .
05. The p -value does not in itself support reasoning about the probabilities of hypotheses but is
only a tool for deciding whether to reject the null hypothesis: -wikipedia
1991
MES Platform 2.0
Properties:
getAd()
Description
Syntax
getAd()
Parameters
None
Returns
Double ad - The AD.
Scope
All
getAdStar()
Description
Syntax
getAdStar()
Parameters
None
Returns
Double adStar - The AD*.
1992
MES Platform 2.0
Scope
All
getData()
Description
Syntax
getData()
Parameters
None
Returns
AnalysisDataset data - The SPC data.
Scope
All
getMean()
Description
Syntax
getMean()
Parameters
None
1993
MES Platform 2.0
Returns
Double mean - The mean.
Scope
All
getMeasurementCount()
Description
Syntax
getMeasurementCount()
Parameters
None
Returns
int measurementCount - The measurement count.
Scope
All
getPValue()
Description
Get the p-value for the test statistics. If the p-value is less than a chosen alpha (usually 0.05
or 0.10), then reject the null hypothesis that the data come from that distribution.
Syntax
getPValue()
1994
MES Platform 2.0
Parameters
None
Returns
Double pValue - The p-value of the Anderson Darling Test.
Scope
All
getS()
Description
Syntax
getS()
Parameters
None
Returns
Double s - The s of the Anderson Darling Test.
Scope
All
getStandardDeviation()
Description
1995
MES Platform 2.0
Syntax
getStandardDeviation()
Parameters
None
Returns
Double standardDeviation - The standard deviation.
Scope
All
setAd(ad)
Description
Syntax
setAd(ad)
Parameters
Double ad - The AD.
Returns
Nothing
Scope
All
setAdStar(adStar)
Description
1996
MES Platform 2.0
Syntax
setAdStar(adStar)
Parameters
Double data - The AD*.
Returns
Nothing
Scope
All
setMean(mean)
Description
Syntax
setMean(mean)
Parameters
Double mean - The mean to set for.
Returns
Nothing
Scope
All
setPValue(pValue)
1997
MES Platform 2.0
Description
Syntax
setPValue(pValue)
Parameters
Double pValue - The p-value to set for.
Returns
Nothing
Scope
All
setS(s)
Description
Sets the S.
Syntax
setS(s)
Parameters
Double s - The s.
Returns
Nothing
Scope
All
1998
MES Platform 2.0
setStandardDeviation(standardDeviation)
Description
Syntax
setStandardDeviation(standardDeviation)
Parameters
Double standardDeviation - The standard deviation.
Returns
Nothing
Scope
All
Attribute can contain positive or negative numeric values with no fractions. It has a minimum
value of -2,147,483,648 and a maximum value of 2,147,483,647 (inclusive).
REAL
Attribute can contain double-precision 64-bit IEEE 754 floating point values.
BOOLEAN
Attribute can contain a counting number (1, 2, 3, 4, …) and represents a number of items
inspected for a attribute samples. This attribute data type is recognized and required by the p,
np, c and u control charts.
1999
MES Platform 2.0
NONCONFORMING_COUNT
Attribute can contain a counting number (1, 2, 3, 4, …) and represents the number of
nonconformities items that have (deformities) for a attribute samples. This attribute data type is
recognized and required by the c and u control charts.
Properties:
convert(attrValue)
Description
Returns value in the true java data type for the type of data this attribute data type
represents.
Syntax
convert(attrValue)
Parameters
Object attrValue - The attribute value to be converted.
Returns
The value in java data type.
dataTypeToType(dataType)
Description
Return a reference to a SPC attribute data type from an Ignition data type. For example, an
Ignition data type of Float8 will be a attribute data type of Real.
Syntax
2000
MES Platform 2.0
dataTypeToType(dataType)
Parameters
DataType dataType - Ignition DataType reference that represents the type of data for a
sample attribute.
Returns
AttributeDataType - A reference to a AttributeDataType value that matches.
getJavaType()
Description
Returns the java data type for this attribute data type.
Syntax
getJavaType()
Parameters
None
Returns
The java data type corresponding to this attribute data type.
getText()
Description
Returns the user friendly localized text for the attribute data type.
Syntax
getText()
Parameters
None
2001
MES Platform 2.0
Returns
The localized text for this attribute data type.
intToType(ordinal)
Description
Return a reference to a SPC attribute data type from the ordinal value.
Syntax
intToType(ordinal)
Parameters
int ordinal - A valid AttributeDataType ordinal value.
Returns
AttributeDataType - A reference to a AttributeDataType value that matches.
isLogical()
Description
Syntax
isLogical()
Parameters
None
Returns
True, if the attribute data type is boolean.
isNumeric()
2002
MES Platform 2.0
Description
Syntax
isNumeric()
Parameters
None
Returns
True, if the attribute data type handles numbers.
Properties:
intToType(ordinal)
Description
Returns the calculation kind type object for the ordinal value specified.
2003
MES Platform 2.0
Syntax
intToType(ordinal)
Parameters
int ordinal - Integer indicating position of the calculation kind object.
Returns
CalculationKindTypes type - The calculation kind type object for the ordinal specified.
Scope
All
getTypeFromDescription(description)
Description
Syntax
getTypeFromDescription(description)
Parameters
String description - Description of the calculation kind type to get the type for.
Returns
Calculation KindTypes type - Type of calculation kind specified by the description
parameter.
Scope
All
getCategory()
2004
MES Platform 2.0
Description
Returns the category of chart. See SPC Category Types for more information.
Syntax
getCategory()
Parameters
None
Returns
SPCCategoryTypes - The category object for the calculation kind is returned.
Scope
All
isUserSelectable()
Description
Syntax
isUserSelectable()
Parameters
None
Returns
boolean - True if the event kind types can be selected by the user, False otherwise.
Scope
All
2005
MES Platform 2.0
getTypeFromName(name)
Description
Returns the calculation kind type object for the name value specified.
Syntax
getTypeFromName(name)
Parameters
None
Returns
Calculation KindTypes - The category object for the event kind is returned.
Scope
All
Methods:
getCalculatedValue()
Description
Syntax
2006
MES Platform 2.0
getCalculatedValue()
Parameters
None
Returns
Double value - The calculated value of the control limit.
Scope
All
getData()
Description
Returns multiple control limit value that vary for each sample.
Syntax
getData()
Parameters
None
Returns
AnalysisDataset - The dataset containing control limit calculated value.
Scope
All
getMessage()
Description
Syntax
2007
MES Platform 2.0
getMessage()
Parameters
None
Returns
String message - An error message regarding the control limit calculation failure.
Scope
All
hasMessage()
Description
Syntax
hasMessage()
Parameters
None
Returns
Boolean - True if the message exists and False otherwise.
Scope
All
Description
2008
MES Platform 2.0
Syntax
getControlLimitValue()
Parameters
None
Returns
Double controlLimitValue - The value of the control limit.
Scope
All
setControlLimitValue(controlLimitValue)
Description
Syntax
setControlLimitValue(controlLimitValue)
Parameters
Double controlLimitValue - The value of the control limit.
Returns
Nothing
Scope
All
getControlLimitName()
Description
2009
MES Platform 2.0
Syntax
getControlLimitName()
Parameters
None
Returns
String controlLimitName - The name of the control limit.
Scope
All
getAttributeName()
Description
Returns the attribute name within the definition to set the control limit for.
Syntax
getAttributeName()
Parameters
None
Returns
String attributeName - The attribute name of the control limit.
Scope
All
getData()
2010
MES Platform 2.0
Description
Syntax
getData()
Parameters
None
Returns
AnalysisDataset data - The SPC data.
Scope
All
Description
Sets the value in the SPC data at the specified rowIndex and columnIndex.
Syntax
Parameters
None
Returns
AnalysisDataset data - The SPC data.
Scope
All
2011
MES Platform 2.0
getSampleSize()
Description
Syntax
getSampleSize()
Parameters
None
Returns
Integer sampleSize - The sample size associated with this control limit.
Scope
All
getCalcValues()
Description
Syntax
getCalcValues()
Parameters
None
Returns
SPCCalcValueCollection calcValues - The calculated value of the control limit.
2012
MES Platform 2.0
Scope
All
2013
MES Platform 2.0
P_LCL
P_OTHER
Used for the p control chart.
NP_UCL
NP_LCL
NP_OTHER
Used for the np control chart.
C_UCL
C_LCL
C_OTHER
Used for the c control chart.
U_UCL
U_LCL
U_OTHER
Used for the u control chart.
HISTOGRAM_UCL
HISTOGRAM_LCL
HISTOGRAM_OTHER
Used for the Histogram chart.
MOVING_RANGE_UCL
MOVING_RANGE_LCL
MOVING_RANGE_OTHER
Used for the MA (moving average) control chart.
Properties:
getCategory()
Description
Returns the category of chart. See SPC Category Types for more information.
2014
MES Platform 2.0
Syntax
getCategory()
Parameters
None
Returns
SPCCategoryTypes - The category this SPC chart belongs to.
getText()
Description
Returns the user friendly localized text for the control limit kind.
Syntax
getText()
Parameters
None
Returns
String text - The localized text for the control limit kind.
getTypeFromName(name)
Description
Returns the control limit kind type object for the name value specified.
Syntax
getTypeFromName(name)
Parameters
String name - The name of the type to return for.
2015
MES Platform 2.0
Returns
ControlLimitKindTypes - The control limit kind type specified by the name parameter.
intToType(ordinal)
Description
Returns the control limit kind type object for the ordinal value specified.
Syntax
intToType(ordinal)
Parameters
int ordinal - Integer indicating the position of the control limit value object to return for.
Returns
ControlLimitKindTypes - The control limit kind type object specified by the ordinal.
MiscCalcEvent
The miscellaneous calculation event object is fired whenever the custom calculations through
the system.quality.sample.data.executeMiscCalculation script function is done. This MES
object is created for the execution of the miscellaneous calculation. If calculations other than
the built-in calculations, such as PPM, are needed, then they can be defined in the Misc.
Calculation section in the MES production model. Custom calculations can also be done using
the tag change scripts (using system.quality.sample.data.executeMiscCalculation) where this
event will execute the calculations.
Properties:
getData()
Description
2016
MES Platform 2.0
Syntax
getData()
Parameters
None
Returns
AnalysisDataset data - The results of the miscellaneous calculation.
getMeasurementCount()
Description
Syntax
getMeasurementCount()
Parameters
None
Returns
int measurementCnt - The measurement counts corresponding to this SPC data.
getSettings()
Description
Returns the SPC settings associated with this calculation event. An instance of a
SPCSettings object that defines the samples to perform the calculation.
Syntax
getSettings()
2017
MES Platform 2.0
Parameters
None
Returns
SPCSettings spcSettings - The settings for miscellaneous calculation.
getValue(key)
Description
Returns the value from the resultant dataset corresponding to the key parameter.
Syntax
getValue(key)
Parameters
String key - The key to return the value for.
Returns
Object value - The value corresponding to the key specified.
setValue(key, value)
Description
Syntax
setValue(key, value)
Parameters
String key - The key to set the data for.
Object value - The value to set the data for.
Returns
2018
MES Platform 2.0
Nothing
Properties:
getActualStandardDeviation()
Description
Syntax
getActualStandardDeviation()
Parameters
None
Returns
Double actualStandardDeviation
Scope
All
getData()
Description
Syntax
2019
MES Platform 2.0
getData()
Parameters
None
Returns
AnalysisDataset data
Scope
All
getDefectPercentage()
Description
Syntax
getDefectPercentage()
Parameters
None
Returns
Double defectPercentage
Scope
All
getEstimatedStandardDeviation()
Description
2020
MES Platform 2.0
Syntax
getEstimatedStandardDeviation()
Parameters
None
Returns
Double estimatedStandardDeviation
Scope
All
getLsl()
Description
Syntax
getLsl()
Parameters
None
Returns
Double lsl
Scope
All
getMean()
Description
2021
MES Platform 2.0
Syntax
getMean()
Parameters
None
Returns
Double mean
Scope
All
getMeasuredPpm()
Description
Syntax
getMeasuredPpm()
Parameters
None
Returns
Double measuredPpm
Scope
All
getMeasurementCount()
2022
MES Platform 2.0
Description
Syntax
getMeasurementCount()
Parameters
None
Returns
int measurementCount
Scope
All
getOverallEstimatedPpm()
Description
Syntax
getOverallEstimatedPpm()
Parameters
None
Returns
Double overallEstimatedPpm
Scope
All
2023
MES Platform 2.0
getOverallPpml()
Description
Syntax
getOverallPpml()
Parameters
None
Returns
Double overallPpml
Scope
All
getOverallPpmu()
Description
Syntax
getOverallPpmu()
Parameters
None
Returns
Double overallPpmu
Scope
2024
MES Platform 2.0
All
getTarget()
Description
Syntax
getTarget()
Parameters
None
Returns
Double target
Scope
All
getUsl()
Description
Syntax
getUsl()
Parameters
None
Returns
2025
MES Platform 2.0
Double usl
Scope
All
getWithinEstimatedPpm()
Description
Syntax
getWithinEstimatedPpm()
Parameters
None
Returns
Double withinEstimatedPpm
Scope
All
getWithinPpml()
Description
Syntax
getWithinPpml()
Parameters
2026
MES Platform 2.0
None
Returns
Double withinPpml
Scope
All
getWithinPpmu()
Description
Syntax
getWithinPpmu()
Parameters
None
Returns
Double withinPpmu
Scope
All
setActualStandardDeviation(actualStandardDeviation)
Description
Syntax
setActualStandardDeviation(actualStandardDeviation)
2027
MES Platform 2.0
Parameters
Double actualStandardDeviation
Returns
Nothing
Scope
All
setDefectPercentage(defectPercentage)
Description
Syntax
setDefectPercentage(defectPercentage)
Parameters
Double defectPercentage
Returns
Nothing
Scope
All
setEstimatedStandardDeviation(estimatedStandardDeviation)
Description
2028
MES Platform 2.0
Syntax
setEstimatedStandardDeviation(estimatedStandardDeviation)
Parameters
Double estimatedStandardDeviation
Returns
Nothing
Scope
All
setMean(mean)
Description
Syntax
setMean(mean)
Parameters
Double mean
Returns
Nothing
Scope
All
setMeasuredPpm(measuredPpm)
Description
2029
MES Platform 2.0
Syntax
setMeasuredPpm(measuredPpm)
Parameters
Double measuredPpm
Returns
Nothing
Scope
All
setOverallEstimatedPpm(overallEstimatedPpm)
Description
Syntax
setOverallEstimatedPpm(overallEstimatedPpm)
Parameters
Double overallEstimatedPpm
Returns
Nothing
Scope
All
setOverallPpml(overallPpml)
2030
MES Platform 2.0
Description
Syntax
setOverallPpml(overallPpml)
Parameters
Double overallPpml
Returns
Nothing
Scope
All
setOverallPpmu(overallPpmu)
Description
Syntax
setOverallPpmu(overallPpmu)
Parameters
Double overallPpmu
Returns
Nothing
Scope
All
2031
MES Platform 2.0
setWithinEstimatedPpm(withinEstimatedPpm)
Description
Syntax
setWithinEstimatedPpm(withinEstimatedPpm)
Parameters
Double withinEstimatedPpm
Returns
Nothing
Scope
All
setWithinPpml(withinPpml)
Description
Syntax
setWithinPpml(withinPpml)
Parameters
Double withinPpml
Returns
Nothing
Scope
2032
MES Platform 2.0
All
setWithinPpmu(withinPpmu)
Description
Syntax
setWithinPpmu(withinPpmu)
Parameters
Double withinPpmu
Returns
Nothing
Scope
All
Properties:
getCp()
Description
Syntax
2033
MES Platform 2.0
getCp()
Parameters
None
Returns
Double cp - The process capability.
Scope
All
getCpk()
Description
Syntax
getCpk()
Parameters
None
Returns
Double cpk - The index of the process capability.
Scope
All
getCpl()
Description
2034
MES Platform 2.0
Syntax
getCpl()
Parameters
None
Returns
Double cpl - The lower process capability index.
Scope
All
getCpLcl()
Description
Syntax
getCpLcl()
Parameters
None
Returns
Double cpLcl - The lower control limit of the process capability.
Scope
All
getCpm()
Description
2035
MES Platform 2.0
Syntax
getCpm()
Parameters
None
Returns
Double cpm - The process capability index of the mean.
Scope
All
getCpStandardDeviation()
Description
Syntax
getCpStandardDeviation()
Parameters
None
Returns
Double cpStadardDeviation - The estimated standard deviation of the process capability.
Scope
All
getCpu()
2036
MES Platform 2.0
Description
Syntax
getCpu()
Parameters
None
Returns
Double cpu - The upper process capability index.
Scope
All
getCpUcl()
Description
Syntax
getCpUcl()
Parameters
None
Returns
Double cpUcl- The upper control limit of the process capability.
Scope
All
2037
MES Platform 2.0
getCr()
Description
Syntax
getCr()
Parameters
None
Returns
Double cr - The reciprocal of the process capability.
Scope
All
getData()
Description
Syntax
getData()
Parameters
None
Returns
AnalysisDataset data - The SPC data.
Scope
2038
MES Platform 2.0
All
getLsl()
Description
Syntax
getLsl()
Parameters
None
Returns
Double lsl - The lower specification limit.
Scope
All
getMean()
Description
Syntax
getMean()
Parameters
None
Returns
2039
MES Platform 2.0
getMeasurementCount()
Description
Syntax
getMeasurementCount()
Parameters
None
Returns
int measurementCnt - The measurement count.
Scope
All
getPp()
Description
Syntax
getPp()
Parameters
2040
MES Platform 2.0
None
Returns
Double pp - The process performance.
Scope
All
getPpk()
Description
Syntax
getPpk()
Parameters
None
Returns
Double ppk - The process performance index.
Scope
All
getPpl()
Description
Syntax
getPpl()
2041
MES Platform 2.0
Parameters
None
Returns
Double ppl - The lower process performance index.
Scope
All
getPpLcl()
Description
Syntax
getPpLcl()
Parameters
None
Returns
Double ppLcl - The lower control limit of the process performance.
Scope
All
getPpm()
Description
2042
MES Platform 2.0
Syntax
getPpm()
Parameters
None
Returns
Double ppm - The process performance index of the mean.
Scope
All
getPpStandardDeviation()
Description
Syntax
getPpStandardDeviation()
Parameters
None
Returns
Double ppStandardDeviation - The actual standard deviation of the process performance.
Scope
All
getPpu()
Description
2043
MES Platform 2.0
Syntax
getPpu()
Parameters
None
Returns
Double ppu - The upper process performance index.
Scope
All
getPpUcl()
Description
Syntax
getPpUcl()
Parameters
None
Returns
Double ppUCL - The upper control limit of the process performance.
Scope
All
getPr()
2044
MES Platform 2.0
Description
Syntax
getPr()
Parameters
None
Returns
Double pr - The reciprocal of the process performance.
Scope
All
getTarget()
Description
Syntax
getTarget()
Parameters
None
Returns
Double target - The target.
Scope
All
2045
MES Platform 2.0
getUsl()
Description
Syntax
getUsl()
Parameters
None
Returns
Double usl - The upper specification limit.
Scope
All
setCp(cp)
Description
Syntax
setCp(cp)
Parameters
Double cp - The process capability to set for.
Returns
Nothing
Scope
2046
MES Platform 2.0
All
setCpk(cpk)
Description
Syntax
setCpk(cpk)
Parameters
Double cpk - The process capability index to set for.
Returns
Nothing
Scope
All
setCpl(cpl)
Description
Syntax
setCpl(cpl)
Parameters
Double cpl - The lower process capability index to set for.
Returns
2047
MES Platform 2.0
Nothing
Scope
All
setCpLcl(lcl)
Description
Syntax
setCpLcl(lcl)
Parameters
Double lcl - The lower control limit of the process capability to set for.
Returns
Nothing
Scope
All
setCpm(cpm)
Description
Syntax
setCpm(cpm)
Parameters
2048
MES Platform 2.0
Double cpm - The process capability index of the mean to set for.
Returns
Nothing
Scope
All
setCpStandardDeviation(standardDeviation)
Description
Syntax
setCpStandardDeviation(standardDeviation)
Parameters
Double standardDeviation - The estimated standard deviation of the process capability to
set for.
Returns
Nothing
Scope
All
setCpu(cpu)
Description
Syntax
2049
MES Platform 2.0
setCpu(cpu)
Parameters
Double cpu - The upper process capability index to set for.
Returns
Nothing
Scope
All
setCpUcl(ucl)
Description
Syntax
setCpUcl(ucl)
Parameters
Double ucl - The upper control limit of the process capability to set for.
Returns
Nothing
Scope
All
setCr(cr)
Description
2050
MES Platform 2.0
Syntax
setCr(cr)
Parameters
Double cr - The reciprocal of the process capability to set for.
Returns
Nothing
Scope
All
setMean(mean)
Description
Syntax
setMean(mean)
Parameters
Double mean - The mean to set for.
Returns
Nothing
Scope
All
setPp(pp)
Description
2051
MES Platform 2.0
Syntax
setPp(pp)
Parameters
Double pp - The process performance to set for.
Returns
Nothing
Scope
All
setPpk(ppk)
Description
Syntax
setPpk(ppk)
Parameters
Double ppk - The process performance index to set for.
Returns
Nothing
Scope
All
setPpl(ppl)
2052
MES Platform 2.0
Description
Syntax
setPpl(ppl)
Parameters
Double ppl - The lower process performance index to set for.
Returns
Nothing
Scope
All
setPpLcl(lcl)
Description
Syntax
setPpLcl(lcl)
Parameters
Double lcl - The lower control limit of the process performance to set for.
Returns
Nothing
Scope
All
2053
MES Platform 2.0
setPpm(ppm)
Description
Syntax
setPpm(ppm)
Parameters
Double ppm - The process performance index of the mean to set for.
Returns
Nothing
Scope
All
setPpStandardDeviation(standardDeviation)
Description
Syntax
setPpStandardDeviation(standardDeviation)
Parameters
Double standardDeviation - The actual standard deviation of the process performance.
Returns
Nothing
Scope
2054
MES Platform 2.0
All
setPpu(ppu)
Description
Syntax
setPpu(ppu)
Parameters
Double ppu - The upper process performance index to set for.
Returns
Nothing
Scope
All
setPpUcl(ucl)
Description
Syntax
setPpUcl(ucl)
Parameters
Double ucl - The upper control limit of the process performance to set for.
Returns
2055
MES Platform 2.0
Nothing
Scope
All
setPr(pr)
Description
Syntax
setPr(pr)
Parameters
Double pr - The reciprocal of the process performance to set for.
Returns
Nothing
Scope
All
Properties:
getCp()
Description
2056
MES Platform 2.0
Syntax
getCp()
Parameters
None
Returns
Double cp - The process capability.
Scope
All
getCpk()
Description
Syntax
getCpk()
Parameters
None
Returns
Double cpk - The index of process capability.
Scope
All
getCpl()
Description
2057
MES Platform 2.0
Syntax
getCpl()
Parameters
None
Returns
Double cpl - The lower process capability index.
Scope
All
getCpm()
Description
Syntax
getCpm()
Parameters
None
Returns
Double cpm - The process capability mean.
Scope
All
getCpu()
2058
MES Platform 2.0
Description
Syntax
getCpu()
Parameters
None
Returns
Double cpu - The upper process capability index.
Scope
All
getCr()
Description
Syntax
getCr()
Parameters
None
Returns
Double cr - The reciprocal of process capability.
Scope
All
2059
MES Platform 2.0
getData()
Description
Syntax
getData()
Parameters
None
Returns
AnalysisDataset data - The SPC data.
Scope
All
getLcl()
Description
Syntax
getLcl()
Parameters
None
Returns
Double lcl - The lower control limit.
Scope
2060
MES Platform 2.0
All
getLsl()
Description
Syntax
getLsl()
Parameters
None
Returns
Double lsl - The lower specification limit.
Scope
All
getMean()
Description
Syntax
getMean()
Parameters
None
Returns
2061
MES Platform 2.0
getMeasurementCount()
Description
Syntax
getMeasurementCount()
Parameters
None
Returns
int measurementCnt - The measurement count.
Scope
All
getStandardDeviation()
Description
Syntax
getStandardDeviation()
Parameters
2062
MES Platform 2.0
None
Returns
Double standardDeviation - The estimated standard deviation.
Scope
All
getTarget()
Description
Syntax
getTarget()
Parameters
None
Returns
Double target - The target.
Scope
All
getUcl()
Description
Syntax
getUcl()
2063
MES Platform 2.0
Parameters
None
Returns
Double ucl - The upper control limit.
Scope
All
getUsl()
Description
Syntax
getUsl()
Parameters
None
Returns
Double usl - The upper specification limit.
Scope
All
setCp(cp)
Description
2064
MES Platform 2.0
Syntax
setCp(cp)
Parameters
Double cp - The process capability to set for.
Returns
Nothing
Scope
All
setCpk(cpk)
Description
Syntax
setCpk(cpk)
Parameters
Double cpk - The process capability index to set for.
Returns
Nothing
Scope
All
setCpl(cpl)
Description
2065
MES Platform 2.0
Syntax
setCpl(cpl)
Parameters
Double cpl - The lower process capability index to set for.
Returns
Nothing
Scope
All
setCpm(cpm)
Description
Syntax
setCpm(cpm)
Parameters
Double cpm - The process capability mean to set for.
Returns
Nothing
Scope
All
setCpu(cpu)
2066
MES Platform 2.0
Description
Syntax
setCpu(cpu)
Parameters
Double cpu - The upper process capability index to set for.
Returns
Nothing
Scope
All
setCr(cr)
Description
Syntax
setCr(cr)
Parameters
Double cr - The reciprocal of process capability.
Returns
Nothing
Scope
All
2067
MES Platform 2.0
setLcl(lcl)
Description
Syntax
setLcl(lcl)
Parameters
Double lcl - The lower control limit to set for.
Returns
Nothing
Scope
All
setMean(mean)
Description
Syntax
setMean(mean)
Parameters
Double mean - The mean to set for.
Returns
Nothing
Scope
2068
MES Platform 2.0
All
setStandardDeviation(standardDeviation)
Description
Syntax
setStandardDeviation(standardDeviation)
Parameters
Double standardDeviation - The estimated standard deviation to set for.
Returns
Nothing
Scope
All
setUcl(ucl)
Description
Syntax
setUcl(ucl)
Parameters
Double ucl - The upper control limit to set for.
Returns
2069
MES Platform 2.0
Nothing
Scope
All
Properties:
getData()
Description
Syntax
getData()
Parameters
None
Returns
AnalysisDataset data - The SPC data.
Scope
All
getLcl()
Description
2070
MES Platform 2.0
Syntax
getLcl()
Parameters
None
Returns
Double lcl - The lower control limit.
Scope
All
getLsl()
Description
Syntax
getLsl()
Parameters
None
Returns
Double lsl - The lower specification limit.
Scope
All
getMean()
Description
2071
MES Platform 2.0
Syntax
getMean()
Parameters
None
Returns
Double mean - The mean.
Scope
All
getMeasurementCount()
Description
Syntax
getMeasurementCount()
Parameters
None
Returns
int measurementCnt - The measurement count.
Scope
All
getPp()
2072
MES Platform 2.0
Description
Syntax
getPp()
Parameters
None
Returns
Double pp - The process performance.
Scope
All
getPpk()
Description
Syntax
getPpk()
Parameters
None
Returns
Double ppk - The process performance index.
Scope
All
2073
MES Platform 2.0
getPpl()
Description
Syntax
getPpl()
Parameters
None
Returns
Double ppl - The lower process performance index.
Scope
All
getPpm()
Description
Syntax
getPpm()
Parameters
None
Returns
Double ppm - The process performance index of the mean.
Scope
2074
MES Platform 2.0
All
getPpu()
Description
Syntax
getPpu()
Parameters
None
Returns
Double ppu - The upper process performance index.
Scope
All
getPr()
Description
Syntax
getPr()
Parameters
None
Returns
2075
MES Platform 2.0
getStandardDeviation()
Description
Syntax
getStandardDeviation()
Parameters
None
Returns
Double standardDeviation - The actual standard deviation.
Scope
All
getTarget()
Description
Syntax
getTarget()
Parameters
2076
MES Platform 2.0
None
Returns
Double target - The target.
Scope
All
getUcl()
Description
Syntax
getUcl()
Parameters
None
Returns
Double ucl - The upper control limit.
Scope
All
getUsl()
Description
Syntax
getUsl()
2077
MES Platform 2.0
Parameters
None
Returns
Double usl - The upper specification limit.
Scope
All
setLcl(lcl)
Description
Syntax
setLcl(lcl)
Parameters
Double lcl - The lower specification limit to set for.
Returns
Nothing
Scope
All
setMean(mean)
Description
2078
MES Platform 2.0
Syntax
setMean(mean)
Parameters
Double mean - The mean to set for.
Returns
Nothing
Scope
All
setPp(pp)
Description
Syntax
setPp(pp)
Parameters
Double pp - The process performance to set for.
Returns
Nothing
Scope
All
setPpk(ppk)
Description
2079
MES Platform 2.0
Syntax
setPpk(ppk)
Parameters
Double ppk - The process performance index to set for.
Returns
Nothing
Scope
All
setPpl(ppl)
Description
Syntax
setPpl(ppl)
Parameters
Double ppl - The lower process performance index to set for.
Returns
Nothing
Scope
All
setPpm(ppm)
2080
MES Platform 2.0
Description
Syntax
setPpm(ppm)
Parameters
Double ppm - The process performance index of the mean to set for.
Returns
Nothing
Scope
All
setPpu(ppu)
Description
Syntax
setPpu(ppu)
Parameters
Double ppu - The upper process performance index to set for.
Returns
Nothing
Scope
All
2081
MES Platform 2.0
setPr(pr)
Description
Syntax
setPr(pr)
Parameters
Double pr - The reciprocal of the process performance to set for.
Returns
Nothing
Scope
All
setStandardDeviation(standardDeviation)
Description
Syntax
setStandardDeviation(standardDeviation)
Parameters
Double standardDeviation - The actual standard deviation to set for.
Returns
Nothing
Scope
2082
MES Platform 2.0
All
setUcl(ucl)
Description
Syntax
setUcl(ucl)
Parameters
Double ucl - The upper control limit to set for.
Returns
Nothing
Scope
All
Sample
The sample object holds all of the information associated with one sample.
Properties:
calcScheduledFinish()
Description
Based on the scheduled start date and time and the duration of time to take this sample,
calculates the date and time this sample is scheduled to be complete. The
getScheduledFinish() value is updated after calling this function. The duration of time
required to take a sample is defined in the sample definition. For automatic samplings, this
value does not apply.
2083
MES Platform 2.0
Syntax
calcScheduledFinish()
Parameters
None
Returns
Nothing
getApproved()
Description
Returns true if this sample has been approved. Depending on the settings in the sample
definition, samples may be automatically or manually approved.
Syntax
getApproved()
Parameters
None
Returns
True, if the sample has been approved.
getApprovedBy()
Description
Returns the person’s name who approved this sample. For automatically recorded
samples, this will be “Auto”.
Syntax
2084
MES Platform 2.0
getApprovedBy()
Parameters
None
Returns
String approvedBy - Name of the person who approved this sample.
getApprovedDateTime()
Description
Returns the date and time that this sample was approved. For automatically approved
samples, this will be the same as the getEntryDateTime() value.
Syntax
getApprovedDateTime()
Parameters
None
Returns
Calendar approvedDateTime - Date and time that this sample was approved.
getArea()
Description
Syntax
getArea()
Parameters
None
2085
MES Platform 2.0
Returns
String area - The area associated with the sample.
getDefUUID()
Description
Returns the definition UUID associated with this sample. (See Sample Definition object for
more information).
Syntax
getDefUUID()
Parameters
None
Returns
String defUUID - The definition uuid of this sample.
getEnterprise()
Description
Syntax
getEnterprise()
Parameters
None
Returns
String enterprise - The enterprise of this sample.
2086
MES Platform 2.0
getEntryDateTime()
Description
Returns the date and time that this sample was entered.
Syntax
getEntryDateTime()
Parameters
None
Returns
Calendar entryDateTime - Date and time for which the sample was entered.
getId()
Description
Syntax
getId()
Parameters
None
Returns
Integer id - The id of this sample.
getLine()
Description
2087
MES Platform 2.0
Returns the production line associated with this sample. This will be blank if the location
the sample is taken is in a production area and not on a production line.
Syntax
getLine()
Parameters
None
Returns
String line - The line associated with the sample.
getLocation()
Description
Syntax
getLocation()
Parameters
None
Returns
String location - The location associated with this sample.
getLocationPath()
Description
Returns the full location path, including enterprise, site, area, line and location, associated
with this sample.
2088
MES Platform 2.0
Syntax
getLocationPath()
Parameters
None
Returns
String locationPath - The location path of this sample.
getNote()
Description
Returns the note associated with this sample. This is the note that may have been entered
when the sample was entered. Even though this note can be viewed on the control charts
or in analysis, it is not the same as the attribute note entered on the control charts.
Syntax
getNote()
Parameters
None
Returns
String note - Note associated with the sample.
getProductCode()
Description
Returns the product code associated with this sample. This is optional and may not apply if
tracking quality by product code is not being used for the associated sample definition.
Syntax
2089
MES Platform 2.0
getProductCode()
Parameters
None
Returns
String productCode - The product code associated with the sample.
getRefNo()
Description
Returns the reference number associated with this sample. This is optional and can be
used to track information like batch number, lot number, etc. Additional factors can also be
used to track information.
Syntax
getRefNo()
Parameters
None
Returns
String refNo - The reference number associated with the sample.
getSampleDefinition()
Description
Returns the definition associated with this sample. See Sample Definition object for more
information.
Syntax
getSampleDefinition()
Parameters
2090
MES Platform 2.0
None
Returns
SampleDefinition definition - Definition associated with the sample.
getSampleTakenBy()
Description
Returns the person’s name who was responsible for taking the sample. By default, this is
the person who is logged in when the sample is entered. For automatically recorded
samples, this will be “Auto”.
Syntax
getSampleTakenBy()
Parameters
None
Returns
String sampleTakenBy - Name of person who took the sample.
getSampleTakenDateTime()
Description
Returns the date and time that this sample was taken.
Syntax
getSampleTakenDateTime()
Parameters
None
Returns
2091
MES Platform 2.0
Calendar sampleTakenDateTime - The date and time that the sample was taken.
getSampleUUID()
Description
Returns the UUID assigned to this sample. A UUID is a universally unique identifier that,
once assigned to a sample, will never change. It is also unique in that no two samples will
have the same UUID.
Syntax
getSampleUUID()
Parameters
None
Returns
String sampleUUID - The uuid of this sample.
getScheduledFinish()
Description
Returns the date and time that taking this sample is scheduled to be complete. For
automatic samplings, this value does not apply and will be equal to None.
Syntax
getScheduledFinish()
Parameters
None
Returns
Calendar scheduledFinish - The date and time for the schedule to end.
2092
MES Platform 2.0
getScheduledStart()
Description
Returns the date and time that this sample is scheduled to be taken. For automatic
samplings, this value does not apply and will be equal to None.
Syntax
getScheduledStart()
Parameters
None
Returns
Calendar scheduledStart - The date and time for the sample to start.
getSequenceDate()
Description
Returns the date and time that the shift the sample was taken during started.
Syntax
getSequenceDate()
Parameters
None
Returns
Calendar sequenceDate - Start date of the current active shift.
getShift()
Description
2093
MES Platform 2.0
Syntax
getShift()
Parameters
None
Returns
int shift - Shift for which the sample was taken.
getSite()
Description
Syntax
getSite()
Parameters
None
Returns
String site - The site of this sample.
getTag()
Description
Returns the optional tag value. This is typically used to assign ownership of which
department has the responsibility to take this sample.
Syntax
2094
MES Platform 2.0
getTag()
Parameters
None
Returns
String tag - Tag value that specifies the ownership.
isModified()
Description
Syntax
isModified()
Parameters
None
Returns
True, if this sample have been modified.
isNew()
Description
Syntax
isNew()
Parameters
None
2095
MES Platform 2.0
Returns
True, if this sample is newly created.
setApproved(approved)
Description
Syntax
setApproved(approved)
Parameters
boolean approved - True, if the sample is to be approved.
Returns
Nothing
setApprovedBy(approvedBy)
Description
Syntax
setApprovedBy(approvedBy)
Parameters
String approvedBy - Name of the person who approved this sample.
Returns
Nothing
setApprovedDateTime(approvedDateTime)
2096
MES Platform 2.0
Description
Sets the date and time that this sample was approved.
Syntax
setApprovedDateTime(approvedDateTime)
Parameters
Calendar approvedDateTime - Date and time that this sample was approved.
Returns
Nothing
setArea(area)
Description
Syntax
setArea(area)
Parameters
String area - The area associated with the sample.
Returns
Nothing
setEnterprise(enterprise)
Description
2097
MES Platform 2.0
Syntax
setEnterprise(enterprise)
Parameters
String enterprise - The enterprise of this sample.
Returns
Nothing
setEntryDateTime(entryDateTime)
Description
Sets the date and time that this sample was entered.
Syntax
setEntryDateTime(entryDateTime)
Parameters
Calendar entryDateTime - Date and time for which the sample was entered.
Returns
Nothing
setLine(line)
Description
Syntax
setLine(line)
Parameters
2098
MES Platform 2.0
setLocation(location)
Description
Syntax
setLocation(location)
Parameters
String location - The location associated with the sample.
Returns
Nothing
setLocationPath(locationPath)
Description
Sets the enterprise, site, area, line and location from the locationPath parameter.
Syntax
setLocationPath(locationPath)
Parameters
String locationPath - The locationPath of this sample.
Returns
Nothing
2099
MES Platform 2.0
setNote(note)
Description
Syntax
setNote(note)
Parameters
String note - Note associated with the sample.
Returns
Nothing
setProductCode(productCode)
Description
Syntax
setProductCode(productCode)
Parameters
String productCode - The product code associated with the sample.
Returns
Nothing
setRefNo(refNo)
Description
2100
MES Platform 2.0
Syntax
setRefNo(refNo)
Parameters
String refNo - The reference number of this sample.
Returns
Nothing
setSampleDefinition(definition)
Description
Sets the definition associated with this sample. See Sample Definition object for more
information.
Syntax
setSampleDefinition(definition)
Parameters
SampleDefinition definition - Definition associated with the sample.
Returns
Nothing
setSampleTakenBy(sampleTakenBy)
Description
Sets the person’s name who was responsible for taking the sample.
Syntax
2101
MES Platform 2.0
setSampleTakenBy(sampleTakenBy)
Parameters
String sampleTakenBy - Name of person who took the sample.
Returns
Nothing
setSampleTakenDateTime(sampleTakenDateTime)
Description
Sets the date and time that this sample was taken.
Syntax
setSampleTakenDateTime(sampleTakenDateTime)
Parameters
Calendar sampleTakenDateTime - Date and time that the sample was taken.
Returns
Nothing
setScheduledFinished(scheduleFinish)
Description
Sets the date and time that this sample is scheduled to be completed.
Syntax
setScheduledFinished(scheduleFinish)
Parameters
Calendar scheduleFinish - The date and time for the schedule to end.
Returns
2102
MES Platform 2.0
Nothing
setScheduledStart(scheduleStart)
Description
Sets the date and time that this sample is scheduled to be taken.
Syntax
setScheduledStart(scheduleStart)
Parameters
Calendar scheduleStart - The date and time for the schedule to start.
Returns
Nothing
setSequenceDate(sequenceDate)
Description
Sets the date and time that the shift the sample was taken during started.
Syntax
setSequenceDate(sequenceDate)
Parameters
Calendar sequenceDate - Start date of the current active shift.
Returns
Nothing
setShift(shift)
2103
MES Platform 2.0
Description
Syntax
setShift(shift)
Parameters
int shift - The shift for which the sample was taken.
Returns
Nothing
setSite(site)
Description
Syntax
setSite(site)
Parameters
String site - The site of this sample.
Returns
Nothing
setTag(tag)
Description
Sets the tag value. This is typically used to assign ownership of which department has the
responsibility to take this sample.
2104
MES Platform 2.0
Syntax
setTag(tag)
Parameters
String tag - Tag value that specifies the ownership.
Returns
Nothing
Attribute properties:
getAttributeDataType(attrName)
Description
Returns the attribute data type object for the specified attribute name. The attribute data
type information is contained in the sample definition and cannot be changed directly in the
sample object.
Syntax
getAttributeDataType(attrName)
Parameters
String attrName - Name of the attribute to return the data type for.
Returns
AttributeDataType datatype - Attribute data type object for the specified attribute name.
getAttributeDefaultValue(attrName)
Description
Returns the default value for the specified attribute name. The attribute default value is
contained in the sample definition and cannot be changed directly in the sample object.
2105
MES Platform 2.0
Syntax
getAttributeDefaultValue(attrName)
Parameters
String attrName - Name of the attribute to return the default value for.
Returns
Object defaultValue - Default value for the attribute.
getAttributeMaxValue(attrName)
Description
Returns the maximum value for the specified attribute name. The attribute maximum value
is contained in the sample definition and cannot be changed directly in the sample object.
Syntax
getAttributeMaxValue(attrName)
Parameters
String attrName - Name of the attribute to return the maximum value for.
Returns
Object maxValue - Maximum value for the attribute.
getAttributeMinValue(attrName)
Description
Returns the minimum value for the specified attribute name. The attribute minimum value
is contained in the sample definition and cannot be changed directly in the sample object.
Syntax
getAttributeMinValue(attrName)
2106
MES Platform 2.0
Parameters
String attrName - Name of the attribute to return the minimum value for.
Returns
Object minValue - Minimum value for the attribute.
Measurement properties:
getAllMeasurements()
Description
Returns the measurements associated with this sample. If a sample has been scheduled
but the measurement data has not been recorded, the measurement entries will still exist.
In this case, use the sampleDataExists() property to determine if the measurement data
has been entered.
Syntax
getAllMeasurements()
Parameters
None
Returns
List - A list of all the measurements associated with this sample.
getSampleData(measNo, attrName)
Description
Gets SampleData item for the specified measurement number and attribute.
Syntax
getSampleData(measNo, attrName)
Parameters
2107
MES Platform 2.0
getSampleDataValue(measNo, attrName)
Description
Returns a measurement value as a string for the specified measurement number and
attribute name.
Syntax
getSampleDataValue(measNo, attrName)
Parameters
int measNo - The measurement number associated with the sample.
String attrName - Name of the attribute to return the measurement value for.
Returns
String value - Measurement value for the specified sample.
isDataModified()
Description
Syntax
isDataModified()
Parameters
None
2108
MES Platform 2.0
Returns
True, if any of the measurement value was modified.
isSampleDataValid()
Description
Returns true if the measurements have been entered and are valid.
Syntax
isSampleDataValid()
Parameters
None
Returns
True, if the measurements have been entered and are valid.
sampleDataExists(sampleData)
Description
Returns true if the given sample data exist and False otherwise.
Syntax
sampleDataExists(sampleData)
Parameters
SampleData sampleData - The sample data to be checked.
Returns
True, if sample data exists and False otherwise.
2109
MES Platform 2.0
Description
Sets a measurement value as a string for the specified measurement number and attribute
name.
Syntax
getAddlFactor(factorName)
Description
Gets the additional factor object specified by the factorName parameter and associated
with this sample. Use this function to get the SampleAdditionalFactor object that can be
used to change the value of the additional factor.
Syntax
getAddlFactor(factorName)
Parameters
String factorName - Name of the additional factor to be returned. This reflects the name of
the additional factor that is configured in the designer.
Returns
SampleAdditionalFactor - A dditional factor object associated with this sample.
2110
MES Platform 2.0
getAllAddlFactors()
Description
Returns the list of additional factor values associated with this sample.
Syntax
getAllAddlFactors()
Parameters
None
Returns
List - A list of additional factor values associated with this sample.
Properties:
getDataType()
Description
Returns the data type of this additional factor. See DataType in the Ignition documentation
for more information.
Syntax
getDataType()
Parameters
None
Returns
2111
MES Platform 2.0
getName()
Description
Syntax
getName()
Parameters
None
Returns
Name of the additional factor.
getRecordDateTime()
Description
Returns the date and time the value was recorded for this additional factor.
Syntax
getRecordDateTime()
Parameters
None
Returns
Date and time the value was recorded for this additional factor.
getValue()
2112
MES Platform 2.0
Description
Syntax
getValue()
Parameters
None
Returns
Object value - The value of this additional factor.
isModified()
Description
Syntax
isModified()
Parameters
None
Returns
True, if this additional factor has been modified.
isNew()
Description
2113
MES Platform 2.0
Syntax
isNew()
Parameters
None
Returns
True, if this additional factor has been modified.
resetModified()
Description
Syntax
resetModified()
Parameters
None
Returns
Nothing
updateValue(value, recordDateTime)
Description
Updates the value and the required date and time that is being recorded for this additional
factor.
Syntax
updateValue(value, recordDateTime)
Parameters
2114
MES Platform 2.0
Sample Data
The sample object holds a sample data object for each attribute and measurement. When a
sample object is created, it automatically creates a sample data object based on the sample
definition.
Example:
If sample definition viscosity has two attributes of cold viscosity and temperature and is
configured for 5 measurements, then the sample will contain 10 sample data objects. Five
measurements for cold viscosity and five measurements for temperature.
Properties:
getAttrDataType()
Description
Returns attribute data type of this sample data object. This is automatically set when the
sample is created and is based on the sample definition.
Syntax
getAttrDataType()
Parameters
None
Returns
AttributeDataType The attribute data type of this sample data object.
getAttrName()
2115
MES Platform 2.0
Description
Returns the attribute name this sample data object is associated with.
Syntax
getAttrName()
Parameters
None
Returns
String attrName - The attribute name of this sample data.
getAttrValue()
Description
Syntax
getAttrValue()
Parameters
None
Returns
Object attrValue - The data value for this sample data.
getAttrValueAsString()
Description
2116
MES Platform 2.0
Syntax
getAttrValueAsString()
Parameters
None
Returns
The attribute value as string.
getDefaultValue()
Description
Returns the default value based on the attribute this sample data object is associated with.
This is automatically set when the sample is created and is based on the sample definition.
Syntax
getDefaultValue()
Parameters
None
Returns
Object value - The default value based on the attribute of this sample data.
getId()
Description
Syntax
getId()
Parameters
2117
MES Platform 2.0
None
Returns
Integer id - The identifier of this sample.
getMaxValue()
Description
Returns the maximum value based on the attribute this sample data object is associated
with. This is automatically set when the sample is created and is based on the sample
definition.
Syntax
getMaxValue()
Parameters
None
Returns
Object value - The maximum value for this sample data.
getMeasNo()
Description
Returns the measurement number this sample data object is associated with.
Syntax
getMeasNo()
Parameters
None
Returns
2118
MES Platform 2.0
getMeasured()
Description
Syntax
getMeasured()
Parameters
None
Returns
boolean isMeasured - True, if this sample data is measured and False otherwise.
getMinValue()
Description
Returns the minimum value based on the attribute this sample data object is associated
with. This is automatically set when the sample is created and is based on the sample
definition.
Syntax
getMinValue()
Parameters
None
Returns
Object value - The minimum value for this sample data.
2119
MES Platform 2.0
getSampleUUID()
Description
Returns the sample UUID that this sample data object belongs to.
Syntax
getSampleUUID()
Parameters
None
Returns
String sampleUUID - The uuid of this sample.
getSampleValidationErrors()
Description
Validates the sample and returns an error message if the sample is invalid.
Syntax
getSampleValidationErrors()
Parameters
None
Returns
String result - The message explaining why the sample is invalid.
hasAttrValue()
Description
2120
MES Platform 2.0
Syntax
hasAttrValue()
Parameters
None
Returns
boolean - True if there is an attribute value associated with this sample data.
isModified()
Description
Returns true if the value of this sample data object has been modified.
Syntax
isModified()
Parameters
None
Returns
True, if value of the sample has been modified.
isNew()
Description
Returns true if the value of this sample data object is a newly created one.
Syntax
isNew()
2121
MES Platform 2.0
Parameters
None
Returns
True, if value of the sample has unassigned ID.
isValueValid()
Description
Returns true if the value of this sample data object has been set and is between minimum
and maximum values.
Syntax
isValueValid()
Parameters
None
Returns
True, if value of the sample is valid.
resetModified()
Description
Syntax
resetModified()
Parameters
None
Returns
2122
MES Platform 2.0
Nothing
setAttrValue(attrValue)
Description
Sets the value for this sample data object. If the attrValue parameter is not the correct data
type, an attempt to convert it to the correct data type is performed before it is set.
Syntax
setAttrValue(attrValue)
Parameters
Object attrValue - The data value to set the sample data for.
Returns
Nothing
setMeasured(isMeasured)
Description
Sets the boolean indicating that the sample data is measured or not.
Syntax
setMeasured(isMeasured)
Parameters
boolean isMeasured - Set to True if the sample data is already measured or else set to
False.
Returns
Nothing
2123
MES Platform 2.0
toString()
Description
Syntax
toString()
Parameters
None
Returns
The attribute value as string.
Sample Definition
The sample definition object holds all of the information defining a type of sample. A sample
definition specifies the attributes to collect, the locations where sample data is collected from,
the control limits that apply, and the signals that apply.
When samples are created, they are based on a sample definition. When sample measurement
values are recorded, the sample definition is used to validate the measurement values. Other
operations also refer back to the sample definition such as automatic scheduling of samples,
auto evaluation of signals, etc.
Properties:
getAutoApprove()
Description
Returns the default auto approve samples setting for this sample definition. Allowed
locations that belong to this sample definition are initialized with this default setting.
Syntax
2124
MES Platform 2.0
getAutoApprove()
Parameters
None
Returns
Boolean autoApprove - True, if the default value of the auto approve setting for this sample
definition is true and False otherwise.
getComingDueMin()
Description
Returns the default coming due minutes setting for this sample definition. Allowed locations
that belong to this sample definition are initialized with this default setting. The value
represents the number of minutes required before a sample is due until the sample is
considered coming due. For automatically scheduled samples, they are created prior to
actual due time by the number of minutes of this setting.
Syntax
getComingDueMin()
Parameters
None
Returns
double comingDueMin - The number of minutes required before a sample is due until it is
coming due.
getDefUUID()
Description
Returns the UUID assigned to this sample definition. A UUID is a universally unique
identifier that, once assigned to a sample definition, will never change. It is automatically
generated when a sample definition is created and is unique in that no two samples
definitions will have the same UUID.
2125
MES Platform 2.0
Syntax
getDefUUID()
Parameters
None
Returns
String defUUID - The unique identifier allotted to this sample definition.
getDescription()
Description
Syntax
getDescription()
Parameters
None
Returns
String description - The description given to this sample definition.
getEnabled()
Description
Syntax
getEnabled()
Parameters
2126
MES Platform 2.0
None
Returns
Boolean True, if the sample definition is enabled and False otherwise.
getId()
Description
Syntax
getId()
Parameters
None
Returns
The ID of the sample definition.
getInterval()
Description
Returns the default interval for automatically scheduled samples based on this sample
definition. Allowed locations that belong to this sample definition are initialized with this
default interval. The units are defined by the Interval type defined for this sample definition.
Syntax
getInterval()
Parameters
None
Returns
2127
MES Platform 2.0
getMeasurementCount()
Description
Returns the number of measurements that this sample definition is configured for.
Syntax
getMeasurementCount()
Parameters
None
Returns
Integer measurementCount - The number of measurements associated with this sample
definition.
getName()
Description
Syntax
getName()
Parameters
None
Returns
String name - The name of the sample definition.
getOverdueMin()
2128
MES Platform 2.0
Description
Returns the default overdue minutes setting for this sample definition. Allowed locations
that belong to this sample definition are initialized with this default setting.
Syntax
getOverdueMin()
Parameters
None
Returns
double overdueMin - The value represents the number of minutes required after a sample
is due until the sample is considered overdue.
isModified()
Description
Syntax
isModified()
Parameters
None
Returns
True, if the sample definition is modified.
isNew()
Description
2129
MES Platform 2.0
Syntax
isNew()
Parameters
None
Returns
True if the specified sample definition is new.
setAutoApprove(autoApprove)
Description
Sets the default auto approve samples setting for this sample definition. Allowed locations
that belong to this sample definition are initialized with this default setting.
Syntax
setAutoApprove(autoApprove)
Parameters
Boolean autoApprove - The default value of auto approve setting for this sample definition
is set to the desired boolean.
Returns
Nothing
setComingDueMin(comingDueMin)
Description
2130
MES Platform 2.0
Sets the default coming due minutes setting for this sample definition. Allowed locations
that belong to this sample definition are initialized with this default setting. The value
represents the number of minutes required before a sample is due until the sample is
considered coming due. For automatically scheduled samples, they are created prior to
actual due time by the number of minutes of this setting.
Syntax
setComingDueMin(comingDueMin)
Parameters
double comingDueMin - The number of minutes required before a sample is due until it is
coming due.
Returns
None
setDescription(description)
Description
Syntax
setDescription(description)
Parameters
String description - The description given to this sample definition.
Returns
Nothing
setEnabled(enabled)
Description
2131
MES Platform 2.0
Syntax
setEnabled(enabled)
Parameters
Boolean enabled - Set to True if the sample definition is to be enabled.
Returns
Nothing
setInterval(interval)
Description
Sets the default interval for automatically scheduled samples. Allowed locations that
belong to this sample definition are initialized with this default interval. The units are
defined by the Interval type defined for this sample definition.
Syntax
setInterval(interval)
Parameters
Double interval - The interval to be set for the specified samples.
Returns
Nothing
setIntervalType(intervalType)
Description
2132
MES Platform 2.0
Sets the default interval type for automatically scheduled samples. Allowed locations that
belong to this sample definition are initialized with this default interval type. The return
value must match those configured on the Quality tab for the enterprise in the Sample
Interval list.
Syntax
setIntervalType(intervalType)
Parameters
String intervalType - The interval type to be set for the specified samples.
Returns
Nothing
setMeasurementCount(measurementCount)
Description
Sets this number of measurement to be used when creating samples based on the sample
definition.
Syntax
setMeasurementCount(count)
Parameters
Integer measurementCount - The number of measurements associated with this sample
definition.
Returns
Nothing
setName(name)
Description
2133
MES Platform 2.0
It is recommended that once samples have been created using a specific name, it
should not be changed.
Syntax
setName(name)
Parameters
String name - Name to be set to the sample definition.
Returns
Nothing
setOverdueMin(overdueMin)
Description
Sets the default overdue minutes setting for this sample definition. Allowed locations that
belong to this sample definition are initialized with this default setting. The value represents
the number of minutes required after a sample is due until the sample is considered
overdue.
Syntax
setOverdueMin(overdueMin)
Parameters
double overdueMin - The value represents the number of minutes required after a sample
is due until the sample is considered overdue.
Returns
Nothing
Attribute properties:
2134
MES Platform 2.0
addAttribute(attribute)
Description
Syntax
addAttribute(attribute)
Parameters
SampleDefinitionAttribute attribute - The attribute to be added to the sample definition.
Returns
String result - Any error messages are returned, otherwise an empty string is returned.
attributeExists(attribute)
Description
Returns true if the attribute specified in the parameter already exists for this sample
definition. True will also be returned for disabled attributes.
Syntax
attributeExists(attribute)
Parameters
SampleDefinitionAttribute attribute - The attribute to check the existence for.
Returns
boolean True if the specified attribute exists and False otherwise.
clearAttributes()
Description
2135
MES Platform 2.0
All attributes contained in this sample definition are removed. Instead of the attributes
being permanently removed, thier enabled flag is set to false.
Syntax
clearAttributes()
Parameters
None
Returns
Nothing
getAllAttribute()
Description
Returns a list of all attributes associated with this sample definition. This function will return
enabled and disabled attributes.
Syntax
getAllAttributes()
Parameters
None
Returns
A list of SampleDefinitionAttribute Objects for this sample definition.
getAttribute(id)
Description
2136
MES Platform 2.0
Syntax
getAttribute(id)
Parameters
Integer id - The identifier of the sample definition to return for.
Returns
SampleDefinitionAttribute - The sample definition attribute object specified by the id
parameter.
getAttribute(name)
Description
Returns the attribute with the same name as the name parameter.
Syntax
getAttribute(name)
Parameters
String name - Name of the attribute to be returned for.
Returns
SampleDefinitionAttribute - The attribute specified by the name parameter.
getEnabledAttributes()
Description
Returns a list of all attributes associated with this sample definition. This function will return
only enabled attributes.
Syntax
getEnabledAttribute()
2137
MES Platform 2.0
Parameters
None
Returns
List < SampleDefinitionAttribute > - A list of all attributes for this sample definition.
removeAttribute(attribute)
Description
Removes the attribute defined in the attribute parameter. Instead of attributes being
permanently removed, their enabled flag is set to false. Any error messages are returned,
otherwise an empty string is returned.
Syntax
removeAttribute(attribute)
Parameters
SampleDefinitionAttribute attribute - The attribute to be removed from this sample
definition.
Returns
String result - If the attribute is successfully removed, then a message "Attribute not found"
will be returned.
removeAttribute(index)
Description
Removes the attribute defined in the index parameter. Instead of attributes being
permanently removed, thier enabled flag is set to false. Any error messages are returned,
otherwise an empty string is returned.
Syntax
removeAttribute(index)
2138
MES Platform 2.0
Parameters
int index - The index of the attribute to be removed from this sample definition.
Returns
String result - If the attribute is successfully removed, then a message "Attribute not found"
will be returned.
removeAttribute(name)
Description
Removes the attribute defined in the name parameter. Instead of attributes being
permanently removed, thier enabled flag is set to false. Any error messages are returned,
otherwise an empty string is returned.
Syntax
removeAttribute(name)
Parameters
String name - The name of the attribute to be removed from this sample definition.
Returns
String result - If the attribute is successfully removed, then a message "Attribute not found"
will be returned.
addAllowedLocation(location)
Description
Adds a new allowed location defined in the location parameter. By adding an allowed
location to this sample definition, this type of sample will appear as an option for the
location and the real time location will be saved along with associated samples. For
example, shift, product code, ref No and additional factor information is saved along with
the sample data.
2139
MES Platform 2.0
Syntax
addAllowedLocation(location)
Parameters
SampleDefinitionLocation location - The location to be added to this sample definition.
Returns
String result - Any error messages are returned, otherwise an empty string is returned.
allowedLocationExists(location)
Description
Returns true if the allowed location specified in the parameter already exists for this sample
definition. True will also be returned for allowed locations that have been removed, but not
committed by saving the sample definition.
Syntax
allowedLocationExists(location)
Parameters
SampleDefinitionLocation location - The location to check the existence for.
Returns
B oolean True if the location exist and False otherwise.
clearAllowedLocations()
Description
All allowed locations contained in this sample definition are removed. Allowed locations are
permanently removed but can be added back. SPC data is not lost and will appear in the
control charts and analysis.
Syntax
2140
MES Platform 2.0
clearAllowedLocations()
Parameters
None
Returns
Nothing
getAllAllowedLocations(includeRemoved)
Description
Returns a list of all allowed locations associated with this sample definition. If the
includeRemoved parameter is true, the results will include removed allowed locations that
have not been committed by saving the sample definition.
Syntax
getAllAllowedLocations(includeRemoved)
Parameters
Boolean includeRemoved - Set it to True if the results should include the removed
locations and False otherwise.
Returns
List of Sample Definition Location - A list of all the locations associated with this sample
definition is returned.
getAllowedLocation(name)
Description
Returns the allowed location with the same name as the name parameter.
Syntax
2141
MES Platform 2.0
getAllowedLocation(name)
Parameters
String name - The name of the location to return for.
Returns
SampleDefinitionLocation - The sample definition location object specified by the name
parameter.
removeAllowedLocation(index)
Description
Removes the allowed location defined by the index parameter. Allowed locations are
permanently removed but can be added back. SPC data is not lost and will appear in the
control charts and analysis.
Syntax
removeAllowedLocation(index)
Parameters
int index - The index of location to be removed for.
Returns
String result - Any error messages are returned, otherwise an empty string is returned.
removeAllowedLocation(location)
Description
Removes the allowed location defined in the location parameter. Allowed locations are
permanently removed but can be added back. SPC data is not lost and will appear in the
control charts and analysis.
Syntax
2142
MES Platform 2.0
removeAllowedLocation(location)
Parameters
SampleDefinitionLocation location - The location to be removed from this sample definition.
Returns
String result - Any error messages are returned, otherwise an empty string is returned.
removeAllowedLocation(locationName)
Description
Removes the allowed location defined by the name parameter. Allowed locations are
permanently removed but can be added back. SPC data is not lost and will appear in the
control charts and analysis.
Syntax
removeAllowedLocation(locationName)
Parameters
String locationName - The name of location to be removed for.
Returns
String result - Any error messages are returned, otherwise an empty string is returned.
addControlLimit(controlLimit)
Description
Adds a new control limit defined in the controlLimit parameter. By adding a control limit to
this sample definition, it will show as an option in the control charts and may also be used
when evaluating signals. The controlLimit parameter must be a valid control limit that
appears in the enterprise production item. Any error messages are returned, otherwise an
empty string is returned.
2143
MES Platform 2.0
Syntax
addControlLimit ( controlLimit )
Parameters
SampleDefinitionControlLimit controlLimit - The control limit to be added.
Returns
String controlLimit - Sample control limit with the same name or ID already exists.
clearControlLimits()
Description
Syntax
clearControlLimits()
Parameters
None
Returns
Nothing
controlLimitExists(controlLimit)
Description
Returns true if the control limit specified in the parameter already exists for this sample
definition.
Syntax
controlLimitExists(controlLimit)
Parameters
2144
MES Platform 2.0
getAllAllowedLocations(includeRemoved)
Description
Returns a list of all allowed locations associated with this sample definition. If the
includeRemoved parameter is true the results will include removed allowed locations that
have not been committed by saving the sample definition.
Syntax
getAllAllowedLocations(includeRemoved)
Parameters
boolean includeRemoved - True if the allowed locations that has been removed to be
included.
Returns
A list of all allowed locations associated with the sample definition.
getAllControlLimits()
Description
Returns all control limits that have been selected for this sample definition.
Syntax
getAllControlLimits()
Parameters
None
Returns
2145
MES Platform 2.0
getControlLimit(name)
Description
Returns the control limit that has the same name as the name parameter.
Syntax
getControlLimit(name)
Parameters
String name - Name of the control limit.
Returns
SampleDefinitionControlLimit control limit - The control limit with the specified name.
removeControlLimit(controlLimit)
Description
Syntax
removeControlLimit ( controlLimit )
Parameters
SampleDefinitionControlLimit controlLimit - The control limit to be removed.
Returns
Any error messages are returned, otherwise an empty string is returned.
removeControlLimit(controlLimitName)
2146
MES Platform 2.0
Description
Syntax
removeControlLimit (controlLimitName)
Parameters
String controlLimitName - Name of the control limit to be removed.
Returns
Any error messages are returned, otherwise an empty string is returned.
removeControlLimit(index)
Description
Syntax
removeControlLimit ( index )
Parameters
int index - The index of the control limit to remove for.
Returns
Any error messages are returned, otherwise an empty string is returned.
Signal properties:
addSignal(signal)
Description
2147
MES Platform 2.0
Adds a new signal defined in the signal parameter. By adding a signal to this sample
definition, it will show as an option in the control charts and may also be automatically
evaluated. The signal parameter must be a valid signal that appears in the enterprise
production item.
Syntax
addSignal(signal)
Parameters
SampleDefinitionSignal signal - The new signal to be added.
Returns
Any error messages are returned, otherwise an empty string is returned.
clearSignals()
Description
Syntax
clearSignals()
Parameters
None
Returns
Nothing
getAllSignals()
Description
Return all signals that have been selected for this sample definition.
2148
MES Platform 2.0
Syntax
getAllSignals()
Parameters
None
Returns
A List of all signals for the sample definition.
getSignal(name)
Description
Returns the signal that has the same name as the name parameter.
Syntax
getSignal(name)
Parameters
String name - The name of the signal to be returned for.
Returns
SampleDefinitionSignal - The sample definition signal object specified by the name
parameter.
removeSignal(index)
Description
Syntax
removeSignal(index)
2149
MES Platform 2.0
Parameters
int index - The index of the signal to be removed.
Returns
Any error messages are returned, otherwise an empty string is returned.
removeSignal(signal)
Description
Syntax
removeSignal(signal)
Parameters
SampleDefinitionSignal signal - The signal to be removed.
Returns
Any error messages are returned, otherwise an empty string is returned.
removeSignal(signalName)
Description
Syntax
removeSignal(signalName)
Parameters
int signalName - The name of the signal to be removed.
Returns
Any error messages are returned, otherwise an empty string is returned.
2150
MES Platform 2.0
signalExists(signal)
Description
Returns true if the signal specified in the parameter already exists for this sample
definition.
Syntax
signalExists(signal)
Parameters
SampleDefinitionSignal signal - The signal to check the existence for.
Returns
True, if there exist the specified signal.
Properties:
getDatatype()
Description
Returns the attribute data type for this attribute. See Attribute Data Type for more
information.
Syntax
getDatatype()
Parameters
2151
MES Platform 2.0
None
Returns
AttributeDataType - The attribute data type object for this sample definition attribute.
getDefaultValue()
Description
Returns the default value for this attribute. If this optional default value exists, the sample’s
measurement values associated with this attribute are automatically set to this value when
a sample is created.
Syntax
getDefaultValue()
Parameters
None
Returns
Object defaultValue - The value associated with this sample definition attribute. Object type
is dependent upon the attribute type for this specific attribute. See Attribute Data Type for
more information
getDescription()
Description
Syntax
getDescription()
Parameters
None
2152
MES Platform 2.0
Returns
String description - The description for this sample definition attribute.
getEnabled()
Description
Returns true if this attribute is enabled. If an attribute is disabled, it will not appear during
sample entry. Based on the value of the included disabled attributes property on the SPC
Selector component, disabled attributes will not show on the control charts.
Syntax
getEnabled()
Parameters
None
Returns
True, if this attribute is enabled.
getFormat()
Description
Returns the format for this attribute. The format is used to verify formatting values on the
control charts and that entered data is correctly formatted. See Attribute Data Type for
more information.
Syntax
getFormat()
Parameters
None
Returns
2153
MES Platform 2.0
String format - The format defined for this sample definition attribute.
getId()
Description
Syntax
getId()
Parameters
None
Returns
Integer id - The identifier for the specified attribute.
getMaxValue()
Description
Sets the maximum value for this attribute. If this optional maximum value exists, the
sample’s measurement values associated with this attribute are required to be less than or
equal to this value.
Syntax
getMaxValue()
Parameters
None
Returns
Object maxValue - The maximum value set for this attribute. Object type is dependent
upon the attribute type for this specific attribute. See Attribute Data Type for more
information
2154
MES Platform 2.0
getMeasurementCount()
Description
Gets the measurement count associated with this sample definition attribute.
Syntax
getMeasurementCount()
Parameters
None
Returns
int measurementCount - The measurement count associated with this sample definition
attribute.
getMinValue()
Description
Returns the minimum value for this attribute. If this optional minimum value exists, the
sample’s measurement values associated with this attribute are required to be greater than
or equal to this value.
Syntax
getMinValue()
Parameters
None
Returns
Object minValue - The minimum value set for this attribute. Object type is dependent upon
the attribute type for this specific attribute. See Attribute Data Type for more information
2155
MES Platform 2.0
getName()
Description
Syntax
getName()
Parameters
None
Returns
String name - Name of this sample definition attribute.
getNew()
Description
Syntax
getNew()
Parameters
None
Returns
SampleDefinitionAttribute - The newly created sample attribute object.
getParent()
Description
2156
MES Platform 2.0
Syntax
getParent()
Parameters
None
Returns
SampleDefinition - The sample definition object that is a parent of this attribute.
getRequired()
Description
Returns true if this attribute is required while entering samples. If an attribute is required, a
value must be entered before the sample will be saved.
Syntax
getRequired()
Parameters
None
Returns
True, if this attribute is required.
getWeight()
Description
Syntax
2157
MES Platform 2.0
getWeight()
Parameters
None
Returns
Double weight - The quantity for this attribute.
isModified()
Description
Syntax
isModified()
Parameters
None
Returns
True, if this attribute definition has been modified.
isNew()
Description
Syntax
isNew()
Parameters
None
Returns
2158
MES Platform 2.0
setDatatype(dataType)
Description
Sets this attribute’s data type. See Attribute Data Type for more information.
Syntax
setDatatype(dataType)
Parameters
AttributeDataType dataType - The data type that is to be set for this sample definition
attribute.
Returns
Nothing
setDescription(description)
Description
Syntax
setDescription(description)
Parameters
String description - The description to be set for this sample definition attribute.
Returns
Nothing
setEnabled(enabled)
2159
MES Platform 2.0
Description
Syntax
setEnabled(enabled)
Parameters
boolean enabled - Set this to True if the sample definition is to be enabled and False
otherwise.
Returns
Nothing
setFormat(format)
Description
Sets this attribute’s format. The format is used to verify formatting values on the control
charts and that entered data is correctly formatted.
Syntax
setFormat(format)
Parameters
String format - The format to set the sample definition attribute for.
Returns
Nothing
setDefaultValue(defaultValue)
Description
2160
MES Platform 2.0
Sets the default value for this attribute. If this optional default value exists, the sample’s
measurement values associated with this attribute are automatically set to this value when
a sample is created.
Syntax
setDefaultValue(defaultValue)
Parameters
Object defaultValue - The value stored with this sample definition attribute. Object type is
dependent upon the attribute type for this specific attribute. See Attribute Data Type for
more information. Use None to clear this value.
Returns
Nothing
setMaxValue(maxValue)
Description
Sets the maximum value for this attribute. If this optional maximum value exists, the
sample’s measurement values associated with this attribute are required to be less than or
equal to this value.
Syntax
setMaxValue(maxValue)
Parameters
Object maxValue - The maximum value to set the attribute for. Object type is dependent
upon the attribute type for this specific attribute. See Attribute Data Type for more
information. Use None to clear this value.
Returns
Nothing
setMeasurementCount(measurementCount)
2161
MES Platform 2.0
Info
An attribute cannot be set to have a larger measurement count than its definition.
Description
Sets this number of measurement to be used when creating samples based on the sample
definition attribute.
Syntax
setMeasurementCount(measurementCount)
Parameters
int measurementCount - The measurement count to set for.
Returns
Nothing
setMinValue(minValue)
Description
Sets the minimum value for this attribute. If this optional minimum value exists, the sample’
s measurement values associated with this attribute are required to be greater than or
equal to this value.
Syntax
setMinValue(minValue)
Parameters
Object minValue - The minimum value to set the attribute for. Object type is dependent
upon the attribute type for this specific attribute. See Attribute Data Type for more
information. Use None to clear this value.
2162
MES Platform 2.0
Returns
Nothing
setName(name)
Description
It is recommended that once samples have been created using this name, it should
not be changed.
Syntax
setName(name)
Parameters
String name - Name to be set for this sample definition attribute.
Returns
Nothing
setRequired(enabled)
Description
Sets this attribute required state. If an attribute is required, a value must be entered before
the sample will be saved.
Syntax
setRequired(enabled)
Parameters
boolean enabled - Set this to True if an attribute is required and False otherwise.
2163
MES Platform 2.0
Returns
Nothing
setWeight(weight)
Description
Syntax
setWeight(weight)
Parameters
Double weight - The quantity to set the definition attribute for.
Returns
Nothing
Format Strings
Format strings are used by the getFormat() and setFormat() methods. They consist of one or
more of the characters shown in the table below. For example: the format string ##.0 will round
to show one decimal place. Search java DecimalFormat for more information.
Symbol Description
2164
MES Platform 2.0
; Separates formats
Properties:
2165
MES Platform 2.0
Properties:
getEnabled()
Description
Returns true if this sample definition control limit is enabled. If disabled, it will not show as
an option on the control charts.
Syntax
getEnabled()
Parameters
None
Returns
True if this sample definition control limit is enabled.
getGroup()
Description
Syntax
getGroup()
Parameters
None
Returns
String
getId()
Description
2166
MES Platform 2.0
Returns the database created ID for this sample definition control limit.
Syntax
getId()
Parameters
None
Returns
Integer id - The identifier for this sample definition control limit.
getKind()
Description
Returns the kind of control limit. There are different types of control limits and calculations
for each type of chart category and this property makes this association between the two.
Syntax
getKind()
Parameters
None
Returns
ControlLimitKindTypes kind - The type of this control limit.
getKindAsInt()
Description
Syntax
2167
MES Platform 2.0
getKindAsInt()
Parameters
None
Returns
Integer
getName()
Description
Returns the name of this control limit as defined in the Ignition designer.
Syntax
getName()
Parameters
None
Returns
String name - The name of this control limit.
getParent()
Description
Returns the sample definition that this control limit is a child of.
Syntax
getParent()
Parameters
None
Returns
2168
MES Platform 2.0
SampleDefinition
isModified()
Description
Returns true if this sample definition control limit has been modified.
Syntax
isModified()
Parameters
None
Returns
True if this sample definition control limit has been modified.
isNew()
Description
Syntax
isNew()
Parameters
None
Returns
True, if this sample definition control limit is new.
resetModified()
2169
MES Platform 2.0
Description
Syntax
resetModified()
Parameters
None
Returns
Nothing
setEnabled(enabled)
Description
Sets this sample definition control limit enabled state. If disabled, it will not show as an
option on the control charts.
Syntax
setEnabled(enabled)
Parameters
boolean enabled
Returns
Nothing
setGroup(group)
Description
2170
MES Platform 2.0
Syntax
setGroup(group)
Parameters
String group
Returns
Nothing
setKind(kind)
Description
Sets the kind of control limit. There are different types of control limits and calculations for
each type of chart category and this property makes this association between the two.
Syntax
setKind(kind)
Parameters
ControlLimitKindTypes kind - The type of this control limit.
Returns
Nothing
setKind(ordinal)
Description
Set the kind of control limit based on a ControlLimitKindTypes ordinal value. There are
different types of control limits and calculations for each type of chart category and this
property makes this association between the two.
Syntax
2171
MES Platform 2.0
setKind(ordinal)
Parameters
int ordinal
Returns
Nothing
setName(name)
Description
Sets the name of this control limit as defined in the Ignition designer.
Syntax
setName(name)
Parameters
String name - The name of this control limit.
Returns
Nothing
setParent(parent)
Description
Syntax
setParent(parent)
Parameters
SampleDefinition parent
Returns
Nothing
2172
MES Platform 2.0
Properties:
getAutoApprove()
Description
Syntax
getAutoApprove()
Parameters
None
Returns
If true, samples will be automatically approved when they are recorded. If false, they have
to be manually approved.
getComingDueMin()
Description
2173
MES Platform 2.0
Returns the coming due minutes setting for this location. The value represents the number
of minutes required before a sample is due until the sample is considered coming due. For
automatically scheduled samples, they are created prior to actual due time by the number
of minutes of this setting.
Syntax
getComingDueMin()
Parameters
None
Returns
Double comingDueMin - The coming due in minutes for this sample definition location.
getDuration()
Description
Returns the number of minutes needed to take a sample for this location.
Syntax
getDuration()
Parameters
None
Returns
double duration - Time duration in minutes to take the sample at this specified location.
getEnabled()
Description
2174
MES Platform 2.0
Returns true if this sample definition location is enabled. If disabled, samples will not be
automatically scheduled or appear in sample definition selection lists for the production
location.
Syntax
getEnabled()
Parameters
None
Returns
True, if this sample definition location is enabled.
getId()
Description
Info
This is not the same as the production location ID.
Syntax
getId()
Parameters
None
Returns
int id - The ID for this sample definition location.
getInterval()
2175
MES Platform 2.0
Description
Returns the interval for automatically scheduling samples for this location. The units are
defined by the Interval type defined for this sample definition.
Syntax
getInterval()
Parameters
None
Returns
double interval
getIntervalType()
Description
Returns the interval type for automatically scheduling samples for this location. The return
value must match those configured on the Quality tab for the enterprise in the Sample
Interval list.
Syntax
getIntervalType()
Parameters
None
Returns
String intervalType
getLocationID()
Description
2176
MES Platform 2.0
Returns the database created ID for the production location that this sample definition
location is associated with.
Info
This is the same as the production location ID.
Syntax
getLocationID()
Parameters
None
Returns
int locationID - An integer value representing the ID for the location.
getName()
Description
Returns the name of the production location associated with this sample definition location.
This name also appears as the name for this sample definition location.
Syntax
getName()
Parameters
None
Returns
String name - Name of the sample definition location.
getNew(locationID, name)
2177
MES Platform 2.0
Description
Returns a new sample definition location instance for the production location specified by
the locationID parameter. The new instance name is specified by the name parameter.
Syntax
getNew(locationID, name)
Parameters
int locationID - An integer value representing the ID for the location.
String name - Name of the new sample definition location.
Returns
The newly created SampleDefinitionLocation object for the specified production location.
getOverdueMin()
Description
Returns the overdue minutes setting for this location. The value represents the number of
minutes required before a sample is due until the sample is considered overdue.
Syntax
getOverdueMin()
Parameters
None
Returns
Overdue in minutes for this sample definition location.
getParent()
Description
2178
MES Platform 2.0
Syntax
getParent()
Parameters
None
Returns
SampleDefinition parent - Sample definition object which is the parent to this location.
getTag()
Description
Syntax
getTag()
Parameters
None
Returns
The tag for this sample definition location.
isModified()
Description
Syntax
2179
MES Platform 2.0
isModified()
Parameters
None
Returns
True, if this sample definition has been modified.
isNew()
Description
Syntax
isNew()
Parameters
None
Returns
True, if this sample definition is new.
setAutoApprove(autoApprove)
Description
Sets the auto approve setting for this location. If true, samples will be automatically
approved when they are recorded. If false, they have to be manually approved.
Syntax
setAutoApprove(autoApprove)
Parameters
2180
MES Platform 2.0
setComingDueMin(comingDueMin)
Description
Sets the coming due minutes setting for this location. The value represents the number of
minutes required before a sample is due until the sample is considered coming due. For
automatically scheduled samples, they are created prior to actual due time by the number
of minutes of this setting.
Syntax
setComingDueMin(comingDueMin)
Parameters
double comingDueMin - The coming due in minutes for this sample definition location.
Returns
Nothing
setDuration(duration)
Description
Sets the number of minutes needed to take a sample for this location.
Syntax
setDuration(duration)
Parameters
double duration - Time duration in minutes to take the sample at this specified location.
2181
MES Platform 2.0
Returns
Nothing
setEnabled(enabled)
Description
Sets sample definition location enabled state. If disabled, samples will not be automatically
scheduled or appear in sample definition selection lists for the production location.
Syntax
setEnabled(enabled)
Parameters
boolean enabled - True if the sample should be automatically scheduled, False otherwise.
Returns
Nothing
setInterval(interval)
Description
Sets the interval for automatically scheduling samples for this location. The units are
defined by the Interval type defined for this sample definition.
Syntax
setInterval(interval)
Parameters
double interval
Returns
Nothing
2182
MES Platform 2.0
setIntervalType(intervalType)
Description
Sets the interval type for automatically scheduling samples for this location. The
intervalType value must match those configured on the Quality tab for the enterprise in the
Sample Interval list.
Syntax
setIntervalType(intervalType)
Parameters
String intervalType
Returns
Nothing
setLocationID(locationID)
Description
Info
This is the same as the production location ID.
Syntax
setLocationID(locationID)
Parameters
int locationID - An integer value representing the ID for the location.
Returns
Nothing
2183
MES Platform 2.0
setOverdueMin(overdueMinutes)
Description
Sets the overdue minutes setting for this location. The value represents the number of
minutes required before a sample is due until the sample is considered overdue.
Syntax
setOverdueMin(overdueMinutes)
Parameters
double overdueMinutes
Returns
Nothing
setParent(parent)
Description
Syntax
setParent(parent)
Parameters
SampleDefinition parent - Sample definition object which is the parent to this location.
Returns
Nothing
setTag(tag)
Description
2184
MES Platform 2.0
Sets the tag setting for this location. The tag is used to assign ownership of who is
responsible to take samples. For example, set to “Lab" if the lab is responsible or
“Operator” if the operator is responsible.
Syntax
setTag(tag)
Parameters
String tag - Name of the tag to be set.
Returns
Nothing
Properties:
getEnabled()
Description
Returns true if this sample definition signal is enabled. If disabled, it will not show as an
option on the control charts.
Syntax
getEnabled()
Parameters
None
2185
MES Platform 2.0
Returns
True, if this sample definition signal is enabled.
getId()
Description
Syntax
getId()
Parameters
None
Returns
int id - Integer value representing the id of this sample definition signal.
getKind()
Description
Returns the the kind of signal. There are different types of signals and calculations for each
type of chart category and this property makes this association between the two.
Syntax
getKind()
Parameters
None
Returns
SignalKindTypes
2186
MES Platform 2.0
getName()
Description
Syntax
getName()
Parameters
None
Returns
String name
getParent()
Description
Syntax
getParent()
Parameters
None
Returns
SampleDefinition
isModified()
Description
2187
MES Platform 2.0
Syntax
isModified()
Parameters
None
Returns
True, if this sample definition signal is modified.
isNew()
Description
Syntax
isNew()
Parameters
None
Returns
True, if this sample definition signal is new.
setEnabled(enabled)
Description
Sets this sample definition signal enabled state. If disabled, it will not show as an option on
the control charts.
Syntax
2188
MES Platform 2.0
setEnabled(enabled)
Parameters
boolean enabled
Returns
Nothing
setKind(kind)
Description
Sets the kind of signal. There are different types of signals and calculations for each type
of chart category and this property makes this association between the two.
Syntax
setKind(kind)
Parameters
SignalKindTypes kind
Returns
Nothing
setKind(ordinal)
Description
Sets the kind of signal based on a SignalKindTypesordinal value. There are different types
of signals and calculations for each type of chart category and this property makes this
association between the two.
Syntax
setKind(ordinal)
Parameters
2189
MES Platform 2.0
int ordinal
Returns
Nothing
setName(name)
Description
Syntax
setName(name)
Parameters
String name
Returns
Nothing
Sample States
This object contains the state of the sample. Various states are unknown, overdue, due,
coming due, waiting approval, approved and excluded. The default integer corresponding to
these states are -1, 0, 1, 2, 3, 4, 5 respectively.
addState(state)
Description
Adds a state.
Syntax
addState(state)
2190
MES Platform 2.0
Parameters
Integer state - The integer representing state of the sample to add.
Returns
Nothing
Scope
All
getState()
Description
Syntax
getState()
Parameters
None
Returns
Integer state - The integer representing the state of sample.
Scope
All
hasState()
Description
Syntax
2191
MES Platform 2.0
hasState()
Parameters
Integer state - The state of the sample.
Returns
boolean state - True if there exist the sample represented by the given parameter.
Scope
All
removeState(state)
Description
Removes a state.
Syntax
removeState(state)
Parameters
Integer state - The integer representing state of the sample to remove.
Returns
Nothing
Scope
All
Properties:
getTypeFromDescription(description)
Description
2192
MES Platform 2.0
Syntax
getTypeFromDescription(description)
Parameters
String description - Description of the signal auto evaluated period type to return for.
Returns
SignalAutoEvaluatePeriodTypes
getTypeFromName(name)
Description
Syntax
getTypeFromName(name)
Parameters
String name - Name of the signal auto evaluated period type to return for.
Returns
SignalAutoEvaluatePeriodTypes
intToType(ordinal)
Description
Syntax
intToType(ordinal)
Parameters
int ordinal - Integer indicating position of the period type.
2193
MES Platform 2.0
Returns
SignalAutoEvaluatePeriodTypes
Signal Event
The event is created to get a signal information.
getCalcValues()
Description
Syntax
getCalcValues()
Parameters
None
Returns
SPCCalcValueCollection calcValues - The value of the signal.
Scope
All
getData()
Description
Syntax
getData()
2194
MES Platform 2.0
Parameters
None
Returns
AnalysisDataset data - The SPC data associated with the signal.
Scope
All
getSampleSize()
Description
Syntax
getSampleSize()
Parameters
None
Returns
Integer sampleSize - The size of the sample.
Scope
All
getSignalName()
Description
2195
MES Platform 2.0
Syntax
getSignalName()
Parameters
None
Returns
String signalName - The name of the signal.
Scope
All
Properties:
getCategory()
2196
MES Platform 2.0
Description
Returns the category of chart. See SPC Category Types for more information.
Syntax
getCategory()
Parameters
None
Returns
SPCCategoryTypes - The category object for the signal kind is returned.
Scope
All
getDataFormat()
Description
Returns the category of chart. See SPC Category Types for more information.
Syntax
getDataFormat()
Parameters
None
Returns
SPCDataFormat
Scope
All
getText()
2197
MES Platform 2.0
Description
Returns the user friendly localized text for the signal kind.
Syntax
getText()
Parameters
None
Returns
String text - The localized text for the corresponding signal kind.
Scope
All
getTypeFromDescription(description)
Description
Syntax
getTypeFromDescription(description)
Parameters
String description - Description of the signal kind type to get the type for.
Returns
SignalKindTypes type - Type of signal kind specified by the description parameter.
Scope
All
getTypeFromName(name)
Description
2198
MES Platform 2.0
Returns the signal kind type object for the name value specified.
Syntax
getTypeFromName(name)
Parameters
String name - Name of the signal kind type.
Returns
SignalKindTypes type - Type of signal kind specified by the name parameter.
Scope
All
intToType(ordinal)
Description
Returns the signal kind type object for the ordinal value specified.
Syntax
intToType(ordinal)
Parameters
int ordinal - Integer indicating position of the signal kind object.
Returns
SignalKindTypes type - The signal kind type object for the ordinal specified.
Scope
All
isUserSelectable()
Description
2199
MES Platform 2.0
Syntax
isUserSelectable()
Parameters
None
Returns
boolean - True if the signal kind types can be selected by the user, False otherwise.
Scope
All
Properties:
2200
MES Platform 2.0
Properties:
getShape()
Description
Returns the SPC chart shape type object for the name specified.
Syntax
getShape()
Parameters
None
Returns
Shape shape - The shape of the SPC chart.
getTypeFromDescription(description)
Description
Returns the SPC chart shape type object for the description specified.
Syntax
getTypeFromDescription(description)
Parameters
String description - The note to return the type for.
Returns
SPCChartShapeTypes type - The SPC chart shape type object specified by the parameter.
getTypeFromName(name)
Description
2201
MES Platform 2.0
Returns the SPC chart shape type object for the name specified.
Syntax
getTypeFromName(name)
Parameters
String name - The name to return the type for.
Returns
SPCChartShapeTypes type - The SPC chart shape type object specified by the parameter.
intToType(ordinal)
Description
Returns the SPC chart shape type object for the ordinal value specified.
Syntax
intToType(ordinal)
Parameters
int ordinal - Integer indicating position of the shape type.
Returns
SPCChartShapeTypes type - The SPC chart shape type object specified by the parameter.
isFilled()
Description
Boolean indicating if this chart shape is of filled type or not. The various filled types are
Diamond-filled, Dot-filled, Rectangle-filled.
Syntax
2202
MES Platform 2.0
isFilled()
Parameters
None
Returns
boolean filled - True if this chart shape is of filled type and False otherwise.
Properties:
getDefName()
Description
Syntax
getDefName()
Parameters
None
Returns
String defName - The name of this SPC definition.
getDefUUID()
Description
Syntax
getDefUUID()
2203
MES Platform 2.0
Parameters
None
Returns
String defUUID - The unique identifier corresponding to this SPC definition.
getInspectedAttrCount()
Description
Gets the inspected attribute count associated with this SPC definition.
Syntax
getInspectedAttrCount()
Parameters
None
Returns
Integer inspectedAttrCount - The number of inspected items with this SPC definition.
getMeasCount()
Description
Syntax
2204
MES Platform 2.0
getMeasCount()
Parameters
None
Returns
Integer measCount - The measurement count for this SPC definition.
getNonconformingAttrCount()
Description
Gets the non conforming attribute count for this SPC definition.
Syntax
getNonconformingAttrCount()
Parameters
None
Returns
Integer nonconformingAttrCount - The number of non conforming items associated with
this SPC definition.
getNonconformityAttrCount()
2205
MES Platform 2.0
Description
Gets the non conformity attribute count for this SPC definition.
Syntax
getNonconformityAttrCount()
Parameters
None
Returns
Integer nonconformityAttrCount - The number of non conformities items associated with
this SPC definition.
isValid()
Description
Syntax
isValid()
Parameters
None
Returns
boolean True, if this definition is valid and False otherwise.
2206
MES Platform 2.0
setDefUUID(defUUID)
Description
Syntax
setDefUUID(defUUID)
Parameters
String defUUID - The uuid for this SPC definition.
Returns
Nothing
setInspectedAttrCount(inspectedAttrCount)
Description
Syntax
setInspectedAttrCount(inspectedAttrCount)
Parameters
Integer inspectedAttrCount - The number of inspected items to set for.
Returns
2207
MES Platform 2.0
Nothing
setMeasCount(measCount)
Description
Syntax
setMeasCount(measCount)
Parameters
Integer measCount - The measurement count to set for.
Returns
Nothing
setNonconformingAttrCount(nonconformingAttrCount)
Description
Sets the non conforming attribute count for this SPC definition.
Syntax
setNonconformingAttrCount(nonconformingAttrCount)
Parameters
2208
MES Platform 2.0
setNonconformityAttrCount(nonconformityAttrCount)
Description
Sets the non conformity attribute count for this SPC definition.
Syntax
setNonconformityAttrCount(nonconformityAttrCount)
Parameters
Integer nonconformityAttrCount - The number of non conformities items to set for.
Returns
Nothing
Properties:
createSettings(definitionName, attribute, filters, controlLimits, signals, dataFormatName)
Description
2209
MES Platform 2.0
Syntax
decodeFilters(filterList)
Description
Decode a list of SPC filter expressions into a java Map object. Each filter key can have
multiple filter values.
Syntax
decodeFilters(filterList)
Parameters
An instance of a java List object containing SPC filter expression strings. Example:
"Location=Enterprise\Site\Area\Quality Test Station 1,
Location=Enterprise\Site\Area\Quality Test Station 2, Product Code=DEF"
Returns
2210
MES Platform 2.0
An instance of a java Map. The map key is the filter name. For example, "Location" or
"Product Code". The value for the key contains a java List object containing all of the filter
values. For example, the key "Location" can have the filters values of "Quality Station 1"
and "Quality Station 2".
decodeList(input)
Description
Decode a string that can represent a SPC filter, control limits, SPC rules (signals), etc. into
a java List object. The input string will be parsed on wither the comma or pipe (|) character
and each parsed result will be added to the returned List object.
Syntax
decodeList(input)
Parameters
The string value to parse.
Returns
A java List object containing the parsed strings.
decodeParams(optionalParams)
Description
Decode a list of SPC parameters into a java Map object. Each parameter key can have
only one parameter value.
Syntax
decodeParams(optionalParams)
Parameters
2211
MES Platform 2.0
A string containing optional parameters separated by either the comma or pipe (|)
characters. Example: "PaddingBarCount=4,RowLimit=100,DataBarCount=7,
IncludeDisabledAttributes=true"
Returns
An instance of a java Map containing key value pairs.
encodeList(list)
Description
Encode the specified java List into a single string separated by the pipe (\) character.
Syntax
encodeList(list)
Parameters
An instance of a java List object containing string values.
Returns
A single string containing all of the items from the list.
formatDate(date)
Description
Returns a string for the specified date to is formatted correctly for a filter expression.
Syntax
formatDate()
Parameters
A Date object to format.
Returns
2212
MES Platform 2.0
getAdditionalFactors()
Description
Syntax
getAdditionalFactors()
Parameters
None
Returns
String additionalFactors - The additional factors defined with this SPC settings.
getAttribute()
Description
Syntax
getAttribute()
Parameters
None
Returns
String attribute - The attribute associated with this SPC settings.
getControlLimits()
2213
MES Platform 2.0
Description
Syntax
getControlLimits()
Parameters
None
Returns
String controlLimits - The control limits associated with this setting.
getDataFormat()
Description
Syntax
getDataFormat()
Parameters
None
Returns
SPCDataFormat - The data format associated with this setting.
getDefinition()
Description
2214
MES Platform 2.0
Syntax
getDefinition()
Parameters
None
Returns
SPCDefinition - The definition corresponding to this settings.
getErrorMessage()
Description
Syntax
getErrorMessage()
Parameters
None
Returns
String message - Any error messages are returned, otherwise an empty string is returned.
getFilters()
Description
Syntax
getFilters()
Parameters
None
2215
MES Platform 2.0
Returns
String filters - The filters associated with this SPC settings.
getId()
Description
Syntax
getId()
Parameters
None
Returns
Integer id - The identifier for this setting.
getMeasurement()
Description
Syntax
getMeasurement()
Parameters
None
Returns
String measurement - The measurement corresponding to this setting.
getNonconformingFilter()
2216
MES Platform 2.0
Description
Syntax
getNonconformingFilter()
Parameters
None
Returns
String nonconformingFilter - The non conforming filter for this setting.
getOptionalParams()
Description
Syntax
getOptionalParams()
Parameters
None
Returns
String optionalParams - The optional parameters for this setting.
getSignals()
Description
2217
MES Platform 2.0
Syntax
getSignals()
Parameters
None
Returns
String signals - The signals associated with this settings.
hasError()
Description
Syntax
hasError()
Parameters
None
Returns
boolean True if there is any error and False otherwise.
setAdditionalFactors(additionalFactors)
Description
Syntax
setAdditionalFactors(additionalFactors)
Parameters
2218
MES Platform 2.0
setAttribute(attribute)
Description
Syntax
setAttribute(attribute)
Parameters
String attribute - The attribute to set for.
Returns
Nothing
setControlLimits(controlLimits)
Description
Syntax
setControlLimits(controlLimits)
Parameters
String controlLimits - The control limits to set for.
Returns
Nothing
2219
MES Platform 2.0
setDataFormat(dataFormat)
Description
Syntax
setDataFormat(dataFormat)
Parameters
SPCDataFormat - The data format to set for.
Returns
Nothing
setDefinition(definition)
Description
Syntax
setDefinition(definition)
Parameters
SPCDefinition - The definition to set for.
Returns
Nothing
setErrorMessage(errorMessage)
Description
2220
MES Platform 2.0
Syntax
setErrorMessage(errorMessage)
Parameters
String errorMessage - The error message to set for.
Returns
Nothing
setFilters(filters)
Description
Syntax
setFilters(filters)
Parameters
String filters - The filters to set for.
Returns
Nothing
setId(id)
Description
Syntax
setId(id)
2221
MES Platform 2.0
Parameters
Integer id - The id to set for.
Returns
Nothing
setMeasurement(measurement)
Description
Syntax
setMeasurement(measurement)
Parameters
String measurement - The measurement to set for.
Returns
Nothing
setNonconformingFilter(filter)
Description
Syntax
setNonconformingFilter(filter)
Parameters
String nonconformingFilter - The filter to set for.
Returns
Nothing
2222
MES Platform 2.0
setOptionalParams(optionalParams)
Description
Syntax
setOptionalParams(optionalParams)
Parameters
String optionalParams - The optional parameters to set for.
Returns
Nothing
setParetoFilter(paretoFilter)
Description
Syntax
setParetoFilter(paretoFilter)
Parameters
String paretoFilter - The filter to set for.
Returns
Nothing
setSignals(signals)
Description
2223
MES Platform 2.0
Syntax
setSignals(signals)
Parameters
String signals - Signals to set for.
Returns
Nothing
2224
MES Platform 2.0
The SPC events can be viewed in the quality tab of the production model in designer at the
enterprise level.Whenever an event is fired, a Calculation Kind Types object is passed to the
event. You can use this object to get information about the event and the object. SPC object
events also allows user to add custom scripts and events in the same way as the MES object
events. For more information custom scripting read the Object events section.
2225
MES Platform 2.0
Event Description
Parts Per Million The event is created to calculate Parts Per Million (PPM).
Process Capability & Process The event is created to calculate a process capability and a
Performance process performance.
References
system.quality.sample.data.executeMiscCalculation
2226
MES Platform 2.0
2227
MES Platform 2.0
getSample()
Description
Returns the new or updated sample. (See Sample section for more information).
Syntax
getSample()
Parameters
None
Returns
Sample sample - The new or updated sample.
Code Example
2228
MES Platform 2.0
getSample()
Description
Returns the new or updated sample. (See Sample section for more information).
Syntax
getSample()
Parameters
None
Returns
Sample sample - The new or updated sample.
setCancelUpdate(cancelUpdate)
Description
Syntax
setCancelUpdate(cancelUpdate)
Parameters
boolean cancelUpdate - The default is false, meaning the sample will be added or updated.
It is provided to override the default adding or updating of samples and should be used
with caution.
Returns
Nothing
isCancelUpdate(cancelUpdate)
Description
2229
MES Platform 2.0
Syntax
isCancelUpdate()
Parameters
None
Returns
boolean cancelUpdate - True, if the current state of the cancel update flag is true and False
otherwise.
Code Example
Description
2230
MES Platform 2.0
Syntax
getLimitName()
Parameters
None
Returns
String limitName - Name of the control limit.
getLimitType()
Description
Syntax
getLimitType()
Parameters
None
Returns
String limitType - The type of the control limit.
getLimitValue()
Description
Syntax
2231
MES Platform 2.0
getLimitValue()
Parameters
None
Returns
String limitValue - The value of the control limit.
getResult()
Description
Syntax
getResult()
Parameters
None
Returns
boolean result - The control limit result.
Event properties:
getCp()
Description
Syntax
getCp()
Parameters
2232
MES Platform 2.0
None
Returns
Double cp - The process capability value.
getCpk()
Description
Syntax
getCpk()
Parameters
None
Returns
Double cpk - The index of the process capability.
getCpl()
Description
Syntax
getCpl()
Parameters
None
Returns
Double cpl - The lower process capability index.
2233
MES Platform 2.0
getCpm()
Description
Syntax
getCpm()
Parameters
None
Returns
Double cpm - The process capability mean.
getCpu()
Description
Syntax
getCpu()
Parameters
None
Returns
Double cpu - The upper process capability index.
getCr()
Description
2234
MES Platform 2.0
Syntax
getCr()
Parameters
None
Returns
Double cr - The reciprocal of the process capability.
getData()
Description
Syntax
getData()
Parameters
None
Returns
AnalysisDataset data - Results of the process capability event.
getLcl()
Description
Syntax
getLcl()
2235
MES Platform 2.0
Parameters
None
Returns
Double lcl - The lower control limit.
getLsl()
Description
Syntax
getLsl()
Parameters
None
Returns
Double lsl - The lower specification limit.
getMean()
Description
Syntax
getMean()
Parameters
None
Returns
Double mean - The mean.
2236
MES Platform 2.0
getMeasurementCount()
Description
Syntax
getMeasurementCount()
Parameters
None
Returns
int measurementCnt - The measurement count.
getStandardDeviation()
Description
Syntax
getStandardDeviation()
Parameters
None
Returns
Double standardDeviation - The estimated standard deviation.
getTarget()
Description
2237
MES Platform 2.0
Syntax
getTarget()
Parameters
None
Returns
Double target - The target.
getUcl()
Description
Syntax
getUcl()
Parameters
None
Returns
Double ucl - The upper control limit.
getUsl()
Description
Syntax
2238
MES Platform 2.0
getUsl()
Parameters
None
Returns
Double usl - The upper specification limit.
setCp(cp)
Description
Syntax
setCp(cp)
Parameters
Double cp - The value to set as the process capability.
Returns
Nothing
setCpk(cpk)
Description
Syntax
setCpk(cpk)
Parameters
Double cpk - The process capability index to set for.
Returns
2239
MES Platform 2.0
Nothing
setCpl(cpl)
Description
Syntax
setCpl(cpl)
Parameters
Double cpl - The lower process capability index to set for.
Returns
Nothing
setCpm(cpm)
Description
Syntax
setCpm(cpm)
Parameters
Double cpm - The process capability mean to set for.
Returns
Nothing
setCpu(cpu)
2240
MES Platform 2.0
Description
Syntax
setCpu(cpu)
Parameters
Double cpu - The upper process capability index to set for.
Returns
Nothing
setCr(cr)
Description
Syntax
setCr(cr)
Parameters
Double cr - The reciprocal of the process capability to set for.
Returns
Nothing
setLcl(lcl)
Description
2241
MES Platform 2.0
Syntax
setLcl(lcl)
Parameters
Double lcl - The lower control limit to set for.
Returns
Nothing
setMean(mean)
Description
Syntax
setMean(mean)
Parameters
Double mean - The mean value to set for.
Returns
Nothing
setStandardDeviation(standardDeviation)
Description
Syntax
setStandardDeviation(standardDeviation)
Parameters
Double standardDeviation - The estimated standard deviation to set for.
2242
MES Platform 2.0
Returns
Nothing
setUcl(ucl)
Description
Syntax
setUcl(ucl)
Parameters
Double ucl - The upper control limit to set for.
Returns
Nothing
Event properties:
getCp()
Description
Syntax
getCp()
Parameters
None
Returns
Double cp - The process capability value.
2243
MES Platform 2.0
getCpk()
Description
Syntax
getCpk()
Parameters
None
Returns
Double cpk - The index of the process capability.
getCpl()
Description
Syntax
getCpl()
Parameters
None
Returns
Double cpl - The lower process capability index.
getCpLcl()
Description
2244
MES Platform 2.0
Syntax
getCpLcl()
Parameters
None
Returns
Double cpLCL - The lower control limit.
getCpm()
Description
Syntax
getCpm()
Parameters
None
Returns
Double cpm - The process capability mean.
getCpStandardDeviation()
Description
Syntax
2245
MES Platform 2.0
getCpStandardDeviation()
Parameters
None
Returns
Double cpStandardDeviation - The estimated standard deviation.
getCpu()
Description
Syntax
getCpu()
Parameters
None
Returns
Double cpu - The upper process capability index.
getCpUcl()
Description
Syntax
getCpUcl()
Parameters
None
Returns
2246
MES Platform 2.0
getCr()
Description
Syntax
getCr()
Parameters
None
Returns
Double cr - The reciprocal of the process capability.
getData()
Description
Syntax
getData()
Parameters
None
Returns
AnalysisDataset data - Results of the process capability event.
getLsl()
2247
MES Platform 2.0
Description
Syntax
getLsl()
Parameters
None
Returns
Double lsl - The lower specification limit.
getMean()
Description
Syntax
getMean()
Parameters
None
Returns
Double mean - The mean.
getMeasurementCount()
Description
2248
MES Platform 2.0
Syntax
getMeasurementCount()
Parameters
None
Returns
int measurementCount - The measurement count.
getPp()
Description
Syntax
getPp()
Parameters
None
Returns
Double Pp - The process performance.
getPpk()
Description
Syntax
getPpk()
Parameters
None
2249
MES Platform 2.0
Returns
Double ppk - The process performance index.
getPpl()
Description
Syntax
getPpl()
Parameters
None
Returns
Double ppl - The lower process performance index.
getPpLcl()
Description
Syntax
getPpLcl()
Parameters
None
Returns
Double ppLCL - The lower control limit of process performance.
getPpm()
2250
MES Platform 2.0
Description
Syntax
getPpm()
Parameters
None
Returns
Double ppm - The process performance index of the mean.
getPpStandardDeviation()
Description
Syntax
getPpStandardDeviation()
Parameters
None
Returns
Double ppStandardDeviation - The process performance standard deviation.
getPpu()
Description
2251
MES Platform 2.0
Syntax
getPpu()
Parameters
None
Returns
Double ppu - The upper process performance index.
getPpUcl()
Description
Syntax
getPpUcl()
Parameters
None
Returns
Double ppUCL - The upper control limit of process performance.
getPr()
Description
Syntax
getPr()
Parameters
2252
MES Platform 2.0
None
Returns
Double pr - The reciprocal of the process performance.
getTarget()
Description
Syntax
getTarget()
Parameters
None
Returns
Double target - The target.
getUsl()
Description
Syntax
getUsl()
Parameters
None
Returns
Double usl - The upper specification limit.
2253
MES Platform 2.0
setCp(cp)
Description
Syntax
setCp(cp)
Parameters
Double cp - The value to set as the process capability.
Returns
Nothing
setCpk(cpk)
Description
Syntax
setCpk(cpk)
Parameters
Double cpk - The process capability index to set for.
Returns
Nothing
setCpl(cpl)
Description
2254
MES Platform 2.0
Syntax
setCpl(cpl)
Parameters
Double cpl - The lower process capability index to set for.
Returns
Nothing
setCpLcl(cpLCL)
Description
Syntax
setCpLcl(cpLCL)
Parameters
Double cpLCL - The lower control limit to set for.
Returns
Nothing
setCpm(cpm)
Description
Syntax
setCpm(cpm)
2255
MES Platform 2.0
Parameters
Double cpm - The process capability mean to set for.
Returns
Nothing
setCpStandardDeviation(cpStandardDeviation)
Description
Syntax
setCpStandardDeviation(cpStandardDeviation)
Parameters
Double cpStandardDeviation - The estimated standard deviation to set for.
Returns
Nothing
setCpStandardDeviation(cpStandardDeviation)
Description
Syntax
setCpStandardDeviation(cpStandardDeviation)
Parameters
Double cpStandardDeviation - The estimated standard deviation to set for.
Returns
Nothing
2256
MES Platform 2.0
setCpu(cpu)
Description
Syntax
setCpu(cpu)
Parameters
Double cpu - The upper process capability index to set for.
Returns
Nothing
setCpUcl(cpUCL)
Description
Syntax
setCpUcl(cpUCL)
Parameters
Double cpUCL - The upper control limit to set for.
Returns
Nothing
setCr(cr)
Description
2257
MES Platform 2.0
Syntax
setCr(cr)
Parameters
Double cr - The reciprocal of the process capability to set for.
Returns
Nothing
setMean(mean)
Description
Syntax
setMean(mean)
Parameters
Double mean - The mean value to set for.
Returns
Nothing
setPp(pp)
Description
Syntax
2258
MES Platform 2.0
setPp(pp)
Parameters
Double Pp - The process performance to set for.
Returns
Nothing
setPpk(ppk)
Description
Syntax
setPpk(ppk)
Parameters
Double ppk - The process performance index to set for.
Returns
Nothing
setPpl(ppl)
Description
Syntax
setPpl(ppl)
Parameters
Double ppl - The lower process performance index to set for.
Returns
2259
MES Platform 2.0
Nothing
setPpLcl(ppLCL)
Description
Syntax
setPpLcl(ppLCL)
Parameters
Double ppLCL - The lower control limit to set for.
Returns
Nothing
setPpm(ppm)
Description
Syntax
setPpm(ppm)
Parameters
Double ppm - The process performance index of the mean to set for.
Returns
Nothing
setPpStandardDeviation(ppStandardDeviation)
2260
MES Platform 2.0
Description
Syntax
setPpStandardDeviation(ppStandardDeviation)
Parameters
Double ppStandardDeviation - The standard deviation to set for.
Returns
Nothing
setPpu(ppu)
Description
Syntax
setPpu(ppu)
Parameters
Double ppu - The upper process performance index to set for.
Returns
Nothing
setPpUcl(ppUCL)
Description
2261
MES Platform 2.0
Syntax
setPpUcl(ppUCL)
Parameters
Double ppUCL - The upper control limit of the process performance.
Returns
Nothing
setPr(pr)
Description
Syntax
setPr(pr)
Parameters
Double pr - The reciprocal of the process performance to set for.
Returns
Nothing
None
getSample()
Description
2262
MES Platform 2.0
Returns the sample for which the approval state changed. (See Sample section more
information).
Syntax
getSample()
Parameters
None
Returns
The sample for which the approval state changed.
isApproval()
Description
Syntax
isApproval()
Parameters
None
Returns
boolean - True if the sample has been approved.
isUnApproval()
Description
2263
MES Platform 2.0
Syntax
isUnApproval()
Parameters
None
Returns
boolean - True if the sample has been unapproved.
Code Example
getSample()
Description
Returns the sample that just became due. (See Sample section for more information).
Syntax
getSample()
Parameters
None
Returns
2264
MES Platform 2.0
getState()
Description
Returns the current sample due state (See Sample Due State Types for more information).
Syntax
getState()
Parameters
None
Returns
SampleDueStateTypes The due state of this sample.
getSample()
Description
Returns the sample that just became due (See Sample section for more information).
Syntax
getSample()
Parameters
None
2265
MES Platform 2.0
Returns
Sample sample - The sample that became due.
getState()
Description
Returns the current sample due state (See Sample Due State Types for more information).
Syntax
getState()
Parameters
None
Returns
SampleDueStateTypes The due state of this sample.
getActiveSamples()
Description
2266
MES Platform 2.0
Syntax
getActiveSamples()
Parameters
None
Returns
List<ActiveSample> activeSamples - The list of active samples.
getComingDueMin()
Description
Returns the default coming due minutes setting for this interval event. The value
represents the number of minutes required before a sample is due until the sample is
considered coming due.
Syntax
getComingDueMin()
Parameters
None
Returns
Double comingDueMin - The coming due minute setting for this event.
getCreateSample()
Description
2267
MES Platform 2.0
Syntax
getCreateSample()
Parameters
None
Returns
Boolean True if a sample is created and False otherwise.
getDefUUID()
Description
Returns the definition UUID for the sample corresponding to this event.
Syntax
getDefUUID()
Parameters
None
Returns
String defUUID - The uuid definition for this sample associated with this event.
getDuration()
Description
Syntax
getDuration()
Parameters
None
2268
MES Platform 2.0
Returns
Double duration - The time duration in minutes for this interval.
getElapsedSeconds()
Description
Syntax
getElapsedSeconds()
Parameters
None
Returns
Integer elapsedSeconds - The elapsed time for this event.
getInterval()
Description
Syntax
getInterval()
Parameters
None
Returns
Double interval - The interval defined for this sample.
getLocationPath()
2269
MES Platform 2.0
Description
Syntax
getLocationPath()
Parameters
None
Returns
String path - The location path for interval event.
getOverDueMin()
Description
Syntax
getOverDueMin()
Parameters
None
Returns
Double overdueMin - The value represents the number of minutes required after a sample
is due until the sample is considered overdue.
getPathSegment(segmentName)
Description
2270
MES Platform 2.0
Syntax
getPathSegment(segmentName)
Parameters
String segmentName - The name of the segment to return the path for. Options:
Enterprise, Site, Area, Line, Cell, Cell_group, Location, Storage_zone, Storage_unit.
Returns
String path - The path of the segment.
getProductCode()
Description
Syntax
getProductCode()
Parameters
None
Returns
String productCode - The product code associated with the sample event.
getRefNo()
Description
Syntax
2271
MES Platform 2.0
getRefNo()
Parameters
None
Returns
String refNo - The reference number associated with this sample event.
getRefresh()
Description
Syntax
getRefresh()
Parameters
None
Returns
Boolean refresh - True, if automatic refresh is set and False otherwise.
getScheduleFinish()
Description
Syntax
getScheduleFinish()
Parameters
None
Returns
2272
MES Platform 2.0
getScheduleStart()
Description
Syntax
getScheduleStart()
Parameters
None
Returns
Date scheduledStart - The date for the sample to start.
getSecSinceLastSampleScheduled()
Description
Syntax
getSecSinceLastSampleScheduled()
Parameters
None
Returns
Integer secSinceLastSampleScheduled - The time in seconds since the last sample was
scheduled.
getSecSinceLastSampleTaken()
2273
MES Platform 2.0
Description
Syntax
getSecSinceLastSampleTaken()
Parameters
None
Returns
Integer secSinceLastSampleTaken - The time in seconds since the last sample was taken.
getSequenceDate()
Description
Returns the sequence date of the sample interval. Sequence date is the date representing
the start of the current interval.
Syntax
getSequenceDate()
Parameters
None
Returns
Date sequenceDate - Start date of the current interval.
getSequenceNo()
Description
2274
MES Platform 2.0
Syntax
getSequenceNo()
Parameters
None
Returns
Integer sequenceNo - The sequence number associated with this event.
getShift()
Description
Syntax
getShift()
Parameters
None
Returns
int shift - Shift for which the sample was taken.
getTag()
Description
Syntax
getTag()
Parameters
2275
MES Platform 2.0
None
Returns
String tag - The tag associated with the sample.
getTraceEnabled()
Description
Syntax
getTraceEnabled()
Parameters
None
Returns
boolean True if trace is enabled and False otherwise.
getTraceEndedAt()
Description
Syntax
getTraceEndedAt()
Parameters
None
Returns
Date traceEndedAt - The trace ended date.
2276
MES Platform 2.0
getTraceStartedAt()
Description
Syntax
getTraceStartedAt()
Parameters
None
Returns
Date traceStartedAt - The date at which trace started.
getValue()
Description
Syntax
getValue()
Parameters
None
Returns
Object value - The value for this interval.
getValueChangeCount()
Description
2277
MES Platform 2.0
Syntax
getValueChangeCount()
Parameters
None
Returns
Integer valueChangeCount - The count of the value change.
getValueChangedTimeStamp()
Description
Syntax
getValueChangedTimeStamp()
Parameters
None
Returns
Date timeStamp - The date at which the value changed.
isShiftChangeEvent()
Description
Syntax
isShiftChangeEvent()
2278
MES Platform 2.0
Parameters
None
Returns
Boolean shiftChangeEvent - True if the shift has changed and False otherwise.
isTracedEndedEvent()
Description
Syntax
isTracedEndedEvent()
Parameters
None
Returns
Boolean True if trace ended and False otherwise.
isTracedStartedEvent()
Description
Syntax
isTracedStartedEvent()
Parameters
None
Returns
Boolean traceStartedEvent - True if trace has started and False otherwise.
2279
MES Platform 2.0
isValueChangedEvent()
Description
Syntax
isValueChangedEvent()
Parameters
None
Returns
Boolean valueChangedEvent - True if value has changed and False otherwise.
setCreateSample(createSample)
Description
Syntax
setCreateSample(createSample)
Parameters
Boolean createSample - The boolean to set this property.
Returns
Nothing
setRefresh(refresh)
Description
2280
MES Platform 2.0
Syntax
setRefresh()
Parameters
Boolean refresh - Set it to True if the event should be automatically refreshed and False
otherwise.
Returns
Nothing
setScheduleFinish(Date)
Description
Syntax
setScheduleFinish(Date)
Parameters
Date scheduleFinish - The date for the schedule to end.
Returns
Nothing
setScheduleStart(Date)
Description
Syntax
2281
MES Platform 2.0
setScheduleStart(Date)
Parameters
Date scheduleStart - The date for the schedule to start.
Returns
Nothing
getSample()
Description
Returns the sample that is overdue (See Sample section more information).
Syntax
getSample()
Parameters
None
Returns
Sample sample - The Sample that is overdue.
getState()
Description
Returns the current sample due state (See Sample Due State Types for more information).
2282
MES Platform 2.0
Syntax
getState()
Parameters
None
Returns
SampleDueStateTypes The due state of this sample.
getSample()
Description
Returns the sample that just became due (See Sample section for more information).
Syntax
getSample()
Parameters
None
Returns
Sample - The sample that just became due.
getState()
Description
Returns the current sample due state (See Sample Due State Types for more information).
2283
MES Platform 2.0
Syntax
getState()
Parameters
None
Returns
SampleDueStateTypes - The current sample due state.
isIgnoreOutOfControl()
Description
This script function will check if ignoreOutOfControl property is enabled or not. Whenever
the signal goes out of control it is ignored if this is set to true.
Syntax
isIgnoreOutOfControl()
Parameters
None
Returns
boolean ignoreOutOfControl - True if the ignoreOutOfControl property of this signal event
is enabled and False otherwise.
getDefUUID()
2284
MES Platform 2.0
Description
Returns the definition UUID that was evaluated (See Sample Definition section more
information).
Syntax
getDefUUID()
Parameters
None
Returns
String defUUID - The uuid that was evaluated.
setIgnoreOutOfControl(ignoreOutOfControl)
Description
Syntax
setIgnoreOutOfControl(ignoreOutOfControl)
Parameters
boolean ignoreOutOfControl - Set it to True if an out of control condition is to be ignored
and False otherwise.
Returns
Nothing
isForceOutOfControl()
Description
2285
MES Platform 2.0
This script function will check if forceOutOfControl property is enabled or not. The signal
goes out of control whenever this is set to true.
Syntax
isForceOutOfControl()
Parameters
None
Returns
boolean forceOutOfControl - True if the forceOutOfControl property of this signal event is
enabled and False otherwise.
setForceOutOfControl(forceOutOfControl)
Description
Syntax
setForceOutOfControl(forceOutOfControl)
Parameters
boolean ignoreOutOfControl - Set it to True in order to force an out of control condition and
False otherwise.
Returns
None
getEvaluationResults()
Description
2286
MES Platform 2.0
Returns a list of evaluation results. When sample data is updated for a location - sample
definition combination, all of the selected signals are evaluated. This occurs for each
attribute within the sample definition.
Syntax
getEvaluationResults()
Parameters
None
Returns
SignalEvaluationResults results - The list of results obtained during the evaluation of the
signal.
getLocationPath()
Description
Gets the location path for this signal event to take place.
Syntax
getLocationPath()
Parameters
None
Returns
String locationPath - The location path for this signal event.
getPathSegment(segmentName)
Description
2287
MES Platform 2.0
Syntax
getPathSegment(segmentName)
Parameters
String segmentName - Name of the segment to get the path for. Options: Enterprise, Site,
Area, Line, Cell, Cell_group, Location, Storage_zone, Storage_unit.
Returns
String pathSegment - The path segment corresponding to specified by segment name
parameter.
Example:
If sample definition viscosity has an allowable location processing, has two attributes of cold
viscosity and temperature, and signal rule 1 and signal rule 2 are selected, then when a sample
is added or updated,cold viscosity for signal rule 1, cold viscosity for signal rule 2, temperature
for signal rule 1 and temperature for signal rule 2 are all evaluated. The outcome for each
combination is an item within the evaluation results returned from the getEvaluationResults()
function.
getDefinitionName()
Description
Syntax
getDefinitionName()
Parameters
None
2288
MES Platform 2.0
Returns
String definitionName - The definition name of this signal.
getSignalName()
Description
Syntax
getSignalName()
Parameters
None
Returns
String name - Name of the evaluated signal.
getAttributeName()
Description
Syntax
getAttributeName()
Parameters
None
Returns
String attributeName - Name of the attribute associated with this result.
getViolatingSampleDate()
2289
MES Platform 2.0
Description
Returns the date of the most recent sample that is in violation of the signal.
Syntax
getViolatingSampleDate()
Parameters
None
Returns
Date violatingSampleDate - The date of sample to which the violation of signal has
occurred recently.
setViolatingSampleDate(violatingSampleDate)
Description
Set the date of the most recent sample that is in violation of the signal.
Syntax
setViolatingSampleDate(violatingSampleDate)
Parameters
Date v iolatingSampleDate - The date of the most recent sample that is in violation of the
signal.
Returns
Nothing
setLastSampleDate(lastSampleDate)
Description
2290
MES Platform 2.0
Syntax
setLastSampleDate(lastSampleDate)
Parameters
Date lastSampleDate - The date to be set for the sample which was recently approved.
Returns
Nothing
getLastSampleDate()
Description
Returns the date of the last approved sample. This can be used in combination to
determine if the last approved sample caused the signal violation.
Syntax
getLastSampleDate()
Parameters
None
Returns
Date lastSampleDate - The date to be set for the sample which was recently approved.
isSignalViolation()
Description
Syntax
2291
MES Platform 2.0
isSignalViolation()
Parameters
None
Returns
boolean True if the signal is violated and False otherwise.
setEvaluationError(message)
Description
Syntax
setEvaluationError(message)
Parameters
String message - The note to be set for any evaluation error.
Returns
None
isEvaluationError()
Description
Syntax
isEvaluationError()
Parameters
None
2292
MES Platform 2.0
Returns
boolean True if an error occurred during the signal evaluation and False otherwise.
hasMessage()
Description
Syntax
hasMessage()
Parameters
None
Returns
boolean - True if a message exists and False otherwise.
getMessage()
Description
Syntax
getMessage()
Parameters
None
Returns
String message - The description of error encountered during the signal evaluation.
setMessage(message)
2293
MES Platform 2.0
Description
Set the textual description of error encountered during the signal evaluation.
Syntax
setMessage(message)
Parameters
String message - The note to be displayed when an error occurs.
Returns
None
getLocationPath()
Description
Syntax
getLocationPath()
Parameters
None
Returns
String locationPath - The location path for this signal.
getPathSegment(segmentName)
Description
2294
MES Platform 2.0
Syntax
getPathSegment(segmentName)
Parameters
String segmentName - Name of the segment to get the path for. Options: Enterprise, Site,
Area, Line, Cell, Cell_group, Location, Storage_zone, Storage_unit.
Returns
String pathSegment - The path segment corresponding to specified by segment name
parameter.
getDefUUID()
Description
Returns the definition UUID associated with this in control event (See Sample Definition
section more information).
Syntax
getDefUUID()
Parameters
None
Returns
String uuid - The definition uuid associated with this event.
getEvaluationResults()
2295
MES Platform 2.0
Description
Returns a single evaluation result of the signal - attribute combination that transitioned from
out of control to in control.
Syntax
getDefUUID()
Parameters
None
Returns
SignalEvaluationResults - The results of the evaluation.
getDefUUID()
Description
Returns the definition UUID associated with this out of control event (See Sample Definition
section more information).
Syntax
getDefUUID()
Parameters
None
Returns
2296
MES Platform 2.0
getEvaluationResults()
Description
Returns a single evaluation result of the signal - attribute combination that transitioned from
in control to out of control.
Syntax
getEvaluationResults()
Parameters
None
Returns
SignalEvaluationResults - Result of signal evaluation.
2297
MES Platform 2.0
Methods:
createNew()
Description
Info
After setting various filter properties, it is used with the system.recipe.
getChangelogHistory script function.
Syntax
createNew()
Parameters
None
Returns
The new ChangeLogFilters object.
Scope
All
Properties:
addCategory(category)
2298
MES Platform 2.0
Description
Info
Multiple categories can be specified to be included in the results.
RECIPE to include change log entries dealing with recipe changes. Recipe
changes include, adding new recipes, renaming recipes, deleting recipes,
adding production items to recipes, etc.
RECIPE_VALUE to include change log entries dealing with changes of recipe
values. This includes changing a value, reverting a value back to be inherited,
etc.
SUB_PRODUCT_CODE to include change log entries dealing with sub product
codes. This includes adding new sub product codes, renaming sub product
codes, deleting sub product codes, etc.
SUB_PRODUCT_CODE_VALUE to include change log entries dealing with
changes of sub product code values or default values for a production item.
This includes changing a value, reverting a value back to be inherited, etc.
Syntax
addCategory(category)
Parameters
String category - The category to include in the change log history for.
Returns
Nothing
Scope
All
2299
MES Platform 2.0
removeCategory(category)
Description
Info
Multiple categories can be specified to be removed.
RECIPE to include change log entries dealing with recipe changes. Recipe
changes include, adding new recipes, renaming recipes, deleting recipes,
adding production items to recipes, etc.
RECIPE_VALUE to include change log entries dealing with changes of recipe
values. This includes changing a value, reverting a value back to be inherited,
etc.
SUB_PRODUCT_CODE to include change log entries dealing with sub product
codes. This includes adding new sub product codes, renaming sub product
codes, deleting sub product codes, etc.
SUB_PRODUCT_CODE_VALUE to include change log entries dealing with
changes of sub product code values or default values for a production item.
This includes changing a value, reverting a value back to be inherited, etc.
Syntax
removeCategory(category)
Parameters
String category - The category to be removed from the log history for.
Returns
Nothing
2300
MES Platform 2.0
Scope
All
setFromDate(fromDate)
Description
Set the start of the date range to return change log history for.
Syntax
setFromDate(fromDate)
Parameters
Date fromDate - The start date to return the change log history for.
Returns
Nothing
Scope
All
setItemPathFilter(itemPath)
Description
Set the path of the production item to return change log history for.
Syntax
setItemPathFilter(itemPath)
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
2301
MES Platform 2.0
Returns
Nothing
Scope
All
setProjectName(projectName)
Description
Info
Recipe change log history is kept by project, and the project name is required with the
system.recipe.getChangelogHistory script function.
Syntax
setProjectName(projectName)
Parameters
String projectName - The project name to read the change log history for.
Returns
Nothing
Scope
All
setRecipeNameFilter(recipeNameFilter)
Description
2302
MES Platform 2.0
Info
The filter can contain ? and * wild card characters. For example: "Recipe C*" will
include all recipes that start with Recipe C. Recipe C1 and Recipe C21 will be
included but Recipe D1 will not.
Syntax
setRecipeNameFilter(recipeNameFilter)
Parameters
String recipeNameFilter - The recipe name to filter the results for.
Returns
Nothing
Scope
All
setSubProductCodeFilter(subProductCodeFilter)
Description
Set an optional sub product code filter. The filter can contain ? and * wild card characters.
Syntax
setSubProductCodeFilter(subProductCodeFilter)
Parameters
String subProductCodeFilter - The subProductCode to filter the results for.
Returns
Nothing
Scope
2303
MES Platform 2.0
All
setToDate(toDate)
Description
Set the end of the date range to return change log history for.
Syntax
setToDate(toDate)
Parameters
Date toDate - The end date to return the change log history for.
Returns
Nothing
Scope
All
setUserFilter(userNameFilter)
Description
Set an optional user name filter. The filter can contain ? and * wild card characters.
Syntax
setUserFilter(userNameFilter)
Parameters
String userNameFilter - The userName to filter the results for.
Returns
2304
MES Platform 2.0
Nothing
Scope
All
setValueNameFilter(recipeValueNameFilter)
Description
Set an optional recipe value name filter. The filter can contain ? and * wild card characters.
Syntax
setValueNameFilter(recipeValueNameFilter)
Parameters
String recipeValueNameFilter - The recipeValueName to filter the results for.
Returns
Nothing
Scope
All
Code Snippets
2305
MES Platform 2.0
filters.setToDate(toDate)
Properties:
getRecipeTag()
Description
Get the tag associated with the recipe value being evaluated.
Syntax
getRecipeTag ()
Parameters
None
Returns
RecipeTag tag - An instance of a RecipeTag.
getScale()
Description
Return the scale factor for the MES production item associated with the recipe value being
evaluated.
2306
MES Platform 2.0
Syntax
getScale ()
Parameters
None
Returns
Double scale - The scale factor associated with the evaluated recipe value.
isLogVariance()
Description
Get the is log variance flag for the recipe value being evaluated.
Syntax
isLogVariance ()
Parameters
None
Returns
boolean logVariance - True is returned if recipe value being evaluated is outside of the
configured variance settings and False otherwise.
setLogVariance()
Description
Set the variance flag for the recipe value being evaluated. Use to override the current state
of the variance flag.
Syntax
2307
MES Platform 2.0
setLogVariance ()
Parameters
boolean logVariance - True to flag recipe value as in variance, else return false.
Returns
Nothing
Code Example
upperLimit = system.tag.read("[Default]UpperLimit")
lowerLimit = system.tag.read("[Default]LowerLimit")
recipeValue = event.getRecipeTag().getCurrentValue()
if recipeValue > upperLimit.value or recipeValue < lowerLimit.
value:
event.setLogVariance(True)
else:
event.setLogVariance(False)
Properties:
getAssignedBy()
Description
Returns the recipe or production item default value where the recipe value is inherited
from. If the recipe value is not inherited, it will be the name of the recipe where it was
overridden.
Syntax
2308
MES Platform 2.0
getAssignedBy()
Parameters
None
Returns
The default value of the item.
Scope
All
getCategory()
Description
Returns the MES module that created the recipe value. Where 1 is recipe value created by
the recipe module, 2 is recipe value created by the OEE module and 3 is recipe value
created by the SPC module.
Syntax
getCategory()
Parameters
None
Returns
The MES module that created the recipe.
Scope
All
getDataType()
Description
2309
MES Platform 2.0
Syntax
getDataType()
Parameters
None
Returns
DataType for the specified recipe value.
Scope
All
getDescription()
Description
Returns the description of the recipe value. This is the description entered in the recipe
value entry in the designer.
Syntax
getDescription()
Parameters
None
Returns
The description of the recipe value.
Scope
All
getFormat()
2310
MES Platform 2.0
Description
Syntax
getFormat()
Parameters
None
Returns
The format of the recipe value.
Scope
All
getMinValue()
Description
Returns the minimum value that the value can be as defined in the Ignition tag. This is
different from the recipe value security that depends on the authenticated user. See Recipe
Security for more information.
Syntax
getMinValue()
Parameters
None
Returns
The minimum value of the recipe value.
2311
MES Platform 2.0
Scope
All
getMaxValue()
Description
Returns the maximum value that the value can be as defined in the Ignition tag. This is
different from the recipe value security that depends on the authenticated user. See Recipe
Security for more information.
Syntax
getMaxValue()
Parameters
None
Returns
The maximum value of the recipe value.
Scope
All
getName()
Description
Returns the name of the recipe value. This is the same name entered in the recipe value
entry in the designer.
Syntax
getName()
2312
MES Platform 2.0
Parameters
None
Returns
Name of the recipe value.
Scope
All
getSortOrder()
Description
Syntax
getSortOrder()
Parameters
None
Returns
Integer sortOrder - The sort order for the item recipe value.
Scope
All
getUnits()
Description
Syntax
2313
MES Platform 2.0
getUnits()
Parameters
None
Returns
The units defined for the recipe value.
Scope
All
getValue()
Description
Returns the value of the recipe value. The data type will be one defined by the Ignition
DataType. If a value has not been assigned to the recipe value, then None will be returned
and isValid() will return false.
Syntax
getValue()
Parameters
None
Returns
The value of the recipe value.
Scope
All
hasDataType()
Description
2314
MES Platform 2.0
Returns True if the recipe value has a data type assigned. Recipe values that do not have
a tag assigned to them will not have a data type. This is because the data type is obtained
from the tag.
Syntax
hasDataType()
Parameters
None
Returns
True, if datatype is assigned.
Scope
All
hasDescription()
Description
Syntax
hasDescription()
Parameters
None
Returns
True, if the description exist.
Scope
All
2315
MES Platform 2.0
hasSortOrder()
Description
Checks whether the item recipe value has a sort order or not.
Syntax
hasSortOrder()
Parameters
None
Returns
boolean sortOrder - True, if there exist a sort order and False otherwise.
Scope
All
hasValue()
Description
Checks whether there exist a valid value associated with the recipe item.
Syntax
hasValue()
Parameters
None
Returns
boolean True, if the value is valid and False otherwise.
Scope
2316
MES Platform 2.0
All
isValid()
Description
Returns True if the value is valid for the data type of the recipe value.
Syntax
isValid()
Parameters
None
Returns
True if the value is valid for the data type of the recipe value.
Scope
All
restorePreviousValue()
Description
This script function will reset the previous value for the item recipe value.
Syntax
restorePreviousValue()
Parameters
None
Returns
2317
MES Platform 2.0
Nothing
Scope
All
setDataType(dataType)
Description
Syntax
setDataType(dataType)
Parameters
DataType dataType - The new data type to be set.
Returns
Nothing
Scope
All
setSortOrder(sortOrder)
Description
Syntax
setSortOrder(sortOrder)
Parameters
2318
MES Platform 2.0
setValue(value)
Description
Syntax
setValue(value)
Parameters
Object value - The value to be set for.
Returns
Nothing
Scope
All
updateValue(value, assignedBy)
Description
Update the new value and assignedBy parameters for the item recipe.
Syntax
updateValue(value, assignedBy)
2319
MES Platform 2.0
Parameters
Object value - The value to be updated.
String assignedBy - The new assignedBy to get updated.
Returns
Nothing
Scope
All
Code Snippets
Recipe Event
This event is created to get a recipe information.
Properties:
getItemPath()
Description
Get the MES production item path that the recipe is being selected or canceled.
Syntax
getItemPath()
2320
MES Platform 2.0
Parameters
None
Returns
String itemPath - MES production item path.
Scope
All
getRecipeName()
Description
Syntax
getRecipeName()
Parameters
None
Returns
Name of the recipe.
Scope
All
getScale()
Description
Return the scale factor for the MES production item associated with this recipe event.
Syntax
2321
MES Platform 2.0
getScale()
Parameters
None
Returns
Double scale - The scale factor associated with the recipe that is selected or cancelled.
Scope
All
getTrackingUUID()
Description
Syntax
getTrackingUUID()
Parameters
None
Returns
String trackingUUID - The uuid meant for tracking this recipe event.
Scope
All
isRecipeActive()
Description
2322
MES Platform 2.0
Syntax
isRecipeActive()
Parameters
None
Returns
boolean recipeActive - True if the selected recipe is active and False otherwise.
Scope
All
isWriteError()
Description
When the recipe is selected, the recipe values are written to tags. If this is a success, then
isWriteError property is True.
Syntax
isWriteError()
Parameters
None
Returns
boolean writeError - If there is an error in writing the error then isWriteError is True and
False otherwise.
Scope
All
setRecipeName(recipeName)
2323
MES Platform 2.0
Description
Set the recipe name to select. Use to override the recipe being selected.
Syntax
setRecipeName(recipeName)
Parameters
String name - Name of the recipe.
Returns
Nothing
Scope
All
Description
Syntax
isSelectable()
Parameters
None
Returns
boolean - True, if the recipe item is selectable and False otherwise.
Scope
2324
MES Platform 2.0
All
getItemPath()
Description
Syntax
getItemPath()
Parameters
None
Returns
String itemPath - The item path associated with this production item.
Scope
All
getLevel()
Description
Syntax
getLevel()
Parameters
None
Returns
2325
MES Platform 2.0
isSelected()
Description
Syntax
isSelected()
Parameters
None
Returns
boolean selected - True, if this production item is selected and False otherwise.
Scope
All
setSelected(selected)
Description
Syntax
setSelected(selected)
Parameters
2326
MES Platform 2.0
boolean selected - True, if you want to select this production item and False otherwise.
Returns
Nothing
Scope
All
isInherited()
Description
Syntax
isInherited()
Parameters
None
Returns
boolean inherited - True, if this is an inherited production item and False otherwise.
Scope
All
flagAsSelected()
Description
Syntax
flagAsSelected()
2327
MES Platform 2.0
Parameters
None
Returns
Nothing
Scope
All
flagAsInherited()
Description
Syntax
flagAsInherited()
Parameters
None
Returns
Nothing
Scope
All
hasSelectionChanged()
Description
Checks if the originally selected production item is different from the current selection.
2328
MES Platform 2.0
Syntax
hasSelectionChanged()
Parameters
None
Returns
boolean selected - True, if the selection is changed and False otherwise.
Scope
All
Recipe Tag
A RecipeTag object contains details about a recipe value. It reflects the properties that are
configured in the designer when the recipe value was added plus some live information such as
the current value. See Recipe Values Settings for more information.
Properties:
convertAndScaleValue(value, scaleFactor)
Description
Returns the value passed in the parameter in the correct data type for the recipe value with
scaling.
Info
For more information, see Recipe Scaling and Recipe Values.
Syntax
convertValue(value, scaleFactor)
2329
MES Platform 2.0
Parameters
String value - The actual value to be scaled.
Double scaleFactor - The factor you have to multiply for each serving. Say you have a 10-
serving (original number of servings) recipe that you want to scale down for six (desired
number of servings) dinner guests. That’s 6 ÷ 10 or .6. Your conversion factor is 6. Simply
multiply each ingredient by .6 to get the exact amount for the recipe. Do the same to scale
up. For 12 servings of your 10-serving recipe, divide 12 by 10 to get a conversion factor of
1.2.
Returns
The converted value with the specified data type and scaling.
convertValue(value)
Description
Returns the value passed in the parameter in the correct data type for the recipe value. If
the recipe value is an Int4, then the string value passed in the value parameter will be
converted to an Int4 data type and returned.
Info
For more information, see Recipe Scaling and Recipe Values.
Syntax
convertValue(value)
Parameters
String value -The actual value of the recipe.
Returns
The converted value with the specified data type.
getCurrentValue()
2330
MES Platform 2.0
Description
Syntax
getCurrentValue()
Parameters
None
Returns
The value associated with the specified recipe value.
getDataType()
Description
Returns the data type of the tag associated with the recipe value.
Syntax
getDataType()
Parameters
None
Returns
The data type of recipe value tag.
getHighVarianceThresholdStatement()
Description
2331
MES Platform 2.0
Returns the high variance threshold statement that was entered for the recipe value entry.
Syntax
getHighVarianceThresholdStatement()
Parameters
None
Returns
The high variance threshold statement for the specified recipe value.
getHighVarianceThresholdValue()
Description
Returns the high variance threshold value. This is calculated after the tag value change is
detected and is used for default handling for the log variance state. It is provided here as a
convenience.
Syntax
getHighVarianceThresholdValue()
Parameters
None
Returns
The high variance threshold value for the specified recipe value.
getLowVarianceThresholdStatement()
Description
Returns the low variance threshold statement that was entered for the recipe value entry.
2332
MES Platform 2.0
Syntax
getLowVarianceThresholdStatement()
Parameters
None
Returns
The low variance threshold statement for the specified recipe value.
getLowVarianceThresholdValue()
Description
Returns the low variance threshold value. This is calculated after the tag value change is
detected and is used for default handling for the log variance state. It is provided here as a
convenience.
Syntax
getLowVarianceThresholdValue()
Parameters
None
Returns
The low variance threshold value for the specified recipe value.
getPreviousValue()
Description
2333
MES Platform 2.0
Returns the previous value of the recipe value. Anytime the value of a tag associated with
a recipe value changes, the previous value is saved internally. This is used for the changed
from information in variance logging.
Syntax
getPreviousValue()
Parameters
None
Returns
The previously recorded value.
getRecipeValue()
Description
Returns the recipe value. This can be the value that was entered in recipe editor, set using
script or inherited from a parent.
Syntax
getRecipeValue()
Parameters
None
Returns
The recipe value.
getRecipeValue(scale)
Description
2334
MES Platform 2.0
Info
For more information, see Recipe Scaling and Recipe Values.
Syntax
getRecipeValue(scale)
Parameters
Double scale - The factor to be multiplied with the recipe value.
Returns
The recipe value after scaling.
getRecipeValueName()
Description
Returns the name of the recipe value. This is the same name entered in the recipe value
entry in the designer.
Syntax
getRecipeValueName()
Parameters
None
Returns
The name of the recipe value.
getTagPath()
2335
MES Platform 2.0
Description
Returns the Ignition tag path assigned to the recipe value. This is the tag path entered for
the recipe value.
Syntax
getTagPath()
Parameters
None
Returns
The tag path of the recipe value.
hasCurrentValue()
Description
Syntax
hasCurrentValue()
Parameters
None
Returns
True, if the recipe value has a value.
hasHighVarianceThresholdStatement()
2336
MES Platform 2.0
Description
Returns True if a high variance threshold statement was entered for the recipe value.
Syntax
hasHighVarianceThresholdStatement()
Parameters
None
Returns
True, if there exist a high variance threshold statement for the specified recipe value.
hasLowVarianceThresholdStatement()
Description
Returns True if a low variance threshold statement was entered for the recipe value.
Syntax
hasLowVarianceThresholdStatement()
Parameters
None
Returns
The low variance threshold value for the specified recipe value.
hasPreviousValue()
Description
Returns True if a previous value has been recorded for the recipe value.
2337
MES Platform 2.0
Syntax
hasPreviousValue()
Parameters
None
Returns
True, if there exist a previously recorded value.
isVarianceMonitorEnabled()
Description
Syntax
isVarianceMonitorEnabled()
Parameters
None
Returns
True, if variance monitoring is enabled.
scaleValue(value, scaleFactor)
Description
Scales and returns the value passed in the parameter in the same data type as the value
parameter.
2338
MES Platform 2.0
Info
For more information, see Recipe Scaling and Recipe Values.
Syntax
scaleValue(value, scaleFactor)
Parameters
String value - The actual value to be scaled.
Double scaleFactor - The factor you have to multiply for each serving. Say you have a 10-
serving (original number of servings) recipe that you want to scale down for six (desired
number of servings) dinner guests. That’s 6 ÷ 10 or .6. Your conversion factor is 6. Simply
multiply each ingredient by .6 to get the exact amount for the recipe. Do the same to scale
up. For 12 servings of your 10-serving recipe, divide 12 by 10 to get a conversion factor of
1.2.
Returns
The value with the same data type as the value parameter.
Code Snippets
upperLimit = system.tag.read("[Default]UpperLimit")
lowerLimit = system.tag.read("[Default]LowerLimit")
recipeValue = event.getRecipeTag().getCurrentValue()
rt = event.getRecipeTag()
uLimit = rt.scaleValue(upperLimit.value, event.getScale())
lLimit = rt.scaleValue(lowerLimit.value, event.getScale())
Properties:
2339
MES Platform 2.0
Properties:
addSecurityRole(securityRole, allowEdit, minValue, maxValue)
Description
This script function will add a new recipe value security role to the recipe item.
Syntax
Parameters
String securityRole - The security role to be added.
boolean allowEdit - Set it to True if editing should be allowed and False otherwise.
Object minValue - The minimum value of the range.
Object maxValue - The maximum value of the range.
Returns
Nothing
Description
Checks if the given value is within the minimum and maximum value.
Syntax
Parameters
Object value - The value to be checked for.
Object min - The minimum value of the range.
2340
MES Platform 2.0
convertValue(value)
Description
Syntax
convertValue(value)
Parameters
String value - The value to set the recipe for.
Returns
Object itemRecipeValue - The recipe item with the new value.
getAssignedBy()
Description
Returns the description of where this recipe value was assigned by.
Syntax
getAssignedBy()
Parameters
None
Returns
2341
MES Platform 2.0
getItemPath()
Description
Syntax
getItemPath()
Parameters
None
Returns
The item path to a production line, cell, cell group or location corresponding to the recipe
value.
getItemRecipeValue()
Description
Syntax
getItemRecipeValue()
Parameters
None
Returns
The Item recipe value object.
2342
MES Platform 2.0
getMin(value1, value2)
Description
Syntax
getMin(value1, value2)
Parameters
Object value1 - The first object with value 1.
Object value2 - The second object with value 2.
Returns
The object with minimum value.
getMax(value1, value2)
Description
Syntax
getMax(value1, value2)
Parameters
Object value1 - The first object with value 1.
Object value2 - The second object with value 2.
Returns
The object with maximum value.
2343
MES Platform 2.0
getSecurityRole(roleName)
Description
Syntax
getSecurityRole(roleName)
Parameters
String roleName - Role to be assigned to the security object.
Returns
The RecipeValueSecurityRole object.
isInherit()
Description
Syntax
isInherit()
Parameters
None
Returns
boolean True, if the recipe value is inherited and False otherwise.
removeSecurityRole(roleName)
2344
MES Platform 2.0
Description
Syntax
removeSecurityRole(roleName)
Parameters
String roleName - The role name for the security role to be removed for.
Returns
Nothing
setAssignedBy(assignedBy)
Description
Syntax
setAssignedBy(assignedBy)
Parameters
String assignedBy - The assignedBy property value for the recipe item.
Returns
Nothing
setInherit(inherit)
Description
2345
MES Platform 2.0
Syntax
setInherit(inherit)
Parameters
boolean inherit - Set to True if the recipe item should inherit the security from the parent
and False otherwise.
Returns
Nothing
validateValue(value)
Description
Syntax
validateValue(value)
Parameters
String value - The value to check the validation for.
Returns
String value - The validated value of this recipe item.
Properties:
2346
MES Platform 2.0
Properties:
getMaxValue()
Description
Syntax
getMaxValue()
Parameters
None
Returns
The maximum value of the role.
Scope
All
getMinValue()
Description
Syntax
getMinValue()
Parameters
None
Returns
The minimum value of the role.
2347
MES Platform 2.0
Scope
All
isAdministratorRole()
Description
Syntax
isAdministratorRole()
Parameters
None
Returns
True, if this role is 'Administrator'.
Scope
All
isAllowEdit()
Description
Syntax
isAllowEdit()
Parameters
None
2348
MES Platform 2.0
Returns
True, if the value is editable.
Scope
All
isModified()
Description
Syntax
isModified()
Parameters
None
Returns
boolean modified - True, if the security role is been modified and False otherwise.
Scope
All
restorePreviousValues()
Description
This script function will restore the previous values associated with this recipe security role.
Syntax
restorePreviousValues()
2349
MES Platform 2.0
Parameters
None
Returns
Nothing
Scope
All
setAllowEdit(allowEdit)
Description
Syntax
setAllowEdit(allowEdit)
Parameters
boolean allowEdit - Set to True inorder to allow editing of this security role and False
otherwise.
Returns
Nothing
Scope
All
setMinValue(minValue)
Description
Syntax
2350
MES Platform 2.0
setMinValue(minValue)
Parameters
Object minValue - The minimum value to set the security role for.
Returns
Nothing
Scope
All
setMaxValue(maxValue)
Description
Syntax
setMaxValue(maxValue)
Parameters
Object maxValue - The maximum value to set the security role for.
Returns
Nothing
Scope
All
2351
MES Platform 2.0
Properties:
getItemPath()
Description
Return the item path for the recipe value being read.
Syntax
getItemPath ()
Parameters
None
Returns
String itemPath - Item path for MES production item.
getRecipeValue()
Description
Return the current value for the recipe value being read.
Syntax
getRecipeValue ()
Parameters
None
Returns
String recipeValue - The value for the recipe value being read.
getScale()
2352
MES Platform 2.0
Description
Return the scale factor for the MES production item associated with the recipe value being
read.
Syntax
getScale ()
Parameters
None
Returns
Double scale - The scale factor corresponding to this recipe value.
getTagPath()
Description
Return the Ignition tag path assigned to the recipe value being read.
Syntax
getTagPath ()
Parameters
None
Returns
String tagPath - The tag path corresponding to this recipe value.
getValueName()
Description
2353
MES Platform 2.0
Syntax
getValueName ()
Parameters
None
Returns
String valueName - Name of the recipe value.
setRecipeValue(value)
Description
Set the recipe value. Used to override the value defined in the recipe for the recipe value
being read.
Syntax
setRecipeValue (value)
Parameters
String recipeValue - The new recipe value.
Returns
Nothing
Code Example
import math
try:
value = float(event.getRecipeValue())
event.setRecipeValue(str(math.log10(value)))
except:
event.setRecipeValue("0")
2354
MES Platform 2.0
Variance Filters
A VarianceFilters object is used when requesting variances with the system.recipe.
getRecipeVariances script function to narrow down the results that are returned. For example, if
you only want variances for a specific production item (machine) and specific date range, the
VarianceFilters object properties are set appropriately and are passed as parameters to the
system.recipe.getRecipeVariances script function.
Methods:
createNew()
Description
Returns a new instance of a VarianceFilters object. After setting various filter properties, it
is used with the system.recipe.getRecipeVariances script function.
Syntax
createNew()
Parameters
None
Returns
The new VarianceFilter object.
Properties:
setFromDate(fromDate)
Description
Set the start of the date range to return variances for if setVarianceScopeTypes
("DATE_RANGE") is called.
2355
MES Platform 2.0
Syntax
setFromDate(fromDate)
Parameters
Date fromDate - The start date for the variance.
Returns
Nothing
setIncludeChildren(includeChildren)
Description
Set if children production items under the production item specified by the setItemPath()
property, should be included in the variance results.
Syntax
setIncludeChildren(includeChildren)
Parameters
Boolean includeChildren - Set it True, if you need to include children and False otherwise.
Returns
Nothing
setIncludeInitialValues(includeInitialValues)
Description
Set if the initial values (meaning the values when the recipe was first selected) should be
included in the variance results.
Syntax
2356
MES Platform 2.0
setIncludeInitialValues(includeInitialValues)
Parameters
Boolean includeInitialValues - Set it True, if you need to include the initial values and False
otherwise.
Returns
Nothing
setIncludeVarianceValues(includeVarianceValues)
Description
Set if the variance values (meaning the values that changed after the recipe was first
selected) should be included in the variance results.
Syntax
setIncludeVarianceValues(includeVarianceValues)
Parameters
Boolean includeVarianceValues - Set it True, if you need to include the variance values
and False otherwise.
Returns
Nothing
setItemPath(itemPath)
Description
Syntax
2357
MES Platform 2.0
setItemPath(itemPath)
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
Returns
Nothing
setProjectName(projectName)
Description
Set the project name to read variances. Variances are kept by project, and the project
name is required with the getRecipeVariances script function.
Syntax
setProjectName(projectName)
Parameters
String projectName - The project name to read the variances for.
Returns
Nothing
setRecipe(recipeName)
Description
Set an optional recipe filter. The filter can contain ? and * wild card characters. For
example: "Recipe C*" will include all recipes that start with Recipe C. Recipe C1 and
Recipe C21 will be included but Recipe D1 will not.
Syntax
2358
MES Platform 2.0
setRecipe(recipeName)
Parameters
String recipeName - Name of the recipe value. This is the same name entered in the recipe
value entry in the designer.
Returns
Nothing
setRecipeValueName(recipeValueName)
Description
Set an optional recipe value name filter. The filter can contain ? and * wild card characters.
Syntax
setRecipeValueName(recipeValueName)
Parameters
String recipeValueName - N ame of the recipe value. This is the same name entered in the
recipe value entry in the designer.
Returns
Nothing
setSubRecipe(subRecipeName)
Description
Set an optional sub recipe filter. The filter can contain ? and * wild card characters. See
Sub Recipes for more information.
Syntax
2359
MES Platform 2.0
setSubRecipe(subRecipeName)
Parameters
String subRecipeName - N ame of the subRecipe value. This is the same name entered in
the subRecipe value entry in the designer.
Returns
Nothing
setToDate(toDate)
Description
Set the end of the date range to return variances for if setVarianceScopeTypes
("Date_Range") is called.
Syntax
setToDate(toDate)
Parameters
Date toDate - End date for the variance.
Returns
Nothing
setVarianceEntryType(varianceType)
Description
Info
2360
MES Platform 2.0
Syntax
setVarianceEntryType(varianceType)
Parameters
String varianceType - This include Recipe and Sub_Recipe as detailed in the Info section.
Returns
Nothing
setVarianceScopeTypes(varianceScopeType)
Description
Info
Valid values are :
Last - Return variances that occurred for the current or last recipe that a
production item was set. This is useful for detecting any variances in real time
for a production run. If the production run has stopped, it will return the
variances as long as a new recipe has not been selected for the production
item.
Date_Range - Return variances for the date range specified with the
setFromDate() and setToDate() properties.
Syntax
2361
MES Platform 2.0
setVarianceScopeTypes(varianceScopeType)
Parameters
String varianceScopeType - This include Last and Date_Range as detailed in the Info
section.
Returns
Nothing
Code Snippets
Parse Results
A ParseResult object is available from the call to getParseResults() on the Serial Controller
component.
2362
MES Platform 2.0
Properties:
isValid()
Description
Syntax
isValid()
Parameters
None
Returns
If true indicates that all parse values exist and are valid.
Scope
All
isRequiredValid()
Description
Returns true if all required parse values exist and are valid.
Syntax
isRequiredValid()
Parameters
None
Returns
If true indicates that all required parse values exist and are valid.
Scope
All
2363
MES Platform 2.0
get(type)
Description
Syntax
get(type)
Parameters
ParseValueType type - Type of the parse value. Details are given in the Info section shown
below.
Returns
A list ParseValue objects of type specified by the parseValueType parameter.
Scope
All
Info
Available parseValueType options:
1. A single, discrete value.
system.instrument.parse.types.SingleValue
2. A collections of ParseRow objects.
system.instrument.parse.types.RowCollection
Methods:
getAll()
Description
2364
MES Platform 2.0
Syntax
getAll()
Parameters
None
Returns
A list of all ParseValue objects.
Scope
All
getValue()
Description
Returns a ParseValue object for the parsed value specified by the name parameter. The
name must match one of the names assigned to a parsing box defined in the parsing
template.
Syntax
getValue(name)
Parameters
Name
Returns
The ParseValue object for the parsed value specified by the name parameter.
Scope
All
getRowCollection()
Description
2365
MES Platform 2.0
Returns a ParseRowCollection object for the name specified by the name parameter. The
name must match one of the names assigned to a parsing box defined in the parsing
template.
Syntax
getRowCollection(name)
Parameters
Name
Returns
A ParseRowCollection object for the name specified by the name parameter.
Scope
All
createDataset()
Description
Returns a Dataset object for the parsed value specified by the name parameter. The name
must match one of the names assigned to a parsing box defined in the parsing template.
This supports converting a ParseRowCollection that is a result of either a CSV Column
Parsing Box or a CSV Row Parsing Box into a Dataset. Dataset can be used to display the
data in Table or other components in Ignition.
Syntax
createDataset(name)
Parameters
Name
Returns
A Dataset object for the parsed value specified by the name parameter.
Scope
All
2366
MES Platform 2.0
createValueMap()
Description
Returns a Map object containing name value pairs for all parsed values. The Map can be
sent to the SPC module's Sample Entry component to automate populating sample
measurement values from an instrument. The Map can also be accessed using scripting.
Syntax
createValueMap(valueName)
Parameters
String valueName
Returns
A Map object containing name value pairs for all parsed values.
Scope
All
Parse Row
A ParseRow object is available from the getParseRows() function of the ParseRowCollection
object.
Properties:
getParseValues()
Description
Syntax
2367
MES Platform 2.0
getParseValues()
Parameters
None
Returns
List of ParseValue objects.
Scope
All
isRequiredValid()
Description
Checks to see if all parse value objects are both required and valid.
Syntax
isRequiredValid()
Parameters
None
Returns
If true indicates that all parse values objects that are required are valid.
Scope
All
isValid()
Description
2368
MES Platform 2.0
Syntax
isValid()
Parameters
None
Returns
If true indicates that all parse value objects are valid.
Scope
All
Properties:
isValid()
2369
MES Platform 2.0
Description
Returns true if all parse values within all parse rows are valid.
Syntax
isValid()
Parameters
None
Returns
If true indicates that all parse values within all parse rows are valid.
Scope
All
isRequiredValid()
Description
Returns true if all parse values within all parse rows are required and are valid.
Syntax
isRequiredValid()
Parameters
None
Returns
If true indicates that all parse values within all parse rows are required and are valid.
Scope
All
isRequired()
2370
MES Platform 2.0
Description
Returns true if at least one parse values within all parse rows is required.
Syntax
isRequired()
Parameters
None
Returns
If true indicates that at least one parse values within all parse rows is required.
Scope
All
getParseRows()
Description
Syntax
getParseRows()
Parameters
None
Returns
A List of ParseRow objects contained in this collection.
Scope
All
Code Examples
2371
MES Platform 2.0
Parse Value
A ParseValue object is available from the get method of the ParseResults object. Because
parse values contain additional information such as units, data type, if it is required, etc, the
value is contained in this object. Read the true value from the parse value uses getValue()
function.
Properties:
getName()
Description
Syntax
getName()
Parameters
None
Returns
2372
MES Platform 2.0
getType()
Description
Syntax
getType()
Parameters
None
Returns
The parse value type.
Scope
All
getUnits()
Description
Gets the units extracted during parsing for this parse value. The Include Units option must
be selected in the parse box options for the units to be extracted.
Syntax
getUnits()
2373
MES Platform 2.0
Parameters
None
Returns
The units extracted during parsing for this parse value.
Scope
All
getValue()
Description
Returns the true value of this parse value. For example, if the data type defined in the
parse box options is a Float8, then a double will be returned.
Syntax
getValue()
Parameters
None
Returns
The exact value of this parse value.
Scope
All
isRequired()
Description
Syntax
2374
MES Platform 2.0
isRequired()
Parameters
None
Returns
If true indicates this parse value is required.
Scope
All
isRequiredValid()
Description
Syntax
isRequiredValid()
Parameters
None
Returns
If true indicates this parse value is required and is valid.
Scope
All
isValid()
Description
2375
MES Platform 2.0
Syntax
isValid()
Parameters
None
Returns
True, if parse value is valid.
Scope
All
Methods:
getOperation()
Description
Syntax
getOperation()
Parameters
None
2376
MES Platform 2.0
Returns
WSOperation operation - A Web Service Operation object containing the result of the Web
Service.
Scope
All
getResult()
Description
Syntax
getResult()
Parameters
None
Returns
WSVariable result - The result obtained during the ws operation.
Scope
All
Methods:
getOperation()
Description
2377
MES Platform 2.0
Syntax
getOperation()
Parameters
None
Returns
WSOperation operation - The Web Service Operation object that represents the operation
of the Web Service.
Scope
All
Methods:
getErrorMessage()
Description
Syntax
getErrorMessage()
Parameters
None
Returns
String message - A String object describing the Parse Error.
Scope
All
2378
MES Platform 2.0
getException()
Description
Syntax
getException()
Parameters
None
Returns
WSException exception - The exception for the parse error occurred.
Scope
All
getOperation()
Description
Syntax
getOperation()
Parameters
None
Returns
WSOperation operation - A Web Service Operation object representing the operation that
failed.
Scope
All
2379
MES Platform 2.0
getVariablePath()
Description
Syntax
getVariablePath()
Parameters
None
Returns
String path - A String object that represents the path to the Web Service Variable that
failed to parse.
Scope
All
setErrorMessage(message)
Description
Syntax
setErrorMessage(message)
Parameters
String message - A String object describing the Parse Error.
Returns
Nothing
Scope
2380
MES Platform 2.0
All
setException(exception)
Description
Syntax
setException(exception)
Parameters
WSException exception - The exception to set the parse error for.
Returns
Nothing
Scope
All
setVariablePath(path)
Description
Sets the path for Web Service Variable that failed to parse.
Syntax
setVariablePath(path)
Parameters
String path - A String object that represents the path to the Web Service Variable that
failed to parse.
Returns
Nothing
2381
MES Platform 2.0
Scope
All
Methods:
getErrorMessage()
Description
Syntax
getErrorMessage()
Parameters
None
Returns
String message - A String object describing the error from the Web Service provider.
Scope
All
getOperation()
Description
Syntax
2382
MES Platform 2.0
getOperation()
Parameters
None
Returns
WSOperation - A Web Service Operation object representing the operation that failed.
Scope
All
WS Element
The WSElement object is used to hold the individual elements defined in the schema for a web
service that represent the header, body, input and output.
Properties:
addChild()
Description
Syntax
addChild(child)
Parameters
WSElement child - The child object to be added.
Returns
Nothing
Scope
All
getChild()
2383
MES Platform 2.0
Description
Syntax
getChild(index)
Parameters
int index - The index of the child to be returned for.
Returns
The child specified by the index.
Scope
All
getChild(name)
Description
Syntax
getChild(childName)
Parameters
String childName - The name of the child to be returned for.
Returns
The WSElement associated with this child name.
Scope
All
getChildNames()
2384
MES Platform 2.0
Description
Syntax
getChildNames()
Parameters
None
Returns
List names - The list of names of all the children for this WSElement.
Scope
All
getChildren()
Description
Syntax
getChildren()
Parameters
None
Returns
List children - All the children for this WSElement.
Scope
All
getFullName()
2385
MES Platform 2.0
Description
Returns a String representing the "." separated name of this WSElement and it's parent.
Syntax
getFullName()
Parameters
None
Returns
String name - The full name of this WSElement.
Scope
All
getMaxOccurrences()
Description
Syntax
getMaxOccurrences()
Parameters
None
Returns
int maxOcurrences - The integer representing the maximum number of occurrences.
Scope
All
getName()
2386
MES Platform 2.0
Description
Syntax
getName()
Parameters
None
Returns
String name - The name of this WSElement.
Scope
All
getParent()
Description
Syntax
getParent()
Parameters
None
Returns
WSElement parent - The parent for this WSElement.
Scope
All
getQualifiedName()
2387
MES Platform 2.0
Description
Syntax
getQualifiedName()
Parameters
None
Returns
String qualifiedName - The qualified name for this WSElement.
Scope
All
getType()
Description
Syntax
getType()
Parameters
None
Returns
The WSType for this element.
Scope
All
getTypeName()
2388
MES Platform 2.0
Description
Syntax
getTypeName()
Parameters
None
Returns
String typeName - The type of this WSElement.
Scope
All
isOptional()
Description
Syntax
isOptional()
Parameters
None
Returns
boolean optional - True if this element should be optional and False otherwise.
Scope
All
setChildren(children)
2389
MES Platform 2.0
Description
Syntax
setChildren(children)
Parameters
List children - Children to be set for this WSElement.
Returns
Nothing
Scope
All
setDataType(typeName)
Description
Syntax
setDataType(typeName)
Parameters
String typeName - The data type to be set for. String is the default data type .
Returns
Nothing
Scope
All
setMaxOccurrences(maxOccurrences)
2390
MES Platform 2.0
Description
Syntax
setMaxOccurrences(maxOccurrences)
Parameters
int maxOcurrences - The integer representing the maximum number of occurrences.
Returns
Nothing
Scope
All
setName()
Description
Syntax
setName()
Parameters
String name - The name of the WSElement to be set for.
Returns
The name of the WSElement.
Scope
All
setOptional()
2391
MES Platform 2.0
Description
Syntax
setOptional()
Parameters
boolean optional - True if this element should be optional and False otherwise.
Returns
Nothing
Scope
All
setParent(parent)
Description
Syntax
setParent(parent)
Parameters
WSElement parent - The parent for this WSElement.
Returns
Nothing
Scope
All
setQualifiedName(qualifiedName)
2392
MES Platform 2.0
Description
Syntax
setQualifiedName(qualifiedName)
Parameters
String name - The qualified name for this WSElement.
Returns
Nothing
Scope
All
setType(type)
Description
Syntax
setType(type)
Parameters
WSType type - The type to be set for.
Returns
Nothing
Scope
All
setTypeName(typeName)
2393
MES Platform 2.0
Description
Syntax
setTypeName(typeName)
Parameters
String typeName - The type to be set for this WSElement.
Returns
The WS type for this element.
Scope
All
sortChildren()
Description
Syntax
sortChildren()
Parameters
None
Returns
Nothing
Scope
All
2394
MES Platform 2.0
WS Exception
The WSException object is returned from a web service call to handle errors and other
exceptional events.
Methods:
getMessage()
Description
Syntax
getMessage()
Parameters
None
Returns
String message - A message about the exception that occured.
Scope
All
getVariable()
Description
Syntax
getVariable()
Parameters
None
2395
MES Platform 2.0
Returns
WSVariable variable - The WSVariable object is returned from this web service.
Scope
All
WS Operation
The WSOperation object holds all the operation data associated with a web service port and is
available to the web service listener events via a call to event.getOperation(). It is available for
more advanced usage of a web service.
Properties:
addBodyElement(bodyPart)
Description
Adds body part of the WS element to this WS operation. The WS element has a header
part, a body part and the result part.
Syntax
addBodyElement(bodyPart)
Parameters
WSElement bodyPart - The body part of the WS element to be added.
Returns
Nothing
Scope
All
addHeaderElement(headerPart)
Description
2396
MES Platform 2.0
Syntax
addHeaderElement(headerPart)
Parameters
WSElement headerPart - The header part of the WS element to be added.
Returns
Nothing
Scope
All
addResultElement(resultPart)
Description
Syntax
addResultElement(resultPart)
Parameters
WSElement resultPart - The result part of the WS element to be added.
Returns
Nothing
Scope
All
copy()
Description
2397
MES Platform 2.0
Syntax
copy()
Parameters
None
Returns
WSOperation clone - The copy of this WS operation.
Scope
All
getBodyElement()
Description
Gets the body part of the WS element associated with this WS operation.
Syntax
getBodyElement()
Parameters
None
Returns
WSElement bodyElement - The body part of WS element corresponding to this web
service operation.
Scope
All
getBodyVariable()
Description
2398
MES Platform 2.0
Syntax
getBodyVariable()
Parameters
None
Returns
WSVariable bodyVariable - The body variable corresponding to this WS operation.
Scope
All
getFullName()
Description
Syntax
getFullName()
Parameters
None
Returns
String name - The full name of this WS operation.
Scope
All
getHeadersElement()
Description
2399
MES Platform 2.0
Syntax
getHeadersElement()
Parameters
None
Returns
WSElement headersElement - The headers element for this WS operation.
Scope
All
getHeadersVariable()
Description
Syntax
getHeadersVariable()
Parameters
None
Returns
WSVariable headersVariable - The headers variable for this WS operation.
Scope
All
getInput()
Description
2400
MES Platform 2.0
Syntax
getInput()
Parameters
None
Returns
S tring input - The input for this WS operation.
Scope
All
getName()
Description
Syntax
getName()
Parameters
None
Returns
String name - The name of this WS operation.
Scope
All
getOutput()
Description
2401
MES Platform 2.0
Syntax
getOutput()
Parameters
None
Returns
String output - The output of this WS operation.
Scope
All
getPort()
Description
Syntax
getPort()
Parameters
None
Returns
WSPort port - The web service port to perform this operation.
Scope
All
getResult()
Description
2402
MES Platform 2.0
Syntax
getResult()
Parameters
None
Returns
WSVariable results - The results of this WS operation.
Scope
All
getResultsElement()
Description
Syntax
getResultsElement()
Parameters
None
Returns
WSElement resultsElement - The result element of this operation.
Scope
All
getResultsVariable()
Description
2403
MES Platform 2.0
Syntax
getResultsVariable()
Parameters
None
Returns
WSVariable resultsVariable - The results variable of this operation.
Scope
All
getWebFault()
Description
Syntax
getWebFault()
Parameters
None
Returns
String webFault - The message explaining the fault occurred during this web service
operation.
Scope
All
hasWebFault()
Description
2404
MES Platform 2.0
Syntax
hasWebFault()
Parameters
None
Returns
boolean - True, if there exists any faults and False otherwise.
Scope
All
setBodyElement(bodyElement)
Description
Sets the body part of the WS element associated with this WS operation.
Syntax
setBodyElement(bodyElement)
Parameters
WSElement bodyElement - The body part to set WS operation for.
Returns
Nothing
Scope
All
setBodyVariable(bodyVariable)
Description
2405
MES Platform 2.0
Syntax
setBodyVariable(bodyVariable)
Parameters
WSVariable bodyVariable - The body variable to set WS operation for.
Returns
Nothing
Scope
All
setHeadersElement(headersElement)
Description
Syntax
setHeadersElement(headersElement)
Parameters
WSElement headersElement - The headers element to set WS operation for.
Returns
Nothing
Scope
All
setHeadersVariable(headersVariable)
Description
2406
MES Platform 2.0
Syntax
setHeadersVariable(headersVariable)
Parameters
WSVariable headersVariable - The headers variable for this WS operation.
Returns
Nothing
Scope
All
setInitialized(initialized)
Description
Syntax
setInitialized(initialized)
Parameters
b oolean initialized - Set to T rue if this WS operation have been initialized, else False.
Returns
Nothing
Scope
All
setInput(input)
Description
2407
MES Platform 2.0
Syntax
setInput(input)
Parameters
b oolean input - The input to set for.
Returns
Nothing
Scope
All
setModified(modified)
Description
Syntax
setModified(modified)
Parameters
b oolean modified - True if this operation has been modified and False otherwise.
Returns
Nothing
Scope
All
setName(name)
Description
2408
MES Platform 2.0
Syntax
setName(name)
Parameters
String name - The name of this WS operation.
Returns
Nothing
Scope
All
setOutput(output)
Description
Syntax
setOutput(output)
Parameters
String output - The output of this WS operation.
Returns
Nothing
Scope
All
setPort(port)
Description
2409
MES Platform 2.0
Syntax
setPort(port)
Parameters
String port - The port for this WS operation.
Returns
Nothing
Scope
All
setResultsElement(resultsElement)
Description
Syntax
setResultsElement(resultsElement)
Parameters
String resultsElement - The results element to set the operation for.
Returns
Nothing
Scope
All
setResultsVariable(resultsVariable)
Description
2410
MES Platform 2.0
Sets the WS variable object that contains the results of this operation.
Syntax
setResultsVariable(resultsVariable)
Parameters
WSVariable resultsVariable - The results variable to set operation for.
Returns
Nothing
Scope
All
setWebFault(message)
Description
Syntax
setWebFault(message)
Parameters
String message - The message to set for web faults.
Returns
Nothing
Scope
All
setWrapped(wrapped)
Description
2411
MES Platform 2.0
Syntax
setWrapped(wrapped)
Parameters
boolean wrapped - Set to T rue if this WS operation have been wrapped, else False.
Returns
Nothing
Scope
All
Code Example
# Code snippet from the After Run event of a web service listener
wsOperation = event.getOperation()
if wsOperation.hasWebFault():
log.error(wsOperation.getWebFault())
Overview
WSOptions class is for backwards compatibility
getAuthType()
Description
Syntax
getAuthType()
Parameters
None
2412
MES Platform 2.0
Returns
String authType - The authentication type associated with this web service.
Scope
All
getAuthTypeName()
Description
Gets the authentication type name associated with this web service.
Syntax
getAuthTypeName()
Parameters
None
Returns
String authType - The short authentication type name associated with this web service.
Scope
All
getAuthTypesList()
Description
Gets the list of authentication types associated with this web service.
Syntax
getAuthTypesList()
Parameters
None
2413
MES Platform 2.0
Returns
List<String> authType - The list of authentication types associated with this web service.
Scope
All
getPassword()
Description
Syntax
getPassword()
Parameters
None
Returns
String password - The password set for this web service.
Scope
All
getTimeout()
Description
Syntax
getTimeout()
Parameters
None
2414
MES Platform 2.0
Returns
int timeout - Optional timeout in seconds.
Scope
All
getURL()
Description
Syntax
getURL()
Parameters
None
Returns
String url - The url for this web service.
Scope
All
getUserName()
Description
Syntax
getUserName()
Parameters
None
2415
MES Platform 2.0
Returns
String userName - The user name for this web service.
Scope
All
setAuthType(authTypeDisplayName)
Description
Syntax
setAuthType(authTypeDisplayName)
Parameters
String authTypeDisplayName - The short authentication type name to be for this web
service.
Returns
Nothing
Scope
All
setPassword(password)
Description
Syntax
setPassword(password)
Parameters
2416
MES Platform 2.0
setTimeout(timeout)
Description
Syntax
setTimeout(timeout)
Parameters
int timeout - The timeout in seconds to be set.
Returns
Nothing
Scope
All
setURL(url)
Description
Syntax
setURL(url)
Parameters
2417
MES Platform 2.0
setUserName(userName)
Description
Syntax
setUserName(userName)
Parameters
String userName - The user name to be set.
Returns
Nothing
Scope
All
WS Port
addOperation(operation)
Description
This script function will add an operation to the web service port.
Syntax
2418
MES Platform 2.0
addOperation(operation)
Parameters
WSOperation operation - The operation to be added.
Returns
Nothing
Scope
All
getDefinition()
Description
Syntax
getDefinition()
Parameters
None
Returns
WSDefinition definition - The definition corresponding to this WS port.
Scope
All
getName()
Description
Syntax
2419
MES Platform 2.0
getName()
Parameters
None
Returns
String name - The name of this operation.
Scope
All
getOperation(name)
Description
Syntax
getOperation(name)
Parameters
String name - The name of the operation to return for.
Returns
WSOperation operation - The web service operation with the specified name.
Scope
All
getOperationNames()
Description
Syntax
2420
MES Platform 2.0
getOperationNames()
Parameters
None
Returns
List<String> operationNames - A list of the names of operations associated with this WS
port.
Scope
All
getOperations()
Description
Syntax
getOperations()
Parameters
None
Returns
WSOperation operations - A list of operations for this web service port.
Scope
All
setDefinition(definition)
Description
Syntax
2421
MES Platform 2.0
setDefinition(definition)
Parameters
WSDefinition definition - The web service definition to set for.
Returns
Nothing
Scope
All
setName(name)
Description
Syntax
setName(name)
Parameters
String name - The name to set the ws operation for.
Returns
Nothing
Scope
All
setOperations(operations)
Description
Syntax
2422
MES Platform 2.0
setOperations(operations)
Parameters
WSOperation operations - A list of operations for this web service port.
Returns
Nothing
Scope
All
WS Variable
The WSVariable object is returned from a web service call to hold the results of the call. This
object contains references to child WSVariables that are defined in the schema of the output of
the web service call.
Properties:
addChild(index, child)
Description
Syntax
addChild(index, child)
Parameters
int index - The index for new child.
WSVariable child - The variable to add as a child to this WS variable.
Returns
Nothing
Scope
All
2423
MES Platform 2.0
addChild(childElement)
Description
Syntax
addChild(childElement)
Parameters
WSElement childElement - The web service element to be added as a child.
Returns
Nothing
Scope
All
addChild(child)
Description
Syntax
addChild(child)
Parameters
WSVariable child - The WS variable to be added as child.
Returns
Nothing
Scope
All
2424
MES Platform 2.0
clear()
Description
Syntax
clear()
Parameters
None
Returns
Nothing
Scope
All
copy()
Description
Creates an exact copy of the ws variable and also a copy of its children.
Syntax
copy()
Parameters
None
Returns
Returns the new copy of the WS variable.
Scope
All
2425
MES Platform 2.0
getBindType()
Description
Syntax
getBindType()
Parameters
None
Returns
BindType bindType - The bind type of this web service variable.
Scope
All
getChild(childElement)
Description
Syntax
getChild(childElement)
Parameters
WSElement childElement - The WS element name to filter results.
Returns
The child of this WSVariable.
Scope
All
2426
MES Platform 2.0
getChild(element, index)
Description
Syntax
getChild(element, index)
Parameters
WSElement element - The WS element name to filter results.
int index - The index of child to return for.
Returns
The child of this WSVariable.
Scope
All
getChild(elementName, index)
Description
Syntax
getChild(elementName, index)
Parameters
int index - The index of child to return for.
String elementName - The children type to return for.
Returns
The child of this WSVariable.
Scope
2427
MES Platform 2.0
All
getChild(index)
Description
Syntax
getChild(index)
Parameters
int index - The index of child to return for.
Returns
The child of this WS variable with the given index.
Scope
All
getChild(name)
Description
Syntax
getChild(name)
Parameters
String childName - The name of the child to be returned.
Returns
WSVariable specified by the name parameter.
Scope
2428
MES Platform 2.0
All
getChildCount()
Description
Gets the number of child elements contained by this WS variable. If it doesn't have a child,
a count of zero is returned.
Syntax
getChildCount()
Parameters
None
Returns
The number of children for this variable.
Scope
All
getChildInstances(element)
Description
Syntax
getChildInstances(element)
Parameters
WSElement element - The WS element object to filter the results.
Returns
List<WSVariable> The child instances associated with this WS variable.
2429
MES Platform 2.0
Scope
All
getChildInstances(elementName)
Description
Gets the child instances of the type specified by the elementName parameter.
Syntax
getChildInstances(elementName)
Parameters
String elementName - The WS element name to filter the results.
Returns
List<WSVariable> The child instances associated with this WS variable.
Scope
All
getChildNames()
Description
Syntax
getChildNames()
Parameters
None
Returns
ArrayList<String> - The names of the children of this WSVariable.
2430
MES Platform 2.0
Scope
All
getChildOccurrences(elementName)
Description
Syntax
getChildOccurrences(elementName)
Parameters
String elementName - The name of the element to return the count for.
Returns
int count - The number of occurrences of the specified child.
Scope
All
getChildOccurrences(childElement)
Description
Syntax
getChildOccurrences(childElement)
Parameters
WSElement childElement - The child element to return the count for.
Returns
int count - The number of occurrences of the specified child element.
2431
MES Platform 2.0
Scope
All
getChildren()
Description
Syntax
getChildren()
Parameters
None
Returns
List<WSVariable> The list of children of this WS variable.
Scope
All
getElement()
Description
Syntax
getElement()
Parameters
None
Returns
WSElement - The WS element associated with this WS variable.
2432
MES Platform 2.0
Scope
All
getExpression()
Description
Syntax
getExpression()
Parameters
None
Returns
Object expression - The expression set for this WS variable.
Scope
All
getName()
Description
Syntax
getName()
Parameters
None
Returns
String name - The name of WS variable.
2433
MES Platform 2.0
Scope
All
getParent()
Description
Syntax
getParent()
Parameters
None
Returns
WSVariable parent - The parent corresponding to this WS variable.
Scope
All
getReasonPhrase()
Description
Syntax
getReasonPhrase()
Parameters
None
Returns
String reasonPhrase - The corresponding reason phrase.
2434
MES Platform 2.0
Scope
All
getResponseTime()
Description
Syntax
getResponseTime()
Parameters
None
Returns
Long responseTime - The response time in milliseconds.
Scope
All
getStatusCode()
Description
Syntax
getStatusCode()
Parameters
None
Returns
int statusCode - The corresponding status code.
2435
MES Platform 2.0
Scope
All
getValue()
Description
Syntax
getValue()
Parameters
None
Returns
Object value - The value of the child of this WSVariable.
Scope
All
hasChild(childElement)
Description
Boolean indicating the presence of child for the given web service element.
Syntax
hasChild(childElement)
Parameters
WSElement childElement - The WS element to check the existence of child for.
Returns
boolean - True, if there exist a child for the childElement and False otherwise.
2436
MES Platform 2.0
Scope
All
hasChildren()
Description
Syntax
hasChildren()
Parameters
WSElement childElement - The WS element to check the existence of child for.
Returns
boolean - True, if the WS element has children and False otherwise.
Scope
All
isArray()
Description
This method returns true if this object represents an array class, else false.
Syntax
isArray()
Parameters
None
Returns
boolean - True, if the WS variable class is an array and False otherwise.
2437
MES Platform 2.0
Scope
All
isBound()
Description
Syntax
isBound()
Parameters
None
Returns
boolean True, if the WS variable is bound and False otherwise.
Scope
All
isValid()
Description
Syntax
isValid()
Parameters
None
Returns
boolean True if the WS variable is valid and False otherwise.
2438
MES Platform 2.0
Scope
All
recordOrginalValues()
Description
Syntax
recordOriginalValues()
Parameters
None
Returns
Nothing
Scope
All
removeChild(childElement)
Description
Syntax
removeChild(childElement)
Parameters
WSElement childElement - The WS element to be removed.
Returns
Nothing
2439
MES Platform 2.0
Scope
All
removeChild(childVariable)
Description
Syntax
removeChild(childVariable)
Parameters
WSVariable childVariable - The WS child variable to be removed.
Returns
Nothing
Scope
All
removeChild(index)
Description
Syntax
removeChild(index)
Parameters
int index - The index of child to be removed.
Returns
Nothing
2440
MES Platform 2.0
Scope
All
reset()
Description
Clears all the children and resets the value to the original value.
Syntax
reset()
Parameters
None
Returns
Nothing
Scope
All
setBindType(bindType)
Description
Syntax
setBindType(bindType)
Parameters
BindType bindType - The bind type to bound this WS variable.
Returns
Nothing
2441
MES Platform 2.0
Scope
All
setChildren(children)
Description
Syntax
setChildren(children)
Parameters
List<WSVariable> children - The list of WS variable to be set as children.
Returns
Nothing
Scope
All
setElement(element)
Description
Syntax
setElement(element)
Parameters
WSElement element - The element set the WS variable for.
Returns
Nothing
2442
MES Platform 2.0
Scope
All
setExpression(expression)
Description
Syntax
setExpression(expression)
Parameters
Object expression - The expression to set the WS variable for.
Returns
Nothing
Scope
All
setName(name)
Description
Syntax
setName(name)
Parameters
String name - The name to set the WS variable for.
Returns
Nothing
2443
MES Platform 2.0
Scope
All
setParent(parent)
Description
Syntax
setParent(parent)
Parameters
WSVariable parent - The object to set the WS variable for.
Returns
Nothing
Scope
All
setValue(value)
Description
Syntax
setValue(value)
Parameters
Object value - The value to set for the WS variable.
Returns
Nothing
2444
MES Platform 2.0
Scope
All
Code Example
Methods:
toDataset()
Description
Syntax
toDataset()
Parameters
None
Returns
Dataset - A dataset representing the given Web Service Variable.
Scope
All
toDataset(expanded)
Description
2445
MES Platform 2.0
Syntax
toDataset(expanded)
Parameters
boolean expanded - If set to 1 (true) then every child will be converted, if set to 0 then only
the top level child will be converted.
Returns
Dataset - A dataset representing the given Web Service Variable.
Scope
All
toDict()
Description
Syntax
toDict()
Parameters
None
Returns
PyDictionary pyDict - A python dictionary representing the given Web Service Variable.
All
toExpandedDataset()
Description
Returns a Dataset Object representing the child values of the WSVariable and iterates
through any children of the child values.
2446
MES Platform 2.0
Syntax
toExpandedDataset()
Parameters
None
Returns
Dataset - The dataset containing the child values of this WS variable.
Scope
All
Barcode Event
The BarcodeEvent object is an object that contains the decoded results of a barcode. It is
passed in the onBarcodeReceived event of the BarcodeScanner component and the system.
barcode.scanner.decode script function.
Properties:
getErrorMessage()
Description
Syntax
getErrorMessage()
Parameters
None
Returns
2447
MES Platform 2.0
getRawBarcode()
Description
Syntax
getRawBarcode()
Parameters
None
Returns
The raw barcode.
Scope
All
getResults()
Description
Returns a java hash table of the decoded results. The hash table has entries that have a
key and a value. The key is defined in the configuration patterns and the value is itself a list
of values returned from the Regex search.
For example, the pre configured GS1 pattern GTIN that has a key of “GS1-01” and a
Regex pattern of “(01)(\d{14})”. When this pattern is found in the raw barcode, then an
entry will be put into the match results with a key of “GS1-01” and the value will be a list of
strings with 2 elements. The list of value strings is variable and is defined by the Regex
pattern's grouping. In this case the first [0] element is “01” and the second [1] element
contains the 14 digit GTIN number.
2448
MES Platform 2.0
Syntax
getResults()
Parameters
None
Returns
A hash table of the decoded results.
Scope
All
getUnmatched()
Description
Get the string of unmatched raw barcode after the decode method was called.
Syntax
getUnmatched()
Parameters
None
Returns
The unmatched raw barcode after the decode method was called.
Scope
All
hasErrorMessage()
Description
2449
MES Platform 2.0
Syntax
hasErrorMessage()
Parameters
None
Returns
True, if there is an error message passed with this event.
Scope
All
hasResults()
Description
Returns true if there is decoded barcode results that matched the patterns given.
Syntax
hasResults()
Parameters
None
Returns
T rue, if there is decoded barcode results that matched the patterns given.
Scope
All
hasUnmatched()
2450
MES Platform 2.0
Description
Returns true if there is an unmatched portion of the raw barcode after the decode method
was called.
Syntax
hasUnmatched()
Parameters
None
Returns
True, if there is an unmatched portion of the raw barcode after the decode method was
called.
Scope
All
toDict()
Description
Returns the same results that getResults() but converted to python dictionary object with a
string key and the value as an array of strings.
Syntax
toDict()
Parameters
None
Returns
A Python dictionary object containing the decoded results.
Scope
All
2451
MES Platform 2.0
Methods:
gs1ConvertToDate(value)
Description
This is helper function to convert a GS1 formatted barcode date to a date object.
Syntax
gs1ConvertToDate(value)
Parameters
String value - String value in the format of “YYMMDD”
Returns
The resultant date object.
Scope
All
gs1ConvertToDouble(value, decimalPlace)
Description
This is a helper function to convert a GS1numeric value to a double with the correct
decimal place.
Syntax
gs1ConvertToDouble(value, decimalPlace)
Parameters
String value - String that represents the number to be converted to a double .
2452
MES Platform 2.0
String decimalPlace - String that represents the place in the value parameter to place the
decimal place.
Returns
The resultant double value.
Scope
All
gs1ConvertToFloat(value, decimalPlace)
Description
This is a helper function to convert a GS1numeric value to a float with the correct decimal
place.
Syntax
gs1ConvertToFloat(value, decimalPlace)
Parameters
String value - String that represents the number to be converted to a float.
String decimalPlace - String that represents the place in the value parameter to place the
decimal place.
Returns
The resultant float value.
Scope
All
Properties:
getKey()
Description
2453
MES Platform 2.0
Syntax
getKey()
Parameters
None
Returns
String key - The key associated with this barcode pattern.
Scope
All
getName()
Description
Syntax
getName()
Parameters
None
Returns
String name - The name associated with this barcode pattern.
Scope
All
getRegexPattern()
Description
2454
MES Platform 2.0
Syntax
getRegexPattern()
Parameters
None
Returns
String regexPattern - The regex pattern for this particular barcode pattern.
Scope
All
setKey(key)
Description
Syntax
setKey(key)
Parameters
String key - The key to set this barcode pattern for.
Returns
Nothing
Scope
All
setName(name)
Description
2455
MES Platform 2.0
Syntax
setName(name)
Parameters
String name - The name to set the barcode pattern for.
Returns
Nothing
Scope
All
setRegexPattern(pattern)
Description
Syntax
setRegexPattern(pattern)
Parameters
String pattern - The regex pattern to set the barcode for.
Returns
Nothing
Scope
All
Properties:
getErrorMessage()
2456
MES Platform 2.0
Description
Syntax
getErrorMessage()
Parameters
None
Returns
String errorMessage - The message to display when an error occurs.
Scope
All
getRawBarcode()
Description
Syntax
getRawBarcode()
Parameters
None
Returns
String rawBarcode - The raw barcode for this decode results.
Scope
All
getResults()
2457
MES Platform 2.0
Description
Syntax
getResults()
Parameters
None
Returns
Hashtable<String, List<String>> results - A hash table of the decoded results.
Scope
All
getUnmatched()
Description
Syntax
getUnmatched()
Parameters
None
Returns
String unMatched - The unmatched raw barcode after the decode method was called.
Scope
All
GS1ConvertToDate(value)
2458
MES Platform 2.0
Description
This is helper function to convert a GS1 formatted barcode date to a date object.
Syntax
GS1ConvertToDate(value)
Parameters
String value - String value in the format of “YYMMDD”
Returns
The resultant date object.
Scope
All
GS1ConvertToDouble(value, decimalPlace)
Description
This is a helper function to convert a GS1numeric value to a double with the correct
decimal place.
Syntax
GS1ConvertToDouble(value, decimalPlace)
Parameters
String value - String that represents the number to be converted to a double .
String decimalPlace - String that represents the place in the value parameter to place the
decimal place.
Returns
The resultant double value.
Scope
All
2459
MES Platform 2.0
GS1ConvertToFloat(value, decimalPlace)
Description
This is a helper function to convert a GS1numeric value to a float with the correct decimal
place.
Syntax
GS1ConvertToFloat(value, decimalPlace)
Parameters
String value - String that represents the number to be converted to a float.
String decimalPlace - String that represents the place in the value parameter to place the
decimal place.
Returns
The resultant float value.
Scope
All
hasErrorMessage()
Description
Syntax
hasErrorMessage()
Parameters
None
Returns
boolean True, if there is an error message passed with the decode results.
2460
MES Platform 2.0
Scope
All
hasResults()
Description
Checks whether there is decoded barcode results that matched the patterns given.
Syntax
hasResults()
Parameters
None
Returns
boolean T rue, if there is decoded barcode results that matched the patterns given.
Scope
All
hasUnmatched()
Description
Syntax
hasUnmatched()
Parameters
None
Returns
boolean True, if there is any unmatched barcode.
2461
MES Platform 2.0
Scope
All
9.7.1
9.7.2 system.mes
There are many different types of MES objects in the Sepasoft MES system. All of these are
inherited from the AbstractMESObject. Many of the scripting functions and properties refer to
the common AbstractMESObject objects. The specific MES object types can be obtained by
using the getMESObjectType() method on the object.
Code Snippet
filter = system.mes.object.filter.createFilter()
filter.setMESObjectNamePattern('Vinegar')
list = system.mes.searchMESObjects(filter)
for ndx in range(list.size()):
mesObject = list.get(ndx)
print mesObject.getMESObjectType().getDisplayName()
system.mes.abortOperation
Description
2462
MES Platform 2.0
Abruptly end the current operation for the equipment specified by the equipmentPath
parameter.
Syntax
system.mes.abortOperation(equipmentPath)
Parameters
String equipmentPath - Equipment path of the equipment to end the operation.
Returns
Nothing
Scope
All
Warning, trace information may not be correctly recorded when this script function is
used.
Code Examples
Code Snippet
system.mes.abortSegment
Description
2463
MES Platform 2.0
Syntax
system.mes.abortSegment(responseSegment)
Parameters
MESResponseSegment responseSegment - The MES object to abort.
Returns
Nothing
Scope
All
Warning, trace information may not be correctly recorded when this script function is
used.
Code Examples
Code Snippet
Code Snippet
Code Snippet
2464
MES Platform 2.0
system.mes.addTagCollectorValue
Description
Record a single value for the MES tag collector. If a value has already been recorded for
the same timestamp, an exception will be returned.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date dateTime - The date to the value being added.
Datatype value - The value to record to the MES tag collector.
Returns
Nothing
Scope
All
2465
MES Platform 2.0
Code Examples
Code Snippet
system.mes.addTagCollectorValues
Description
Record multiple values for the MES tag collector. If a value has already been recorded for
one of the timestamps, an exception will be returned.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
PyDictionary values - A Python dictionary containing the date(of type Date) and value
(Refer Datatype) pairs to add.
2466
MES Platform 2.0
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.addTagCollectorValues(equipmentPath, collectorType,
key, values)
system.mes.beginOperation
Descripton
Begin an operation at the equipment specified by the equipmentPath parameter. Once this
function has been called, segments can begin for the equipment.
Syntax
system.mes.beginOperation(equipmentPath, operationsResponse)
2467
MES Platform 2.0
Parameters
String equipmentPath - Equipment path of where to run the operation.
MESOperationsReponse operationsResponse - The MES object to begin. Required
properties must be set in the operations response object prior to calling this function.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.beginSegment
Description
Syntax
system.mes.beginSegment(responseSegment)
Parameters
2468
MES Platform 2.0
Code Examples
Code Snippet
Overview
These script functions are used to alter the category of operation schedules. One method for
batch changes and one method for individual schedules.
Method Options
Description
2469
MES Platform 2.0
Change the category of all operations schedule objects within the given date range with
matching category.
Syntax
Code Examples
Code Snippet
system.mes.changeScheduleCategory(operationsScheduleUUID, toCategory)
2470
MES Platform 2.0
Description
Syntax
system.mes.changeScheduleCategory(operationsScheduleUUID, toCategory)
Parameters
Integer operationsScheduleUUID - The UUID of operationSchedule to change the category
for.
String toCategory - New category to assigned to the operation schedule.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Code Snippet
2471
MES Platform 2.0
system.mes.copySchedule
Description
Copy an operations schedule and all associated operations requests and request
segments objects.
Syntax
system.mes.copySchedule(operationsScheduleUUID)
Parameters
String operationsScheduleUUID - The UUID of the operations schedule to copy.
Returns
A list containing the operations schedule and all associated operations requests and
request segments. The list is returned as a MES Object List object that is a collection
holding MES objects.
Scope
All
Code Snippet
system.mes.createMESObject
Description
2472
MES Platform 2.0
Syntax
system.mes.createMESObject(mesObjectTypeName)
Parameters
String MES Object Type Name - The MES object type to base the new instance. This can
be one of MES object types defined in MESObjectTypes. See MES Object Type Name for
more details.
Returns
A new instance of the MES object type specified in the mesObjectTypeName parameter.
Scope
All
Code Examples
Code Snippet
system.mes.createOperation
Description
2473
MES Platform 2.0
Syntax
system.mes.createOperation(operationsDefinitionName, equipmentPath)
Parameters
String operationsDefinitionName - The name of the operations definition to base the
operations response on.
String equipmentPath - Equipment path of where it will be run.
Returns
A new MESOperationsResponse object.
Scope
All
Code Examples
Code Snippet
system.mes.createOperationFromRequestUUID
Description
Syntax
2474
MES Platform 2.0
system.mes.createOperationFromRequestUUID(operationsRequestUUID)
Parameters
String operationsRequestUUID - The UUID of the MES operations request object, which is
its unique ID.
Returns
A MESObjectList object holding all the objects associated with the new operations
response.
Scope
All
Code Examples
Code Snippet
Output
OperationsPerformance (09f79c29-a382-4a6b-871d-5f046586bef5,
Package Nuts Schedule, 0 parents, 0 children, 0 custom
properties, 1 complex properties)
OperationsResponse (d703c3f7-061e-4348-9fe3-f2db1c3050d9,
Package Nuts, 0 parents, 0 children, 0 custom properties, 1
complex properties)
system.mes.createSchedule
Description
2475
MES Platform 2.0
Create a new MESOperationsSchedule from the specified operations definition that is used
for scheduling. The Operations Schedule object will contain one or more linked Operations
Requests, each with their associated Requests Segments.
Note that the objects must be saved to be made manifest in the system.
Syntax
system.mes.createSchedule(operationsDefinition)
Parameters
MESOperationsDefinition operationsDefinition - The operations definition to base the root
operations request on.
Returns
A list containing a new operations schedule and all associated operations requests and
request segments. The list is returned as a MESObjectList object that is a collection
holding MES objects.
Scope
All
Code Examples
Code Snippet
2476
MES Platform 2.0
Output
OperationsSchedule (b15be936-9c94-4334-a1be-3ad97d115c2a,
Receive Turkeys Schedule, 0 parents, 0 children, 0 custom
properties, 1 complex properties)
OperationsRequest (ea82b3ea-6fe3-4a65-94a5-55e34c0ff231,
Receive Turkeys, 0 parents, 0 children, 0 custom properties, 2
complex properties)
RequestSegment (89f1698c-47f3-402e-a2d0-da49812d72f6, Receive
Turkeys, 0 parents, 0 children, 0 custom properties, 6 complex
properties)
Overview
Description
Create a new MESResponseSegment from the specified operations segment. This is done
to create a new instance of a MESResponseSegement object needed to begin a segment.
These script functions are used to create a new response segment object.
Method Options
system.mes.createSegment(definitionSegment, equipmentPath)
Syntax
system.mes.createSegment(definitionSegment, equipmentPath)
Parameters
AbstractMESObject definitionSegment - The operations segment to base the response
segment on. See AbstractMESObject object in the MES documentation.
String equipmentPath - Equipment path of the equipment to use when creating the
segment. This is required and is used when a material class is specified in the segment, it
has to be replaced with the specific equipment.
Returns
A new MESResponseSegment object.
Scope
2477
MES Platform 2.0
All
Code Examples
Code Snippet
#Creates a segment
obj = system.mes.loadMESObject('Receive Turkeys', 'OperationsSe
gment')
system.mes.createSegment(obj, 'My
Enterprise\California\Receiving\Unload Station 1')
Syntax
Code Examples
2478
MES Platform 2.0
Code Snippet
Syntax
Code Examples
Code Snippet
2479
MES Platform 2.0
Syntax
system.mes.createSegment(operationsResponse, segmentName,
autoAssignOptions)
Parameters
MESOperationsResponse operationsResponse - The operations response to create the
response segment for.
String segmentName - The name of the operationsSegment to base the response segment
on. If this property is empty, then the name of the operations response object will be used.
Boolean autoAssignOptions - If true, automatically assign material, lot and person options.
Otherwise, they have to be set prior to beginning the segment.
Returns
A new MESResponseSegment object.
Scope
All
Code Examples
Code Snippet
2480
MES Platform 2.0
Syntax
system.mes.createSegment(operationsSegmentName, equipmentPath,
autoAssignOptions)
Parameters
String operationsSegmentName - The name of the operations segment to base the
response segment on.
String equipmentPath - Equipment path of the equipment to use when creating the
segment. This is required and is used when a material class is specified in the segment, it
has to be replaced with the specific equipment.
Boolean autoAssignOptions - If true, automatically assign material, lot and person options.
Otherwise, they have to be set prior to beginning the segment.
Returns
A new MESResponseSegment object.
Scope
All
Code Examples
Code Snippet
system.mes.createSegmentForOperation
Description
2481
MES Platform 2.0
Create a new MESResponseSegment from the specified operations segment. This is done
to create a new instance of a MESResponseSegement object needed to begin a segment.
Syntax
Parameters
String operationsResponseUUID - The operations response UUID to create the response
segment for.
String segmentName - The name of the operations segment to base the response
segment on. If this property is empty, then the name of the operations response object will
be used.
Boolean autoAssignOptions - If true, automatically assign material, lot and person options.
Otherwise, they have to be set prior to beginning the segment.
Returns
A new MESResponseSegment object.
Scope
All
Code Examples
Code Snippet
operationsResponseUUID = 'c8c77882-9786-4adb-a657-ec4dcc0a4bda'
segmentName = 'Sugar-Nuts Unlimited:Site 1:Area:Line 1'
autoAssignOptions = True
seg=system.mes.createSegmentForOperation
(operationsResponseUUID, segmentName, autoAssignOptions)
print seg
Output
2482
MES Platform 2.0
system.mes.createSublots
Description
Syntax
system.mes.createSublots(materialLot, sublotCount)
Parameters
MESMaterialLot materialLot - The MES object to create new material sublots for.
String sublotCount - Number of new material sublots to create in the specified material lot.
Returns
Material lot object will newly created material sublots as children.
Scope
All
Code Examples
Code Snippet
#This code will create new material sublots for the provided
material lot.
lot = system.mes.loadMESObject('Lot 1111', 'MaterialLot')
sublots = system.mes.createSublots(lot, 2)
system.mes.delaySchedule
2483
MES Platform 2.0
system.mes.delaySchedule
Description
Delay the operations request by the amount that it is overdue to begin or finish. When this
is done, other operations requests may also be delayed if they are in conflict.
Syntax
system.mes.delaySchedule(operationsRequest)
Parameters
MESOperationsRequest operationsRequest - The MES object to delay the schedule for.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Overview
These script functions are used to delete operation schedule(s).
Method Options
2484
MES Platform 2.0
Description
Delete the list of operation schedules fall into the specified category.
Syntax
Code Examples
Code Snippet
system.mes.deleteSchedule(operationsScheduleUUID)
2485
MES Platform 2.0
Description
Delete the operations schedule with the UUID specified by the operationsScheduleUUID.
Syntax
system.mes.deleteSchedule(operationsScheduleUUID)
Parameters
String operationsScheduleUUID - The UUID of the operations schedule to delete.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.deriveMESObject
The deriveMESObject allows for an MES Object to be created and have the same properties as
the object that is passed to it. This function call be called by passing it an MES Object or by
passing it the UUID of an object.
Description
2486
MES Platform 2.0
Returns a new instance of MES object of the type specified by the mesObjectTypeName
parameter and all applicable properties derived from the MES object specified by the
mesObject parameter will be copied to it.
Parameters
AbstractMESObject mesObject - The MES object to derive the new MES object from
String MES Object Type Name - The MES object type name to base the new instance.
This can be one of MES object types defined in MESObjectTypes. See MES Object Type
Name for more details.
Boolean copyPropertyValues - If true, copy the values of the properties to the new MES
object
Returns
A new instance of the MES Object Type specified in the mesObjectTypeName parameter
Scope
All
Code Snippet
Description
Returns a new instance of an MES object of the type specified by the
mesObjectTypeName parameter and all applicable properties derived from the MES object
specified by the mesObjectUUID parameter will be copied to it.
Parameters
String mesObjectUUID - The UUID of the MES object to base the new object on
String MES Object Type Name - The MES object type name to base the new instance.
This can be one of MES object types defined in MESObjectTypes. See MES Object Type
Name for more details.
Boolean copyPropertyValues - If true, copy the values of the properties to the the new
MES object
2487
MES Platform 2.0
Returns
An AbstractMESObject
Scope
All
Code Snippet
system.mes.deriveOperation
Description
Create a new MESOperationsDefinition from the specified operations definition. This also
derives all dependent MESOperationsSegment objects.
Syntax
system.mes.deriveOperation(operationsDefinition)
Parameters
MESOperationsDefinition operationsDefinition - The operations definition to base the
derived operations definition.
Returns
A list containing the newly derived OperationsDefinition and all dependent Operations
Segment object. The list is returned as a MES Object List object that is a collection holding
MES objects.
Scope
All
Code Examples
2488
MES Platform 2.0
Code Snippet
system.mes.endOperation
Description
End the current operation for the equipment specified by the equipmentPath parameter.
Syntax
system.mes.endOperation(equipmentPath, operationsResponse)
Parameters
String equipmentPath - Equipment path of the equipment to end the operation.
MESOperationsResponse operationsResponse - The MES object to end. Final properties
must be set in the operations response object prior to calling this function. Usually a called
to get the current operations response object is done prior to calling this function. Usually,
a called to get the current operations response object is done prior to calling this function.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
2489
MES Platform 2.0
Code Snippet
Code Snippet
system.mes.endSegment
Description
Syntax
system.mes.endSegment(responseSegment)
Parameters
MESResponseSegment responseSegment - The MES object to end. All final property
values must be set prior to ending.
Returns
Nothing
2490
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
Code Snippet
Code Snippet
Overview
These script functions are used to execute an MES event.
Method Options
2491
MES Platform 2.0
Description
Syntax
Code Examples
Code Snippet
2492
MES Platform 2.0
system.mes.executeMESEvent(mesObject, eventName)
Description
Syntax
system.mes.executeMESEvent(mesObject, eventName)
Parameters
AbstractMESObject mesObject - The MES object to execute the event on. See
AbstractMESObject object in the MES documentation.
String eventName - Name of the event to execute on the specified MES object.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.executeSegment
Description
Execute the specified response segment. This is the same as begin segment and then
ending the segment immediately.
2493
MES Platform 2.0
Syntax
system.mes.executeSegment(responseSegment)
Parameters
MESResponseSegment responseSegment - The MES object to execute. This can be used
to split lot, receive material, change lot status, etc.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Code Snippet
2494
MES Platform 2.0
Code Snippet
Overview
These script functions are used to execute the specified response segment immediately.
Method Options
system.mes.executeSegmentImmediately(responseSegment, bypassInventoryCheck)
Description
Execute the specified response segment. This is the same as execute segment but
bypasses the overhead of the response segment lifetime. In all cases, a new operations
response object will be created and associated to the response segment passed as a
parameter to this function.
Syntax
system.mes.executeSegmentImmediately(responseSegment, bypassInventoryCheck)
Parameters
MESResponseSegment responseSegment - The MESResponseSegment object to
execute. This can be used to split lot, receive material, change lot status, etc.
Boolean bypassInventoryCheck - If true, bypass the checking of inventory levels.
Returns
2495
MES Platform 2.0
Code Examples
Code Snippet
Output
system.mes.executeSegmentImmediately(responseSegment)
Description
Execute the specified response segment. This is the same as execute segment but
bypasses the overhead of the response segment lifetime. In all cases, a new operations
response object will be created and associated to the response segment passed as a
parameter to this function.
Syntax
2496
MES Platform 2.0
system.mes.executeSegmentImmediately(responseSegment)
Parameters
MESResponseSegment responseSegment - The MESResponseSegment object to
execute. This can be used to split lot, receive material, change lot status, etc.
Returns
The MESResponseSegment object.
Scope
All
Code Examples
Code Snippet
Output
system.mes.exportMESObjects
Description
2497
MES Platform 2.0
Convert the specified MES objects to XML. The XML can then be written to a disk file, sent
to external systems, written to a database, etc. by using other Ignition script functions.
Syntax
system.mes.exportMESObjects(filter)
Parameters
MESObject filter filter - A MESObjectFilter object specifying the MES object to include.
Returns
A XML string value representing all MES objects specified by the filter.
Scope
All
Code Examples
Code Snippet
Output
<?xml version="1.0"?>
<MESObjectList>
<MESObject MESObjectType="EquipmentClass">
<CoreProperty name="UUID">a0a7991c-ee75-47d7-8c91-
b0e20e736ea9</CoreProperty>
2498
MES Platform 2.0
Overview
These script functions are used to get the response segment for the specified equipment path
and segment name. This is most often for the purpose of updating the segment with changes in
material or personnel.
Method Options
system.mes.getActiveSegment(equipmentPath, segmentName)
Description
Get the response segment for the specified equipment path and segment name.
Syntax
system.mes.getActiveSegment(equipmentPath, segmentName)
Parameters
2499
MES Platform 2.0
String equipmentPath - The path of the equipment that is running an operation and
specified segment.
String segmentName - The name of the segment to return.
Returns
The matching MESResponseSegment object.
Scope
All
Code Examples
Code Snippet
#This code will get the active segment, set the material, and
update the segment to manifest changes.
seg = system.mes.getActiveSegment('Dressings
Inc\California\Raw Materials\Unload Station 1', 'Unload
Balsamic Vinegar')
seg.setMaterial('Vinegar', 'Balsamic Vinegar', 'Dressings
Inc\California\Raw Materials\Tank Farm\Vinegar Tank 2', 'TBV
1128', 100.0)
seg.update()
Description
Get the response segment for the specified operation at the equipment path with the given
segment name.
Syntax
Parameters
2500
MES Platform 2.0
Code Examples
Code Snippet
operationsResponseUUID = 'a446eea5-d451-4d8f-aac0-60e02672a193'
operationsResponse=system.mes.loadMESObject
(operationsResponseUUID)
segmentName = 'Sugar-Nuts Unlimited:Site 1:Area:Line 1'
path = '[global]\Nuts Unlimited\Site 1\Area\Line 1'
seg=system.mes.getActiveSegment(operationsResponseUUID, path,
segmentName)
print seg
Output
Description
Get the response segment for the operation at the specified equipment path with the given
segment name.
2501
MES Platform 2.0
Syntax
system.mes.getActiveSegment(operationsResponseUUID, equipmentPath,
segmentName)
Parameters
String operationsResponseUUID - The UUID of the operations response object that is
associated with the segment to return.
String equipmentPath - The path of the equipment that is running an operation and
specified segment.
String segmentName - The name of the segment to return.
Returns
The matching MESResponseSegment object.
Scope
All
Code Examples
Code Snippet
operationsResponseUUID = '7a4b2168-1d34-4944-96f5-edc0be02ce32'
path = '[global]\Nuts Unlimited\Site 1\Area\Line 1'
segmentName = 'Sugar-Nuts Unlimited:Site 1:Area:Line 1'
seg=system.mes.getActiveSegment(operationsResponseUUID, path,
segmentName)
seg.end()
system.mes.getAvailableOperations
Description
2502
MES Platform 2.0
Get a list of the available operations that can be executed on the equipment specified by
the equipmentPath parameter.
Syntax
system.mes.getAvailableOperations(equipmentPath, searchPattern,
onlyMatchingSegements, onlyProductionVisible)
Parameters
String equipmentPath - Equipment path of the equipment to return available operations for.
String searchPattern - The search pattern to filter the results by. It can contain the * and ?
wild card characters.
Boolean onlyMatchingSegments - If true, only return operations that have a segment with a
matching name. This is used to make a single selection instead of having to select and
operation and then a segment.
Boolean onlyProductionVisible.
Returns
A list of available operations. A MESList object is returned that is a collection holding MES
object links that represent operations.
Scope
All
Code Examples
Code Snippet
2503
MES Platform 2.0
system.mes.getAvailableReferenceOptions
Description
Get a list of the available options for the specified MES reference property specified in by
the property parameter.
Syntax
system.mes.getAvailableReferenceOptions(mesObject, propertyPath,
MESObjectTypeName, nameFilter, onlyDefinitionTypes, maxLotReturnCount,
lotNameFilter )
Parameters
AbstractMESObject mesobject -The AbstractMESObject for which the available options.
String propertyPath - The name or property path of the property.
String MES Object Type Name - The type of MES object types to return. See MES Object
Type Name for more details.
String nameFilter - A filter that limits the results to the specified type.
Boolean onlyDefinitionTypes - If True, returns only the definition types.
Integer maxLotReturnCount - The maximum number of lots.
String lotNameFilter - The lot name filter used to filter the results.
Returns
A list of MES Object Link objects holding the options that are appropriate for the specified
property. The list is returned as a MES List object that is a collection holding MES object
links that represent the options.
Scope
All
Code Examples
Code Snippet
2504
MES Platform 2.0
system.mes.getAvailableSegments
Description
Get a list of the available segments that can be executed for the specified operation
response object.
Syntax
Parameters
MESOperationsResponse operationsResponse - The MES object that the segments are
defined in.
String searchPattern - The search pattern to filter the results by. It can contain the * and ?
wild card characters.
Returns
A list of available segments. The list is returned as a MESList object that is a collection
holding MESObjectLinks for each segment object.
Scope
All
Code Examples
Code Snippet
2505
MES Platform 2.0
Output
Receive Material
system.mes.getCountValue
Description
Syntax
Parameters
String equipmentPath - Equipment path of the equipment to return the current operation
response for.
String counterName - The name of the MES counter to return the value for.
Date fromDate - The starting date to base the count value.
Date toDate - The ending date to base the count value.
Returns
The MES count value.
Scope
All
2506
MES Platform 2.0
Code Examples
Code Snippet
begin = Calendar.getInstance()
begin.add(Calendar.DAY_OF_MONTH, 1)
start = begin.getTime()
end = Calendar.getInstance()
end.add(Calendar.MONTH, -1)
finish = end.getTime()
print system.mes.getCountValue('[global]\My
Enterprise\California\Storage\Vinegar Tanks\Vinegar Tank 1', 'A
BC', start, finish)
Output
1000
system.mes.getCurrentEquipmentStates
Description
Syntax
system.mes.getCurrentEquipmentStates(equipmentPathFilter)
Parameters
String equipmentPathFilter - The filter value, including * and ? wildcard characters, to filter
results by the equipment path.
Returns
Map<String, EquipmentState> - A map containing the equipment path in the key and the
EquipmentState object in the value. See EquipmentState object documentation for details.
2507
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
print system.mes.getCurrentEquipmentStates('Enterprise\San
Marcos*')
Output
system.mes.getCurrentOperation
Description
Get the current operations response that is currently running for the equipment specified by
the equipmentPath parameter.
Syntax
2508
MES Platform 2.0
system.mes.getCurrentOperation( equipmentPath )
Parameters
String equipmentPath - Equipment path of the equipment to return the current operation
response for.
Returns
The current MESOperationsResponse object for the specified equipment.
Scope
All
Code Examples
Code Snippet
Output
OperationsResponse (b4532162-ff22-4405-b22a-8436f5c501d3,
Package Nuts, 0 parents, 0 children, 0 custom properties, 1
complex properties)
system.mes.getCurrentOperations
Description
Get the current operations response objects that is currently running for the equipment
specified by the equipmentPath parameter.
Syntax
2509
MES Platform 2.0
system.mes.getCurrentOperations(equipmentPath)
Parameters
String equipmentPath - Equipment path of the equipment to return the current operations
response objects for.
Returns
A MESObjectList object that holds a collections operations response objects that are
currently active for the equipment.
Scope
All
Code Examples
Code Snippet
Output
system.mes.getCurrentSegments
Description
Get the currently executing response segments for the specified equipment.
2510
MES Platform 2.0
Syntax
system.mes.getCurrentSegments( equipmentPath )
Parameters
String equipmentPath - The path of the equipment to return the currently executing
response segments.
Returns
A list of the currently executing response segments for the equipment specified by the
equipmentPath parameter. The list is returned as a MESList object that is a collection
holding MESObjectLinks for each segment object.
Scope
All
Code Examples
Code Snippet
system.mes.getDependencies
Description
Get MES object links of all objects the depend on the specified object.
Syntax
system.mes.getDependencies( mesObject )
Parameters
2511
MES Platform 2.0
Code Examples
Code Snippet
system.mes.getEquipmentModeHistory
Description
Syntax
system.mes.getEquipmentModeHistory(equipmentPath, beginDateTime,
endDateTime, includeChildren)
Parameters
String equipmentPath - The path of equipment to return the mode history for.
2512
MES Platform 2.0
Code Examples
Code Snippet
Output
None
Enterprise\San Marcos\MP Rotator\Test Line 1
Fri Mar 17 15:13:31 PDT 2017
Mon Mar 27 15:10:56 PDT 2017
Production [PRODUCTION]
14397.4166667
0
Enterprise\San Marcos\MP Rotator\Test Line 1\New Cell
Fri Mar 17 15:13:31 PDT 2017
Mon Mar 27 15:10:56 PDT 2017
Production [PRODUCTION]
14397.4166667
2513
MES Platform 2.0
system.mes.getEquipmentModeOptions
Description
Syntax
system.mes.getEquipmentModeOptions(equipmentPath, modeTypeFilter)
Parameters
String equipmentPath - The path of equipment to return the modes for.
String modeTypeFilter - The equipment mode type filter.
Returns
MESObjectList - A MESObjectList object containing MESEquipmentMode objects.
Scope
All
Mode Filters
Valid default values for the modeTypeFilter parameter are...
'Unknown'
'Production'
'Idle'
'Changeover'
'Maintenance'
'Other'
'Disabled'
... as well as any custom modes you create.
Code Examples
2514
MES Platform 2.0
Code Snippet
newData = []
hdr = ['equipPath', 'Name', 'Code', 'Type']
if equipPath != '':
data = system.mes.getEquipmentModeOptions(equipPath, "")
for item in data:
modeName = item.getName()
modeCode = item.getModeCode()
modeType = item.getModeTypeName()
newData.append([equipPath, modeName, modeCode,
modeType])
Output
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Maintenance
3
Maintenance
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Changeover
2
Changeover
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Disabled
0
Disabled
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Production
1
Production
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Other
4
Other
2515
MES Platform 2.0
system.mes.getEquipmentScheduleEntries
Description
Return entries that have been scheduled for an equipment path. The script function returns
an MESList object containing MESScheduleEntry objects.
Info
The function requires an additional argument on the Gateway script which is the name
of the project.
Syntax
Parameters
String equipmentPath - The path for the equipment to return the schedule entries for.
Date beginDate - The beginning date of schedule entries to include in the results.
Date endDate - The ending date of schedule entries to include in the results.
String categoryFilter - The schedule entry categories to include in the results. Multiple
schedule categories can be included by separating them with commas.
Boolean includeProgress - If true, each schedule entry will include progress details. Note,
this requires more overhead and should only be used if necessary.
Returns
MESList<MESScheduleEntry> - A list containing MESScheduleEntry objects. Each
MESScheduleEntry object contains the links to the operations schedule, operations
request, operations response (if one exists) and more schedule details. See
MESScheduleEntry in the MES help documentation for more information.
Scope
All
2516
MES Platform 2.0
Code Examples
Code Snippet
if item.hasMESOperationsResponseLink():
print item.getMESOperationsResponseLink()
print '\n'
Output
Size 3
2017-04-14 11:23:00.0
(type: Operations Schedule, uuid: 8689710a-71aa-4c1e-8a9a-
50205d34568f)
PC01-Enterprise:Site:Area:Line 1 ; Operations Request
2017-04-14 12:23:01.0
(type: Operations Schedule, uuid: d4769a8b-e884-430f-a5c0-
616fbf8201f5)
PC02-Enterprise:Site:Area:Line 1 ; Operations Request
2017-04-18 06:45:07.0
(type: Operations Schedule, uuid: 0d1d07bc-2da5-4585-8c91-
988c95b36281)
PC01-Enterprise:Site:Area:Line 1 ; Operations Request
2517
MES Platform 2.0
Overview
These script functions returns equipment state history .
Method Options
system.mes.getEquipmentStateHistory(equipmentPath, beginDateTime, endDateTime,
stateTypeFilter, rollupTimeSpan, runLookBackCount)
Description
Syntax
system.mes.getEquipmentStateHistory(equipmentPath, beginDateTime,
endDateTime, stateTypeFilter, rollupTimeSpan, runLookBackCount)
Parameters
String equipmentPath - The path of equipment to return the state history for.
Date beginDateTime - The begin date time.
Date endDateTime - The end date time.
String stateTypeFilter - The equipment state type filter.
Integer rollupTimeSpan - The rollup time span in seconds.
Integer runLookBackCount - The number of runs to return downtime events for within the
selected date range. Set to 0 to return all runs within the date range. Set to 1 to return only
the current or most recent run.
Returns
Dataset - A dataset containing the equipment state history.
Scope
All
Code Examples
2518
MES Platform 2.0
Code Snippet
Output
[Line State Event Begin, Line State Event End, Line State
Duration, Line Downtime Equipment Path, Line Downtime
Equipment Name, Line Downtime Reason, Line Downtime Reason
Path, Equipment Note, Line State Value, Line Downtime State
Time Stamp, Line Downtime Reason Split, Line Downtime Event
Sequence, Line Downtime Occurrence Count, Line State Override
Type, Line State Override Scope]
Description
Syntax
system.mes.getEquipmentStateHistory(equipmentPath, beginDateTime,
endDateTime, includeChildren)
2519
MES Platform 2.0
Parameters
String equipmentPath - The path of equipment to return the state history for.
Date beginDateTime - The begin date time.
Date endDateTime - The end date time.
Boolean includeChildren - If true, include state history for children.
Returns
Dataset - A dataset containing the equipment state history.
Note that the Line State Object column is an MES Object, and thus this dataset
cannot be simply dumped into a table.
Scope
All
Code Examples
Code Snippet
Output
system.mes.getEquipmentStateOptions
2520
MES Platform 2.0
system.mes.getEquipmentStateOptions
Description
Syntax
Parameters
String equipmentPath - The path of equipment to return the states for.
String parentUUID - The UUID of the parent equipment.
String stateTypeFilter - The equipment state type filter.
Returns
MESObjectList - A MESObjectList object containing MESEquipmentState or
MESEquipmentStateClass objects.
Scope
All
State Filter
Valid default options for the State filter parameter are...'Unknown'
'Unplanned Downtime'
'Planned Downtime'
'Blocked'
'Starved'
'Running'
'Idle'
'Disabled'
... and any custom states that you have created.
Code Examples
2521
MES Platform 2.0
Code Snippet
if equipPath != '':
data = system.mes.getEquipmentStateOptions(equipPath, "", "
")
for item in data:
stateName = item.getName()
if item.getMESObjectType().getName() == 'EquipmentState
Class':
pass
else:
stateCode = item.getStateCode()
stateType = item.getStateTypeName()
newData.append([equipPath, stateName, stateCode,
stateType])
Output
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Unplanned Downtime
3
Unplanned Downtime
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Planned Downtime
4
Planned Downtime
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Idle
2
Idle
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Blocked
5
Blocked
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Disabled
0
Disabled
2522
MES Platform 2.0
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Running
1
Running
[global]\Nuts Unlimited\Folsom\Receiving\Line 1
Starved
6
Starved
system.mes.getInventory
Description
Syntax
system.mes.getInventory(mesLotFilter)
Parameters
MESLotFilter mesLotFilter - A MESLotFilter object containing the filter criteria to return lot
information for. See MESLotFilter object in the MES documentation for more information.
Returns
Dataset containing the lot results.
Scope
All
Code Examples
Code Snippet
filter = system.mes.lot.filter.createFilter()
filter.setIncludeActiveLots(True)
dataSet = system.mes.getInventory(filter)
pds = system.dataset.toPyDataSet(dataSet)
2523
MES Platform 2.0
value = pds[0][12]
print value
Output
system.mes.getLotInfoByName
Description
Get lot information including custom properties and sublots that belong to the lot.
Syntax
Parameters
String lotName - The lot name to return details for.
Boolean includeSublots - If true, include sublot that belong to the lot.
Boolean includeCustomProperties - If true, include custom properties for the lot, and if
included, the sublots.
Returns
A dataset containing a row for each lot. If sublot are included, they reside in a dataset
embedded in a column of the lot row. If custom properties are included, they will reside in a
dataset embedded in a column of the lot or sublot rows.
Scope
All
Code Examples
2524
MES Platform 2.0
Code Snippet
#Get all of the information for material lots with a given name
ds = system.mes.getLotInfoByName('0000000073', False, True)
print
print 'Custom property values:'
Output
2525
MES Platform 2.0
LotName
LotSequence
LotDescription
LotEnabled
LotAssembly
LotStatus
LotAvailability
LotUnits
MaterialUUID
MaterialName
MaterialDescription
MaterialEnabled
EquipmentUUID
EquipmentName
EquipmentDescription
EquipmentPath
EquipmentEnabled
CustomProperties
Available columns to access custom property information:
MESPropertyUUID
ParentMESPropertyUUID
Name
Description
Value
ValueUnits
ValueDataType
Enable
Required
ProductionVisible
Custom property values:
Available columns to access custom property information:
MESPropertyUUID
ParentMESPropetyUUID
Name
Description
Value
ValueUnits
ValueDataType
Enable
Required
ProductionVisible
Custom property values:
system.mes.getLotInfoByUUID
Description
2526
MES Platform 2.0
Get lot information including custom properties and sublots that belong to the lot.
Syntax
Parameters
String lotUUID - The lot UUID to return details for.
Boolean includeSublots - If true, include sublot that belong to the lot.
Boolean includeCustomProperties - If true, include custom properties for the lot, and if
included, the sublots.
Returns
A dataset containing a row for each lot. If sublot are included, they reside in a dataset
embedded in a column of the lot row. If custom properties are included, they will reside in a
dataset embedded in a column of the lot or sublot rows.
Scope
All
Code Examples
Code Snippet
#This Code Snippet will return the details about the Lot
lotInfo = system.mes.getLotInfoByUUID('1a62bcf0-e80d-4319-9efc-
6f82409057f6', True, True)
Overview
These script functions are used to get all lots currently available at the specified equipment.
Method Options
2527
MES Platform 2.0
system.mes.getLotInventoryByEquipment(equipmentUUID,
excludeScheduledRequestSegmentUUID)
Description
Syntax
system.mes.getLotInventoryByEquipment(equipmentUUID,
excludeScheduledRequestSegmentUUID)
Parameters
String equipmentUUID - The UUID of the equipment to return the available lot details for.
String excludeScheduledRequestSegmentUUID - Optionally, this is a UUID of a request
segment to exclude from the results.
Returns
A list containing information about each lot in the specified equipment. The list is returned
as a MESLotQuantitySummaryList object that is a collection holding
MESLotQuantitySummaryItem with details for each lot. See MES Lot Quantity Summary
List and MES Lot Quantity Summary Item in the MES documentation for more details.
Scope
All
system.mes.getLotInventoryByEquipment(equipmentPath)
Description
Syntax
system.mes.getLotInventoryByEquipment( equipmentPath)
Parameters
2528
MES Platform 2.0
String equipmentPath - Equipment path of the equipment to return the current operation
response for.
Returns
A list containing information about each lot in the specified equipment. The list is returned
as a MESLotQuantitySummaryList object that is a collection holding
MESLotQuantitySummaryItem with details for each lot. See MES Lot Quantity Summary
List and MES Lot Quantity Summary Item in the MES documentation for more details.
Scope
All
Description
Syntax
Parameters
String equipmentPath - Equipment path of the equipment to return the current operation
response for.
String lotNumberFilter- Custom lot number to filter results.
String lotStatusFilter - Custom lot status value to filter results.
Returns
A list containing information about each lot in the specified equipment. The list is returned
as a MESLotQuantitySummaryList object that is a collection holding
MESLotQuantitySummaryItem with details for each lot. See MES Lot Quantity Summary
List and MES Lot Quantity Summary Item in the MES documentation for more details.
Scope
All
2529
MES Platform 2.0
Code Examples
Code Snippet
lotInventory = system.mes.getLotInventoryByEquipment('[global]
\Turkeys\Folsom\Packaging\Packaging Line 1\Checkweigher', 'V100
0', 'Good')
for lotSummary in lotInventory:
lotUUID = lotSummary.getMaterialLotUUID()
lotNo = lotSummary.getLotNumber()
lotSeq = lotSummary.getLotSequence()
matUUID = lotSummary.getMaterialUUID()
matName = lotSummary.getMaterialName()
matDescription = lotSummary.getMaterialDescription()
inQuant = lotSummary.getInQuantity()
outQuant = lotSummary.getOutQuantity()
schedule = lotSummary.getScheduled()
available = lotSummary.getAvailable()
netQuant = lotSummary.getNetQuantity()
units = lotSummary.getUnits()
locationLink = lotSummary.getLocationLink()
print "lot uuid: %s, lot number: %s, lot sequence: %d,
material UUID: %s, material name: %s, material Description: %
s, In Quantity: %f, Out Quantity: %f, schedule: %f, available:
%f, net quantity: %f, units: %s, locationLink: %s" % (lotUUID,
lotNo, lotSeq, matUUID, matName, matDescription, inQuant,
outQuant, schedule, available, netQuant, units, locationLink)
if lotInventory!= None:
netQuant = lotInventory.getNetQuantitySum()
inQuant = lotInventory.getInQuantitySum()
outQuant = lotInventory.getOutQuantitySum()
schedule = lotInventory.getScheduledSum()
print " Net Quantity Sum: %f\n In Quantity Sum: %f\n
Out Quantity Sum: %f\n Scheduled Sum:%f" % (netQuant, inQuant,
outQuant, schedule)
Output
2530
MES Platform 2.0
Overview
These script functions are used to get the information about a specific lot.
2531
MES Platform 2.0
Method Options
system.mes.getLotInventoryByLot(materialLotUUID, excludeResponseMaterialUUID)
Description
Syntax
system.mes.getLotInventoryByLot(materialLotUUID, excludeResponseMaterialUUID)
Parameters
String materialLotUUID - The UUID of the material lot object to return the available lot
details for.
String excludeResponseMaterialUUID - Optionally, this is a UUID of a response material
property to exclude from the results.
Returns
A list containing information about each lot. The list is returned as a
MESLotQuantitySummaryList object that is a collection holding MES Lot Quantity
Summary Item with details for each lot. See MES Lot Quantity Summary List and MES Lot
Quantity Summary Item in the MES documentation for more details.
Scope
All
Code Examples
Code Snippet
system.mes.getLotInventoryByLot(lotNumber, sequenceNumber)
2532
MES Platform 2.0
Description
Syntax
system.mes.getLotInventoryByLot(lotNumber, sequenceNumber)
Parameters
String lotNumber - The Number of the material lot object to return the available lot details
for.
Integer sequenceNumber - The lot sequence number to return the material lot object for. If
it is less than zero, then the lot holding the maximum value is returned and if the same lot
number is used for multiple segments, each lot with the same lot number will be assigned a
different lot sequence number.
Returns
A list containing information about each lot. The list is returned as a MES Lot Quantity
Summary List object that is a collection holding MES Lot Quantity Summary Item with
details for each lot. See MESLotQuantitySummaryList and MES Lot Quantity Summary
Item in the MES documentation for more details.
Scope
All
Code Examples
Code Snippet
system.mes.getLotInventoryByLot(lotNumber)
Description
2533
MES Platform 2.0
Syntax
system.mes.getLotInventoryByLot(lotNumber)
Parameters
String lotNumber - The Number of the material lot object to return the available lot details
for.
Returns
A list containing information about each lot. The list is returned as a MES Lot Quantity
Summary List object that is a collection holding MES Lot Quantity Summary Item with
details for each lot. See MESLotQuantitySummaryList and MES Lot Quantity Summary
Item in the MES documentation for more details.
Scope
All
Code Examples
Code Snippet
system.mes.getLotList
Description
Get list of material lots based on the settings in the mesLotFilter parameter.
Syntax
2534
MES Platform 2.0
system.mes.getLotList(mesLotFilter)
Parameters
MESLotFilter mesLotFilter - The MES object with filter criteria to specify the material lots to
return.
Returns
A list of links representing the matching material lots. The list is returned as a MESList
object that is a collection holding MESObjectLinks for each MESMaterialLot object.
Scope
All
Code Examples
Code Snippet
filter = system.mes.lot.filter.createFilter()
filter.setModeName('LOT')
filter.setIncludeInactiveLots(True)
beginCal = Calendar.getInstance()
beginCal.add(Calendar.DAY_OF_MONTH, -30)
filter.setBeginDateTime(beginCal)
endCal = Calendar.getInstance()
filter.setEndDateTime(endCal)
results = system.mes.getLotList(filter)
for link in results:
print link.getName()
Output
Lot 1111
Lot 1234
2535
MES Platform 2.0
Object Description
The MESLotFilter object is used to help when searching for lots or sublots and is required
for certain script methods. Lot or sublot search results can be limited by using the
MESLotFilter properties to narrow down the MES lots to return when using the system.mes.
getLotList script function.
Scripting Functions
The following function can be used to create MESLotFilter.
system.mes.lot.filter.createFilter()
Description
Returns a new instance of a MESLotFilter object for that properties can be set on. This
is typically used when a script function requires a MESLotFilter object as a parameter.
Syntax
system.mes.lot.filter.createFilter()
Parameters
None
Returns
A new instance of a MESLotFilter object.
Code Snippet
2536
MES Platform 2.0
Example
If the MESLotFilter was not provided, then each option would have to be passed as a
parameter in the system.mes.getLotList method. There are over a dozen options to filter lot
on. This would make it very difficult to use because the line of script would look something
like the following:
Code Example 1
Code Example 2
The second example is the supported method and is much more readable.
Methods
The following methods exist for the MES Lot Filter Object.
getBeginDateTime()
Description
Get the beginning date and time to limit the results to return.
Syntax
getBeginDateTime()
2537
MES Platform 2.0
Parameters
None
Returns
Calendar The beginning date and time to filter results.
Info
Custom Property Value Filter
Description
The results can be limited to only include items that have a custom property
expressions defined by this property that evaluates to true.Example Kind > 3.
getCustomPropertyValueFilter()
Description
Syntax
getCustomPropertyValueFilter()
Parameters
None
Returns
List of MES Property Value Filter - The custom property value filter containing
information about MESObjectTypes, propertyPath, etc .
getEndDateTime()
Description
2538
MES Platform 2.0
Get the ending date and time to limit the results to return.
Syntax
getEndDateTime()
Parameters
None
Returns
Calendar The ending date and time to filter results.
getLotEquipmentClassFilter()
Description
Get the lot equipment class filter used to filter the results.
Syntax
getLotEquipmentClassFilter()
Parameters
None
Returns
String The lot equipment class filter.
getLotEquipmentNameFilter()
Description
Get the lot equipment name filter used to filter the results.
Syntax
2539
MES Platform 2.0
getLotEquipmentNameFilter()
Parameters
None
Returns
String The lot equipment name filter.
getLotNameFilter()
Description
Syntax
getLotNameFilter()
Parameters
None
Returns
String The lot name filter.
getLotStatusFilter()
Description
Syntax
getLotStatusFilter()
Parameters
None
2540
MES Platform 2.0
Returns
String - The custom lot status value.
getMaterialClassFilter()
Description
Syntax
getMaterialClassFilter()
Parameters
None
Returns
String The material class filter.
getMaterialNameFilter()
Description
Syntax
getMaterialNameFilter()
Parameters
None
Returns
String The material name filter.
getMaxResults()
2541
MES Platform 2.0
Description
Syntax
getMaxResults()
Parameters
None
Returns
Integer The maximum number of items to return.
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
print filter.getMaxResults()
Output
100
getModeName()
Description
Get the type of results to return. It can be return results for lots (batches) of material or
serialized items (sublots).
2542
MES Platform 2.0
Syntax
getModeName()
Parameters
None
Returns
String Name - The name of the type of results to return.
Code Examples
Code Snippet
Output
LOT
getOperationNameFilter()
Description
Syntax
getOperationNameFilter()
Parameters
None
Returns
2543
MES Platform 2.0
getPersonnelClassFilter()
Description
Syntax
getPersonnelClassFilter()
Parameters
None
Returns
String The personnel class filter.
getPersonnelNameFilter()
Description
Syntax
getPersonnelNameFilter()
Parameters
None
Returns
String The P ersonnelNameFilter.
getSegmentEquipmentClassFilter()
2544
MES Platform 2.0
Description
Get the segment equipment class filter used to filter the results.
Syntax
getSegmentEquipmentClassFilter()
Parameters
None
Returns
String The segment equipment class filter.
getSegmentEquipmentNameFilter()
Description
Get the segment equipment name filter used to filter the results.
Syntax
getSegmentEquipmentNameFilter()
Parameters
None
Returns
String The lot equipment name filter.
getSegmentNameFilter()
Description
2545
MES Platform 2.0
Syntax
getSegmentNameFilter()
Parameters
None
Returns
String The segment name filter.
getSublotNameFilter()
Description
Syntax
getSublotNameFilter()
Parameters
None
Returns
String The sublot name filter.
hasCustomPropertyValuefilter()
Description
Checks to see if a custom property value filter exists for the given lot.
Syntax
hasCustomPropertyValuefilter()
Parameters
2546
MES Platform 2.0
None
Returns
True, if there exist a custom property value filter .
Scope
All
includeActiveLots()
Description
If True, lots or sublots currently being processed will be included in the results.
Syntax
includeActiveLots()
Parameters
None
Returns
Boolean If True, active lots will be return in the results.
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.includeInactiveLots()
includeInactiveLots()
Description
2547
MES Platform 2.0
If True, lots or sublots that are complete will be included in the results.
Syntax
includeInactiveLots()
Parameters
None
Returns
Boolean - If True, completed lots will be return in the results.
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.includeInactiveLots()
setBeginDateTime(beginDateTime)
Description
Set the beginning date and time to limit results to return. This applies to lots or sublots
that are completed or have a custom lot status.
Syntax
setBeginDateTime(beginDateTime)
Parameters
Calendar beginDateTime - Beginning date and time to filter results.
Returns
Nothing
2548
MES Platform 2.0
Code Examples
Code Snippet
#Example
from java.util import Calendar
filter = system.mes.lot.filter.createFilter()
begin = Calendar.getInstance()
begin.add(Calendar.MONTH, -1)
filter.setBeginDateTime(begin)
setCustomPropertyValueFilter(customPropertyValueFilter)
Description
Set the custom property filter expressions to filter the results. If a custom property of a
MES object matches an expression in this list, then it will be included in the results.
Use system.mes.object.filter.parseCustomPropertyValueFilter() script function to
create the list of MES Property Value Filter objects.
Syntax
setCustomPropertyValueFilter(customPropertyValueFilter)
Parameters
List of MES Property Value Filter customPropertyValueFilter - The custom property
value list to filter the results.
Returns
Nothing
Code Examples
Code Snippet
2549
MES Platform 2.0
filter = system.mes.object.filter.createFilter()
list = system.mes.object.filter.
parseCustomPropertyValueFilter('pH > 5.0,Width = 2.5')
filter.setCustomPropertyValueFilter(list)
setEndDateTime(endDateTime)
Description
Set the ending date and time to limit results to return. This applies to lots or sublots
that are completed or have a custom lot status.
Syntax
setEndDateTime(endDateTime)
Parameters
Calendar endDateTime - Ending date and time to filter results.
Returns
Nothing
Code Examples
Code Snippet
setIncludeActiveLots(includeActiveLots)
Description
2550
MES Platform 2.0
If set to True, lots or sublots that are actively being processed will be included in the
results.
Syntax
setIncludeActiveLots(includeActiveLots)
Parameters
Boolean includeActiveLots - If True, include active lots or sublots in results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setIncludeActiveLots(True)
setIncludeInactiveLots(includeInactiveLots)
Description
If set to True, lots or sublot that are completed will be included in the results.
Syntax
setIncludeInactiveLots(includeInactiveLots)
Parameters
Boolean includeActiveLots - If True, include completed lots or sublots in results.
Returns
2551
MES Platform 2.0
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setIncludeInactiveLots(True)
setLotEquipmentClassFilter(lotEquipmentClassFilter)
Description
Set the lot equipment class filter to include lots that were stored in the equipment that
belong to the equipment class that matches this property. It can contain wildcard
characters including * or ?. The * character can be any characters and the ? character
represents any single character.
Syntax
setLotEquipmentClassFilter(lotEquipmentClassFilter)
Parameters
String lotEquipmentClassFilter - The lot equipment class filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
2552
MES Platform 2.0
filter = system.mes.lot.filter.createFilter()
filter.setLotEquipmentClassFilter('Storage Tank')
setLotEquipmentNameFilter(lotEquipmentNameFilter)
Description
Set the lot equipment name filter to include lots that were stored in the equipment with
a name that matches this property. It can contain wildcard characters including * or ?.
The * character can be any characters and the ? character represents any single
character.
Syntax
setLotEquipmentNameFilter(lotEquipmentNameFilter)
Parameters
String lotEquipmentNameFilter - The lot equipment name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setLotEquipmentNameFilter('Vinegar Tank?')
setLotNameFilter(lotNameFilter)
Description
2553
MES Platform 2.0
Set the lot name to filter to include in the results. It can contain wildcard characters
including * or ?. The * character can be any characters and the ? character represents
any single character.
Syntax
setLotNameFilter(lotNameFilter)
Parameters
String lotNameFilter - The lot name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setLotNameFilter('V100*')
setLotStatusFilter(lotStatusFilter)
Description
Set the custom lot status of results to return. If the Final Lot Status property in a
resource definition of a Process Segment or Operations Segment is set to a custom lot
status, it can be filtered with this property.
Syntax
setLotStatusFilter(lotStatusFilter)
Parameters
2554
MES Platform 2.0
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setLotStatusFilter('Complete')
setMaterialClassFilter(materialClassFilter)
Description
Set the material class filter to include lots that have material that belong to the material
class that matches this property. It can contain wildcard characters including * or ?.
The * character can be any characters and the ? character represents any single
character.
Syntax
setMaterialClassFilter(materialClassFilter)
Parameters
String materialClassFilter - The material class filter used to filter the results.
Returns
Nothing
Code Examples
2555
MES Platform 2.0
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setMaterialClassFilter('* Vinegar')
setMaterialNameFilter(materialNameFilter)
Description
Set the material definition name filter to include lots that have material with a name
that matches this property. It can contain wildcard characters including * or ?. The *
character can be any characters and the ? character represents any single character.
Syntax
setMaterialNameFilter(materialNameFilter)
Parameters
String materialNameFilter - The material definition name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setMaterialNameFilter('* Turkey')
setMaxResults(maxResults)
Description
2556
MES Platform 2.0
Set the maximum results to return. This prevents a large list from being returned which
reduces database operations, memory usage and other resources when most of the
time, the results are not used. If large results are needed, then this property can be
increased.
Syntax
setMaxResults(maxResults)
Parameters
Integer maxResults - The maximum number of items to return.
Returns
Nothing
Code Examples
Code Snippet
Output
200
setModeName(modeName)
Description
Set the type of results to return. It can be return results for lots (batches) of material or
serialized items (sublots). Options are Lot and Sublot.
2557
MES Platform 2.0
Syntax
setModeName(modeName)
Parameters
String modeName - The name of the mode for the type of results to return.
Returns
Nothing
Code Examples
Code Snippet
setOperationNameFilter(operationNameFilter)
Description
Set the operation name filter to include lots that were processed by the operation with
a name that matches this property. It can contain wildcard characters including * or ?.
The * character can be any characters and the ? character represents any single
character.
Syntax
setOperationNameFilter(operationNameFilter)
Parameters
String operationNameFilter - The operation name filter used to filter the results.
Returns
Nothing
2558
MES Platform 2.0
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setOperationNameFilter('Receive*')
setPersonnelClassFilter(personnelClassFilter)
Description
Set the personnel class filter to include lots that were processed by personnel that
belong to the personnel class that matches this property. It can contain wildcard
characters including * or ?. The * character can be any characters and the ? character
represents any single character.
Syntax
setPersonnelClassFilter(personnelClassFilter)
Parameters
String personnelClassFilter - The personnel class filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setPersonnelClassFilter('Operator?')
2559
MES Platform 2.0
setPersonnelNameFilter(personnelNameFilter)
Description
Set the personnel name filter to include lots that were processed with a name that
matches this property. It can contain wildcard characters including * or ?. The *
character can be any characters and the ? character represents any single character.
Syntax
setPersonnelNameFilter(personnelNameFilter)
Parameters
String personnelNameFilter - The personnel name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setPersonnelNameFilter('Jo*')
setSegmentEquipmentClassFilter(segmentEquipmentClassFilter)
Description
Set the segment equipment class filter to include lots that were processed at the
equipment that belong to the equipment class that matches this property. It can
contain wildcard characters including * or ?. The * character can be any characters
and the ? character represents any single character.
2560
MES Platform 2.0
Syntax
setSegmentEquipmentClassFilter(segmentEquipmentClassFilter)
Parameters
String segmentEquipmentClassFilter - The segment equipment class filter used to filter
the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setSegmentEquipmentClassFilter('* Tank')
setSegmentEquipmentNameFilter(segmentEquipmentNameFilter)
Description
Set the segment equipment name filter to include lots that were processed at the
equipment with a name that matches this property. It can contain wildcard characters
including * or ?. The * character can be any characters and the ? character represents
any single character.
Syntax
setSegmentEquipmentNameFilter(segmentEquipmentNameFilter)
Parameters
String segmentEquipmentNameFilter - The segment equipment name filter used to
filter the results.
2561
MES Platform 2.0
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setSegmentEquipmentNameFilter('Vinegar*')
setSegmentNameFilter(segmentNameFilter)
Description
Set the segment name filter to include lots that were processed by the segment with a
name that matches this property. It can contain wildcard characters including * or ?.
The * character can be any characters and the ? character represents any single
character.
Syntax
setSegmentNameFilter(segmentNameFilter)
Parameters
String segmentNameFilter - The segment name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
2562
MES Platform 2.0
#Example
filter = system.mes.lot.filter.createFilter()
filter.setSegmentNameFilter('Receive*')
setSublotNameFilter(sublotNameFilter)
Description
Set the sublot name to filter to include in the results. It can contain wildcard characters
including * or ?. The * character can be any characters and the ? character represents
any single character.
Syntax
setSublotNameFilter(sublotNameFilter)
Parameters
String sublotNameFilter - The sublot name filter used to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Example
filter = system.mes.lot.filter.createFilter()
filter.setSublotNameFilter('BB 100?')
2563
MES Platform 2.0
Overview
These script functions are used to get lot trace details currently available at the specified lot
name.
Method Options
system.mes.getLotTraceByLotName(lotName, highlightSublotName)
Description
Syntax
system.mes.getLotTraceByLotName(lotName, highlightSublotName)
Parameters
String lotName - The lot name to return trace information for.
String highlightSublotName - Optionally, include the name of the sublot to highlight. If this
parameter is not blank, an additional column will be added and set to 1 if the specified
sublot is contained in a lot.
Returns
A dataset containing the trace results.
Scope
All
Code Examples
Code Snippet
2564
MES Platform 2.0
Description
Syntax
Code Examples
Code Snippet
2565
MES Platform 2.0
Overview
These script functions are used to get lot trace details currently available at the specified lot
UUID.
Method Options
system.mes.getLotTraceByLotUUID(lotUUID, highlightSublotName)
Description
Syntax
system.mes.getLotTraceByLotUUID(lotUUID, highlightSublotName)
Parameters
String lotUUID - The lot UUID to return trace information for.
String highlightSublotName - Optionally, include the name of the sublot to highlight. If this
parameter is not blank, an additional column will be added and set to 1 if the specified
sublot is contained in a lot.
Returns
A dataset containing the trace results.
Scope
All
Code Examples
Code Snippet
2566
MES Platform 2.0
Description
Syntax
Code Examples
Code Snippet
2567
MES Platform 2.0
Overview
These script functions are used to get lot trace details currently available at the specified sublot
name.
Method Options
system.mes.getLotTraceBySublotName(sublotName)
Description
Syntax
system.mes.getLotTraceBySublotName(sublotName)
Parameters
String sublotName - The sublot name to return trace information for.
Returns
A dataset containing the trace results.
Scope
All
Code Examples
Code Snippet
2568
MES Platform 2.0
Description
Syntax
Code Examples
Code Snippet
Overview
These script functions are used to get lot trace details currently available at the specified sublot
name.
2569
MES Platform 2.0
Method Options
system.mes.getLotTraceBySublotUUID(sublotUUID)
Description
Syntax
system.mes.getLotTraceBySublotUUID(sublotUUID)
Parameters
String sublotUUID - The UUID of the sublot to return trace information for.
Returns
A dataset containing the trace results.
Scope
All
Code Examples
Code Snippet
#This Code will return the dataset containing the trace results
getTrace = system.mes.getLotTraceBySublotUUID('1a62bcf0-e80d-
4319-9efc-6f82409057f6')
Description
2570
MES Platform 2.0
Syntax
Code Examples
Code Snippet
#This Code will return the dataset containing the trace results
getTrace = system.mes.getLotTraceBySublotUUID('1a62bcf0-e80d-
4319-9efc-6f82409057f6', 100, True)
system.mes.getMaterialLotNextAvailable
Description
Get a link the next available material lot object for the specified segment and material
property.
Syntax
2571
MES Platform 2.0
system.mes.getMaterialLotNextAvailable(responseSegment, materialPropertyName,
lotNamePattern)
Parameters
MESResponseSegment responseSegment - The mes object used when determining the
next available lot.
String materialPropertyName - The name of the material property to get next available lot.
String lotNamePattern - Optionally, this is a pattern to filter the lot names by when
determining the next available lot. Default lotNamePatterns are EquipmentName and
LotNumber.
Returns
A MES Object Link object representing to the next available lot.
Scope
All
Code Examples
Code Snippet
Output
Vinegar Tank 1
system.mes.getMESAnalysisSettingsList
Description
2572
MES Platform 2.0
Syntax
system.mes.getMESAnalysisSettingsList()
Parameters
None
Returns
List<String> - A list object containing strings of the stored analysis names.
Scope
All
Code Examples
Code Snippet
system.mes.getMESAnalysisSettingsList()
Output
[report]
system.mes.getMESDemoSupport
Description
Syntax
system.mes.getMESDemoSupport()
2573
MES Platform 2.0
Parameters
None
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.getMESDemoSupport()
system.mes.getMESObjectChildLinks
Description
Get the children of an MES object that is specified by the filter parameter.
Syntax
system.mes.getMESObjectChildLinks(filter )
Parameters
MESObjectFilter filter - The MES object containing criteria to select MES object to return
the children for.
Returns
A list of MES Object Link objects containing the children of the specified MES object.
Scope
All
2574
MES Platform 2.0
Code Examples
Code Snippet
filter = system.mes.object.filter.createFilter()
filter.setEnableStateName('ENABLED')
filter.setMESObjectTypeName('Equipment')
filter.setMESObjectNamePattern('Unload *')
system.mes.getMESObjectChildLinks(filter)
Base Object
The MES Object Filter is derived from the MESAbstractObject and inherits all the exposed
properties, methods and events for that object.
Scripting Functions
system.mes.object.filter.createFilter() can be used to create an MESObjectFilter
object
system.mes.object.filter.parseCustomPropertyValueFilter(filter) takes in an
MESObjectFilter object as a parameter
myMESObjectFilter = system.mes.object.filter.createFilter()
print myMESObjectFilter.getMESObjectTypeName()
Object Description
The MESObjectFilter object is used to specify the MES objects to return for various
components such as the MES Object Selector and script functions.
Methods
Beside the common MESAbstractObject methods, the following methods exist for the MES
Object Filter.
2575
MES Platform 2.0
getCustomPropertyNamePattern()
Description
Get the custom property name pattern used to filter the results.
Syntax
getCustomPropertyNamePattern()
Parameters
None
Returns
String The custom property name pattern.
getCustomPropertyValueFilter()
Description
Syntax
getCustomPropertyValueFilter()
Parameters
None
Returns
List of MESPropertyValueFilter - The custom property value list.
getEnabledStateName()
Description
2576
MES Platform 2.0
Syntax
getEnabledStateName()
Parameters
None
Returns
String name - The name of the enable state.
getMESObjectNamePattern()
Description
Get the MES object name pattern used to filter the results.
Syntax
getMESObjectNamePattern()
Parameters
None
Returns
String The MES object name pattern.
getMESObjectTypeName()
Description
Return the MES object type name the filter is set for.
Syntax
2577
MES Platform 2.0
getMESObjectTypeName()
Parameters
None
Returns
String The MES object type name.
getMESObjectTypes()
Description
Gets the MES object types associated with the specified MES object filter.
Syntax
getMESObjectTypes()
Parameters
None
Returns
MESObjectTypes - A list of mes object types associated with this filter.
Scope
All
getMESObjectUUIDList()
Description
Syntax
getMESObjectUUIDList()
Parameters
2578
MES Platform 2.0
None
Returns
List of String - A list of MES object UUIDs.
Code Snippet
filter = system.mes.object.filter.createFilter()
#Gets the list of uuid.
list = filter.getMESObjectUUIDList()
Addind another item to the list.
list.add('5253ccae-47b4-4dc2-954f-900ffa8636eb')
getPrimaryClassFilter()
Description
Syntax
getPrimaryClassFilter()
Parameters
None
Returns
The primary class filter which was previously defined to filter the results.
getPrimaryMESObjectPath()
Description
Gets the primary MES object path that was set to filter the results.
Syntax
2579
MES Platform 2.0
getPrimaryMESObjectPath()
Parameters
None
Returns
The primary MES object path to filter the results.
getPrimaryMESObjectUUID()
Description
Get the UUID of the primary MES object to include in the results.
Syntax
getPrimaryMESObjectUUID()
Parameters
None
Returns
String The primary MES object UUID.
hasCustomPropertyNamePattern()
Description
Syntax
hasCustomPropertyNamePattern()
Parameters
None
Returns
2580
MES Platform 2.0
boolean - True, if there exist a custom property name pattern and False otherwise.
Scope
All
hasCustomPropertyValueFilter()
Description
Syntax
hasCustomPropertyValueFilter()
Parameters
None
Returns
boolean - True, if there exist a custom property value filter and False otherwise.
Scope
All
hasMESObjectNamePattern()
Description
Syntax
hasMESObjectNamePattern()
Parameters
None
Returns
2581
MES Platform 2.0
boolean - True, if there exist an MES object name pattern and False otherwise.
Scope
All
hasMESObjectTypes()
Description
Checks whether there is any MES object type name to filter the results.
Syntax
hasMESObjectTypes()
Parameters
None
Returns
boolean - True, if there exist any MES object type defined to filter the results and False
otherwise.
Scope
All
hasMESObjectUUIDs()
Description
Syntax
hasMESObjectUUIDs()
Parameters
None
2582
MES Platform 2.0
Returns
boolean - True, if there exist some uuids to filter the results.
hasPrimaryClassFilter()
Description
Checks if there is any primary class filter associated with this MES object filter.
Syntax
hasPrimaryClassFilter()
Parameters
None
Returns
boolean - True, if there exist a primary class filter and False otherwise.
hasPrimaryMESObjectPath()
Description
Checks whether there is a primary MES object path to filter the results.
Syntax
hasPrimaryMESObjectPath()
Parameters
None
Returns
boolean - True, if there exist a primary MES object path and False otherwise.
hasPrimaryMESObjectUUID()
2583
MES Platform 2.0
Description
Checks for the existence of primary MES object uuid to filter the results.
Syntax
hasPrimaryMESObjectUUID()
Parameters
None
Returns
boolean - True, if there exist a primary MES object uuid and False otherwise.
isIncludeRelated()
Description
The results can be limited to only include the related items that is defined by this
property that evaluates to true.
Syntax
isIncludeRelated()
Parameters
None
Returns
boolean - True if the MES object include related items and False otherwise.
setCustomPropertyNamePattern(customPropertyNamePattern)
Description
2584
MES Platform 2.0
Set the custom property name pattern to filter the results. If a MES object contains a
custom property that matches the custom property name pattern, then it will be
included in the results.
Syntax
setCustomPropertyNamePattern(customPropertyNamePattern)
Parameters
String customPropertyNamePattern - The custom property name pattern used to filter
the results.
Returns
Nothing
Code Examples
Code Snippet
filter = system.mes.object.filter.createFilter()
filter.setCustomPropertyNamePattern('Type')
setCustomPropertyValueFilter(customPropertyValueFilter)
Description
Set the custom property filter expressions to filter the results. If a custom property of a
MES object matches an expression in this list, then it will be included in the results.
Use system.mes.object.filter.parseCustomPropertyValueFilter() script function to
create the list of MESPropertyValueFilter objects.
Syntax
setCustomPropertyValueFilter(customPropertyValueFilter)
2585
MES Platform 2.0
Parameters
List of MES Property Value Filter customPropertyValueFilter - The custom property
value list to filter the results.
Returns
Nothing
Code Examples
Code Snippet
#Create a filter.
filter = system.mes.object.filter.createFilter()
#Parses the expression and returns a list of
MESPropertyValueFilter objects that are used in filters.
list = system.mes.object.filter.
parseCustomPropertyValueFilter('pH > 5.0,Width = 2.5')
filter.setCustomPropertyValueFilter(list)
Code Examples
Code Snippet
filter = system.mes.object.filter.createFilter()
list = system.mes.object.filter.
parseCustomPropertyValueFilter('Item Number=A12SIK')
filter.setCustomPropertyValueFilter(list)
list = system.mes.searchMESObjects(filter)
for ndx in range(list.size()):
mesObject = list.get(ndx)
print mesObject.getName()
Output
84001
2586
MES Platform 2.0
setEnableStateName(name)
Description
Syntax
setEnableStateName(name)
Parameters
String name - The name of the enable state.
Returns
Nothing
Code Examples
Code Snippet
setIncludeRelated(includeRelated)
Description
2587
MES Platform 2.0
Syntax
setIncludeRelated(includeRelated)
Parameters
boolean includeRelated - Set this to True, if results should only include related objects
and set to False otherwise.
Returns
Nothing
setMESObjectNamePattern(mesObjectNamePattern)
Description
Set the MES object name pattern to include in the results. It can contain wildcard
characters including * or ?. The * character can be any characters and the ? character
represents any single character.
Syntax
setMESObjectNamePattern(mesObjectNamePattern)
Parameters
String mesObjectNamePattern - The MES object name pattern used to filter the
results.
Returns
Nothing
Code Examples
Code Snippet
#Create a filter.
filter = system.mes.object.filter.createFilter()
#Here is an example for setting the name pattern.
filter.setMESObjectNamePattern('*Turkey')
list = system.mes.searchMESObjects(filter)
2588
MES Platform 2.0
Output
setMESObjectTypeName(mesObjectTypeNames)
Description
Syntax
setMESObjectTypeName(mesObjectTypeNames)
Parameters
String name - Name of the MES object type to limit the results. Options are:
EquipmentClass, Equipment, Enterprise, Site, Area, Line, LineCell, LineCellGroup,
StorageZone, StorageUnit.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
2589
MES Platform 2.0
filter = system.mes.object.filter.createFilter()
#Name of MESObjectType is set to "EquipmentClass."
filter.setMESObjectTypeName('EquipmentClass')
setMESObjectTypes(mesObjectTypes)
Description
Syntax
setMESObjectTypes(mesObjectTypes)
Parameters
MESObjectTypes - The MES object types to set as filter.
Returns
Nothing
Scope
All
setMESObjectUUIDList(mesObjectUUIDList)
Description
Syntax
setMESObjectUUIDList(mesObjectUUIDList)
Parameters
List of String mesObjectUUIDList - The list of UUIDs to include in the results.
Returns
2590
MES Platform 2.0
Nothing
setPrimaryClassFilter(primaryClassFilter)
Description
The results can be limited to only include items that have a primary class filter defined
by this property that evaluates to true.
Syntax
setPrimaryClassFilter(primaryClassFilter)
Parameters
String primaryClassFilter - The primary class to filter the results.
Returns
Nothing
setPrimaryMESObjectPath(primaryMESObjectPath)
Description
Set the path of the primary MES object to include in the results.
Syntax
setPrimaryMESObjectPath(primaryMESObjectPath)
Parameters
String primaryMESObjectPath - The path of the primary MES object to include the
results.
Returns
Nothing
2591
MES Platform 2.0
setPrimaryMESObjectUUID(primaryMESObjectUUID)
Description
Set the UUID of the primary MES object to include in the results. Child MES objects
will also be included in the results.
Syntax
setPrimaryMESObjectUUID(primaryMESObjectUUID)
Parameters
String primaryMESObjectUUID - The UUID of the primary MES object to include the
results.
Returns
Nothing
Code Examples
Code Snippet
filter = system.mes.object.filter.createFilter()
filter.setPrimaryMESObjectUUID('73facb39-806c-4bfc-8881-
cc06707a9909')
Properties
The following properties are available for this object.
None
Overview
These script functions are used to retrieve MES object links.
Method Options
2592
MES Platform 2.0
Method Options
system.mes.getMESObjectLink(mesObjectTypeName, mesObjectUUID)
Description
Get a MESObjectLink for the specified by the name of the MES object type and UUID.
Syntax
system.mes.getMESObjectLink(MESObjectTypeName, mesObjectUUID)
Parameters
String MES Object Type Name - The name of MES object type of the link to return. See
MES Object Type Name for more details.
String mesObjectUUID - The UUID of the MES object to return the MES object link for.
Returns
A MES Object Link for the specified MES object type and UUID. The MES object type will
be looked up in the MES object cache or database. A MESObjectLink contains basic
information about the MES object without the overhead of the the full MES object.
Scope
All
Code Examples
Code Snippet
Output
Storage Tank
2593
MES Platform 2.0
system.mes.getMESObjectLink(mesObjectUUID)
Description
Syntax
system.mes.getMESObjectLink(mesObjectUUID)
Parameters
String mesObjectUUID - The UUID of the MES object to return the MES object link for.
Returns
A MESObjectLink for the specified MES object type and UUID. The MES object type will
be looked up in the MES object cache or database. A MESObjectLink contains basic
information about the MES object without the overhead of the the full MES object.
Scope
All
Code Examples
Code Snippet
print system.mes.getMESObjectLink(''a8a3771b-6330-423b-89fb-
b54b7933fe3e')
Output
Receive Steel
system.mes.getMESObjectLink(mesObjectType, mesObjectUUID)
2594
MES Platform 2.0
Description
Get a MESObjectLink for the specified MES object type and UUID.
Syntax
system.mes.getMESObjectLink(MESObjectType, mesObjectUUID)
Parameters
String mesObjectType - The MES object type name of the MES object link to return.
String mesObjectUUID - The UUID of the MES object to return the MES object link for.
Returns
A MES Object Link for the specified MES object type and UUID. The MES object type will
be looked up in the MES object cache or database. A MESObjectLink contains basic
information about the MES object without the overhead of the full MES object.
Scope
All
Code Examples
Code Snippet
Output
Receive Steel
system.mes.getMESObjectLinkByEquipmentPath
Description
2595
MES Platform 2.0
Syntax
system.mes.getMESObjectLinkByEquipmentPath(equipmentPath)
Parameters
String equipmentPath - The equipment path to return the MESObjectLink for the
associated MES object.
Returns
A MES Object Link object. It can be a link to one of the following MES object types
MESEnterprise, MESSite, MESArea, MESLine, MESLineCell, MESLineCellGroup,
MESStorageZone or MESStorageUnit. A MESObjectLink contains basic information about
the MES object without the overhead of the full MES object.
Scope
All
Code Examples
Code Snippet
system.mes.getMESObjectLinkByName
Description
Get a MES Object Link for the name of the MES object specified.
Syntax
2596
MES Platform 2.0
system.mes.getMESObjectLinkByName(mesObjectTypeName, mesObjectName)
Parameters
String MES Object Type Name - The MES object type to base the new instance. This can
be one of MES object types defined in MESObjectTypes. See MES Object Type Name for
more details.
String mesObjectName - Name of the MES object to get the link for.
Returns
MES Object Link object specified by the name of the MES object.
Scope
All
Code Examples
Code Snippet
system.mes.getNextMESObjectName
Description
Return the next available name. If the proposed name is already used, the next available
sequential number will be appended to the end.
Syntax
2597
MES Platform 2.0
String MES Object Type Name - The MES object type to generate the next name for.
Because names must be unique amount the category of MES object type, this is required.
See MES Object Type Name for more details.
String mesObjectUUID - When this script function is called for an existing MES object, this
is the UUID for it so that it will ignore duplicate name check with itself. Otherwise, just pass
an empty string.
String name - Proposed name to use.
Returns
Next available name.
Scope
All
Code Examples
Code Snippet
system.mes.getOperationProductionCount
Description
Return the production count for an operations response. The track production by setting
must be set to a valid material reference.
Syntax
system.mes.getOperationProductionCount(operationsResponseUUID)
Parameters
2598
MES Platform 2.0
Code Examples
Code Snippet
system.mes.getOperationProductionCount('fb613d7a-e8d0-40b8-
8fde-d84294444002')
Output
9.0
system.mes.getOperationSegments
Description
Get the segments that belong to the specified operations response. Note, for available
segments that an active operations response can run, use getAvailableSegments()
instead.
Syntax
system.mes.getOperationSegments(operationsLink, searchPattern)
Parameters
2599
MES Platform 2.0
Code Examples
Code Snippet
objLink = system.mes.object.link.create('OperationsDefinition',
'ec8fa61c-2dce-4499-870a-04ee6e778c15')
system.mes.getOperationSegments(objLink, 'Receive *')
system.mes.getProductionItemByEquipmentPath
Description
Syntax
system.mes.getProductionItemByEquipmentPath(equipmentPath)
Parameters
String equipmentPath - The path of the equipment to return the production item for.
Returns
2600
MES Platform 2.0
Code Examples
Code Snippet
Output
system.mes.getReferencedMESObjects
Description
Syntax
system.mes.getReferencedMESObjects(definitionMESLink)
Parameters
MES Object Link definitionMESLink - The MES object link as to which the referenced
objects are returned for.
Returns
MESList - The list is returned as a MESList object that is a collection holding
MESObjectLinks for each reference object.
Scope
2601
MES Platform 2.0
All
Code Examples
Code Snippet
system.mes.getScheduleOperations
Description
Get a list of MES object links for each operations request for the operations schedule
specified by the operationsScheduleUUID parameter.
Syntax
system.mes.getScheduleOperations(operationsScheduleUUID)
Parameters
String operationsScheduleUUID - The UUID of the operations schedule to return the
associated operations requests for.
Returns
A list containing links for each operations request. The list is returned as a MESList object
that is a collection holding MESObjectLinks for each operations request object.
Scope
All
Code Examples
2602
MES Platform 2.0
Code Snippet
Output
Receive Turkeys
system.mes.getSublotInfoByName
Description
Syntax
system.mes.getSublotInfoByName(sublotName, includeCustomProperties)
Parameters
String sublotName - The sublot name to return details for.
Boolean includeCustomProperties - If true, include custom properties for the sublot.
Returns
A dataset containing a row for each sublot. If custom properties are included, they will
reside in a dataset embedded in a column of the sublot row.
Scope
All
Code Examples
2603
MES Platform 2.0
Code Snippet
system.mes.getSublotInfoByUUID
Description
Syntax
Parameters
String sublotUUID - The UUID for the sublot to return details for.
Boolean includeCustomProperties - If true, include custom properties for the sublot.
Returns
A dataset containing a row for each sublot. If custom properties are included, they will
reside in a dataset embedded in a column of the sublot row.
Scope
All
Code Examples
Code Snippet
2604
MES Platform 2.0
system.mes.getTagCollectorDeltaValue
Description
Return the different between the values specified by the beginDateTime and endDateTime.
Only MES tag collectors that record numeric values support this functionality.
This script function works only with the Equipment Count tag collector type.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date beginDateTime - The starting date to include in the returned values.
Date endDateTime - The ending date to include in the returned values.
Returns
Object deltaValue - The difference between the value at the endDateTime and the value at
beginDateTime.
Scope
All
Code Examples
2605
MES Platform 2.0
Code Snippet
#Get the begin and end date from two Popup Calendar components
fromDate = event.source.parent.getComponent('Popup Calendar').
date
toDate = event.source.parent.getComponent('Popup Calendar 1').
date
value = system.mes.getTagCollectorDeltaValue(eqPath,
collectorType, key, fromDate, toDate)
Output
system.mes.getTagCollectorLastTimeStamp
Description
Returns the timestamp of the last value chronologically recorded by this MES tag collector.
This function is not supported for the 'Equipment Count' collector type
Syntax
2606
MES Platform 2.0
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Returns
Date lastTimeStamp - The timestamp of the last chronological recorded value.
Scope
All
Code Examples
Code Snippet
dateTime = system.date.now()
equipmentPath = '[global]\Enterprise\San Marcos\MP Rotator\MP
Rotator 1'
collectorType = 'Equipment Mode'
key = ''
system.mes.getTagCollectorLastTimeStamp(equipmentPath,
collectorType, key)
Output
2607
MES Platform 2.0
system.mes.getTagCollectorLastValue
Description
Return the last value chronologically recorded by this MES tag collector.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Returns
Object value - The last chronological recorded value.
Scope
All
Code Examples
Code Snippet
2608
MES Platform 2.0
Output
89
system.mes.getTagCollectorPreviousTimeStamp
Description
Return the timestamp of the value just previous to the specified date and time.
Syntax
system.mes.getTagCollectorPreviousTimeStamp(equipmentPath, collectorType,
key, dateTime)
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date dateTime - The date to start searching for the previous timestamp to return.
Returns
Date previousTimeStamp - The timestamp of the value just prior to the specified dateTime
value.
Scope
All
Code Examples
2609
MES Platform 2.0
Code Snippet
print system.mes.getTagCollectorPreviousTimeStamp
(equipmentPath, collectorType, key, dateTime)
Output
2017-03-20 15:13:31.0
system.mes.getTagCollectorPreviousValue
Description
Return the value just previous to the specified date and time.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
2610
MES Platform 2.0
Date dateTime - The date to start searching for the previous value to return.
Returns
Object value - The value just prior to the specified date and time.
Scope
All
Code Examples
Code Snippet
dateTime = system.date.now()
equipmentPath = '[global]\Enterprise\San Marcos\MP Rotator\MP
Rotator 1'
collectorType = 'Equipment Mode'
key = ''
print system.mes.getTagCollectorPreviousValue(equipmentPath,
collectorType, key, dateTime)
Output
Overview
These script functions are used to return a single value that has previously been recorded for
the MES tag collector.
The Equipment State tag collector has the following auxiliary values.
EquipmentUUID - The unique identifier for the equipment.
State - The current equipment state.
OriginalState - The original equipment state before it was updated.
DifferedToUUID - If the original EquipmentUUID is changed using the Downtime Table
then the new uuid is DifferedToUUID.
DifferedState - If the original state is changed using the Downtime Table then the new
state is DifferedState.
2611
MES Platform 2.0
Method Options
system.mes.getTagCollectorValue(equipmentPath, collectorType, key, dateTime)
Description
Return a single value that has previously been recorded for the MES tag collector.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date dateTime - The date of the value to return.
Returns
Object value - The single value recorded for the specified dateTime.
Scope
All
Code Examples
Code Snippet
2612
MES Platform 2.0
Output
Description
Return a single value that has previously been recorded for the MES tag collector.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String auxValueName - This specifies which auxiliary value to update. For example, the
Equipment State tag collector has an "OriginalState" auxiliary value. See Auxiliary value for
more information.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date dateTime - The date of the value to return.
Returns
2613
MES Platform 2.0
Object value - The single value recorded for the specified dateTime.
Scope
All
Code Examples
Code Snippet
Output
system.mes.getTagCollectorValues
Description
Syntax
2614
MES Platform 2.0
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date beginDateTime - The starting date of the values returned.
Date endDateTime - The ending date of the values returned.
Returns
Dataset values - A Dataset containing columns for the timestamps and the values withing
the specified date range.
Scope
All
Code Examples
Code Snippet
Output
2615
MES Platform 2.0
system.mes.hasDependencies
Description
Determine if a MES object has other MES objects that rely on it.
Syntax
system.mes.hasDependencies(mesObject)
Parameters
AbstractMESObject mesObject - An MES object to check if dependencies exists. See
AbstractMESObject object in the MES documentation.
Returns
True, if other MES object(s) depend on the specified object.
Scope
All
Code Examples
Code Snippet
2616
MES Platform 2.0
system.mes.importMESObjects
Description
Syntax
system.mes.importMESObjects(xml)
Parameters
String xml - An XML string value representing all MES objects to import.
Returns
A list of MES objects derived from the XML.
Scope
All
Code Examples
Sample Input
<?xml version="1.0"?>
<MESObjectList>
<MESObject MESObjectType="AnalysisSettings">
<CoreProperty name="UUID">028167c1-c8d5-4fcf-bafb-
1107acb9b498</CoreProperty>
<CoreProperty name="Name">ImportTest</CoreProperty>
<CoreProperty name="Enabled">true</CoreProperty>
<CoreProperty name="Creator">Unknown</CoreProperty>
<CoreProperty name="OwnerUserName">admin</CoreProperty>
<CoreProperty name="IsPublic">true</CoreProperty>
<CoreProperty name="DataPoints">Infeed-Material In,OEE
Infeed Count,Standard Count,OEE Performance</CoreProperty>
<CoreProperty name="Filter">Equipment Path =
'Enterprise\Site\Area\Line 1'</CoreProperty>
2617
MES Platform 2.0
<CoreProperty name="IncludeDrillDownOptions">true</Core
Property>
<CoreProperty name="SettingValues">Last Values=True</Co
reProperty>
<ComplexProperty kind="AnalysisSecurity" name="Administ
rator" uuid="765f70b0-911b-4146-9db2-35e259a1d8dd">
<ComplexMember name="CanExecute">true</ComplexMembe
r>
<ComplexMember name="CanModify">true</ComplexMember
>
</ComplexProperty>
</MESObject>
</MESObjectList>
Code Snippet
##This code will read the XML file and MES Objects listed in
it that are imported.
##Each object must be saved to be made manifest in the
system. This can be done
##individually or using the saveMESObjects() function with an
MES Object List input.
path = system.file.openFile("xml")
if path != None:
xml = system.file.readFileAsString(path)
MESObjectList = system.mes.importMESObjects(xml)
system.mes.saveMESObjects(MESObjectList)
system.mes.invalidateCache
Description
Clears the MES Object cache on the gateway causing MES Objects to be reloaded from
the database. For performance purposes, this script function should be used sparingly.
Syntax
system.mes.invalidateCache()
Parameters
None
2618
MES Platform 2.0
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.loadDisabledMESObject
Description
Syntax
system.mes.loadDisabledMESObject(name, mesObjectTypeName)
Parameters
String name - The name of the MES object.
String MES Object Type Name - The name of the type of MES object. See MES Object
Type Name for more details.
Returns
An Abstract mes object. (See AbstractMESObject object in the MES documentation).
Scope
All
2619
MES Platform 2.0
Code Examples
Code Snippet
Overview
These script functions are used to load a specific material lot.
Method Options
Description
Syntax
2620
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
Description
Syntax
2621
MES Platform 2.0
Code Examples
Code Snippet
Overview
These script functions are used to load the link to a specific material lot.
Method Options
Description
Syntax
2622
MES Platform 2.0
Returns
A MES Object Link object representing the material lot.
Scope
All
Code Examples
Code Snippet
Description
Syntax
2623
MES Platform 2.0
All
Code Examples
Code Snippet
Overview
These script functions are used to load the MES object.
Method Options
loadMESObject(mesObjectUUID)
Description
Syntax
system.mes.loadMESObject(mesObjectUUID)
Parameters
String mesObjectUUID - The UUID of the MES object which is its unique ID.
Returns
An AbstractMESObject object (See AbstractMESObject object in the MES documentation).
Scope
All
2624
MES Platform 2.0
Code Examples
Code Snippet
loadMESObject(name, mesObjectTypeName)
Description
Load and returns MES object based on the name and mesObjectTypeName parameters.
Syntax
system.mes.loadMESObject(name, mesObjectTypeName)
Parameters
String name - The name of the MES object.
String MES Object Type Name - The name of the type of MES object. See MES Object
Type Name for more details.
Returns
An AbstractMESObject object (See AbstractMESObject object in the MES documentation).
Scope
All
Code Examples
Code Snippet
#Get the MES object for a given name and MES object type.
obj = system.mes.loadMESObject('Box', 'MaterialDef')
2625
MES Platform 2.0
system.mes.loadMESObjectByEquipmentPath
Description
Syntax
system.mes.loadMESObjectByEquipmentPath(equipmentPath)
Parameters
String equipmentPath - The path of equipment object to load.
Returns
An AbstractMESObject object. It can be a MESEnterprise, MESSite, MESArea, MESLine,
MESLineCell, MESLineCellGroup, MESStorageZone or MESStorageUnit type of MES
object.
Scope
All
Code Examples
Code Snippet
obj = system.mes.loadMESObjectByEquipmentPath('[global]\My
Enterprise\California\Storage\Vinegar Tanks\Vinegar Tank 1')
print obj.getName()
Output
Vinegar Tank 1
2626
MES Platform 2.0
system.mes.loadMESObjects
Description
Returns a list MES objects based on the filters specified in the filter parameter.
Syntax
system.mes.loadMESObjects(filter)
Parameters
MESObjectfilter filter - A filter that limits the AbstractMESObject objects to return. (See
MES Object Filter object in the MES documentation).
Returns
A list of MES objects that match the specified filter.
Scope
All
Code Examples
Code Snippet
Output
Butterball Turkey
2627
MES Platform 2.0
Receive Turkeys
Move Turkeys
system.mes.loadSchedule
Description
Load and return a list of MES objects associated with the operation schedule specified by
the operationsScheduleUUID parameter.
Syntax
system.mes.loadSchedule(operationsScheduleUUID)
Parameters
String operationsScheduleUUID - The UUID of the operations schedule object to load.
Returns
A list containing the operations schedule and all associated operations requests and
request segments. The list is returned as a MESObjectList object that is a collection
holding MES objects.
Scope
All
Code Examples
Code Snippet
objList = system.mes.loadSchedule('ca6ecd0b-d78d-40d4-9e89-
41b5cf8e3f6b')
for ndx in range(objList.size()):
obj = objList.get(ndx)
print obj
2628
MES Platform 2.0
Output
system.mes.lot.filter.createFilter
Description
Returns a new instance of a MESLotFilter object for that properties can be set on. This is
typically used when a script function requires a MESLotFilter object as a parameter.
Syntax
system.mes.lot.filter.createFilter()
Parameters
None
Returns
A new instance of a MES Lot Filter object.
Code Snippet
filter = system.mes.lot.filter.createFilter()
filter.setModeName('LOT')
filter.setIncludeInactiveLots(True)
beginCal = Calendar.getInstance()
beginCal.add(Calendar.DAY_OF_MONTH, -30)
2629
MES Platform 2.0
filter.setBeginDateTime(beginCal)
endCal = Calendar.getInstance()
filter.setEndDateTime(endCal)
results = system.mes.getLotList(filter)
for link in results:
print link.getName()
system.mes.notifyEquipmentDataChanged
Description
When this is called, the MES analysis engine will check for new data from the last time
stamp in the cache to the current time.
Syntax
system.mes.notifyEquipmentDataChanged(equipmentPath)
Parameters
String equipmentPath - The required path to the equipment that cache will check for new
data.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.object
2630
MES Platform 2.0
system.mes.object
system.mes.object.filter.createFilter()
Description
Returns a new instance of a MESObjectFilter object for that properties can be set on. This
is typically used when a script function requires a MESObjectFilter object as a parameter.
Syntax
system.mes.object.filter.createFilter()
Parameters
None
Returns
MESObjectFilter - A new instance of a MESObjectFilter object.
Scope
All
Code Examples
Code Snippet
#Create a filter.
filter = system.mes.object.filter.createFilter()
filter.setEnableStateName('ENABLED')
filter.setMESObjectTypeName('EquipmentClass')
filter.setMESObjectNamePattern('Unload *')
results = system.mes.loadMESObjects(filter)
for link in results:
print link.getName()
Output
2631
MES Platform 2.0
Unload Station 1
Unload Station 2
system.mes.object.filter.parseCustomPropertyValueFilter(filter)
Description
The results can be limited to only include items that have a parse custom property
expressions defined by this property that evaluates to true.
Syntax
system.mes.object.filter.parseCustomPropertyValueFilter(filter)
Parameters
String filter - The property value to filter the results.
Returns
List<MESPropertyValueFilter> - A list containing property path, type, value, etc.
Scope
All
Code Examples
Code Snippet
filter = system.mes.object.filter.createFilter()
list = system.mes.object.filter.parseCustomPropertyValueFilter(
'pH > 5.0,Width = 2.5')
filter.setCustomPropertyValueFilter(list)
results = system.mes.loadMESObjects(filter)
for link in results:
print link.getName()
2632
MES Platform 2.0
system.mes.object.link.create
system.mes.object.link.create(mesObject)
Description
Returns a new instance of a MESObjectLink object for the supplied mesObject. This is
typically used when a script function requires a MESObjectLink object as a parameter and
the full MES object exists.
Syntax
system.mes.object.link.create(mesObject)
Parameters
AbstractMESObject mesObject - An MES object object to based the new MESObjectLink.
The MES object can be any of the MES objects such as MaterialClass, MaterialLot,
OperationSegment, etc. that inherit from AbstractMESObject.
Returns
A new instance of a MES Object Link object.
Code Examples
Code Snippet
obj = system.mes.createMESObject('MaterialClass')
objLink = system.mes.object.link.create(obj)
system.mes.object.link.create(mesObjectType, mesObjectUUID)
Description
2633
MES Platform 2.0
Returns a new instance of a MES Object Link object for the supplied mesObjectType and
mesObjectUUID. This is typically used when a script function requires a MESObjectLink
object as a parameter and the MES object type and UUID are known.
Syntax
system.mes.object.link.create(mesObjectType, mesObjectUUID)
Parameters
MESObjectTypes mesObjectType - The type of MES object to create a link for. See
MESObjectTypes for the available types.
String mesObjectUUID - The UUID of MES object to create a link for. See UUIDs for more
information.
Returns
A new instance of a MES Object Link object.
Code Examples
Code Snippet
objLink = system.mes.object.link.create('OperationsDefinition',
'a8a3771b-6330-423b-89fb-b54b7933fe3e')
print objLink.getMESObject()
Output
OperationsDefinition (a8a3771b-6330-423b-89fb-b54b7933fe3e,
Receive Steel, 0 parents, 2 children, 5 custom properties, 2
complex properties)
system.mes.object.link.create(mesObjectTypeName, mesObjectUUID)
Description
2634
MES Platform 2.0
Returns a new instance of a MESObjectLink object for the supplied mesObjectType and
mesObjectUUID. This is typically used when a script function requires a MESObjectLink
object as a parameter and the MES object type and UUID are known.
Syntax
system.mes.object.link.create(mesObjectTypeName, mesObjectUUID)
Parameters
String mesObjectType - The name of the type of MES object to create a link for. See
MESObjectTypes for the available types.
String mesObjectUUID - The UUID of MES object to create a link for. See UUIDs for more
information.
Returns
A new instance of a MESObjectLink object.
MES Objects
Equipment Objects
Material Objects
Personnel Objects
Definition Objects
Request Objects
Response Objects
Code Examples
2635
MES Platform 2.0
Code Snippet
Description
Returns a new instance of a MES Object Link object for the supplied mesObjectType,
mesObjectUUID and name. This is typically used when a script function requires a
MESObjectLink object as a parameter and the MES object type, UUID and name are
known.
Syntax
Code Examples
Code Snippet
2636
MES Platform 2.0
Description
Returns a new instance of a MES Object Link object for the supplied mesObjectType
name, mesObjectUUID and name. This is typically used when a script function requires a
MESObjectLink object as a parameter and the MES object type, UUID and name are
known.
Syntax
Code Examples
Code Snippet
system.mes.object.list.createList
Description
2637
MES Platform 2.0
Syntax
system.mes.object.list.createList()
Parameters
None
Returns
The list of MES objects.
Scope
All
Code Examples
Code Snippet
system.mes.object.parameters.create
Description
2638
MES Platform 2.0
Syntax
system.mes.object.parameters.create()
Parameters
MES Object Event Parameters - A new instance of a MESObjectEventParameters object.
Returns
Returns a new instance of a MESObjectEventParameters object that name value pairs can
be add to.
Code Snippets
if mesObject != None:
params = system.mes.object.parameters.create()
#Add parameters for the new instance.
params.put('Kind', 'Dressing')
params.put('Priority', 'High')
system.mes.executeMESEvent(mesObject, 'My User Event', params)
system.mes.pasteSchedule
Description
Paste an operations schedule and all associated operations requests and request
segments objects.
Syntax
2639
MES Platform 2.0
Code Examples
Code Snippet
begin = Calendar.getInstance()
begin.add(Calendar.DAY_OF_MONTH, -30)
start = begin.getTime()
system.mes.property.namevalue.createInstance
Description
2640
MES Platform 2.0
Syntax
system.mes.property.namevalue.createInstance()
Parameters
None
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.property.validateValueString
Description
Syntax
system.mes.property.validateValueString(val, type)
Parameters
String val - The string to be validated.
DataType type - The type to check the validation for.
Returns
Boolean True when the value is valid for the type, otherwise false.
Scope
2641
MES Platform 2.0
All
Code Examples
Code Snippet
system.mes.removeTagCollectorValue
Description
Remove the value with the specified timestamp for the MES tag collector. If a value does
not existing for the specified timestamp, then an exception will be returned.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date dateTime - The date of the value to remove.
Returns
Nothing
Scope
All
2642
MES Platform 2.0
Code Examples
Code Snippet
system.mes.removeTagCollectorValue(equipmentPath,
collectorType, key, dateTime)
Overview
These script functions are used to remove all values within the specified range or from a list of
timestamps for the MES tag collector.
Method Options
system.mes.removeTagCollectorValues(equipmentPath, collectorType, key, dateTimeList)
Description
Remove all values within the specified range or from a list of timestamps for the MES tag
collector. When a list of timestamps are provided and one of the timestamps does not
exist, then an exception will be returned.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
2643
MES Platform 2.0
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
PyList dateTimeList - A Python list containing dates(of type Date) to remove from the MES
tag collector.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Description
Remove all values within the specified range or from a list of timestamps for the MES tag
collector. When a list of timestamps are provided and one of the timestamps does not
exist, then an exception will be returned.
2644
MES Platform 2.0
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date beginDateTime - The starting date of values that will be removed.
Date endDateTime - The ending date of values that will be removed.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
2645
MES Platform 2.0
system.mes.resetScheduleStatus
Description
Reset the state of the operation request, based on the operationsRequestUUID parameter,
to AUTO_PENDING. If an error occurred during automatic start of a operation request, this
script function allows it to be reset so that another automatic attempt can be done.
Syntax
system.mes.resetScheduleStatus(operationsRequestUUID)
Parameters
String operationsRequestUUID - The UUID of the operations request to reset.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.saveMESObject
Description
2646
MES Platform 2.0
Save the MES object passed mesObject parameter. This will update the active object in
memory of the Ignition server and save the settings to the database.
Syntax
system.mes.saveMESObject( mesObject )
Parameters .
AbstractMESObject mesObject - The MES object to save. See AbstractMESObject object
in the MES documentation.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.saveMESObjects
Description
Save one or more MES objects. The MESObjectList parameter object holds a collections
of MES objects to save. This will update the active objects in cache on the Ignition server
and save the settings to the database.
2647
MES Platform 2.0
Syntax
system.mes.saveMESObjects(mesObjectList)
Parameters
MES Object List mesObjectList - A list that holds the collection of MES objects to save.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.saveSchedule
Description
Save the operations schedule object and all other associated MES objects contained in the
list passed in the mesObjectList parameter. This list generally includes the Operations
Schedule and (a) Request Segment(s) if preceeded by the system.mes.createSchedule()
function.
Syntax
system.mes.saveSchedule(mesObjectList)
2648
MES Platform 2.0
Parameters
MES Object List mesObjectList - The list containing all schedule related MES objects to
save.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Object Description
The MESObjectList is a collection of MES objects. A list may contain any number of mes
objects. From the MESObjectList object an MES object with a specific uuid can be loaded
by calling the findByUUID() function.
Scripting Functions
The following function can be used to create an MESObjectList object.
system.mes.object.list.createList()
Description
2649
MES Platform 2.0
Syntax
system.mes.object.list.createList()
Parameters
None
Returns
The list of MES objects.
Scope
All
Example
Methods
The following methods exist for the MES Object List.
add(mesobject)
Description
Syntax
add(mesobject)
Parameters
2650
MES Platform 2.0
remove(mesobject)
Description
Syntax
remove(mesobject)
Parameters
AbstractMESObject mesobject - The object to be removed.
Returns
True if the object is removed and False otherwise.
Scope
All
addAll(collection)
Description
Appends all of the elements in the specified collection to the end of this MES object
list.
Syntax
2651
MES Platform 2.0
addAll(collection)
Parameters
List collection - A collection containing elements to be added to this list.
Returns
True if all the objects are added to this MES object list and False otherwise.
Scope
All
removeAll(collection)
Description
Syntax
removeAll(collection)
Parameters
List collection - A collection containing elements to be removed to this list.
Returns
True if the objects in the list is removed and False otherwise.
Scope
All
findByUUID()
Description
2652
MES Platform 2.0
Syntax
findByUUID(uuid)
Parameters
String uuid - UUID of the MES object.
Returns
AbstractMESObject mesObject - The MES object corresponding to the specific UUID.
Scope
All
hasSingleMESObject()
Description
Checks whether the list contains more than one MES object.
Syntax
hasSingleMESObject()
Parameters
None
Returns
Boolean
Scope
All
Code Example
Code Snippet
2653
MES Platform 2.0
#This code snippet will check if the list contains only one
MES object
print objList.hasSingleMESObject()
#Creates a filter
filter = system.mes.object.filter.createFilter()
filter.setEnableStateName('ENABLED')
filter.setMESObjectNamePattern('Receive *')
mesList = system.mes.loadMESObjects(filter)
Output
True
True
False
MaterialDef (a3f05165-1cee-4661-a1e8-d282bf2c6a02, Bulk
Almonds, 1 parents, 0 children, 2 custom properties, 0 compl
ex properties)
True
True
2654
MES Platform 2.0
Overview
These script functions are used to schedule the operations.
The two functions represent different scheduling needs.
For fixed duration (example: schedule an operation for an entire shift), the first signature
which defines a begin and end time is appropriate.
To utilize the scheduling engine's capability for estimating (example: incorporating
scheduled down time for the line, etc.), the second signature which defines just a
preferred start time is appropriate.
Method Options
system.mes.scheduleOperations(mesObjectList, begin, end, allowOverlapping, category)
Description
Schedule the operations schedule and associated operations request and request segment
objects contained in the mesObjectList parameter. The scheduled duration of each request
segment will be based on the target quantity.
Note that the beginning and end time are set in this function call and will override schedule
rates.
Syntax
2655
MES Platform 2.0
The list containing the operations schedule and associated operations requests and
request segments objects that have been scheduled. The list is returned as a MES Object
List object that is a collection holding MES objects.
Scope
All
Code Examples
Code Snippet
Output
OperationsSchedule (14850859-fe9e-4aa8-a9d2-856022ef1bb3,
Receive Steel (1) Schedule, 0 parents, 0 children, 0 custom
properties, 1 complex properties)
OperationsRequest (9ce541f3-6b9a-47f2-8ca5-59f0bdad81e8,
Receive Steel (1), 0 parents, 0 children, 0 custom properties,
2 complex properties)
RequestSegment (b8c416b2-17a3-4f04-8842-b24854511d89, Receive
Steel (1), 0 parents, 0 children, 0 custom properties, 6 comple
x properties)
2656
MES Platform 2.0
Description
Schedule the operations schedule and associated operations request and request segment
objects contained in the mesObjectList parameter. The scheduled duration of each request
segment will be based on the target quantity and the configured segment's schedule rate.
Syntax
Code Examples
Code Snippet
2657
MES Platform 2.0
objList = system.mes.loadSchedule('14850859-fe9e-4aa8-a9d2-
856022ef1bb3')
scheduleList = system.mes.scheduleOperations(objList,
preferredStart, True, 'Actual')
for ndx in range(scheduleList.size()):
scheduleOperations = scheduleList.get(ndx)
print scheduleOperations
Output
OperationsSchedule (14850859-fe9e-4aa8-a9d2-856022ef1bb3,
Receive Steel (1) Schedule, 0 parents, 0 children, 0 custom
properties, 1 complex properties)
OperationsRequest (9ce541f3-6b9a-47f2-8ca5-59f0bdad81e8,
Receive Steel (1), 0 parents, 0 children, 0 custom properties,
2 complex properties)
RequestSegment (b8c416b2-17a3-4f04-8842-b24854511d89, Receive
Steel (1), 0 parents, 0 children, 0 custom properties, 6 comple
x properties)
system.mes.searchMESObjects
Description
Search for MES objects that meet the criteria of the filter parameter.
Syntax
system.mes.searchMESObjects(filter)
Parameters
MESObjectFilter filter - A filter containing the criteria to select MES object to return.
Returns
A list of MES Object Link objects that meet the criteria specified in the filter parameter.
Scope
All
2658
MES Platform 2.0
Code Examples
Code Snippet
Output
Material Class
Code Examples
Code Snippet
fltr.setMESObjectTypeName('LineCell')
fltr.setPrimaryMESObjectPath(linePath)
list = system.mes.searchMESObjects(fltr)
for ndx in range(list.size()):
print list.get(ndx)
Output
2659
MES Platform 2.0
system.mes.splitSchedule
Description
Split one or more operations requests off from an existing operations schedule into a new
operations schedule. The split point is from the specified operations request, based on the
operationsRequestUUID parameter, to the last operations request of the route. Operations
schedules that only have one operations request cannot be split.
Syntax
system.mes.splitSchedule(operationsScheduleUUID, operationsRequestUUID)
Parameters
String operationsScheduleUUID - The UUID of the operations schedule object that will be
split.
String operationsRequestUUID - The UUID of one of the operations request within the
operations schedule to split at.
Returns
The UUID of the new operations schedule.
Scope
All
Code Examples
Code Snippet
2660
MES Platform 2.0
system.mes.synchronizeMESPersonnel
Description
Read users from the Ignition user source profile and synchronize with the MESPerson
objects. This happens automatically on an hourly basis.
Syntax
system.mes.synchronizeMESPersonnel( )
Parameters
None
Returns
Nothing
Scope
All
Code Examples
Code Snippet
#This code read the users from source profile and synchronize
it with MESPerson objects
sync = system.mes.synchronizeMESPersonnel()
system.mes.updateDependencies
Description
Update the changes of the specified MES object to the MES object represented by the
MESObjectLinks in the mesObjectLinkList parameter.
2661
MES Platform 2.0
Syntax
system.mes.updateDependencies(mesObject, mesObjectLinkList)
Parameters
AbstractMESObject mesObject - A MES object with modified properties are propagated to
the dependent MES object. See AbstractMESObject object in the MES documentation.
MESList mesObjectLinkList - A list containing MES object links that represent the MES
objects to propagate the changes to. This list can be obtained by calling getDependencies.
Only the MES object links in this list that have not been disabled will be updated. See MES
Object Link in the MES documentation.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.updateSegment
Description
This method is used to update information for a actively running segment. Information that
maybe updated is limited to properties that are appropriate to be changed. For example,
equipment cannot be changed because a new operation and segment must be created for
them. However, lots can be changed. For example, if a raw material lot runs out, then and
new lot can be used to complete out the production run.
2662
MES Platform 2.0
Syntax
system.mes.updateSegment(responseSegment)
Parameters
MESResponseSegment responseSegment - The MES object to update.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.updateTagCollectorLastValue
Description
Update the last chronological value recorded by the MES tag collector.
Syntax
2663
MES Platform 2.0
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Datatype value - The last value recorded for the MES tag collector will be updated with this
value.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
2664
MES Platform 2.0
Overview
These script functions are used to update the value specified by the date and time for the MES
tag collector.
The Equipment State tag collector has the following auxiliary values.
EquipmentUUID - The unique identifier for the equipment.
State - The current equipment state.
OriginalState - The original equipment state before its updation.
2665
MES Platform 2.0
DifferedState - If the original state is changed using the Downtime Table then the new
state is DifferedState.
Method Options
system.mes.updateTagCollectorValue(equipmentPath, collectorType, key, dateTime, value)
Description
Update the value specified by the date and time for the MES tag collector. If a value does
not existing for the specified timestamp, then an exception will be returned.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date dateTime - The date of the value to update.
Datatype value - The MES tag collector will be updated with this value.
Returns
Nothing
Scope
All
2666
MES Platform 2.0
Code Examples
Code Snippet
Output
2667
MES Platform 2.0
Description
Update the value specified by the date and time for the MES tag collector. If a value does
not existing for the specified timestamp, then an exception will be returned.
Syntax
system.mes.updateTagCollectorValue(equipmentPath, collectorType,
auxValueName, key, dateTime, value)
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String auxValueName - This specifies which auxiliary value to update. For example, the
Equipment State tag collector has an "OriginalState" auxiliary value. See Auxiliary value for
more information.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
Date dateTime - The date of the value to update.
Datatype value - The MES tag collector will be updated with this value.
Returns
Nothing
Scope
All
Code Examples
2668
MES Platform 2.0
Code Snippet
Output
2669
MES Platform 2.0
system.mes.updateTagCollectorValues
Description
Update multiple values recorded by the MES tag collector. If a value does not existing for
one of the timestamps, then an exception will be returned.
Syntax
Parameters
String equipmentPath - The path from the production model to the desired equipment.
String collectorType - The name of the tag collector type. See Tag Collector Types for
more details.
String key - Where there are multiple i nstances of a tag collector type, this specifies which
one to use . For example, there can be multiple MES counters for the "Equipment Count"
tag collector type. If not needed, pass an empty string. In other words it is the name of the
MES counter or the name of the Additional Factor.
PyDictionary values - A Python dictionary containing the date (of type Date) and value
(Refer Datatype) pairs to update.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
2670
MES Platform 2.0
system.mes.validateMESObjectName
Description
Validates the proposed name for the specified MES object type. If the name is not valid, an
exception will be thrown.
Syntax
system.mes.validateMESObjectName(mesObjectTypeName,mesObjectUUID,name)
Parameters
String MES Object Type Name - The MES object type to validate the name for. Because
names must be unique amount the category of MES object type, this is required. See MES
Object Type Name for more details.
String mesObjectUUID - When validating the name of an existing MES object, this is the
UUID for it so that it will ignore duplicate name check with itself. Otherwise, just pass an
empty string.
String name - Proposed name to validate
Returns
Nothing
Scope
All
Code Examples
2671
MES Platform 2.0
Code Snippet
9.7.3 system.mes.analysis
system.mes.analysis.createMESAnalysisSettings
Description
Syntax
system.mes.analysis.createMESAnalysisSettings(savedSettingsName)
Parameters
String savedSettingsName - The name to the new analysis settings.
Returns
MESAnalysisSettings - A new MESAnalysisSettings object used to store data points, filter
expressions, group by, order by, etc.
Scope
All
Code Examples
Code Snippet
2672
MES Platform 2.0
Output
system.mes.analysis.deleteMESAnalysisSettings
Description
Syntax
system.mes.analysis.deleteMESAnalysisSettings(savedSettingsName)
Parameters
String savedSettingsName - The name of the saved analysis settings to delete.
Returns
None
Scope
All
2673
MES Platform 2.0
Code Examples
Code Snippet
system.mes.analysis.deleteMESAnalysisSettings('SAS Test')
list = system.mes.analysis.getMESAnalysisSettingsList()
print list
Output
[SAS Test]
[]
Overview
These script functions are used to execute the analysis specified in the parameters.
Method Options
system.mes.analysis.executeAnalysis(beginDate, endDate, settings)
Description
Execute and returns the results for the analysis specified in the parameters.
Syntax
Parameters
Date beginDate - Date object containing the beginning date to based the analysis results
on.
2674
MES Platform 2.0
Date endDate - Date object containing the ending date to based the analysis results on.
MESAnalysisSettings settings - MESAnalysisSettings object containing the data points,
filter expressions, group by, order by, etc. setting to return the results for.
Returns
MESAnalysisResults - A MESAnalysisResults object containing the results of the analysis
that was returned. (See MESAnalysisResults in the manual for more details.)
Scope
All
Code Examples
Code Snippet
Output
Description
Execute and returns the results for the analysis specified in the parameters.
Syntax
2675
MES Platform 2.0
Parameters
Date beginDate - Date object containing the beginning date to based the analysis results
on.
Date endDate - Date object containing the ending date to based the analysis results on.
MESAnalysisSettings settings - MESAnalysisSettings object containing the data points,
filter expressions, group by, order by, etc. setting to return the results for.
PyDictionary parameters - A PyDictionary containing name / value pairs for each
parameter that exists in the analysis settings.
Returns
MESAnalysisResults - A MESAnalysisResults object containing the results of the analysis
that was returned. (See MESAnalysisResults in the manual for more details.)
Scope
All
Code Examples
Code Snippet
Output
2676
MES Platform 2.0
Description
Execute and returns the results for the analysis specified in the parameters.
Syntax
Parameters
Datatype - Date object containing the beginning date to based the analysis results on.
Datatype - Date object containing the ending date to based the analysis results on.
String savedSettingsName - The name of the saved analysis settings to execute and return
the results for.
Returns
MESAnalysisResults - A MESAnalysisResults object containing the results of the analysis
that was returned. (See MESAnalysisResults in the manual for more details.)
Scope
All
Code Examples
Code Snippet
2677
MES Platform 2.0
Output
Description
Execute and returns the results for the analysis specified in the parameters.
Syntax
Parameters
Datatype - Date object containing the beginning date to based the analysis results on.
Datatype - Date object containing the ending date to based the analysis results on.
String savedSettingsName - The name of the saved analysis settings to execute and return
the results for.
PyDictionary parameters - A PyDictionary containing name / value pairs for each
parameter that exists in the analysis settings.
Returns
MESAnalysisResults - A MESAnalysisResults object containing the results of the analysis
that was returned. (See MESAnalysisResults in the manual for more details.)
Scope
All
Code Examples
2678
MES Platform 2.0
Code Snippet
Output
system.mes.analysis.getDataPointOptions
Description
Return data point options that can be used when executing analysis.
Syntax
system.mes.analysis.getDataPointOptions(groupFilter, itemFilter)
Parameters
String groupFilter - A filter to limit the data point options returned to one or more groups.
Multiple groups can be specified by separating them with commas. The wildcard * is
accepted.
String itemFilter - A filter to limit the data point options returned to one or more items.
Multiple data point items can be specified by separating them with commas. The wildcard *
is accepted.
2679
MES Platform 2.0
Returns
List<AbstractValueItemInfo> - Returns a map (a key-value pair) containing the filter group
path as the key and a list of AbstractValueItemInfo objects as the value. See
AbstractValueItemInfo object documentation for details.
Scope
All
Code Examples
Code Snippet
Output
system.mes.analysis.getFilterOptions
Description
2680
MES Platform 2.0
Syntax
system.mes.analysis.getFilterOptions(groupFilter, itemFilter)
Parameters
String groupFilter - A filter to limit the filter options returned to one or more groups. Multiple
groups can be specified by separating them with commas. The wildcard * is accepted.
String itemFilter - A filter to limit the group by options returned to one or more items.
Multiple filter items can be specified by separating them with commas. The wildcard * is
accepted.
Returns
List <AbstractValueItemInfo> - Returns a map (a key-value pair) containing the filter group
path as the key and a list of AbstractValueItemInfo objects as the value. See
AbstractValueItemInfo object documentation for details.
Scope
All
Code Examples
Code Snippet
Output
2681
MES Platform 2.0
system.mes.analysis.getFilterValues
Description
Return values that a filter item can be set to when executing analysis. For filter items such
as a date, no filter values will be returned.
Syntax
Parameters
String filterName - The name of the filter item to return values for.
Date beginDate - The starting date to limit the values to.
Date endDate - The ending date to limit the values to.
Returns
List<String> - Returns a list of strings. Each string is a possible value that the filter can be
set to.
Scope
All
Code Examples
Code Snippet
Output
2682
MES Platform 2.0
system.mes.analysis.getGroupByOptions
Description
Syntax
system.mes.analysis.getGroupByOptions(groupFilter, itemFilter)
Parameters
String groupFilter - A filter to limit the group-by options returned to one or more groups.
Multiple groups can be specified by separating them with commas.
String itemFilter - A filter to limit the group-by options returned to one or more items.
Multiple group-by items can be specified by separating them with commas.
Returns
List<AbstractValueItemInfo> - Returns a map (a key-value pair) containing the filter group
path as the key and a list of AbstractValueItemInfo objects as the value. See
AbstractValueItemInfo object documentation for details.
Scope
All
Code Examples
Code Snippet
2683
MES Platform 2.0
Output
system.mes.analysis.getMESAnalysisSettings
Description
Syntax
system.mes.analysis.getMESAnalysisSettings(savedSettingsName)
Parameters
String savedSettingsName - The name of the saved analysis settings to return.
Returns
MESAnalysisSettings - A MESAnalysisSettings object that contains the data points, filter
expressions, group by, order by, etc.
Scope
All
Code Examples
2684
MES Platform 2.0
Code Snippet
system.mes.analysis.getMESAnalysisSettings('report')
Output
[report]
AnalysisSettings (250dd58f-554a-493a-9b7e-9df905fc1d29,
report, 0 parents, 0 children, 0 custom properties, 2 complex
properties)
system.mes.analysis.getOrderByOptions
Description
Syntax
system.mes.analysis.getOrderByOptions(groupFilter, itemFilter)
Parameters
String groupFilter - A filter to limit the order by options returned to one or more groups.
Multiple groups can be specified by separating them with commas.
String itemFilter - A filter to limit the order by options returned to one or more items.
Multiple order by items can be specified by separating them with commas.
Returns
List<AbstractValueItemInfo> - Returns a map containing the filter group path in the key and
a list of AbstractValueItemInfo objects in the value. See AbstractValueItemInfo object
documentation for details.
Scope
All
2685
MES Platform 2.0
Code Examples
Code Snippet
Output
Overview
These script functions are used to clear the MES analysis cache. If the equipmentPath
parameter is not provided, all of the equipment caches are cleared. If the equipmentPath
parameter is provided, then only the corresponding equipment cache will be cleared.
Method Options
system.mes.analysis.invalidateAnalysisCache(equipmentPath)
Description
2686
MES Platform 2.0
Clears the MES analysis cache. If the equipmentPath parameter is not provided, all of the
equipment caches are cleared. If the equipmentPath parameter is provided, then only the
corresponding equipment cache will be cleared.
Syntax
system.mes.analysis.invalidateAnalysisCache(equipmentPath)
Parameters
String equipmentPath - Optional path to the equipment that the cache will be cleared.
Returns
None
Scope
All
Code Examples
Code Snippet
system.mes.analysis.invalidateAnalysisCache()
Description
Clears the MES analysis cache. If the equipmentPath parameter is not provided, all of the
equipment caches are cleared. If the equipmentPath parameter is provided, then only the
corresponding equipment cache will be cleared.
Syntax
2687
MES Platform 2.0
system.mes.analysis.invalidateAnalysisCache()
Parameters
None
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.analysis.invalidateAnalysisCache()
system.mes.analysis.saveMESAnalysisSettings
Description
Syntax
system.mes.analysis.saveMESAnalysisSettings(settings)
Parameters
MESAnalysisSettings settings - A MESAnalysisSettings object containing the data points,
filter expressions, group by, order by, etc. to save.
Returns
None
2688
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
system.mes.analysis.getMESAnalysisSettingsList
Description
Syntax
system.mes.analysis.getMESAnalysisSettingsList()
Parameters
None
Returns
List<String> - A list object containing strings of the stored analysis names.
Scope
All
Code Examples
2689
MES Platform 2.0
Code Snippet
system.mes.analysis.getMESAnalysisSettingsList()
Output
9.7.4 system.mes.oee
system.mes.oee.abortRun
Description
Abort the changeover or production segment that is currently running at the specified
equipment. If multiple operations are running at the specified equipment, the last one
started will be aborted.
Syntax
system.mes.oee.abortRun(equipmentPath)
Parameters
String equipmentPath - The equipment path to abort the production segment for.
Returns
Nothing
Scope
All
Code Examples
2690
MES Platform 2.0
Code Snippet
Overview
These script functions are used to begin an OEE operation.
Method Options
system.mes.oee.beginOEERun(operationsRequestLink)
Description
Begin an OEE operation for the specified operationsRequestLink. The operations objects
must have previously been created prior to calling this function.
Syntax
system.mes.oee.beginOEERun(operationsRequestLink)
Parameters
MESObjectLink operationsRequestLink - The MES object link to an Operations Request
object to start the OEE operation for. An Operations Request object is created when
production has been previously scheduled.
Returns
MESResponseSegment - The Response Segment object as a result of beginning the OEE
run.
Scope
All
Code Examples
2691
MES Platform 2.0
Code Snippet
Output
Size 3
2017-04-14 11:27:00.0
(type: Operations Schedule, uuid: 8689710a-71aa-4c1e-8a9a-
50205d34568f)
PC01-Enterprise:Site:Area:Line 1 ; Operations Request
ResponseSegment (ab16662d-a5f4-4864-86a4-ccf1a5e6c6e9, PC01-
Enterprise:Site:Area:Line 1_CO, 0 parents, 0 children, 0
custom properties, 7 complex properties)
system.mes.oee.beginOEERun(operationsRequest)
Description
2692
MES Platform 2.0
Begin an OEE operation for the specified operationsRequest object. The operations
objects must have previously been created prior to calling this function.
Syntax
system.mes.oee.beginOEERun(operationsRequest)
Parameters
MESOperationsRequest operationsRequest - The Operations Request object to start the
OEE operation for. An Operations Request object is created when production has been
previously scheduled.
Returns
MESResponseSegment - The Response Segment object as a result of beginning the OEE
run.
Scope
All
Code Examples
Code Snippet
Output
system.mes.oee.beginOEERun(materialName, equipmentPath)
2693
MES Platform 2.0
Description
Begin an OEE operation for the specified material and equipment. The operations objects
must have previously been created prior to calling this function.
Syntax
system.mes.oee.beginOEERun(materialName, equipmentPath)
Parameters
String materialName - The material name to use when starting the OEE run.
String equipmentPath - The equipment path to start the OEE operation for.
Returns
MESResponseSegment - The Response Segment object as a result of beginning the OEE
run.
Scope
All
Code Examples
Code Snippet
materialName = 'Salt'
path = '[global]\Nuts Unlimited\Site 1\Area\Line 2'
system.mes.oee.beginOEERun(materialName, path)
Output
2694
MES Platform 2.0
Description
Begin an OEE operation for the specified operationsRequestLink. The operations objects
must have previously been created prior to calling this function.
Syntax
Parameters
String workOrder - The work order to assign to the OEE run.
String materialName - The material name to use when starting the OEE run.
String equipmentPath - The equipment path to start the OEE operation for.
Returns
MESResponseSegment - The Response Segment object as a result of beginning the OEE
run.
Scope
All
Code Examples
Code Snippet
workOrder = 'Wo90'
materialName = 'Sugar'
path = '[global]\Nuts Unlimited\Site 1\Area\Line 1'
system.mes.oee.beginOEERun(workOrder, materialName, path)
Output
2695
MES Platform 2.0
system.mes.oee.createMaterialProcessSegment
Description
For the specified material and equipment, create the operations MES object. The
operations MES object consist of the Operations Definition, an Operations Segment for
changeover and an Operations Segment for production. Each material and equipment
combination will have a set of MES operations object.
Syntax
system.mes.oee.createMaterialProcessSegment(materialLink, equipmentPath)
Parameters
MESObjectLink materialLink - The MES object link to the material definition to base the
operations MES objects on.
String equipmentPath - The equipment path to base the operations MES objects on.
Returns
MESObjectList - A MESObjectList object containing the new Operations Definition and
Operations Segment MES objects.
Scope
All
Code Examples
Code Snippet
2696
MES Platform 2.0
Output
system.mes.oee.endCellChangeover
Description
End the changeover segment that is currently running at the specified equipment. After the
changeover segment is ended, the production segment will begin.
Syntax
system.mes.oee.endCellChangeover(equipmentPath)
Parameters
String equipmentPath - The equipment path of the cell or cell group to end the changeover
segment for.
Returns
2697
MES Platform 2.0
Nothing
Scope
All
Code Examples
Code Snippet
eqPath='[global]\Nuts Unlimited\Folsom\Receiving\Nut
Unloading\Cell A'
system.mes.oee.endCellChangeover(eqPath)
system.mes.oee.endOEEChangeover
Description
End the changeover segment that is currently running at the specified equipment. After the
changeover segment is ended, the production segment will begin.
Syntax
system.mes.oee.endOEEChangeover(equipmentPath)
Parameters
String equipmentPath - The equipment path to end the changeover segment for.
Returns
Nothing
Scope
All
Code Examples
2698
MES Platform 2.0
Code Snippet
eqPath='[global]\Nuts Unlimited\Folsom\Receiving\Nut
Unloading\Cell B'
system.mes.oee.endOEEChangeover(eqPath)
system.mes.oee.endOEEProduction
Description
End the production segment that is currently running at the specified equipment. This
function is only used if a single operation is running at the specified equipment. If multiple
operations are running at the specified equipment, use the indexCellProduct function.
Syntax
system.mes.oee.endOEEProduction(equipmentPath)
Parameters
String equipmentPath - The equipment path to end the production segment for.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
2699
MES Platform 2.0
system.mes.oee.getEquipmentAvailableMaterial
Description
Return MES object links for the material definitions that can run at the specified equipment
path according to the material name search pattern.
Syntax
system.mes.oee.getEquipmentAvailableMaterial(equipmentPath, searchPattern)
Parameters
String equipmentPath - The equipment path where the material definitions are run.
String searchPattern - Material name filter pattern to limit the results by. It can contain the *
and ? wild card characters.
Returns
MESList<MESObjectLink> - An MESList containing an MESObjectLink object for each
material definition object in the results.
Scope
All
Code Examples
Code Snippet
Output
2700
MES Platform 2.0
PC_0001
PC_0002
Material X
...
system.mes.oee.getMaterialAvailableEquipment
Description
Return MES object links for the equipment that can run the specified material and search
pattern.
Syntax
system.mes.oee.getMaterialAvailableEquipment(materialLink, searchPattern)
Parameters
MESObjectLink materialLink - The MES object link to the material definition to return
results for.
String searchPattern - Equipment path filter pattern to limit the results by. It can contain the
* and ? wild card characters.
Returns
MESList<MESObjectLink> - A MESList containing a MESObjectLink object for each
equipment object in the results.
Scope
All
Code Examples
Code Snippet
2701
MES Platform 2.0
Output
PC_0001
Palletizer
Infeed
...
system.mes.oee.getMaterialItems
Description
Return a list of MES object links to material objects for the specified parent. To start at the
root material object, set the parentLink parameter to None. Material objects consist of
Material Class, Material Def and Material Root type of objects.
Syntax
system.mes.oee.getMaterialItems(parentLink, searchPattern)
Parameters
MESObjectLink parentLink - The MES object link of the parent of the children to include in
the results.
String searchPattern - Child material object name filter pattern to limit the results by. It can
contain the * and ? wild card characters.
Returns
2702
MES Platform 2.0
Code Examples
Code Snippet
Output
Class1
PC_0001
PC_0002
ProductClass
...
system.mes.oee.getMaterialOperationSegments
Description
Syntax
2703
MES Platform 2.0
system.mes.oee.getMaterialOperationSegments(materialLink, searchPattern)
Parameters
MESObjectLink materialLink - The MES object link to the material definition to return
results for.
String searchPattern - Operations Segment name filter pattern to limit the results by. It can
contain the * and ? wild card characters.
Returns
MESObjectList - MESObjectList containing Operations Segment objects in the results.
Scope
All
Code Examples
Code Snippet
Output
OperationsSegment (d88a7df5-677b-4639-a678-fb999589892e,
PC_0001-Enterprise:Site:Area:Line 1, 0 parents, 0 children, 0
custom properties, 7 complex properties)
OperationsSegment (889efb28-cecd-49e5-ab95-8809b2bd08a4,
PC_0001-Enterprise:Site:Area:Line 1:Code Dater, 0 parents, 0
children, 0 custom properties, 7 complex properties)
2704
MES Platform 2.0
OperationsSegment (daad7ffd-31f2-4844-bc6d-ea238cce6b33,
PC_0001-Enterprise:Site:Area:Line 1:Code Dater_CO, 0 parents,
0 children, 0 custom properties, 7 complex properties)
OperationsSegment (ae4a8f2d-540a-4132-87cb-252871b92fdf,
PC_0001-Enterprise:Site:Area:Line 1:Filler, 0 parents, 0
children, 0 custom properties, 7 complex properties)
OperationsSegment (4be5ac58-1b6b-400b-8ca1-e978a329bab4,
PC_0001-Enterprise:Site:Area:Line 1:Filler_CO, 0 parents, 0
children, 0 custom properties, 7 complex properties)
...
system.mes.oee.getOEEActiveSegment
Description
Return the active Response Segment object that is currently running at the specified
equipment. This can the changeover or production Response Segment. If multiple
operations are running at the specified equipment, the last one started will be returned.
Syntax
system.mes.oee.getOEEActiveSegment(equipmentPath)
Parameters
String equipmentPath - The equipment path to return the Response Segment object for.
Returns
MESResponseSegment - The active Response Segment object.
Scope
All
Code Examples
Code Snippet
2705
MES Platform 2.0
seg = system.mes.oee.getOEEActiveSegment(eqPath)
print seg
Output
system.mes.oee.getOEEAllActiveSegments
Description
Returns MES object links for all of the active Response Segment objects that are currently
running at the specified equipment.
Syntax
system.mes.oee.getOEEAllActiveSegments(equipmentPath)
Parameters
String equipmentPath - The equipment path to return the Response Segment objects for.
Returns
MESList<MESObjectLink> - A MESList containing a MESObjectLink object for each
Response Segment object in the results.
Scope
All
Code Examples
Code Snippet
2706
MES Platform 2.0
Output
PC_0001-Enterprise:Site 1:Packaging:Line 4
<type 'com.sepasoft.production.common.model.mesobject.objects.
segment.MESResponseSegment'>
system.mes.oee.indexCellProduct
Description
Whenever there are multiple products running on a production line, this script function will
move the newest product forward to the passed in cell. It achieves this by searching
backwards from the designated cell for a cell indexed to a product with a different
operationUUID from the product on the designated cell. If a previous product is discovered,
it is indexed forward to the designated cell. If a previous product is not discovered, an error
is thrown. In the case that we successfully index to the last cell on the line, the run for the
previous product at that cell is ended automatically. Finally, an error is thrown if following
through with the indexing operation would completely overwrite a product on the line
because it has not yet been indexed further down the line.
Syntax
2707
MES Platform 2.0
system.mes.oee.indexCellProduct(equipmentPath, skipChangeover)
Parameters
String equipmentPath - The equipment path of the cell or cell group to index to the next
product.
Boolean skipChangeover - If true, the changeover segment for the cell or cell group will be
skipped and production will start immediately.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
eqPath='[global]\Nuts Unlimited\Folsom\Receiving\Nut
Unloading\New Cell Group'
system.mes.oee.indexCellProduct(eqPath, True)
system.mes.oee.isPreviousProductIndexed
Description
This function checks whether or not a production line is ready to start a new run, especially
in the context where multiple products are being run on a line simultaneously. It checks
whether or not the previous product on the line has been indexed to the next cell so that
the first cell in the line is open for the new product. If the previous product has not been
indexed beyond the first cell, the line is not ready to run a new product.
Syntax
system.mes.oee.isPreviousProductIndexed(equipmentPath)
2708
MES Platform 2.0
Parameters
String equipmentPath - The equipment path of the line to check the indexing status.
Returns
Boolean - True if the previous product has been indexed and is not in changeover, False
otherwise.
Scope
All
Code Examples
Code Snippet
Output
True
system.mes.oee.removeMaterialOperationSegments
Description
Remove the existing operations MES objects for the specified material and equipment.
Each material and equipment combination will have a set of MES operations objects.
Syntax
system.mes.oee.removeMaterialOperationSegments(materialLink, equipmentPath)
2709
MES Platform 2.0
Parameters
MESObjectLink materialLink - The MES object link to the material definition to remove the
operations MES objects.
String equipmentPath - The equipment path to remove the operations MES objects.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
system.mes.oee.updateMaterialOperationSegments
Description
Update the operations MES objects for the specified material and equipment.
Syntax
2710
MES Platform 2.0
system.mes.oee.updateMaterialOperationSegments(materialLink, equipmentPath,
operationSegmentList)
Parameters
MESObjectLink materialLink - The MES object link to the material definition that the
operations MES objects are based on.
String equipmentPath - The equipment path that the operations MES objects are based on.
MESObjectList operationSegmentList - A MESObjectList that contain an Operations
Definition, an Operations Segment for the changeover and an Operations Segment for the
production.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
productionSettings = obj3.getComplexProperty('ProductionSetting
s', 0)
2711
MES Platform 2.0
Output
Test Material
Size 3
True
True
True
True
9.7.5 system.mes.workorder
2712
MES Platform 2.0
system.mes.workorder.createMESWorkOrder
Description
Unique Name
Work orders must be uniquely named. Duplicate names are not allowed.
Syntax
system.mes.workorder.createMESWorkOrder(workOrderName, materialLink)
Parameters
String workOrderName - Name of the work order to be created.
MESObjectLink materialLink - A MES Object Link to a valid material definition to associate
to the work order.
Returns
MESWorkOrder - A new instance of a MESWorkOrder object.
Scope
All
Code Examples
Code Snippet
##Given a work order name, create the work order and then save
the work order to manifest the change.
matLink = system.mes.getMESObjectLinkByName('MaterialDef', 'Fan
ta')
woObj=system.mes.workorder.createMESWorkOrder('7878', matLink)
system.mes.saveMESObject(woObj)
2713
MES Platform 2.0
print woObj
Output
system.mes.workorder.createMESWorkOrderFilter
Description
Syntax
system.mes.workorder.createMESWorkOrderFilter()
Parameters
None
Returns
MESWorkOrderFilter - A new instance of a MESWorkOrderFilter object.
Scope
All
Code Examples
Code Snippet
2714
MES Platform 2.0
results = system.mes.workorder.getMESWorkOrderObjectLinkList
(woFilter)
print results
for result in results:
print result
Output
Size 1
0752665525
system.mes.workorder.deleteMESWorkOrder
Description
Syntax
system.mes.workorder.deleteMESWorkOrder(workOrderName)
Parameters
String workOrderName - The name of work order to be deleted.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.mes.workorder.deleteMESWorkOrder(woName)
2715
MES Platform 2.0
system.mes.workorder.getMESWorkOrder
Description
Syntax
system.mes.workorder.getMESWorkOrder(workOrderName)
Parameters
String workOrderName - The name of a work order.
Returns
MESWorkOrder - A MESWorkOrder object.
Scope
All
Code Examples
Code Snippet
##Get a work order, set the quantity, and save the work order
to manifest the change.
woObj = system.mes.workorder.getMESWorkOrder('0752665525')
woObj.setWorkOrderQuantity(float(6754))
system.mes.workorder.saveMESWorkOrder(woObj)
print woObj
Output
2716
MES Platform 2.0
system.mes.workorder.getMESWorkOrderObjectLinkList
Description
Syntax
system.mes.workorder.getMESWorkOrderObjectLinkList(workOrderFilter)
Parameters
MESWorkOrderFilter workOrderFilter - A work order filter.
Returns
MESList<MESObjectLink> - A list of MESObjectLink objects.
Scope
All
Code Examples
Code Snippet
woName = "0752665525"
woFilter = system.mes.workorder.createMESWorkOrderFilter()
woFilter.setWorkOrderNameFilter(woName)
results = system.mes.workorder.getMESWorkOrderObjectLinkList
(woFilter)
print results
for result in results:
print result
2717
MES Platform 2.0
Output
Size 1
0752665525
system.mes.workorder.getMESWorkOrders
Description
Syntax
system.mes.workorder.getMESWorkOrders(workOrderFilter)
Parameters
MESWorkOrderFilter workOrderFilter - A work order filter.
Returns
List<MESWorkOrder> - A list of MESWorkOrder objects.
Scope
All
Code Examples
Code Snippet
2718
MES Platform 2.0
print result
Output
Size 1
WorkOrder (a289e509-656b-4914-a597-386e7cf7376b, 0752665525, 0
parents, 0 children, 0 custom properties, 0 complex
properties)
system.mes.workorder.saveMESWorkOrder
Description
Save a work order. This is necessary after creating the work order itself, or changing one
of it's properties.
Syntax
system.mes.workorder.saveMESWorkOrder(workOrder)
Parameters
MESWorkOrder workOrder - The work order to be saved.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
##Get a work order, set the quantity, and save the work order
to manifest the change.
2719
MES Platform 2.0
woObj = system.mes.workorder.getMESWorkOrder('0752665525')
woObj.setWorkOrderQuantity(float(6754))
system.mes.workorder.saveMESWorkOrder(woObj)
print woObj
Output
9.7.6 system.quality.spc
system.quality.spc.controllimit.calcControlLimitValue
Info
Control limits normally are calculated using the control charts components and when
the process is determined to be stable. In cases where additional flexibility is required,
this scripting function is provided to calculate control limits from data provided in the
parameters. Control limit values for a specified location, sample definition (test),
attribute and control limit can be calculated by calling this function. The control limit
will be calculated using the control limit configured in the designer and the data
specified in the parameters. To set the actual control limit value, use the
setControlLimitValue function with the result from this function.
Description
Syntax
system.quality.spc.controllimit.calcControlLimitValue(locationPath, definition,
attributeName, limitName, data)
2720
MES Platform 2.0
Parameters
String locationPath - The full path of the location to set the control limit. Optionally, it can
be left blank to set the default control limit value that is not tied to any location.
String definition - Sample definition to the control limit for.
String attributeName - Name of the attribute within the definition to set the control limit for.
String limitName - Name of the control limit to set.
Dataset data - A dataset containing SPC results to calculate the control limit from.
Returns
A reference to the results containing the calculated control limit and any messages. See
Control Limit Calculated Value for more information.
Scope
All
Code Examples
Code Snippet
Output
Description
Syntax
2721
MES Platform 2.0
system.quality.spc.controllimit.calcControlLimitValue(locationPath, definition,
attributeName, limitName, from, to)
Parameters
String locationPath - The full path of the location to set the control limit. Optionally, it can
be left blank to set the default control limit value that is not tied to any location.
String definition - Sample definition to the control limit for.
String attributeName - Name of the attribute within the definition to set the control limit for.
String limitName - Name of the control limit to set.
Date from - Calculate the control with data starting with this date.
Date to - Calculate the control with data ending with this date.
Returns
A reference to the results containing the calculated control limit and any messages. See
Control Limit Calculated Value for more information.
Scope
All
Code Examples
Code Snippet
2722
MES Platform 2.0
system.quality.spc.controllimit.getLimitNameList
Description
The version of this method that require project name as parameter is deprecated and
the version that doesn't require the project name should be used.
Syntax
system.quality.spc.controllimit.getLimitNameList()
Parameters
None
Returns
List - An instance of a java List containing the control limit names as strings.
Scope
All
Code Examples
Code Snippet
2723
MES Platform 2.0
Output
system.quality.spc.controllimit.isValueWithinLimitsByDefName
Description
Syntax
system.quality.spc.controllimit.isValueWithinLimitsByDefName(locationPath,
defName, attributeName, limitNames, productCode, value)
Parameters
String locationPath - The path of the location that the limit values are begin used to test the
measurement value.
String defName - The SPC sample definition name that contains the limit values used in
the test.
String attributeName - The name of the attribute that the limit values are used for the test.
String limitNames - The name of the limits to test. Multiple limit names can be specified by
separating them with commas.
String productCode - The product code that the limit values used in the test. Use a blank
string to specify the default product code. This only applies if the Save Control Limits by
Product Code option is selected.
Double value - The measurement value to test.
2724
MES Platform 2.0
Returns
List<ControlLimitResult> - An instance of a java List containing ControlLimitResult objects.
Scope
All
system.quality.spc.controllimit.isValueWithinLimitsByDefUUID
Description
The version of this method that require project name as parameter is deprecated and
the version that doesn't require the project name should be used.
Syntax
system.quality.spc.controllimit.isValueWithinLimitsByDefUUID(locationPath,
defUUID, attributeName, limitNames, productCode, value)
Parameters
String locationPath - The path of the location that the limit values are begin used to test the
measurement value.
String defUUID - The SPC sample definition UUID that contains the limit values used in the
test.
String attributeName - The name of the attribute that the limit values are used for the test.
String limitNames - The name of the limits to test. Multiple limit names can be specified by
separating them with commas.
2725
MES Platform 2.0
String productCode - The product code that the limit values used in the test. Use a blank
string to specify the default product code. This only applies if the Save Control Limits by
Product Code option is selected.
Double value - The measurement value to test.
Returns
List<ControlLimitResult> - A java List containing ControlLimitResult objects.
Scope
All
system.quality.spc.controllimit.removeControlLimitValue
system.quality.spc.controllimit.removeControlLimitValue(locationPath, definition, attributeName,
limitName, productCode)
Description
Remove a previously set control limit value. This only applies if the Save Control Limits by
Product Code option is selected.
Syntax
system.quality.spc.controllimit.removeControlLimitValue(locationPath, definition,
attributeName, limitName, productCode)
Parameters
String locationPath - The path of the location that the limit value is being removed. If this is
a blank string, then all product code control limit values for all locations will be removed.
SampleDefinition definition - The SPC sample definition object that contains the limit value
being removed.
String attributeName - The name of the attribute that the limit value is being removed. If
this is a blank string, then all product code control limits for all attributes will be removed.
String limitName - The name of the limit to remove the value. If this is a blank string, then
all product code control limit values will be removed.
2726
MES Platform 2.0
String locationPath - The product code that the limit value is being removed. If this
parameter is not specified, then all product code control limit values will be removed.
String productCode - Name of the product code.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
Description
Remove a previously set control limit value. This only applies if the Save Control Limits by
Product Code option is selected.
Syntax
system.quality.spc.controllimit.removeControlLimitValue(locationPath, definition,
attributeName, limitName)
Parameters
2727
MES Platform 2.0
String locationPath - The path of the location that the limit value is being removed. If this is
a blank string, then all product code control limit values for all locations will be removed.
SampleDefinition definition - The SPC sample definition object that contains the limit value
being removed.
String attributeName - The name of the attribute that the limit value is being removed. If
this is a blank string, then all product code control limits for all attributes will be removed.
String limitName - The name of the limit to remove the value. If this is a blank string, then
all product code control limit values will be removed.
String locationPath - The product code that the limit value is being removed. If this
parameter is not specified, then all product code control limit values will be removed.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
system.quality.spc.controllimit.setControlLimitValue
system.quality.spc.controllimit.setControlLimitValue(locationPath, definition, attributeName,
limitName, value)
Description
2728
MES Platform 2.0
Control limits normally are set using the control charts components and when the process
is determined to be stable. In cases where additional flexibility is required, this scripting
function is provided. New control limit values for a specified location, sample definition
(test), attribute and control limit can be set by calling this function.
Syntax
system.quality.spc.controllimit.setControlLimitValue(locationPath, definition,
attributeName, limitName, value)
Parameters
String locationPath - The full path of the location to set the control limit. Optionally, it can
be left blank to set the default control limit value that is not tied to any location.
Sample Definition definition - Sample definition to the control limit for.
String attributeName - Name of the attribute within the definition to set the control limit for.
String limitName - Name of the control limit to set.
Double value - New control limit value.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
2729
MES Platform 2.0
Description
Control limits normally are set using the control charts components and when the process
is determined to be stable. In cases where additional flexibility is required, this scripting
function is provided. New control limit values for a specified location, sample definition
(test), attribute and control limit can be set by calling this function.
Save Control Limits by Product Code should be set at the Enterprise level of the
Production Model to take advantage of the functionality.
Syntax
system.quality.spc.controllimit.setControlLimitValue(locationPath, definition,
attributeName, limitName, productCode, value)
Parameters
String locationPath - The full path of the location to set the control limit. Optionally, it can
be left blank to set the default control limit value that is not tied to any location.
Sample Definition definition - Sample definition to the control limit for.
String attributeName - Name of the attribute within the definition to set the control limit for.
String limitName - Name of the control limit to set.
String productCode - Name of the product code to set.
Double value - New control limit value.
Returns
Nothing
Scope
All
2730
MES Platform 2.0
Code Examples
Code Snippet
system.quality.spc.deleteStoredSPC
Description
Delete the SPC settings for specified saved SPC settings name.
Syntax
system.quality.spc.deleteStoredSPC(name)
Parameters
String name - The name of the stored SPC settings to delete.
Returns
Nothing
Scope
All
Code Examples
2731
MES Platform 2.0
Code Snippet
Output
Method Options:
system.quality.spc.exportSPCResults(settings, locale, csvSeparator)
Description
Syntax
Parameters
SPCSettings settings - An instance of a SPCSettings object to base the export results. Use
the system.quality.spc.settings.createSettings script function to create the SPCSettings
object.
String locale - The locale name to used for formatting numeric values.
String csvSeparator - The character to use as the value separator.
Returns
A string containing the exported SPC data in CSV format.
Scope
All
Code Examples
2732
MES Platform 2.0
Code Snippet
Output
Description
Syntax
Parameters
SPCSettings settings - An instance of a SPCSettings object to base the export results. Use
the system.quality.spc.settings.createSettings script function to create the SPCSettings
object.
String locale - The locale name to used for formatting numeric values.
String csvSeparator - The character to use as the value separator.
String filter - Column names to include in the export separated by commas.
Returns
A string containing the exported SPC data in CSV format.
Scope
All
Code Examples
2733
MES Platform 2.0
Code Snippet
Output
system.quality.spc.format.fromSPCCategoryTypes
Description
This is intended for internal use. Based on the category of control chart
(SPCCategoryTypes) and the data format (SPCDataFomat), return the appropriate data
format.
Syntax
system.quality.spc.format.fromSPCCategoryTypes(type, dataFormat)
Parameters
SPCCategoryTypes type - An instance of a SPCCategoryTypes object that represents the
category of control chart.
SPCDataFormat dataFormat - An instance of a SPCDataFormat object that represents the
SPC data format.
Returns
SPCDataFormat - A reference to the matching SPCDataFormat object.
Scope
All
Code Examples
2734
MES Platform 2.0
Code Snippet
Output
system.quality.spc.format.getEnum
system.quality.spc.format.getEnum(value)
Description
Returns SPCDataFormat for the specified ordinal or name value. The SPC data formats
represent the control chart types and is used when specifying the kind SPC results to
return.
Syntax
system.quality.spc.format.getEnum(value)
Parameters
Int value - The ordinal value representing the SPCDataFormat.
Returns
SPCDataFormat - A reference to the matching SPCDataFormat object.
Scope
All
Code Examples
Code Snippet
2735
MES Platform 2.0
Output
system.quality.spc.format.getEnum(name)
Description
Returns SPCDataFormat for the specified ordinal or name value. The SPC data formats
represent the control chart types and is used when specifying the kind SPC results to
return.
Syntax
system.quality.spc.format.getEnum(name)
Parameters
String name - The ordinal value representing the SPCDataFormat.
Returns
SPCDataFormat - A reference to the matching SPCDataFormat object.
Scope
All
Code Examples
Code Snippet
Output
2736
MES Platform 2.0
system.quality.spc.format.getEnumName
Description
Returns the name of the SPCDataFormat from the specified display name. The display
name is the user friendly name where the name cannot contain spaces. The SPC data
formats represent the control chart types and is used when specifying the kind SPC results
to return.
Syntax
system.quality.spc.format.getEnumName(displayName)
Parameters
String displayName - The ordinal value representing the SPCDataFormat.
Returns
String name - The name of the SPCDataFormat.
Scope
All
Code Examples
Code Snippet
Output
2737
MES Platform 2.0
system.quality.spc.format.getSPCCategoryType
Description
This is intended for internal use. Based on the category of control chart
(SPCCategoryTypes) and the data format (SPCDataFomat), return the appropriate data
format.
Syntax
system.quality.spc.format.getSPCCategoryType(dataFormat)
Parameters
SPCDataFormat dataFormat - parameterAn instance of a SPCCategoryTypes object that
represents the category of control chart.
SPCDataFormat dataFormat - An instance of a SPCDataFormat object that represents the
SPC data format.
Returns
SPCCategoryTypes - A reference to the matching SPCDataFormat object.
Scope
All
Code Examples
Code Snippet
Output
2738
MES Platform 2.0
system.quality.spc.format.getSPCDataFormatAsDataset
Description
Returns an instance of a Dataset object containing the SPC data format options. The SPC
data formats represent the control chart types and is used when specifying the kind SPC
results to return.
Syntax
system.quality.spc.format.getSPCDataFormatAsDataset()
Parameters
None
Returns
Dataset - A new instance of a Dataset object containing the SPC data format options.
Scope
All
Code Examples
Code Snippet
Output
system.quality.spc.format.valueOf
2739
MES Platform 2.0
system.quality.spc.format.valueOf
Description
Syntax
system.quality.spc.format.valueOf()
Parameters
Type name - description
Returns
Type - description
Scope
All
Code Examples
Code Snippet
Output
system.quality.spc.format.values
Description
2740
MES Platform 2.0
Syntax
system.quality.spc.format.values()
Parameters
Type name - description
Returns
Type - description
Scope
All
Code Examples
Code Snippet
Output
system.quality.spc.getSPCResults
Description
Syntax
getSPCResults(settings)
2741
MES Platform 2.0
Parameters
SPCSettings settings - An instance of a SPCSettings object to base the results. Use the
system.quality.spc.settings.createSettings script function to create the SPCSettings object.
Returns
An instance of a SPCResults object containing the SPC data.
Scope
All
Code Examples
Code Snippet
system.quality.spc.getSPCStoredResults
Description
Returns SPC results for the specified stored SPC settings and date range.
Syntax
Parameters
String name - The name of the stored SPC settings to base the results.
Date fromDate - The start of the date range to include in the results.
Date toDate - The end of the date range to include in the results.
Returns
2742
MES Platform 2.0
Code Examples
Code Snippet
Output
system.quality.spc.loadStoredSPC
Description
Returns the SPC settings for the specified saved SPC settings name.
Syntax
system.quality.spc.loadStoredSPC(name)
Parameters
String name - The name of the stored SPC settings.
Returns
SPCSettings - An instance of a SPCSettings object.
Scope
All
2743
MES Platform 2.0
Code Examples
Code Snippet
Output
system.quality.spc.renameStoredSPC
Description
Rename the SPC settings for specified saved SPC settings name.
Syntax
system.quality.spc.renameStoredSPC(name, newName)
Parameters
String name - The existing name of the stored SPC settings to rename.
String newName - The new name of the stored SPC settings.
Returns
None
Scope
All
Code Examples
2744
MES Platform 2.0
Code Snippet
Output
system.quality.spc.saveStoredSPC
Description
Rename the SPC settings for specified saved SPC settings name.
Syntax
Parameters
String name - The name of the stored SPC settings to save.
SPCSettings settings - An instance of a SPCSettings object to save. Use the system.
quality.spc.settings.createSettings script function to create the SPCSettings object.
Boolean overwrite - If true and the stored SPC settings already exist, save the new settings
over the existing settings.
Returns
Nothing
Scope
All
Code Examples
2745
MES Platform 2.0
Code Snippet
Output
system.quality.spc.settings.createSettings
Description
Syntax
Parameters
String definitionName - The sample definition name for the new settings.
String attribute - The attribute name for the new settings.
String filters - The filters for the new settings. Multiple filter expressions can be separated
by commas.
String controlLimits - The control limits for the new settings. Multiple control limits can be
separated by commas.
String signals - The SPC rules (signals) for the new settings. Multiple SPC rules can be
separated by commas.
String dataFormatName - The data format (Calculation kind types or control chart type) for
the new settings.
Returns
SPCSettings - A new instance of a SPCSettings object.
Scope
2746
MES Platform 2.0
All
Code Examples
Code Snippet
system.quality.spc.settings.decodeFilters
Description
Decode a list of SPC filter expressions into a java Map object. Each filter key can have
multiple filter values.
Syntax
system.quality.spc.settings.decodeFilters(filterList)
Parameters
List filterList - An instance of a java List object containing SPC filter expression strings.
Example: "Location=Enterprise\Site\Area\Quality Test Station 1,
Location=Enterprise\Site\Area\Quality Test Station 2, Product Code=DEF"
Returns
2747
MES Platform 2.0
Map<String, List<String>> An instance of a java Map. The map key is the filter name. For
example, "Location" or "Product Code". The value for the key contains a java List object
containing all of the filter values. For example, the key "Location" can have the filters
values of "Quality Station 1" and "Quality Station 2".
Scope
All
Code Examples
Code Snippet
Output
system.quality.spc.settings.decodeList
Description
Decode a string that can represent a SPC filter, control limits, SPC rules (signals), etc. into
a java List object. The input string will be parsed on wither the comma or pipe (|) character
and each parsed result will be added to the returned List object.
Syntax
system.quality.spc.settings.decodeList(input)
Parameters
String input - The string value to parse.
2748
MES Platform 2.0
Returns
A java List object containing the parsed strings.
Scope
All
Code Examples
Code Snippet
Output
system.quality.spc.settings.decodeParams
Description
Decode a list of SPC parameters into a java Map object. Each parameter key can have
only one parameter value.
Syntax
system.quality.spc.settings.decodeParams(optionalParams)
Parameters
String optionalParams - A string containing optional parameters separated by either the
comma or pipe (|) characters. Example: "PaddingBarCount=4,RowLimit=100,
DataBarCount=7,IncludeDisabledAttributes=true"
Returns
2749
MES Platform 2.0
Code Examples
Code Snippet
Output
system.quality.spc.settings.encodeList
Description
Encode the specified java List into a single string separated by the pipe (\) character.
Syntax
system.quality.spc.settings.encodeList(list)
Parameters
String[] list - An instance of a java List object containing string values.
Returns
A single string containing all of the items from the list.
Scope
All
2750
MES Platform 2.0
Code Examples
Code Snippet
Output
system.quality.spc.settings.formatDate
Description
Returns a string for the specified date to is formatted correctly for a filter expression.
Syntax
system.quality.spc.settings.formatDate()
Parameters
Date date - A Date object to format.
Returns
String formattedDate - A SPC settings formatted date string.
Scope
All
Code Examples
2751
MES Platform 2.0
Code Snippet
Output
9.7.7 system.quality.definition
system.quality.definition.addSampleDefinition
Description
Adds the sample definition passed in the parameter to the SPC system. After it has been
added it will become available to record samples and for selection on the control charts.
Attributes, locations, control limits and signals must be added to the sample definition prior
to calling this function. See Sample Definition for more information.
Syntax
system.quality.definition.addSampleDefinition(sampleDefinition )
Parameters
String sampleDefinition - New sample definition that previously was created in script.
Returns
Nothing
Scope
All
Code Examples
2752
MES Platform 2.0
Code Snippet
Output
system.quality.definition.attribute.getNew
Description
Syntax
system.quality.definition.attribute.getNew()
Parameters
None
Returns
A new SampleDefinitionAttribute instance.
Scope
All
Code Examples
Code Snippet
2753
MES Platform 2.0
system.quality.definition.attribute.getNew()
system.quality.definition.attribute.getSampleDefinitionList
Description
Syntax
system.quality.definition.attribute.getSampleDefinitionList(showDisabled,
nameFilter, locationPathFilter)
Parameters
Boolean showDisabled - If true, return only sample definitions that have been disabled.
String nameFilter - Sample definition name filter to limiting the results. It can contain
wildcard characters including * or ?. The * character can be any characters and the ?
character represents any single character.
String locationPathFilter - Location path filter to limit the results.
Returns
Dataset - An instance of a Dataset object containing sample definition information.
Scope
All
Code Examples
Code Snippet
2754
MES Platform 2.0
Output
system.quality.definition.attribute.types.dataTypeToType
Description
Return a reference to a SPC attribute data type from an Ignition data type. For example, an
Ignition data type of Float8 will be an attribute data type of Real.
Syntax
system.quality.definition.attribute.types.dataTypeToType(dataType)
Parameters
DataType dataType - Ignition DataType reference that represents the type of data for a
sample attribute.
Returns
A reference to a AttributeDataType value that matches.
Scope
All
Code Examples
Code Snippet
Output
2755
MES Platform 2.0
system.quality.definition.attribute.types.intToType
Description
Return a reference to a SPC attribute data type from the ordinal value.
Syntax
system.quality.definition.attribute.types.intToType(ordinal)
Parameters
Integer ordinal - A valid AttributeDataType ordinal value.
Returns
A reference to a AttributeDataType value that matches.
Scope
All
Code Examples
Code Snippet
Output
system.quality.definition.getLimitNameList
2756
MES Platform 2.0
system.quality.definition.getLimitNameList
Description
Syntax
system.quality.definition.getLimitNameList()
Parameters
None
Returns
List<String> - An instance of a java List containing the control limit names as strings.
Scope
All
Code Examples
Code Snippet
Output
system.quality.definition.getNew
Description
2757
MES Platform 2.0
Syntax
system.quality.definition.getNew ()
Parameters
None
Returns
A new sample definition instance.
Scope
All
Code Examples
Code Snippet
Output
system.quality.definition.getNewDefinitionAttribute
Description
2758
MES Platform 2.0
Syntax
system.quality.definition.getNewDefinitionAttribute()
Parameters
None
Returns
SampleDefinitionAttribute - An instance of a new SampleDefinitionAttribute object.
Scope
All
Code Examples
Code Snippet
Output
system.quality.definition.getNewDefinitionLimit
Description
Syntax
system.quality.definition.getNewDefinitionLimit(limitName)
2759
MES Platform 2.0
Parameters
String limitName - Name of the limit to base the new instance.
Returns
SampleDefinitionControlLimit - An instance of a new SampleDefinitionControlLimit object.
Scope
All
Code Examples
Code Snippet
Output
system.quality.definition.getNewDefinitionLocation
Description
Returns a new sample definition location instance for the production location specified by
the locationID parameter. The new instance name is specified by the name parameter. The
new SampleDefinitionLocation object can be added to a sample definition using the
addAllowedLocation method of a SampleDefinition object.
Syntax
system.quality.definition.getNewDefinitionLocation(locationID, name)
2760
MES Platform 2.0
Parameters
Integer locationID - The location ID from the production model.
String name - The new instance name.
Returns
SampleDefinitionLocation - A new instance of a SampleDefinitionLocation object.
Scope
All
Code Examples
Code Snippet
Output
system.quality.definition.getNewDefinitionSignal
Description
Syntax
system.quality.definition.getNewDefinitionSignal(signalName)
Parameters
String signalName - Name of the signal to base the new instance.
2761
MES Platform 2.0
Returns
SampleDefinitionSignal - An instance of a new SampleDefinitionSignal object.
Scope
All
Code Examples
Code Snippet
Output
system.quality.definition.getSampleDefinition
Description
Returns a reference to the sample definition object with a matching ID. The ID is generated
by the database when the sample definition was first saved.
Syntax
system.quality.definition.getSampleDefinition(sampleDefID )
Parameters
Integer sampleDefID - Database created ID for the sample definition.
Returns
Sample Definition object
Scope
2762
MES Platform 2.0
All
Code Examples
Code Snippet
Output
system.quality.definition.getSampleDefinition(sampleDefName)
Description
Returns a reference to the sample definition object with a matching name. The name is
generated by the database when the sample definition was first saved.
Syntax
system.quality.definition.getSampleDefinition(sampleDefName )
Parameters
String sampleDefName - The name given to the sample definition when it was created.
Returns
Sample Definition object
Scope
All
Code Examples
2763
MES Platform 2.0
Code Snippet
Output
system.quality.definition.getSignalNameList
Description
Syntax
system.quality.definition.getSignalNameList()
Parameters
None
Returns
List<String> - An instance of a java List containing the signal names as strings.
Scope
All
Code Examples
Code Snippet
2764
MES Platform 2.0
Output
system.quality.definition.location.getNew
Description
Returns a new sample definition location instance for the production location specified by
the locationID parameter. The new instance name is specified by the name parameter. The
new SampleDefinitionLocation object can be added to a sample definition using the
addAllowedLocation method of a SampleDefinition object.
Syntax
system.quality.definition.location.getNew(locationID, name)
Parameters
int locationID - The location ID from the production model.
String name - The new instance name.
Returns
A new instance of a SampleDefinitionLocation object.
Scope
All
Code Examples
Code Snippet
2765
MES Platform 2.0
system.quality.definition.updateSampleDefinition
Description
Updates an existing sample definition object passed in the parameter. After it has been
updated, the changes will be reflected during recording samples and on the control charts.
Syntax
system.quality.definition.updateSampleDefinition ( sampleDefinition )
Parameters
String sampleDefinition - Existing sample definition.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
9.7.8 system.quality.sample.data
2766
MES Platform 2.0
9.7.8 system.quality.sample.data
system.quality.sample.data.approveSample
Description
Approve an existing sample. If the associated sample definition for the specified sample is
not set for auto approval, it will have to approved. This can be done using various methods
of which this is one of them.
Syntax
system.quality.sample.data.approveSample(sampleUUID, approvedBy)
Parameters
String sampleUUID - The UUID to an existing sample to approve.
String approvedBy - The name of the person who is approving the sample.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.quality.sample.data.approveSample(currentSample.
getSampleUUID, system.security.getUsername())
2767
MES Platform 2.0
system.quality.sample.data.excludeSample
Description
Syntax
system.quality.sample.data.excludeSample(sampleUUID)
Parameters
String sampleUUID - The UUID to an existing sample to exclude.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.quality.sample.data.excludeSample('88a6b6a4-3177-4759-
b594-7220d416c735')
system.quality.sample.data.executeMiscCalculation
Description
2768
MES Platform 2.0
Perform a previously defined miscellaneous calculation. If calculations other than the built-
in calculations, such as PPM, are needed, then they can be defined in the Misc.
Calculation section in the MES production model.
Syntax
system.quality.sample.data.executeMiscCalculation(settings, miscCalcName)
Parameters
SPCSettings settings - An instance of a SPCSettings object that defines the samples to
perform the calculation.
String miscCalcName - The name of the miscellaneous calculation, that has been
previously defined in the Misc. Calculations, to perform.
Returns
MiscCalcEvent - The MES object created for the execution of the miscellaneous
calculation.
Scope
All
Code Examples
2769
MES Platform 2.0
system.quality.sample.data.getCauseList
Description
Syntax
system.quality.sample.data.getCauseList()
Parameters
None
Returns
List<String> - A list holding assignable causes as strings.
Scope
All
Code Examples
Code Snippet
list = system.quality.sample.data.getCauseList()
for cause in list:
print cause
Output
system.quality.sample.data.getCreateSampleByDefUUID
2770
MES Platform 2.0
system.quality.sample.data.getCreateSampleByDefUUID
Description
Return a sample that matches the sampleUUID parameter. If not found, create and return
a new sample based on the sample definition that matches the definitionUUID parameter.
The newly created sample will also be initialized for the location specified by the
locationPath parameter.
Syntax
system.quality.sample.data.getCreateSampleByDefUUID(sampleUUID, defUUID,
locationPath)
Parameters
String sampleUUID - Sample UUID to lookup.
String defUUID - Existing sample definition UUID to base the new sample on.
String locationPath - A valid path to a location to base the new sample for.
Returns
Sample Object - A reference to the existing sample or the newly created sample.
Scope
All
Code Examples
Code Snippet
sampleUUID = system.gui.getParentWindow(event).
getComponentForPath('Root Container').SampleUUID
locationPath = system.gui.getParentWindow(event).
getComponentForPath('Root Container').LocationPath
#This will return a sample for the sampleUUID. If the
sampleUUID is blank, it will return a new sample
sample = system.quality.sample.data.getCreateSampleByName
(sampleUUID, sampleDef.getDefUUID(), locationPath)
2771
MES Platform 2.0
system.quality.sample.data.getCreateSampleByName
Description
Return a sample that matches the sampleUUID parameter. If not found, create and return
a new sample based on the sample definition that matches the definitionName parameter.
The newly created sample will also be initialized for the location specified by the
locationPath parameter.
Syntax
system.quality.sample.data.getCreateSampleByName(sampleUUID, defName,
locationPath )
Parameters
String sampleUUID - Sample UUID to lookup.
String defName - Existing sample definition name to base the new sample on.
String locationPath - A valid path to a location to base the new sample for.
Returns
Sample Object - A reference to the existing sample or the newly created sample.
Scope
All
Code Examples
Code Snippet
sampleUUID = system.gui.getParentWindow(event).
getComponentForPath('Root Container').SampleUUID
locationPath = system.gui.getParentWindow(event).
getComponentForPath('Root Container').LocationPath
2772
MES Platform 2.0
system.quality.sample.data.getNewByDefName
Description
Creates and returns a new sample based on the sample definition that matches the
definitionName parameter. The newly created sample will also be initialized for the location
specified by the locationPath parameter.
Syntax
system.quality.sample.data.getNewByDefName(defName, locationPath)
Parameters
String defName - Existing sample definition name to base this sample on.
String locationPath - A valid path to a location.
Returns
Sample Object - A reference to the newly created sample.
Scope
All
Code Examples
Code Snippet
locationPath = event.source.parent.LocationPath
sampleDefName = event.newValue
sample = system.quality.sample.data.getNewByDefName
(sampleDefName, locationPath)
2773
MES Platform 2.0
system.quality.sample.data.getNewByDefUUID
Description
Creates and returns a new sample based on the sample definition that matches the
defUUID parameter. The newly created sample will also be initialized for the location
specified by the locationPath parameter.
Syntax
system.quality.sample.data.getNewByDefUUID(defUUID, locationPath )
Parameters
String defUUID - Existing sample definition UUID to base this sample on.
String locationPath - A valid path to a location.
Returns
Sample Object - A reference to the newly created sample.
Scope
All
Code Examples
Code Snippet
locationPath = event.source.parent.LocationPath
defUUID = event.newValue
sample = system.quality.sample.data.getNewByDefUUID(defUUID ,
locationPath)
2774
MES Platform 2.0
system.quality.sample.data.getSample
Description
Syntax
system.quality.sample.data.getSample(sampleUUID)
Parameters
String sampleUUID - Sample UUID to lookup.
Returns
Sample Object - A reference to the existing sample.
Scope
All
Code Examples
Code Snippet
sampleUUID = system.gui.getParentWindow(event).
getComponentForPath('Root Container').SampleUUID
sample = system.quality.sample.data.getSample(sampleUUID)
system.quality.sample.data.includeSample
Description
2775
MES Platform 2.0
Syntax
system.quality.sample.data.includeSample(sampleUUID)
Parameters
String sampleUUID - The UUID to an existing sample to include.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.quality.sample.data.includeSample('e462217e-bc7c-4ee6-
9226-206a4d7576e8')
system.quality.sample.data.purgeSampleData
Description
Purge samples for the specified sample definition UUID that when taken prior to the
specified date. The samples will be permanently deleted and cannot be recovered.
Syntax
system.quality.sample.data.purgeSampleData(defUUID, priorToDate)
Parameters
String defUUID - Existing sample definition UUID to delete the samples for.
2776
MES Platform 2.0
Date priorToDate- The cutoff date where only samples entered before will be deleted.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
system.quality.sample.data.removeSample
Description
Remove a single sample. This function should be used with caution because it
permanently removes the data from the database. A sample can be removed at any point
in its life cycle. Meaning it can be removed after it has been scheduled but before
measurements are recorded and after measurements have been recorded.
Syntax
system.quality.sample.data.removeSample(sampleUUID)
Parameters
String sampleUUID - The UUID to an existing sample to remove.
2777
MES Platform 2.0
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.quality.sample.data.removeSample(event.getSampleUUID())
system.quality.sample.data.setSampleCause
Description
Syntax
Parameters
Sample sample - The sample to add the assignable cause to.
String attributeName - The attribute of the sample to associate the assignable cause to.
String cause - The assignable cause. This can be an existing assignable cause or a new
assignable cause. Use the getCauseList() function to return the assignable causes that
have previously been used.
String userName - The user name that is adding the assignable cause.
Returns
2778
MES Platform 2.0
Nothing
Scope
All
Code Examples
Code Snippet
#The following event handler script will set a note and cause
for the sample
sample = event.source.parent.getComponent('Sample Entry').
getSample()
system.quality.sample.data.setsampleNote(sample, 'Attr1', 'This
is a new sample', 'Sarah')
system.quality.sample.data.setSampleCause(sample, 'Attr1', 'New
Cause', 'Sarah')
event.source.parent.getComponent('Sample Entry').save()
system.quality.sample.data.setSampleNote
Description
Syntax
Parameters
Sample sample - The sample to add the note to.
String attributeName - The attribute of the sample to associate the note to.
String note - The actual note.
String userName - The user name that is adding the note.
Returns
2779
MES Platform 2.0
Nothing
Scope
All
Code Examples
Code Snippet
#The following event handler script will set a note and cause
for the sample
sample = event.source.parent.getComponent('Sample Entry').
getSample()
system.quality.sample.data.setsampleNote(sample, 'Attr1', 'This
is a new sample', 'Sarah')
system.quality.sample.data.setSampleCause(sample, 'Attr1', 'New
Cause', 'Sarah')
event.source.parent.getComponent('Sample Entry').save()
system.quality.sample.data.unapproveSample
Description
Syntax
system.quality.sample.data.unapproveSample(sampleUUID)
Parameters
String sampleUUID - The UUID to an existing sample to unapprove.
Returns
Nothing
Scope
2780
MES Platform 2.0
All
Code Examples
Code Snippet
system.quality.sample.data.removeSample(event.getSampleUUID())
system.quality.sample.data.updateSample
Description
Update an existing or new sample. If the valuesRecorded parameter is true, current shift,
product code and additional factor information will be recorded along with the
measurement values. Because samples may be scheduled, they can be created and
updated with no measurement values. This allows for 'coming due', 'due' and 'overdue'
functionality to be tracked.
Syntax
Parameters
String locationPath - A valid path to location of the sample to be updated.
String sample - The sample to be updated.
Boolean valuesRecorded - If true, record the values along with the other sample
information, including additional factors.
Returns
Nothing
Scope
All
2781
MES Platform 2.0
Code Examples
Code Snippet
system.quality.sample.data.updateSample(‘QualityDemo\New
Enterprise\New Site\Packaging\Line 1\Line 1 Quality’,
currentSample, 1)
9.7.9 system.recipe
system.recipe.addItemToRecipe
Description
Add a production item to a recipe. Once a production item is added to a recipe, the recipe
values for the production item can be managed. Also, the recipe can be selected for the
added production item.
Syntax
Parameters
String recipeName - Name of recipe to add the specified production item.
String itemPath - The item path to a production line, cell, cell group or location.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
2782
MES Platform 2.0
Code Examples
Code Snippet
#-- execute
try:
system.recipe.addItemToRecipe(recipeName, itemPath, note)
print itemPath + ' Added to ' + recipeName
except IOError:
system.gui.messageBox('Error - this Production Item
already exists for this Recipe', 'Insert Failed')
Output
system.recipe.cancelItemRecipe
Description
2783
MES Platform 2.0
Cancel the current recipe for the production item specified by the itemPath parameter. If
the production item is a line, then the recipe for all children production items of the line will
also be cancelled.
Syntax
system.recipe. cancelItemRecipe(itemPath)
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
#-- execute
try:
system.recipe.cancelItemRecipe(itemPath)
print 'current recipe on ' + itemPath + ' Canceled'
except IOError:
system.gui.messageBox('Request to cancel failed')
Output
2784
MES Platform 2.0
system.recipe.changeRecipeGroup
Description
Syntax
Parameters
String recipeName - Name of the new recipe.
String newRecipeGroup - Name - this provides a way to filter out a subset of all recipes .
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
2785
MES Platform 2.0
#-- execute
try:
system.recipe.changeRecipeGroup(recipeName,
newRecipeGroup, note)
print note
except IOError:
system.gui.messageBox('Error - group name change failed')
Output
system.recipe.changeRecipeState
Description
Syntax
Parameters
String recipeName - Name of recipe.
String newRecipeState - Optional Name - this provides a way to filter out a subset of all
recipes .
String note - Optional note to be stored in the recipe change log.
Returns
2786
MES Platform 2.0
Nothing
Scope
All
Code Examples
Code Snippet
#-- execute
try:
system.recipe.changeRecipeGroup(recipeName,
newRecipeGroup, note)
print note
except IOError:
system.gui.messageBox('Error - state change failed')
Output
system.recipe.createRecipe
system.recipe.createRecipe(recipeName, parentRecipeName, note)
2787
MES Platform 2.0
Description
Syntax
Parameters
String recipeName - Name of new recipe.
String parentRecipeName - Name of parent recipe on which to base this descendant
recipe. Leave blank if new recipe is not based on any other recipe.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
2788
MES Platform 2.0
system.recipe.createRecipe(recipeName, parentRecipeName,
note)
print note
except IOError:
system.gui.messageBox('Error - insert of Bundaberg failed')
Output
Description
Syntax
Parameters
String recipeName - Name of new recipe.
String parentRecipeName - Name of parent recipe on which to base this descendant
recipe. Leave blank if new recipe is not based on any other recipe.
String recipeState - Optional field you can you can filter by.
String recipeGroup - Optional field you can filter by.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
2789
MES Platform 2.0
Code Examples
Code Snippet
Output
system.recipe.createSubProductCode
Description
2790
MES Platform 2.0
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
String subProductCode - New sub product code.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
system.recipe.deleteRecipe
Description
Syntax
2791
MES Platform 2.0
system.recipe.deleteRecipe(recipeName, note)
Parameters
String recipeName - Name of new recipe to delete.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
#-- execute
try:
system.recipe.deleteRecipe(recipeName, note)
print note
except IOError:
system.gui.messageBox('Error - delete of PC_007-IBC-RB
failed')
Output
2792
MES Platform 2.0
system.recipe.deleteSubProductCode
Description
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
String subProductCode - Sub product code name.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
2793
MES Platform 2.0
system.recipe.exportRecipe
Description
Adds a comment note to the current run for the selected line. See the Import / Export
section of Editing Recipes for csv file format and other information.
Syntax
system.recipe. exportRecipe(filters )
Parameters
String filters - Filter statements separated by commas. See the Recipe Analysis Provider
for more information on the available filters.
Returns
CSV formatted string containing the recipe values.
Scope
All
Code Examples
Code Snippet
Output
2794
MES Platform 2.0
Recipe_Name,Value_Name,Item_Path,Description,Units,Data_Type,
Format,Recipe_Value,Assigned_By
"PC_007-IBC-RB","Max Temperature","Enterprise\New
Site\Packaging\packagingLine1\Filler","","deg","Int4","#,##0.
##","92","Enterprise\New Site\Packaging\packagingLine1\Filler
- Default"
"PC_007-IBC-RB","Min Temperature","Enterprise\New
Site\Packaging\packagingLine1\Filler","","deg","Float8","#,##0.
##","85.3","Enterprise\New
Site\Packaging\packagingLine1\Filler - Default"
"PC_007-IBC-RB","IBC Sugar Percentage","Enterprise\New
Site\Packaging\packagingLine1\Filler","","","Float8","#,##0.
##","17.5","Enterprise\New
Site\Packaging\packagingLine1\Filler - Default"
"PC_007-IBC-RB","Line Speed","Enterprise\New
Site\Packaging\packagingLine1\Filler","","cpm","Int4","#,##0.
##","110","Enterprise\New Site\Packaging\packagingLine1\Filler
- Default"
system.recipe.getChangelogHistory
Description
Based on the filters set in the changelogFilters parameter, return change log history for
recipe. See Recipe Change Log for more information.
Syntax
system.recipe.getChangelogHistory(changelogFilters)
Parameters
ChangelogFilters changelogFilters - Change log filters (See ChangelogFilters object for
more information).
Returns
A Dataset object containing rows and columns of change log history.
Scope
All
2795
MES Platform 2.0
Code Examples
Code Snippet
#---- getChangelogHistory
#-- function: system.recipe.getChangelogHistory(filters)
# (str)
#-- see the screenshots of these test components
#-- find out if they want to see all changes or only those for
the selected itemPath
if event.source.parent.getComponent('cntPathorNot').
getComponent('rbUsePath').selected:
itemPath = event.source.parent.getComponent('MES Object
Selector').equipmentItemPath
else:
itemPath = ''
2796
MES Platform 2.0
system.recipe.getCurrentItemRecipe
Description
Syntax
system.recipe. getCurrentItemRecipe(itemPath)
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
Returns
Current selected recipe name of specified production item.
Scope
All
Code Examples
Code Snippet
#---- getCurrentItemRecipe----#
2797
MES Platform 2.0
itemPath = "[global]\Enterprise\New
Site\Packaging\packagingLine1\Filler"
currentRecipe = system.recipe.getCurrentItemRecipe(itemPath)
print 'Current Recipe = %s' %currentRecipe
Output
system.recipe.getDefaultValues
Description
Return values for a sub recipe based on a product code or default values for a production
item.
Syntax
2798
MES Platform 2.0
Code Examples
Code Snippet
#-- getDefaultValues
#-- function system.recipe.getDefaultValues(itemPath,
category, subProductCode)
# (str)
(str) (str)
2799
MES Platform 2.0
cat = 'Recipe'
elif event.source.parent.getComponent('cntSelections').
getComponent('rbSPC').selected:
category = str('2')
cat = 'SPC'
elif event.source.parent.getComponent('cntSelections').
getComponent('rbOEE').selected:
category = str('3')
cat = 'OEE'
# subProductCode # leave blank to get values for the default
production item
if event.source.parent.getComponent('cntUseProductCode').
getComponent('rbUseProdCodeYes').selected:
subProductCode = event.source.parent.getComponent('Product
Code Selector').selectedStringValue
else:
subProductCode = ''
event.source.parent.getComponent('taData').text = ''
event.source.parent.getComponent('taData').text += '\n' + 'Choi
ces:'
event.source.parent.getComponent('taData').text += '\n' + 'Item
Path = %s' %(itemPath)
event.source.parent.getComponent('taData').text += '\n' + 'Cell
= %s' %(cell)
event.source.parent.getComponent('taData').text += '\n' + 'Cate
gory = %s' %(cat)
event.source.parent.getComponent('taData').text += '\n\n' + 'Va
lues:'
dv = system.recipe.getDefaultValues(itemPath, category,
subProductCode)
# dv returns an ArrayList - this list contains Item Recipe
Value objects
if dv.size() > 0:
for value in dv:
event.source.parent.getComponent('taData').text += '\n'
+ ' %s = %s' %(value.getName(), value)
print '%s = %s' %(value.getName(), value)
else:
event.source.parent.getComponent('taData').text += '\n' + '
No values created by the ' + cat + ' module were Found'
#--------------------------------------------------------------
------------------------------------------------
2800
MES Platform 2.0
Max Temperature = 92
Min Temperature = 85.3
IBC Sugar Percentage = 17.5
Line Speed = 110
system.recipe.getItemLiveRecipeValues
Description
Returns a list of recipe value names and their current live values.
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
String recipeName - Name of the recipe to remove the specified production item.
String subProductCode - Sub product code to return values for, or else leave blank to read
the default values for the production item.
String valueNames - The recipe value names to get the live values for, or leave blank for
all recipe values.
Returns
A list of recipe value names and their current live values.
Scope
All
Code Examples
Code Snippet
2801
MES Platform 2.0
# Get a map of the recipe value names and the current tag
values referenced by the recipe
map = system.recipe.getItemLiveRecipeValues(itemPath,
recipeName,"", "")
if map != None:
for rv in map:
data = "%s\n %s=%s" %(data, rv, map[rv])
2802
MES Platform 2.0
Output
LIVE values:
IBC Vanilla Percentage=2.8
Max Temperature=92
Min Temperature=85.3
IBC Sugar Percentage=17.5
Line Speed=110
system.recipe.getItemRecipeList
getItemRecipeList(itemPath, recipeNameFilter)
Description
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
String recipeNameFilter - Optional recipe filter. The filter can co ntain ? and * wild card
characters.
Returns
A list of currently available recipes.
Scope
All
2803
MES Platform 2.0
Code Examples
Code Snippet
Output
2804
MES Platform 2.0
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
String recipeNameFilter - Optional recipe filter. The filter can co ntain ? and * wild card
characters.
String recipeStateFilter - Optional recipe filter. The filter can contain ? and * wild card
characters.
String recipeGroupFilter - Optional recipe filter. The filter can contain ? and * wild card
characters.
boolean includeMasterRecipes - If true, returns also master recipes available for a
production item.
Returns
A list of currently available recipes.
Scope
All
Code Examples
2805
MES Platform 2.0
Code Snippet
2806
MES Platform 2.0
Output
system.recipe.getProductionItemList
Description
Returns the list of production item corresponding to given recipe name and filter.
2807
MES Platform 2.0
Syntax
system.recipe.getProductionItemList(recipeName, itemPathFilter)
Parameters
String recipeName - The recipe name.
String itemPathFilter - The path to filter the results.
Returns
A list of RecipeProductionItemInfo objects (See Recipe Production Item Info object in the
MES documentation).
Scope
All
Code Examples
Code Snippet
recipeName = 'PC_007-IBC-RB'
itemPathFilter = 'Enterprise\New Site\Packaging\packagingLine1'
list = system.recipe.getProductionItemList(recipeName,
itemPathFilter)
if list.size() > 0:
print 'The production Items for %s:' %recipeName
for productionItem in list:
print productionItem
else:
print 'No production items found for %s' %itemPathFilter
Output
2808
MES Platform 2.0
system.recipe.getRecipeValues
Description
Syntax
Code Examples
Code Snippet
recipeName = 'PC_007-IBC-RB'
itemPath = 'Enterprise\New
Site\Packaging\packagingLine1\Filler'
list = system.recipe.getRecipeValues(itemPath, recipeName,"")
if list.size() > 0:
print 'The recipe values for %s:' %recipeName
for rv in list:
print "%s = %s" % (rv.getName(), str(rv.getValue()))
else:
print 'No production items found for %s' %itemPathFilter
2809
MES Platform 2.0
Output
system.recipe.getRecipeValueSecurity
Description
Returns a Recipe Value Security Info object that contains each security roles settings.
Retrieve a role by using the getSecurityRole method of the object.
Syntax
Code Examples
2810
MES Platform 2.0
Code Snippet
# first, get the list of all recipe value names and cycle
through the list
list = system.recipe.getRecipeValues(itemPath, recipeName,"")
if list.size() > 0:
for rv in list:
# get the security object (RecipeValueSecurityInfo)
for the recipe value name
recipeValueSecurityInfo = system.recipe.
getRecipeValueSecurity(itemPath, rv.getName(),0)
# get the RecipeValueSecurityRole object for a user
role from the security object
recipeValueSecurityRole = recipeValueSecurityInfo.
getSecurityRoll(userRole)
if recipeValueSecurityRole != None:
secdata = "%s \n %s: userRole=%s min val=%s, max
val=%s" % (secdata,rv.getName(), userRole, str(recipeValueSecur
ityRole.getMinValue()), str(recipeValueSecurityRole.
getMaxValue()) )
result = "%s\n\nSecurity values: %s" %(result, secdata)
print result
else:
print 'No production items found for %s' %itemPathFilter
Output
Security values:
IBC Vanilla Percentage: userRole=Operators min val=-
1.7976931348623157E308, max val=1.7976931348623157E308
Max Temperature: userRole=Operators min val=-2.147483648E9,
max val=2.147483647E9
Min Temperature: userRole=Operators min val=-
1.7976931348623157E308, max val=1.7976931348623157E308
IBC Sugar Percentage: userRole=Operators min val=-
1.7976931348623157E308, max val=1.7976931348623157E308
Line Speed: userRole=Operators min val=-2.147483648E9, max
val=2.147483647E9
2811
MES Platform 2.0
system.recipe.getRecipeVariances
Description
Based on the filters set in the varianceFilters parameter, return recipe value variances. See
Variance Monitoring for more information.
Syntax
system.recipe.getRecipeVariances(varianceFilters)
Parameters
Variance Filters varianceFilters - Change log filters (See Variance Filters object for more
information).
Returns
A Dataset object containing rows and columns of recipe value variances.
Scope
All
Code Examples
Code Snippet
2812
MES Platform 2.0
Output
system.recipe.importRecipe
Description
Set the recipe values to the current tag value(s) for the production item specified by the
itemPath parameter. See the Import / Export section of Editing Recipes for CSV file format
and other information.
Info
Values that are outside of the range defined in the recipe values security will not be
imported. When this happens, an exception is returned listing all of the values that
were not imported. See Recipe Security for more information.
Syntax
Parameters
String csvData - String in CSV format containing recipe values. Must be the same format
that is returned by the exportRecipe function.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
2813
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
csv = system.file.readFileAsString("C:\\Temp\\recipe_export.
csv")
system.recipe.importRecipe(csv, "Values set during import.")
Output
system.recipe.isItemRecipeMonitoringEnabled
Description
Return recipe value monitoring enabled state. See Variance Monitoring for more
information.
Syntax
system.recipe. isItemRecipeMonitoringEnabled(itemPath )
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
Returns
True, if recipe value monitoring is enabled.
Scope
2814
MES Platform 2.0
All
Code Examples
Code Snippet
Output
system.recipe.readItemCurrentValues
Description
Set the recipe values to the current tag value(s) for the production item specified by the
itemPath parameter.
Syntax
2815
MES Platform 2.0
Code Examples
Code Snippet
Output
system.recipe.removeItemFromRecipe
Description
Syntax
Parameters
String recipeName - Name of new recipe to remove the specified production item.
String itemPath - The item path to the production line, cell, cell group or location to remove
from the recipe.
2816
MES Platform 2.0
Code Examples
Code Snippet
Output
system.recipe.renameRecipe
Description
Syntax
Parameters
String existingRecipeName - Name of the existing recipe.
String newRecipeName - New recipe name.
String note - Optional note to be stored in the recipe change log.
2817
MES Platform 2.0
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
system.recipe.renameSubProductCode
Description
Adds a comment note to the current run for the selected line.
Syntax
Parameters
String linePath - The item path to a production line, cell, cell group or location.
String existingSubProductCode - Existing sub product code name.
String newSubProductCode - New sub product code name.
2818
MES Platform 2.0
Code Examples
Code Snippet
Output
system.recipe.revertPathDefaultValue
Description
Revert production item default values back to be inherited from the parent.
Syntax
2819
MES Platform 2.0
Code Examples
Code Snippet
Output
system.recipe.revertPathRecipeValues
Description
Revert production item recipe values back to the parent production item.
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
String recipeName - Name of recipe.
String valueNames - One or more recipe value names separated by commas to revert.
2820
MES Platform 2.0
Code Examples
Code Snippet
Output
system.recipe.setItemRecipe
Description
Set the recipe for the production item specified by the itemPath parameter. If the
production item is a line, then all children production items of the line will also be set to the
same recipe provided they were added to the recipe.
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
2821
MES Platform 2.0
Code Examples
Code Snippet
Output
2822
MES Platform 2.0
system.recipe.setPathDefaultValue
Description
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
String subProductCode - Sub product code to set value for, or else leave blank to set the
default value for the production item.
String valueName - Recipe value name to set the value.
String value - Set the recipe value to this value.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
Output
2823
MES Platform 2.0
system.recipe.setPathRecipeValue
Description
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
String recipeName - Name of recipe.
String valueName - Recipe value name to set.
String value - New value to assign to recipe value.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
2824
MES Platform 2.0
#
# function system.recipe.setPathRecipeValue() allows you to
set the value defined on
# a production Item. You can verify the change using the
Recipe Editor. After you do
# a setItemRecipe() the associated tag will be update to this
value
2825
MES Platform 2.0
# except IOError:
# system.gui.messageBox('Attempt to set the recipe value
failed!', 'setPathRecipeValue')
Output
system.recipe.setPathRecipeValues
Description
Set multiple recipe values for a production item. The recipe must be the same for all recipe
values being set.
Syntax
Parameters
String itemPath - The item path to a production line, cell, cell group or location.
String recipeName - Name of recipe.
PyDictionary values - A Python Dictionary containing recipe values in a name / value
format.
String note - Optional note to be stored in the recipe change log.
Returns
Nothing
Scope
All
2826
MES Platform 2.0
Code Examples
Code Snippet
Output
system.recipe.updateRecipeValueSecurity
Description
Syntax
system.recipe.updateRecipeValueSecurity(securityInfo)
Parameters
Recipe Value Security Info securityInfo - The security setting to be updated.
Returns
The updated recipe setting.
Scope
All
Code Example 1
2827
MES Platform 2.0
Code Snippet
secInfo = system.recipe.getRecipeValueSecurity('Enterprise\Site
\Area\Recipe Test 1\Recipe Test 1A', 'RV 1', True)
Output
Code Example 2
Code Snippet
2828
MES Platform 2.0
secInfo = system.recipe.getRecipeValueSecurity('Enterprise\Site
\Area\Recipe Test 1\Recipe Test 1A', 'RV 1', True)
Output
9.7.10 system.instrument
system.instrument.parse.parseText
Description
Parse string data contained in the "text" property using the template specified by the
"templateName" property.
Info
The function requires an additional argument on the Gateway script which is the name
of the project.
Syntax
system.instrument.parse.parseText(templateName, text)
Parameters
String templateName - The name of the parse template to use to parse the text.
String text - The text to parse.
Returns
2829
MES Platform 2.0
Code Examples
Code Snippet
#Sample script to read and parse a CSV file then convert the
parse results to a dataset and display in a table component:
fileStr = system.file.readFileAsString("C:\\Temp\\Test.csv")
parseResults = system.instrument.parse.parseText("CSV Test
Column", fileStr)
if parseResults.isValid():
dataset = parseResults.createDataset("CSV Results")
event.source.parent.getComponent('Table').data = dataset
system.instrument.parse.types.valueOf
Description
2830
MES Platform 2.0
Syntax
system.instrument.parse.types.valueOf()
Parameters
Type name - description
Returns
Type - description
Scope
All
Code Examples
Code Snippet
Output
system.instrument.parse.types.values
Description
Syntax
system.instrument.parse.types.values()
2831
MES Platform 2.0
Parameters
Type name - description
Returns
Type - description
Scope
All
Code Examples
Code Snippet
Output
9.7.11 system.ws
The Web Service Module exposes many script functions that support associated functions.
These script functions are described in system.ws.
In the Ignition script editor, the documentation for the script functions can be accessed by
pressing control-space after typing in "system.". For all the Web Service script functions, type in
" system.ws ." and press control-space to see the associated function and documentation.
2832
MES Platform 2.0
WS_ScriptIntro
system.ws.runWebService
system.ws.runWebService(configurationName)
Description
This will run a web service with the current parameter settings that are defined in the
configuration.
Syntax
system.ws .runWebService(configurationName)
Parameters
String configurationName - The name of the Web Service Configuration to run.
Returns
A Web Service Variable object that represents the result of the Web Service.
Scope
2833
MES Platform 2.0
All
Code Examples
Code Snippet
result = system.ws.runWebService("LengthConvertor")
print result
Output
{"Root": {"ChangeLengthUnitResponse":
{"ChangeLengthUnitResult": "0.83333333333333348"}}}
system.ws.runWebService(configurationName, bodyObject)
Description
This will run a web service with the current parameter settings that are defined in the
configuration.
Syntax
Parameters
String configurationName - The name of the Web Service Configuration to run.
PyDictionary bodyObject - This will replace any parameters already defined by the
configuration with a python object that will be used as the parameters of the web service.
Using a python dictionary is recommended.
Returns
A Web Service Variable object that represents the result of the Web Service.
2834
MES Platform 2.0
Scope
All
Code Examples
Code Snippet
The first line gets the miles value from the Numeric Text Field component.
The second line calls the web service configuration and passes the miles value parameter.
The fromLengthUnit and toLengthUnit parameters don't have to be passed here because
they were defined in step 4. However, they can be passed here and it will override the
values in the Measurement Conversion configuration. The body object parameter is a
python object.
Line 3 read the kilometers value from the results. Because multiple values might exist in
the results, this is done by name.
Line 4 converts the kilometer value to a string and puts it into the Numeric Label
component.
Description
This will run a web service with the current parameter settings that are defined in the
configuration.
Syntax
2835
MES Platform 2.0
Parameters
String configurationName - The name of the Web Service Configuration to run.
PyDictionary headersObject - This will replace and headers already defined by the
configuration with a python object that will be used as the headers of the web service.
Using a python dictionary is recommended.
PyDictionary bodyObject - This will replace any parameters already defined by the
configuration with a python object that will be used as the parameters of the web service.
Using a python dictionary is recommended.
Returns
A Web Service Variable object that represents the result of the Web Service.
Scope
All
Code Examples
Code Snippet
Output
{"Root": {
"id": 1,
"title": "This is a title.",
"text": "This is a text."
}}
Description
2836
MES Platform 2.0
This will run a web service with the current parameter settings that are defined in the
configuration.
Syntax
Parameters
String configurationName - The name of the Web Service Configuration to run.
PyDictionary urlParam- This will replace the URL resource path or URL query string
already defined by the configuration with a python object that will be used as the URL
resource path or URL query string of the web service. Using a python dictionary is
recommended.
PyDictionary headersObject - This will replace and headers already defined by the
configuration with a python object that will be used as the headers of the web service.
Using a python dictionary is recommended.
PyDictionary bodyObject - This will replace any parameters already defined by the
configuration with a python object that will be used as the parameters of the web service.
Using a python dictionary is recommended.
Returns
A Web Service Variable object that represents the result of the Web Service.
Scope
All
Code Examples
Code Snippet
2837
MES Platform 2.0
Output
{"Root": {
"id": 1,
"title": "This is a title.",
"text": "This is a text."
}}
system.ws.setDefaultMaxConnectionPerRoute
Description
Syntax
system.ws.setDefaultMaxConnectionPerRoute(max)
Parameters
int max - The default maximum number of connections allowed per route.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.ws.setDefaultMaxConnectionPerRoute(100)
2838
MES Platform 2.0
system.ws.setIdleConnectionTimeout
Description
Syntax
system.ws .setIdleConnectionTimeout(idleTimeout)
Parameters
long idleTimeout - The idle connection time in seconds.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.ws.setIdleConnectionTimeout(100000)
system.ws.setMaxConnectionPerRoute
Description
2839
MES Platform 2.0
Syntax
system.ws.setMaxConnectionPerRoute(route, max)
Parameters
String route - The connection route.
int max- The maximum number of connections allowed of the connection route.
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.ws.setMaxConnectionPerRoute("http://route1.test.com", 20
)
system.ws.setMaxTotalConnection
Description
Syntax
system.ws.setMaxTotalConnection(max)
Parameters
int max - The maximum number of total connections allowed.
2840
MES Platform 2.0
Returns
Nothing
Scope
All
Code Examples
Code Snippet
system.ws.setMaxTotalConnection(400)
system.ws.toDataset
Description
Syntax
2841
MES Platform 2.0
Code Examples
Code Snippet
result = system.ws.runWebService("LengthConvertor")
print system.ws.toDataset(result, True)
system.ws.toDict
Description
Syntax
system.ws .toDict(wsVariable)
Parameters
WSVariable wsVariable - The web service variable to be converted. Must be complex.
Returns
A python dictionary representing the given Web Service Variable.
Scope
All
Code Examples
Code Snippet
result = system.ws.runWebService("LengthConvertor")
print system.ws.toDict(result)
2842
MES Platform 2.0
Output
{u'Root': {u'ChangeLengthUnitResponse':
{u'ChangeLengthUnitResult': u'0.083333333333333343'}}}
9.7.12 system.barcode.scanner
system.barcode.scanner.decode
Description
Returns a Decode Results object with the results of the decoding process.
Syntax
2843
MES Platform 2.0
Returns
A Decode Results object.
Scope
All
Code Examples
Code Snippet
Output
system.barcode.scanner.getNewBarcodePattern
Description
Syntax
2844
MES Platform 2.0
Code Examples
Code Snippet
Output
system.barcode.scanner.getPatternList
Description
Returns a subset list of the predefined barcode patterns that can be used to decode a
barcode.
Syntax
system.barcode.scanner.getPatternList(fillKeys, separator)
Parameters
String fillKeys - A list of keys to the predefined list of patterns to load into the returned list.
Use “All” to load all predefined patterns. Or for example use “GS1-10,GS1-17, GS1-310” to
just get the 3 GS1 AI patterns 10, 17, 310 respectively.
String separator - An optional separator to be used for patterns that can be of variable
length and need a separator code. For GS1 FNC1 a unicode character of \u001D or
\u00E8 can be used.
2845
MES Platform 2.0
Returns
A list of barcode patterns.
Scope
All
Code Examples
Code Snippet
Output
The binding options window will appear. Next click on the Functions option and select one of
the binding functions from the drop-down list.
2846
MES Platform 2.0
The parameters that are associated with the selected binding function will appear. Each of
these parameters can accept a constant value, bound to a property of another component, or
bound to a SQLTag.
Once the parameters have been set and the polling mode selected, the server will return the
results based on the provided parameter values.
9.8.1 Trace
Besides using the track and trace components or scripting, the binding functions can be used to
retrieve trace information that can be used in reports or non track and trace components.
The image below shows the MES property binding screen that is commonly used when using
building in Ignition projects. To access the track and trace binding functions, select Functions
and then select the desired binding function in the Trace group.
2847
MES Platform 2.0
Equipment WIP
Description
The Equipment WIP binding function is used to retrieve information for a lot based on the filter
parameters listed in the image below. It can be used to display and report lot details including
Equipment Path, Supplemental Equipment Name and Equipment Class Name.
2848
MES Platform 2.0
Function Name
Filter Options
Parameters
Lot Number Filter This is optional. Custom lot number to filter results. String
Filter value, including * and ? wildcard characters,
to filter results by lot number.
Lot Status Filter This is optional. Custom lot status value to filter String
results. Filter value, including * and ? wildcard
characters, to filter results by lot status.
Info
2849
MES Platform 2.0
Lot Summary
Description
The Lot Summary binding function is used to retrieve information for a lot based on the filter
parameters listed in the image below. It can be used to display and report lot details including
Lot UUID, Lot Number and Lot Sequence.
Function Name
Lot Summary
2850
MES Platform 2.0
Parameters
Lot UUID The lot UUID to return the lot information results. Optionally Lot String
Name can be used but not both. See UUIDs for more information.
Lot The lot number to return the material lot object for. String
Number
Lot . The lot sequence number to return the material lot object for. If it is String
Sequence less than zero, then the lot holding the maximum value is returned
and if the same lot number is used for multiple segments, each lot
with the same lot number will be assigned a different lot sequence
number.
Lot Trace
Description
The Lot Trace binding function is used to retrieve trace information for a lot based on the filter
parameters listed in the image below. It returns the same data that the Trace Graph component
uses to display it's information.
2851
MES Platform 2.0
Function Name
Lot Trace
Parameters
Enable If true, results will be retrieved. This provides a method to disable the Boolean
retrieval of lot information results and the associated overhead.
Lot The lot name to return the trace details results. Optionally Lot UUID String
Name can be used but not both.
Lot The lot UUID to return the trace details results. Optionally Lot Name String
UUID can be used but not both. See UUIDs for more information.
Highlight If this property is not blank and a sublot of a lot name matches this String
. Sublot property, then the LotContainsSublot column in the results will be set
. Name to 1. This indicates that the lot contains the specified sublot.
2852
MES Platform 2.0
LotUUID String
LotName String
LotSequence Integer
LotStatus String
LotUse String
LotBeginDateTime Date
LotEndDateTime Date
LotQuantity Double
MaterialUUID String
MaterialName String
LotLocationUUID String
LotLocationName String
SegmentUUID String
SegmentName String
SegmentBeginDateTime Date
SegmentEndDateTime Date
SegmentLocationUUID String
2853
MES Platform 2.0
SegmentLocationName String
PrevSegmentUUID String
NextSegmentUUID String
SegInCount Integer
SegOutCount Integer
LotInCount Integer
LotOutCount Integer
LotContainsSublot Integer
Material Inventory
Description
The Inventory binding function is used to retrieve inventory information based on the filter
parameters listed in the image below. It is an excellent method to get inventory of a particular
material or class of material. But much more can be done by combining filters specified by the
parameters below to zero in on the inventory information of interest.
2854
MES Platform 2.0
Function Name
Inventory
Parameters
Begin When the Include Inactive Lots parameter is set to True, the Calendar
Date Time results are limited to only include results that were processed at
or after this property.
End Date When the Include Inactive Lots parameter is set to True, the Calendar
Time results are limited to only include results that were processed at
or before this property.
Include If true, include active MES Material Lots or MES Material Boolean
Active Sublots. Active items are those currently being processed.
Lots
Include If true, include completed MES Material Lots or MES Material Boolean
Completed Sublots.
Lots
2855
MES Platform 2.0
Include If the Final Lot Status setting of a material resource is set, then it String
Custom can be filtered using this property. For example, MES Material
Lot Status Lot or MES Material Sublot objects can be set to Hold or any
other value and then can be filtered here. It can contain wildcard
characters including * or ?. The * character can be any
characters and the ? character represents any single character.
Lot Name The lot name to return the trace details. Optionally Lot UUID can String
be used but not both.
Lot The availability of the lots can be filtered using this property. String
Availability
Options
Status
(Default Available - The material lots that are currently available.
Available) Used - The material lots that are being used.
Both - Results will contain both available and the used lots.
Material The results can be limited to only include lots or sublots that the String
Definition associated material matches this property. It can contain
Name wildcard characters including * or ?. The * character can be any
characters and the ? character represents any single character.
Only one of the Material Class Name, Material Class UUID,
Material Definition Name, Material Definition UUID properties
can be specified at a time.
Example: *Balsamic*
Material The results can be limited to only include lots or sublots that the String
Class associated material is included in a material class that matches
Name this property. It can contain wildcard characters including * or ?.
The * character can be any characters and the ? character
represents any single character.
Only one of the Material Class Name, Material Class UUID,
Material Definition Name, Material Definition UUID properties
can be specified at a time.
Example: Vinegar
2856
MES Platform 2.0
Equipment The results can be limited to only include lots or sublots that are String
Name or were stored at the equipment that are included in a equipment
class that match this property. It can contain wildcard characters
including * or ?. The * character can be any characters and the ?
character represents any single character.
Only one of the EquipmentName, EquipmentUUID, or
Equipment Path properties can be specified at a time.
Example: Vinegar Tank 1
Equipment The results can be limited to only include lots or sublots that are String
Path or were stored at the equipment that match this property. See
Equipment for more information on equipment paths
Only one of the Equipment Class Name, Equipment Class UUID,
Equipment Path or Equipment UUID properties can be specified
at a time.
Example: My Enterprise\California\Storage\Vinegar
Tanks\Vinegar Tank 1
Equipment The results can be limited to only include lots or sublots that are String
Class or were stored at the equipment that are included in an
Name equipment class that match this property. It can contain wildcard
characters including * or ?. The * character can be any
characters and the ? character represents any single character.
Only one of the Equipment Class Name, Equipment Class UUID,
Equipment Path or Equipment UUID properties can be specified
at a time.
Example: Vinegar Storage Tanks
Personnel The results can be limited to only include lots or sublots that are String
Class or were handled by personnel that are included in a personnel
Name class that match this property. It can contain wildcard characters
including * or ?. The * character can be any characters and the ?
character represents any single character.
2857
MES Platform 2.0
Person The results can be limited to only include lots or sublots that are String
First or were handled by personnel that match this property . It can
Name contain wildcard characters including * or ?. The * character can
be any characters and the ? character represents any single
character.
Person The results can be limited to only include lots or sublots that are String
Last Name or were handled by personnel that match this property . It can
contain wildcard characters including * or ?. The * character can
be any characters and the ? character represents any single
character.
Operation The results can be limited to only include lots or sublots that String
Name performs the operation that match this property. It can contain
wildcard characters including * or ?. The * character can be any
characters and the ? character represents any single character.
Example: Unload Vinegar
Segment The results can be limited to only include lots or sublots that are String
Name handled by segment that match this property. It can contain
wildcard characters including * or ?. The * character can be any
characters and the ? character represents any single character.
Example: Unload Balsamic Vinegar
Segment The results can be limited to only include lots or sublots that are String
Equipment handled by equipment that matches this property. It can contain
Name wildcard characters including * or ?. The * character can be any
characters and the ? character represents any single character.
Only one of the Segment Equipment Class Name properties can
be specified at a time.
2858
MES Platform 2.0
Segment The results can be limited to only include lots or sublots that are String
Equipment or were stored at the segment equipment that matches this
Path property. It can contain wildcard characters including * or ?. The
* character can be any characters and the ? character
represents any single character.
Only one of the Segment Equipment Class Name properties can
be specified at a time.
Example: Dressings Inc\California\Bottling\Bottling Line 1
Segment The results can be limited to only include lots that were String
Equipment processed at the equipment that belong to the segment
Class equipment class that matches this property. It can contain
wildcard characters including * or ?. The * character can be any
characters and the ? character represents any single character.
Only one of the Segment Equipment Class Name properties can
be specified at a time.
Example: Bottling
Custom The results can be limited to only include items that have a PyDictionary
Property custom property expressions defined by this property that
Values evaluates to true.
Example: Kind > 3
2859
MES Platform 2.0
Sublot Info
Description
The Sublot Info binding function is used to retrieve information for a sublot based on the filter
parameters listed in the image below. It can be used to display and report sublot details
including custom property values.
Function Name
Sublot Info
Parameters
Enable If true, results will be retrieved. This provides a method to disable Boolean
the retrieval of lot information results and the associated overhead.
String
2860
MES Platform 2.0
Sublot The sublot name to return the sublot information results. Optionally
Name Sublot UUID can be used but not both.
Sublot The sublot UUID to return the sublot information results. Optionally String
UUID sublot Name can be used but not both. See UUIDs for more
information.
Include If true, the results will include a column named CustomProperties Boolean
Custom that contains a Dataset to hold custom property information .
Properties
Sublot Trace
Description
The Sublot Trace binding function is used to retrieve trace information for a sublot based on the
filter parameters listed in the image below. It returns the same data that the Trace Graph
component used to display it's information.
2861
MES Platform 2.0
Function Name
Sublot Trace
Parameters
Enable If true, results will be retrieved. This provides a method to disable the Boolean
retrieval of lot information results and the associated overhead.
Sublot The sublot name to return the trace details results. Optionally Sublot String
Name UUID can be used but not both.
Sublot The sublot UUID to return the trace details results. Optionally sublot String
UUID Name can be used but not both. See UUIDs for more information.
2862
MES Platform 2.0
LotUUID String
LotName String
LotSequence Integer
LotStatus String
LotUse String
LotBeginDateTime Date
LotEndDateTime Date
LotQuantity Double
MaterialUUID String
MaterialName String
LotLocationUUID String
LotLocationName String
SegmentUUID String
SegmentName String
SegmentBeginDateTime Date
SegmentEndDateTime Date
SegmentLocationUUID String
2863
MES Platform 2.0
SegmentLocationName String
PrevSegmentUUID String
NextSegmentUUID String
SegInCount Integer
SegOutCount Integer
LotInCount Integer
LotOutCount Integer
LotContainsSublot Integer
2864
MES Platform 2.0
Project
Child Folders
Enterprise One folder will exist for each Enterprise that has been configured in the Ignition
Designer. The folder can be opened to view all values within the enterprise.
Description
The enterprise folder contains some properties associated with the enterprise, the folder for
MES events and a folder for each production Site within it. The name is the same as the
enterprise name that is configured in the designer. The image below represents the "New
Enterprise" of the global project.
Enterprise
Child Folders
MES MES Event folder has one folder for each MES Event (events can be added or edited
Event in the general tab at the Enterprise level in the production model).
Site One folder will exist for each Site that has been configured in the Ignition Designer.
The folder can be opened to view all values within the site .
2865
MES Platform 2.0
2866
MES Platform 2.0
Properties
Analysis . The name of the auxiliary (mirror) analysis database connection. String
Auxiliary . Can be blank if no auxiliary DB connection is configured.
Read
DB .
Only
Connection
. Name
Description Optionally, this property can be set to a description for the enterprise String
. It is not used by the OEE Downtime and Scheduling Module other
than for reference.
Enabled This reflects the enterprise Enabled property in the Designer. If the Boolean
enterprise Enabled is set to true, then the OEE Downtime and
Scheduling module will perform calculations for the enterprise and all
sites , areas , lines and cells within it. If this property is set to false,
then none of the sites , areas , lines or cells will have calculations
performed.
Name This reflects the name of the enterprise that is set in the designer. String
Read
Only
Save Indicates if control limits are saved by product code. Exists only if the Boolean
Control SPC module is also installed.
Read
Limit by
Only
Product
Code
2867
MES Platform 2.0
Save Indicates if control limits are saved by recipe. Exists only if the Boolean
Control Recipe module is also installed.
Read
Limits in
Only
Recipe
Description
The site folder contains some properties associated with the production site and a folder for
each production area within it. The name is the same as the site name that is configured in the
designer. The image below represents the "New Site" of the global project.
Site
Child Folders
Area One folder will exist for each area that has been configured in the Ignition Designer.
The folder can be opened to view all values within the area.
Properties
Description Optionally, this property can be set to a description for the site. It is String
not used by the OEE Downtime and Scheduling Module other than
for reference.
2868
MES Platform 2.0
Enabled This reflects the site Enabled property in the Designer. If the site Boolean
Enabled is set to true, then the OEE Downtime and Scheduling
module will perform calculations for the site and all areas, lines and
cells within it. If this property is set to false, then none of the areas,
lines or cells will have calculations performed.
Name This reflects the name of the site that is set in the designer. String
Read _
Only
Default . This reflects the site Default Shift 1 Start Time property in the DateTime
Shift . 1 . Designer. See Site Configuration for more details.
Read
Start .
Only
Time
Default This reflects the site Default Shift 2 Start Time property in the DateTime
Shift 2 Designer. See Site Configuration for more details.
Read
Start Time
Only
Default This reflects the site Default Shift 3 Start Time property in the DateTime
Shift 3 Designer. See Site Configuration for more details.
Read
Start Time
Only
2869
MES Platform 2.0
Description
The area folder contains some properties associated with the production area and folders for
each production line, location and storage zone within it. The name is the same as the area
name that is configured in the designer. The image below represents the "New Area" of the
global project.
Area
Child Folders
Line One folder will exist for each line that has been configured in the Ignition Designer.
The folder can be opened to view all values within the line.
2870
MES Platform 2.0
Location One folder will exist for each location that has been configured in the Ignition
Designer. The folder can be opened to view all values within the location.
Storage One folder will exist for each storage zone that has been configured in the Ignition
Zone Designer. The folder can be opened to view all values within the storage zone.
Properties
ActiveRecipeName If a recipe is active for this production area, then this is String
the name of the recipe. If a recipe is not active, then this
Read
is blank.
Only
Enabled This reflects the site Enabled property in the Designer. If Boolean
the area Enabled is set to true, then the OEE Downtime
and Scheduling module will perform calculations for the
area and all lines and cell within it. If this property is set
to false, then none of the lines or cells will have
calculations performed.
Name This reflects the name of the area that is set in the String
designer.
Read _
Only
ProductCodeMask
2871
MES Platform 2.0
RecipeScale Set this to the amount to scale a recipe prior to selecting Double
a recipe for the production area.
RecipeTrackingUUID This is a unique value used for tracking initial recipe String
values and variances while a recipe is selected. It can
Read
be used when looking up data directly from the
Only
database.
RecipeVarianceExists If true, then Ignition tags associated with at least one Boolean
recipe value for this production item have changed.
Read
Only
RecipeWriteError If true, then at least one recipe value did not write to the Boolean
associated Ignition tags when the recipe was first
Read
selected.
Only
Shift . 1 . Start . Time The current Shift 1 Start Time time for the production DateTime
area . If the associated Shift 1 Start Time property for
Read
the area in the designer is set to Inherit From Parent ,
Only
this will be the time defined for the parent production site
. See Area Configuration for more details.
Shift 2 Start Time The current Shift 2 Start Time time for the production DateTime
area . If the associated Shift 2 Start Time property for
Read
the area in the designer is set to Inherit From Parent ,
Only
this will be the time defined for the parent production site
. See Area Configuration for more details.
2872
MES Platform 2.0
Shift 3 Start Time The current Shift 3 Start Time time for the production DateTime
area . If the associated Shift 3 Start Time property for
Read
the area in the designer is set to Inherit From Parent ,
Only
this will be the time defined for the parent production site
. See Area Configuration for more details.
ValueMonitorEnabled If true, recipe values are being monitored and recipe Boolean
value variances will be logged.
Read
Only
Description
The line folder contains some properties associated with the production line, the folder for MES
counter and folders for each production cell, cell group, location within it. The name is the same
as the line name that is configured in the designer. The image below represents the "New Line"
of the global project.
2873
MES Platform 2.0
2874
MES Platform 2.0
Line
Child Folders
MES One folder will exist for each MES Counter that has been configured in the Ignition
Counter Designer. The folder can be opened to view all values within the counter.
Cell One folder will exist for each cell that has been configured in the Ignition Designer.
The folder can be opened to view all values within the cell.
Cell One folder will exist for each cell group that has been configured in the Ignition
Group Designer. The folder can be opened to view all values within the cell group.
Location One folder will exist for each location that has been configured in the Ignition
Designer. The folder can be opened to view all values within the location.
2875
MES Platform 2.0
Properties
ActiveRecipeName If a recipe is active for this production line, then this String
is the name of the recipe. If a recipe is not active,
Read
then this is blank.
Only
Calculate Count This value will increment every time OEE, downtime Int4
and scheduling values are calculated for the project
Read
production model.
Only
Can Cancel Run Indicates if this run can be cancelled. Runs can only Boolean
be cancelled while in changeover
Read
Only
Can Resume Run If true, all conditions are good to resume a production Boolean
run.
Read
Only
Can Start Run If true, all conditions are good to start a production Boolean
run.
Read
Only
Cycle Count Tag Path Tag path to read the current equipment cycle count String
from.
Downtime Detection This reflects the current value of the "Downtime String
Mode Detection Method" setting in the designer.
Read
Only
2876
MES Platform 2.0
Infeed Count Scale Tag Tag path to read the current equipment infeed count String
Path scale from.
Infeed Units Tag Path Tag path to read the current infeed units. String
InheritValuesMode
Minimum Cells Running For Parallel downtime detection method, the Integer
Threshold minimum number of cells that must be running before
the group is considered down.
Mode Tag Path Tag path to read the current equipment mode from. String
Name This reflects the name of the line that is set in the String
designer.
Read
Only
2877
MES Platform 2.0
Note Tag Path Tag path to read the current downtime note from. String
Operation UUID Tag Tag path to read the current MES Operations String
Path Response UUID from.
Outfeed Units Tag Path Tag path to read the current outfeed units. String
Package Count Tag Path Tag path to read the current equipment package String
count from.
Product Code The current product code being run on the line. String
Typically, this is controlled by the functionality of the
operator screen, but it can also be handled
programmatically. It should only be changed when
Enable Run is false.
Product Code The description for the current Product Code. String
Description
Read
Only
Product Code Tag Path Tag path to read the current equipment product code String
from.
ProductCodeMask
Rate Period Tag Path Tag path to read the rate period code from. String
2878
MES Platform 2.0
RecipeTrackingUUID This is a unique value used for tracking initial recipe String
values and variances while a recipe is selected. It
Read
can be used when looking up data directly from the
Only
database.
RecipeVarianceExists If true, then Ignition tags associated with at least one Boolean
recipe value for this production item have changed.
Read
Only
RecipeWriteError If true, then at least one recipe value did not write to Boolean
the associated Ignition tags when the recipe was first
Read
selected.
Only
Reject Units Tag Path Tag path to read the current reject units. String
Run Elapsed Time The total minutes that have elapsed from the start of Float8
(Minutes) the production run.
Read
Only
Run Start Date Time This will equal the time that the production run DateTime
started or the beginning of the current shift,
Read
whichever occurred last.
Only
Run Started The value will be true if a production run has started. Boolean
Even if the production run has been ended but a new
Read
production run has not been selected, this value will
Only
be true.
Run UUID
2879
MES Platform 2.0
Schedule Count Tag Tag path to read the schedule count from. String
Path
Schedule Duration Tag Tag path to read the schedule duration from. String
Path
Schedule Rate Tag Path Tag path to read the target schedule rate from. String
Sequence Date The date and time that the current shift started. This Date
is used for retrieving results based on a production
Read -
day and not days that are split at midnight.
Only
Shift The current shift based on the shift start times Int4
configured for the production line.
Read
Only
Shift 1 Enabled The current Shift 1 enabled state for the production Boolean
line. It reflects the Shift 1 Enabled property for the
line in the designer. The initial value of this property
is determined by the Shift 1 Initial Enabled State
property for the production line in the designer. It can
be changed from the initial value.
Shift 1 Start Time The current Shift 1 Start Time time for the production DateTime
line. If the associated Shift 1 Start Time property for
the line in the designer is set to Inherit From Parent,
this can be the time defined for the parent production
area or line.
Shift 2 Enabled The current Shift 2 enabled state for the production Boolean
line. It reflects the Shift 2 Enabled property for the
line in the designer. The initial value of this property
is determined by the Shift 2 Initial Enabled State
property for the production line in the designer. It can
be changed from the initial value
2880
MES Platform 2.0
Shift 2 Start Time The current Shift 2 Start Time time for the production DateTime
line. If the associated Shift 2 Start Time property for
the line in the designer is set to Inherit From Parent,
this can be the time defined for the parent production
area or line.
Shift 3 Enabled The current Shift 3 enabled state for the production Boolean
line. It reflects the Shift 3 Enabled property for the
line in the designer. The initial value of this property
is determined by the Shift 3 Initial Enabled State
property for the production line in the designer. It can
be changed from the initial value.
Shift 3 Start Time The current Shift 3 Start Time time for the production DateTime
line. If the associated Shift 3 Start Time property for
the line in the designer is set to Inherit From Parent,
this can be the time defined for the parent production
area or line.
Shift Tag Path Tag path to read the current equipment production String
shift from.
Standard Rate Tag Path Tag path to read the current equipment standard rate String
from.
State Tag Path Tag path to read the current equipment state from. String
Target C/O Time Tag Tag path to read the target changeover time from. String
Path
ValueMonitorEnabled If true, recipe values are being monitored and recipe Boolean
value variances will be logged.
Read
Only
Work Order Tag Path Tag path to read the current work order from. String
ZeroLotThreshold
2881
MES Platform 2.0
ZeroLotThresholdMethod
Description
The cell folder contains some properties associated with the production cell and the MES
Counter folder. The name is the same as the cell name that is configured in the designer. The
image below represents the 'New Cell' of the global project.
2882
MES Platform 2.0
Cell
2883
MES Platform 2.0
Child Folders
MES One folder will exist for each MES Counter that has been configured in the Ignition
Counter Designer. The folder can be opened to view all values within the counter.
Properties
ActiveRecipeName If a recipe is active for this production cell, then this is String
the name of the recipe. If a recipe is not active, then
Read
this is blank.
Only
Cell . Enabled If Cell Enabled is set to true, then the OEE Downtime Boolean
and Scheduling module will perform calculations for
Read
the cell. This value is determined by the product code
Only
and production line. It can also be programmatically
changed.
Cycle Count Tag Path Tag path to read the current equipment cycle count String
from.
Default . Cell . Enabled This reflects the site Default Cell Enabled property in Boolean
the Designer.
Read
Only
Infeed Units Tag Path Tag path to read the current infeed units. String
2884
MES Platform 2.0
InheritValuesMode
Licensed This reflects whether the modules are licensed or not. Boolean
Mode Tag Path Tag path to read the current equipment mode from. String
Name This reflects the name of the cell that is set in the String
designer.
Read
Only
Note Tag Path Tag path to read the current downtime note from. String
Operation UUID Tag Tag path to read the current MES Operations String
Path Response UUID from.
Outfeed Units Tag Path Tag path to read the current outfeed units. String
Package Count Tag Path Tag path to read the current equipment package count String
from.
Product Code Tag Path Tag path to read the current equipment product code String
from.
ProductCodeMask String
Rate Period Tag Path Tag path to read the rate period code from. String
RecipeScale Double
2885
MES Platform 2.0
RecipeTrackingUUID This is a unique value used for tracking initial recipe String
values and variances while a recipe is selected. It can
Read
be used when looking up data directly from the
Only
database.
RecipeVarianceExists If true, then Ignition tags associated with at least one Boolean
recipe value for this production item have changed.
Read
Only
RecipeWriteError If true, then at least one recipe value did not write to Boolean
the associated Ignition tags when the recipe was first
Read
selected.
Only
Reject Units Tag Path Tag path to read the current reject units. String
Sequence Date The date and time that the current shift started. This is Date
used for retrieving results based on a production day
Read -
and not days that are split at midnight.
Only
Shift Tag Path Tag path to read the current equipment production String
shift from.
2886
MES Platform 2.0
State Tag Path Tag path to read the current equipment state from. String
ValueMonitorEnabled If true, recipe values are being monitored and recipe Boolean
value variances will be logged.
Read
Only
Work Order Tag Path Tag path to read the current work order from. String
ZeroLotThreshold
ZeroLotThresholdMethod
Description
The location folder contains properties associated with the production location. The production
location can reside under a production line or directly under a production area. The name is the
same as the location name that is configured in the designer. The image below represents the
'New Location' of the global project.
2887
MES Platform 2.0
Location
Child Folders
No child folders
Properties
2888
MES Platform 2.0
Properties
ActiveRecipeName If a recipe is active for this production location, then this String
is the name of the recipe. If a recipe is not active, then
Read
this is blank.
Only
Enabled If Enabled is set to true, then the SPC module will Boolean
perform calculations and enable tag collectors for the
location.
InheritValuesMode
Licensed This reflects whether the modules are licensed or not. Boolean
Name This reflects the name of the location that is set in the String
designer.
Read -
Only
Product Code This reflects the product code currently assigned to this String
location.
Read -
Only
ProductCodeMask
2889
MES Platform 2.0
Read
Only
RecipeScale Set this to the amount to scale a recipe prior to selecting Double
a recipe for the production location.
RecipeTrackingUUID This is a unique value used for tracking initial recipe String
values and variances while a recipe is selected. It can
Read
be used when looking up data directly from the
Only
database.
RecipeVarianceExists If true, then Ignition tags associated with at least one Boolean
recipe value for this production item have changed.
Read
Only
RecipeWriteError If true, then at least one recipe value did not write to the Boolean
associated Ignition tags when the recipe was first
Read
selected.
Only
Reference . Number This reflects the reference number currently assigned to String
this location. The reference number is optional and can
Read -
represent anything you want to be tracked with samples
Only
at this location, except for the product code.
Sample . Coming . If true, a sample is coming due for this location. Boolean
Due
Read
Only
2890
MES Platform 2.0
Read
Only
Sequence Date The date and time that the current shift started. This is Date
used for retrieving results based on a production day
Read -
and not days that are split at midnight.
Only
Shift The current shift based on the shift start times Int4
configured for the production location.
Read -
Only
Shift 1 Enabled The current Shift 1 enabled state for the production Boolean
location. It reflects the Shift 1 Enabled property for the
location in the designer. The initial value of this property
is determined by the Shift 1 Initial Enabled State
property for the production location in the designer. It
can be changed from the initial value.
Shift . 1 . Start . Time The current Shift 1 Start Time time for the production DateTime
location. If the associated Shift 1 Start Time property for
the location in the designer is set to Inherit From Parent,
this can be the time defined for the parent production
area or line.
Shift 2 Enabled The current Shift 2 enabled state for the production Boolean
location. It reflects the Shift 2 Enabled property for the
location in the designer. The initial value of this property
is determined by the Shift 2 Initial Enabled State
property for the production location in the designer. It
can be changed from the initial value
2891
MES Platform 2.0
Shift 3 . Enabled The current Shift 3 enabled state for the production Boolean
location. It reflects the Shift 3 Enabled property for the
location in the designer. The initial value of this property
is determined by the Shift 3 Initial Enabled State
property for the production location in the designer. It
can be changed from the initial value.
Shift . 3 . Start . Time The current Shift 3 Start Time time for the production DateTime
location. If the associated Shift 3 Start Time property for
the location in the designer is set to Inherit From Parent,
this can be the time defined for the parent production
area or line.
Signal Out Of Control If true, at least one signal associated with this location is Boolean
out of control.
Read
Only
Trace Enabled If true, a product code has been assigned to this location Boolean
and is considered as actively processing.
Read -
Only
ValueMonitorEnabled If true, recipe values are being monitored and recipe Boolean
value variances will be logged.
Read
Only
9.9.8 Signals
Description
The signals folder contains a folder for each signal. The name of each folder is the same as the
signal name that is configured in the designer. The image below represents the Individual
Outside signal of the QualityDemo project.
2892
MES Platform 2.0
SPCOPCSignals
Properties
Kind The ordinal value of the kind of control chart that the int
signal is associated with. See SignalKindTypes for
Read
more information.
Only
SignalName This reflects the name of the signal that is configured String
in the designer.
Read
Only
SignalAutoEvaluatePeriod This reflects the ordinal value of the evaluation time int
period of the SignalAutoEvaluateDuration value. See
Read
Signal Auto Evaluate Period Types for more
Only
information.
SignalChartShape This reflects the ordinal value of the shape to display int
in the control charts when a sample is out of control
Read
for this signal. See SPCChartShapeTypes for more
Only
information.
2893
MES Platform 2.0
9.9.9 ControlLimits
Description
The control limits folder contains a folder for each control limit. The name of each folder is the
same as the control limit name that is configured in the designer. The image below represents
the Histogram LCL control limit of the QualityDemo project.
SPCOPCLimit
Control Limits
Properties
Kind The ordinal value of the kind of control chart that the control limit is int
associated with. See ControlLimitKindTypes for more information.
Read
Only
Name This reflects the name of the control limit that is configured in the designer. String
Read
Only
10.1 General
10.3 OEE
10.4 SPC
10.5 Recipe
11 Videos 2895
MES Platform 2.0
11 Videos
Installing Modules
What is MES
Module Installation
Configuring MES Databases
Installing Sample Project
Production Simulator
11.2 Recipe/Changeover
2896
MES Platform 2.0
Configuring Recipes
Recipe Editor Overview
Recipe Editor – Default Values and Security
Recipe Editor – Adding Recipes
Recipe Editor – Master Recipes and Descendants
Recipe Editor – Sub Recipes
Recipe Editor – Notes
Recipe Editor – Filtering
Recipe Editor – Allowing Certain Functions
Recipe Editor Table
Loading Recipes
Manual – Component
Manual – Scripting
Automatic – Scripting
2897
MES Platform 2.0
Parse Template
Fixed Position Parsing Box
Label Parsing Box
CSV Column Parsing Box
CSV Row Parsing Box
11.4 OEE/Downtime
Understanding OEE
What is OEE
OEE Availability
OEE Performance
OEE Quality
Applying OEE
TEEP
2898
MES Platform 2.0
Product Codes
Product Code Screens
Product Codes By Line
2899
MES Platform 2.0
Changeover
Production Runs
Manual Start and Stop
Resuming Runs
Auto Start and Stop
Manual Start and Stop from Schedule
Auto Start and Stop from Schedule
Operator Screens
Run Monitoring
Downtime Table
Manual Downtime Entry
Binding Functions
Analysis Time Chart
OEE Analysis
Analysis Overview
Impromptu Analysis Screen
Analysis Selector
Analysis Controller – Downtime
Analysis Controller – Additional Factor
Analysis Controller – Run (OEE)
Analysis Controller – Dynamic Filters
Analysis Controller – Last Day
Analysis Controller – Drill Down
Dashboard Screens Configuration
OEE Reports
OEE Report
Downtime Report
Shift Report
2900
MES Platform 2.0
11.5 SPC
2901
MES Platform 2.0
Production Tags
Operator Screens
Sample Definition Manager Overview
Manual Sample Entry List
Approving Samples
Sample Definition Location Ownership
Automatic Multipoint Sample Entry
Adding Sample in Scripting
Schedule Sample List
Schedule Monitoring
Building a Basic Control Chart
Rule Monitoring
SPC Analysis
Impromptu Control Chart Screen
Impromptu Analysis Screen
Using SPC Data in Reports
Instalodule
13 Glossary 2903
MES Platform 2.0
13 Glossary
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Search
13.1 A
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.1.2 API
Application Programming Interface (API), in the context of Java, is a collection of prewritten
packages, classes, and interfaces with their respective methods, fields, and constructors.
Similar to a user interface, which facilitates interaction between humans and computers, an API
serves as a software program interface facilitating interaction. -techopedia
13.2 B
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.3 C
2904
MES Platform 2.0
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.3.1 CD-Key
A product key, also known as a software key, is a specific software-based key for a computer
program. It certifies that the copy of the program is original.
When the software and the modules are purchased, you are provided with a six-digit CD-Key. If
you add a module, your account is updated, and you can re-use your existing CD-Key to
activate the new features. You can also unactivate your CD-Key, and reuse it to activate
Ignition on a different machine.
13.3.2 CSV
A comma-separated values ( CSV ) file stores tabular data (numbers and text) in plain text.
Each line of the file is a data record. Each record consists of one or more fields, separated by
commas. The use of the comma as a field separator is the source of the name for this file
format. -Wikipedia
13.4 D
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
2905
MES Platform 2.0
13.5 E
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.5.1 EAN
An EAN-13 barcode (originally European Article Number, but now renamed International Article
Number even though the abbreviation EAN has been retained) is a 13 digit (12 data and 1
check) barcoding standard which is a superset of the original 12-digit Universal Product Code
(UPC) system. The EAN-13 barcode is defined by the standards organization GS1.
The 13 digits in the EAN-13 barcode are grouped as follows:
The left group: Digits 2-7. The left group also encodes digit 1, through a scheme of odd
and even parity.
The right group: Digits 8-13, digit 13 is the check digit. -Wikipedia.
13.5.2 ERP
Enterprise resource planning (ERP) is business management software—typically a suite of
integrated applications—that a company can use to collect, store, manage and interpret data
from many business activities.
13.6 F
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.6.1 EAN
An EAN-13 barcode (originally European Article Number, but now renamed International Article
Number even though the abbreviation EAN has been retained) is a 13 digit (12 data and 1
check) barcoding standard which is a superset of the original 12-digit Universal Product Code
(UPC) system. The EAN-13 barcode is defined by the standards organization GS1.
The 13 digits in the EAN-13 barcode are grouped as follows:
The left group: Digits 2-7. The left group also encodes digit 1, through a scheme of odd
and even parity.
The right group: Digits 8-13, digit 13 is the check digit. -Wikipedia.
2906
MES Platform 2.0
13.6.2 ERP
Enterprise resource planning (ERP) is business management software—typically a suite of
integrated applications—that a company can use to collect, store, manage and interpret data
from many business activities.
13.7 G
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.7.2 GTIN
Global Trade Item Number (GTIN) is an identifier for trade items developed by GS1 (comprising
among others of the former EAN International and Uniform Code Council). Such identifiers are
used to look up product information in a database (often by entering the number through a bar
code scanner pointed at an actual product) which may belong to a retailer, manufacturer,
collector, researcher, or other entity.
GTINs may be 8, 12, 13 or 14 digits long, and each of these 4 numbering structures are
constructed in a similar fashion, combining Company Prefix, Item Reference and a calculated
Check Digit (GTIN-14 adds another component - the Indicator Digit, which can be 1-8). GTIN-
8s will be encoded in an EAN-8 bar code. GTIN-12s may be shown in UPC-A, ITF-14, or GS1-
128 bar codes. GTIN-13s may be encoded in EAN-13 , ITF-14 or GS1-128 bar codes, and
GTIN-14s may be encoded in ITF-14 or GS1-128 bar codes. The choice of bar code will
depend on the application; for example, items to be sold at a retail establishment should be
marked with EAN-8 , EAN-13 , UPC-A or UPC-E bar codes. -Wikipedia.
2907
MES Platform 2.0
13.8 H
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.8.1 HMI
Human Machine Interface (HMI) is the user interface in a manufacturing or process control
system. It provides a graphical display of an industrial control and monitoring system. An HMI
typically resides in an office-based Windows computer that communicates with a specialized
computer in the plant such as a programmable logic controller (PLC). HMI is now more widely
used for industrial softwares (such as Ignition) that monitor and control entire plants and
provide historical and statistical data. - PC Magazine Encyclopedia
13.9 I
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1. Where automation allows inspection of each unit, so rational subgrouping has less
benefit.
2. Where production is slow so that waiting for enough samples to make a rational
subgroup unacceptably delays monitoring.
3. For processes that produce homogeneous batches (e.g., chemical) where repeat
measurements vary primarily because of measurement error. -Wikipedia
13.10 J
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.11 K
2908
MES Platform 2.0
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.12 L
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.12.1 LAN
A local area network (LAN) is a computer network that interconnects computers within a limited
area. It shares a common communication line or wireless link to a server. -Wikipedia
13.12.2 LCL
Bottom limit in quality control for data points below the control (average) line in a control chart.
Opposite of upper control limit. The horizontal line drawn on a control chart at a specified
distance below the central line; points plotted below the lower control limit indicate that the
process may be out of control.
13.12.3 LEAN
Lean manufacturing or lean production, often simply "lean", is a systematic method for the
elimination of waste within a manufacturing system. Lean also takes into account waste created
through overburden and waste created through unevenness in work loads. -Wikipedia
13.13 M
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.13.1 MES
A manufacturing execution system ( MES ) is a control system for managing and monitoring
work-in-process on a factory floor.
2909
MES Platform 2.0
13.13.2 MOM
Manufacturing operation management (MOM) is an approach of overseeing all aspects of the
manufacturing process with a particular focus to increase efficiency.
13.14 N
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Here, is the mean or expectation of the distribution (and also its median and mode). The
parameter is its standard deviation with its variance then 2. A random variable with a Gaussian
distribution is said to be normally distributed and is called a normal deviate. If = 0 and = 1, the
distribution is called the standard normal distribution or the unit normal distribution denoted by N
(0,1) and a random variable with that distribution is a standard normal deviate. -Wikipedia.
2910
MES Platform 2.0
13.15 O
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.15.1 OEE
OEE (Overall Equipment Effectiveness) measures the percentage of planned production time
that is truly productive. OEE = Availability X Performance X Quality.
13.15.2 OIT
OIT (Operator Interface Terminal) is a low level graphical interface to a specified computer on
the plant floor such as a programmable automation controller (PAC), programmable logic
controller (PLC) or distributed control system (DCS).
13.15.4 OPC-UA
OPC Unified Architecture (OPC-UA) is a communication protocol for interoperability developed
by the OPC Foundation . The Foundation's goal for this project was to provide a path forward
from the original OPC communications model (namely COM/DCOM) to a cross-platform
service-oriented architecture (SOA) for process control, while enhancing security and providing
an information model.
Using the OPC-UA module, Ignition acts as an OPC-UA server, serving data collected by its
built in drivers to other Ignition modules, as well as third-party OPC-UA clients. -Wikipedia
13.16 P
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
2911
MES Platform 2.0
13.16.1 PLC
Programmable Logic Controller (PLC) is a programmable microprocessor-based device that is
used in manufacturing to control assembly lines and machinery on the shop floor as well as
many other types of mechanical, electrical, and electronic equipment in a plant. A PLC is
designed for real-time use in rugged, industrial environments. Connected to sensors and
actuators, PLCs are categorized by the number and type of I/O ports they provide and by their I
/O scan rate.
13.16.2 PLM
Product lifecycle management (PLM) is an information management system that can integrate
data, processes, business systems and, ultimately, people in an extended enterprise.
13.16.3 PPM
PPM (Parts per million) is a measurement used today by many customers to measure quality
performance. Definition: One PPM means one (defect or event) in a million or 1/1,000,000.
13.17 Q
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.18 R
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
2912
MES Platform 2.0
13.18.1 Regex
In theoretical computer science and formal language theory, a regular expression (sometimes
called a rational expression or regex) is a sequence of characters that define a search pattern,
mainly for use in pattern matching with strings, or string matching, i.e. "find and replace"-like
operations and came into common use with the Unix text processing utilities ed, an editor, and
grep, a filter. -Wikipedia.
13.18.2 REST
In computing, representational state transfer (REST) is the software architectural style of the
World Wide Web. REST gives a coordinated set of constraints to the design of components in a
distributed hypermedia system that can lead to a higher-performing and more maintainable
architecture.
The architectural properties affected by the constraints of the REST architectural style are:
Performance - component interactions can be the dominant factor in user-perceived
performance and network efficiency.
Scalability - support large numbers of components and interactions among components. -
Wikipedia.
13.18.3 RS-232
In telecommunications, RS-232 is a standard for serial communication transmission of data. It
formally defines the signals connecting between a DTE (data terminal equipment) such as a
computer terminal, and a DCE (data circuit-terminating equipment), such as a modem. The RS-
232 standard is commonly used in computer serial ports. The standard defines the electrical
characteristics and timing of signals, the meaning of signals, and the physical size and pinout of
connectors. -Wikipedia.
13.19 S
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
2913
MES Platform 2.0
13.19.1 SCADA
Supervisory Control And Data Acquisition (SCADA) is a process control system that is used in
countless number of applications, including manufacturing, communications, distribution (water,
gas, power) and heating, cooling and security in buildings. A SCADA system collects data from
sensors in local and remote locations and sends them to central computers to control local
machinery.
SCADA systems range from simple configurations to large and complex projects. Most SCADA
systems use HMI (human-machine interface) software that allows users to interact with and
control the machines and devices that the HMI is connected to such as valves, pumps, motors,
and much more.
SCADA software receives its information from RTUs (Remote Terminal Units) or PLCs (P
rogrammable Logic Controllers) which can receive their information from sensors or manually
inputted values. From here, the data can be used to effectively monitor, collect and analyze
data, which can potentially reduce waste and improve efficiency resulting in savings of both
time and money.
2914
MES Platform 2.0
13.19.3 SOA
A service-oriented architecture (SOA) is an architectural pattern in computer software design in
which application components provide services to other components via a communications
protocol, typically over a network. The principles of service-orientation are independent of any
vendor, product or technology. A service is a self-contained unit of functionality, such as
retrieving an online bank statement. By that definition, a service is a discretely invokable
operation. -Wikipedia
13.19.4 SPC
Statistical process control (SPC) is a method of quality control which uses statistical methods
. SPC is applied in order to monitor and control a process. -Wikipedia
13.19.5 SUDS
In computer science, a succinct data structure (SUDS) is a data structure which uses an
amount of space that is "close" to the information-theoretic lower bound, but (unlike other
compressed representations) still allows for efficient query operations. The concept was
originally introduced by Jacobson to encode bit vectors, (unlabeled) trees, and planar graphs.
Unlike general lossless data compression algorithms, succinct data structures retain the ability
to use them in-place, without decompressing them first. A related notion is that of a
compressed data structure, in which the size of the data structure depends upon the particular
data being represented. -Wikipedia
13.20 T
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.20.1 TEEP
TEEP stands for Total Effective Equipment Performance. TEEP is a performance metric that
shows the total performance of equipment based on the amount of time the equipment was
present. Typically the equipment is onsite and thus TEEP is metric that shows how well
equipment is utilized.
2915
MES Platform 2.0
13.21 U
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.21.1 UCL
A value that indicates the highest level of quality acceptable for a product or service. The upper
control limit is used in conjunction with the lower control limit to create the range of variability
for quality specifications, enabling those within the organization to provide an optimal level of
excellence by adhering to the established guidelines.
13.21.2 UPC
The Universal Product Code (UPC) is a barcode symbology (i.e., a specific type of barcode)
that is used for scanning of trade items at the point of sale, per GS1 specifications. The most
common form, UPC-A, consists of 12 numerical digits, which are uniquely assigned to each
trade item. -Wikipedia.
13.22 V
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.22.1 VPN
A virtual private network (VPN) extends a private network across a public network, such as the
Internet. It enables users to send and receive data across shared or public networks as if their
computing devices were directly connected to the private network, and thus are benefiting from
the functionality, security and management policies of the private network. -Wikipedia
13.23 W
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.24 X
2916
MES Platform 2.0
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.25 Y
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
13.26 Z
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
2917