Sepasoft MES Module Suite
Configuring and Utilizing Ignition MES Live Analysis
Introduction to Live Analysis
Creating a Live Analysis Profile: A Step-by-Step Guide
Prerequisites and Initial Setup
- You must have at least one Line configured in your Production Equipment Model.
- Navigate to the Live Analysis configuration screen by following this path: In the
Equipment Manager, select aline,cell group, orcell. From theGeneralsection of the selected equipment, click on the Live Analysis option.
Configuration Process
- Click the Add Live Analysis button (represented by a green '+' icon) to create a new, empty profile entry.
- Click the Edit Live Analysis button (represented by a pencil icon) next to the new entry to open the settings panel.
- Configure the profile using the various options available in the settings panel. A detailed breakdown of each setting is provided in Section 3.0 of this manual.
- After configuring all settings, click the Save button. Upon saving, a new folder corresponding to the
Analysis Namewill be created in the MES tag browser. This folder will contain the real-time tags for all the data points you selected.
Important Configuration Warnings
Data Points field has a maximum string length of 1024 characters.Live Analysis Settings Deep-Dive
Live Analysis Settings
Setting | Description & Functionality | ||
Analysis Name | A unique, user-defined name for the analysis profile. This name will be used for the corresponding folder in the MES tag browser. | ||
Enabled | A simple checkbox that functions as a toggle to activate or deactivate the analysis profile. Disabling it will stop tag updates without deleting the configuration. | ||
Period | Defines the time window for the analysis calculation. Seven options are available:
| ||
Custom Period Tag | When Period is set to Custom Period Tag, this field specifies the tag path containing the start datetime. The end time of the analysis is always the current time. The tag value should be a valid datetime, for example: 2017/04/04 14:00:00.
| ||
Update Rate | The frequency, in seconds, at which the analysis is recalculated and the tags are updated. The minimum and default value is 60 seconds. | ||
Data Points | The field where you select the specific production values (e.g., OEE, Runtime, Product Code) to be calculated and exposed as individual tags. | ||
Optional Filter | Allows you to refine the analysis results with a filter expression, similar to the MES Analysis Selector. However, the following fields must not be used, as the analysis is already filtered by equipment: Example: | ||
Setting Values | A field for entering special keywords that modify the analysis engine's behavior. For a complete list of keywords, refer to the reference guide in Section 4.2. |
Understanding Shift-Based Analysis
Period is set to Shift, a set of default data points related to the shift schedule is automatically generated in addition to any data points you select. These provide valuable context for shift-based performance monitoring.Data Point | Data Type | Description |
Available | Boolean | Returns True if the line is currently within a scheduled available period. |
Available Begin Date | DateTime | If currently in an available period, this is the time that period began. Otherwise, it shows the begin time of the most recent available period. |
Available End Date | DateTime | If currently in an available period, this is the time that period is scheduled to end. Otherwise, it shows the end time of the most recent available period. |
Current Shift | String | The name of the currently running shift, as defined in Schedule Management or a shift tag collector. |
Production Day Begin Date | DateTime | The start time of the first shift of the current production day. This is particularly useful for production schedules that cross midnight. <br> Example: If Shift 3 runs from Monday 10 PM to Tuesday 6 AM, and the current time is Tuesday 4 AM, this value will be Monday 6 AM, as that is when the first shift of that production day began. |
Shift Begin Date | DateTime | The exact start time of the Current Shift. |
Shift End Date | DateTime | The exact end time of the Current Shift. |
With a clear understanding of these configuration settings, you can now explore the extensive library of data points available to build a truly comprehensive monitoring solution.
Data Point and Settings Reference
Available Data Points
Equipment, Equipment Additional Factors, Equipment Count, Equipment Cycle Time, Line, Equipment Mode & State, Meantime, General, Batch Procedure, OEE, Settings & Changeover, and SPC.Equipment
Data Point | Data Type | Description |
Equipment Cell Order | Integer | The order of the cell within the line, where the key cell is always 0. |
Equipment Name | String | The name of the equipment from the production model. |
Equipment Note | String | Any note recorded for the equipment via its Note tag collector path. |
Equipment Operation Begin | DateTime | Start time of the currently running operation on this equipment. |
Equipment Operation End | DateTime | End time of the last operation that ran on this equipment. |
Equipment Operation Original Begin | DateTime | The original user-set begin time for the operation. |
Equipment Operation Original End | DateTime | The original user-set end time for the operation. |
Equipment Operation Scheduled Begin | DateTime | The current system-set begin time for the operation (null if not scheduled). |
Equipment Operation Scheduled End | DateTime | The current system-set end time for the operation (null if not scheduled). |
Equipment Operation Sequence | Integer | The ordinal number of the operation. |
Equipment Path | String | The full production model path for this equipment. |
Equipment Type | String | Can be Line, Cell Group, or Cell. |
Execution Time (ms) | Long | Time in milliseconds taken to execute the analysis, used for performance debugging. |
Infeed Units | String | The unit of measure for infeed material (e.g., Cans, Bottles). |
Is Key Cell | Boolean | Indicates if this equipment is the designated key cell. |
Operation UUID | String | Unique identifier for the currently running operation. |
Outfeed Units | String | The unit of measure for outfeed material. |
Product Code | String | The product code currently being processed. |
Rate Period | String | The time basis for production rates, typically Hours or Minutes. |
Reject Units | String | The unit of measure for rejected material. |
Work Order | String | The work order currently being processed. |
Equipment Additional Factors
Data Point | Data Type | Description |
.TimeStamp | String | For user-defined factors of a string data type, this provides the timestamp of the last update. |
Numeric Factors | Numeric | For user-defined factors of a numeric data type, these six additional data points are automatically created to provide statistical analysis of the values from the analysis run:<br>- .Min: The lowest value among the results.<br>- .Max: The highest value among the results.<br>- .Median: The value where half of the remaining resulting values are larger and half are smaller.<br>- .Mean: The sum of all the resulting values divided by the number of results.<br>- .Standard Deviation: The sample standard deviation of the resulting values.<br>- .TimeStamp: The DateTime that this factor was last updated. |
Equipment Count
Data Point | Data Type | Description |
Equipment Infeed Scale | Double | The scaling factor for infeed counts. |
Equipment Package Count | Double | The number of items per package unit. |
Equipment Reject Scale | Double | The scaling factor for reject counts. |
[Counter Kind]-[Counter Name] | Integer | A data point is generated for each MES Counter defined in the production model (e.g., Outfeed-Material Out). |
Equipment Cycle Time
Cycle Count value. The analysis engine distinguishes between three types of cycle time calculations:- Overall Cycle Time: Includes all equipment states except
Disabled.
- Normal Cycle Time: Includes
RunningandUnplanned Downtimestates, ignoring others likeStarved,Blocked, orPlanned Downtime.
- Precise Cycle Time: Includes only the
Runningstate.
Data Point | Data Type | Description |
Relative Cycle Count | String | The change in cycle count that occurred during the analysis row. |
Target Cycle Time | Double | Also known as Takt time; how often a piece must be produced to meet demand (1 / Standard Rate). |
Total Cycle Count | String | The cumulative change in cycle count since the beginning of the analysis period. |
Average Normal Cycle Time | Double | The average cycle time including Running and Unplanned Downtime. |
Max Normal Cycle Time | Double | The maximum cycle time including Running and Unplanned Downtime. |
Min Normal Cycle Time | Double | The minimum cycle time including Running and Unplanned Downtime. |
Normal Cycle Time | Double | Total time spent cycling, including Running and Unplanned Downtime. |
Average Overall Cycle Time | Double | The average cycle time including all states except Disabled. |
Max Overall Cycle Time | Double | The maximum cycle time including all states except Disabled. |
Min Overall Cycle Time | Double | The minimum cycle time including all states except Disabled. |
Overall Cycle Time | Double | Total time spent cycling, including all states except Disabled. |
Average Precise Cycle Time | Double | The average cycle time including only the Running state. |
Max Precise Cycle Time | Double | The maximum cycle time including only the Running state. |
Min Precise Cycle Time | Double | The minimum cycle time including only the Running state. |
Precise Cycle Time | Double | Total time spent cycling, including only the Running state. |
Line
Line Downtime
Data Point | Data Type | Description |
Line Downtime Can Revert Split | Boolean | True if the line downtime reason split can be reverted. |
Line Downtime End State Time Stamp | DateTime | For rolled-up downtime events, this is the timestamp of the last event. |
Line Downtime Equipment Name | String | Name of the equipment responsible for the line downtime. |
Line Downtime Equipment Path | String | Production model path of the equipment responsible for the line downtime. |
Line Downtime Event Sequence | Integer | The incrementing sequence number for each downtime event on the line. |
Line Downtime Occurrence Count | Integer | Number of downtime events for the selected period. |
Line Downtime Original Equipment Path | String | The original equipment path that caused the line downtime before reassignment. |
Line Downtime Original Reason | String | The original downtime reason for the line or cell group. |
Line Downtime Original Reason Code | Integer | The original downtime reason code for the line or cell group. |
Line Downtime Reason | String | The current downtime reason for the line or cell group. |
Line Downtime Reason Path | String | The full reason path from the state tree (e.g., Default Class/Unplanned Downtime/Mechanical Faults/Chain Slip). |
Line Downtime Reason Split | Boolean | True if the current downtime event has been split into multiple events. |
Line Downtime State Time Stamp | DateTime | The timestamp for the equipment state change that caused the line downtime. |
Line Meantime
Data Point | Data Type | Description |
Line MTBF | Double | The calculated Meantime Between Failure (in minutes) for the line. |
Line Meantime Metrics Enabled | Boolean | Returns True if the current line state is enabled for meantime metrics. |
Line Schedule
Data Point | Data Type | Description |
Line Schedule Available | Boolean | True if data is within a configured shift for the equipment. |
Line Schedule Available Time | Double | Time in minutes for available production, adjusted for schedule and mode. |
Line Standard Count | String | Amount that should have been produced based on schedule available time and standard rate. |
Line Schedule Count | Double | Scheduled count of a machine. |
Line Schedule Duration | Double | Scheduled duration of a machine in minutes. |
Line Standard Count Variance | String | Variance between line standard count and OEE outfeed count. |
Line Target Count | String | Amount that should have been produced based on schedule available time and schedule rate. |
Line Target Count Variance | String | Variance between OEE outfeed count and line target count. |
Schedule Rate | Double | The scheduled production rate. |
Scheduled Shift | String | The name of the scheduled shift, based on the assigned Ignition schedule. |
Scheduled Shift End Date Time | DateTime | Scheduled end time, based on the assigned Ignition schedule. |
Scheduled Shift Start Date Time | DateTime | Scheduled start time, based on the assigned Ignition schedule. |
Line State
Data Point | Data Type | Description |
Line State Duration | Double | The duration of the line downtime event in minutes, constrained to the analysis time slice. |
Line State Event Begin | DateTime | The actual begin time of the line downtime event. |
Line State Event End | DateTime | The actual end time of the line downtime event. |
Line State Event Sequence | Integer | The equipment state event sequence number. |
Line State Name | String | The current state of the line (e.g., Running, Unplanned Downtime). |
Line State Overridden | Boolean | True if the state at the line level was overridden. |
Line State Override Scope | String | The state override scope for a line or cell group. |
Line State Override Type | String | The state override type for a line or cell group. |
Line State Type | String | The type of the line's current state (e.g., Planned Downtime). |
Line State Value | Integer | The state code (integer value) for the line's current state. |
Equipment Mode & State
Data Point | Data Type | Description |
Equipment Mode Name | String | The name of the current equipment mode (e.g., Production, Changeover). |
Equipment State Name | String | The current state name of the equipment. |
State Begin Time | DateTime | The start time of the current equipment state. |
State Duration | Double | The duration of the current equipment state in minutes. |
State End Time | DateTime | The end time of the current equipment state. |
Meantime
Data Point | Data Type | Description |
Equipment MTBF | Double | The Mean Time Between Failure for the specific equipment in the selected period. |
Equipment Meantime Metrics Enabled | Boolean | Returns True if meantime metrics are enabled for the current equipment state. |
General
Data Point | Data Type | Description |
From Time Stamp | DateTime | The start datetime of the current analysis period. |
To Time Stamp | DateTime | The end datetime of the current analysis period. |
Shift | String | The name of the current shift. |
Shift Day of Week | Integer | The integer value for the current day of the week. |
Shift Month of Year | Integer | The integer value for the current month (0-11). |
Shift Year | Integer | The integer value for the current year. |
Batch Procedure
Data Point | Description |
Phase and phase parameters | Provides data related to the execution of recipe phases. |
Unit Procedure parameters | Provides data related to the execution of recipe unit procedures. |
Equipment | Provides equipment-related parameters within the batch context. |
Batch and batch parameters | Provides details about the batch itself, such as Batch ID and associated parameters. |
OEE
Data Point | Data Type | Description |
Elapsed Time | Double | The total elapsed time of the current operation in minutes. |
OEE | Double | The calculated Overall Equipment Effectiveness value for the selected period. |
OEE Availability | Double | The calculated Availability component of OEE. |
OEE Performance | Double | The calculated Performance component of OEE. |
OEE Quality | Double | The calculated Quality component of OEE. |
OEE Infeed Count | String | The total infeed count for the selected period. |
OEE Outfeed Count | String | The total outfeed count for the selected period. |
OEE Reject Count | Long | The total reject count for the selected period. |
Planned Downtime | Double | The total planned downtime duration in minutes. |
Runtime | Double | The total duration the equipment was in a run state ( Elapsed time - Downtime). |
Unplanned Downtime | Double | The total unplanned downtime duration in minutes. |
Settings & Changeover
Data Point | Data Type | Description |
Active Recipe Name | String | The name of the currently active recipe. |
Active Recipe Time Stamp | DateTime | The timestamp when the current recipe was selected. |
Recipe Enabled | Boolean | Returns True if a recipe is currently active on the equipment. |
SPC
Data Point | Data Type | Description |
Any Time Interval | String | The time interval. |
Sample Coming Due | Boolean | Returns True if a sample is or was coming due. |
Sample Due | Boolean | Returns True if a sample is or was due. |
Sample Name | String | The name of the sample. |
Sample Overdue | Boolean | Returns True if a sample is or was overdue. |
Sample Waiting Approval | Boolean | Returns True if a sample is or was waiting for approval. |
Signal Out of Control | Boolean | Returns True if any SPC signal was out of control for the location. |
Sample Value Mean | Integer | The mean (average) of the sample values recorded. |
Sample Value Standard Deviation | Integer | The standard deviation of the sample values recorded. |
Setting Values Reference
Setting Values field in the Live Analysis configuration allows you to pass keywords that modify the analysis behavior. These are entered as keyword=value pairs, separated by commas.Setting | Description | Use Example |
Constrain Line State Duration to Row | If True, the duration of a line state event is constrained to the analysis row's time range. Default is False. | Constrain Line State Duration to Row=True |
Constrain Mode Duration to Row | If True, the duration of a mode event is constrained to the analysis row's time range. Default is False. | Constrain Mode Duration to Row=True |
Constrain State Duration to Row | If True, the duration of a state event is constrained to the analysis row's time range. Default is False. | Constrain State Duration to Row=True |
OEE Availability Cap | Caps the maximum calculated OEE Availability value. | OEE Availability Cap=1 |
OEE Performance Cap | Caps the maximum calculated OEE Performance value. | OEE Performance Cap=1 |
OEE Quality Cap | Caps the maximum calculated OEE Quality value. | OEE Quality Cap=1 |
Suppress Grouping Messages | Suppresses pop-up messages related to data grouping issues, useful in specific analysis configurations. | Suppress Grouping Messages=True |
Row Limit | Limits the analysis to a specific number of rows. | Row Limit=10 |
Descending Order | If True, analysis results will be ordered in descending order. | Descending Order=True |
Include Children | If True, children of the specified equipment are included in the analysis calculations. | Include Children=True |
Unknown State as Unplanned Downtime | If True, treats any time in an Unknown state as Unplanned Downtime for OEE calculations. | Unknown State as Unplanned Downtime=True |
![]() | The following settings are not valid for Live Analysis and are intended for the MES Analysis Selector component only:
|
Practical Application: Building a Live Analysis Dashboard
Create Live Analysis Profiles
- First, navigate to the
MES Equipment Managerand selectLine 1. In theGeneralsection, click on Live Analysis and create two new profiles: one named "Run" and another named "Shift". Configure them according to the table below. Remember to paste theData Pointslist without any trailing spaces.
- Save both profiles. You can then copy and paste these profiles to
Line 2for consistency.
Configure the HMI Window
- Open the
OEE_01_GUI/04_Reportingwindow in the Ignition Designer and add the following components:
- MES Object Selector: Drag this component to the upper-left corner of the window. In its properties, check the boxes for
Include MES Line ObjectsandShow Equipment Path.
- Radio Buttons: Drag two Radio Button components onto the window.
- Rename the first to
rbn_Runand set itsTextproperty toRun. - Rename the second to
rbn_Shiftand set itsTextproperty toShift.
- Basic_LiveAnalysis Template: From the
Templatesfolder in the Project Browser, drag an instance of theBasic_LiveAnalysistemplate onto the window. Ignore any initial error messages.
- Bind Component Properties: The final step is to bind the properties of the
Basic_LiveAnalysistemplate to control its behavior based on user selections.
- Bind eqPath: Select the
Basic_LiveAnalysistemplate instance. Bind itseqPathproperty to theEquipment Item Pathproperty of theMES Object Selectorcomponent.
- Bind analysisName: Bind the
analysisNameproperty of the template to the following expression. This will dynamically switch between the "Run" and "Shift" profiles based on the radio button selection.
- Set requiredLiveAnalysisDataPoints: Paste the exact string below into the
requiredLiveAnalysisDataPointsproperty. This list is used by the template to find the correct tags.
- Set threshold: Set the
thresholdproperty to60.
Advanced Management with Scripting: Scripting Examples
Disabling Live Analysis
prop.setActive(False)) or perform a soft delete (prop.setEnable(False)), which means the profile still exists in the database but is no longer retrieved with the MES object.f = system.mes.object.filter.createFilter() f.setMESObjectTypeName('Line,LineCell,LineCellGroup') objs = system.mes.loadMESObjects(f) saveList = system.mes.object.list.createList() for obj in objs: la = obj.getLiveAnalysis() if not la.isEmpty(): saveList.add(obj) for prop in la: # Choose one of the following options: prop.setActive(False) # Deactivates the profile; can be turned back on # prop.setEnable(False) # Soft deletes the profile (still exists in DB but no longer retrieved with the object) system.mes.saveMESObjects(saveList) Copying Live Analysis Settings
# Define source path, destination paths, and analysis names to copy srcPath = 'Enterprise\\Recipe Site\\Mixing Area\\Mixing Line' dstPaths = ['Enterprise\\Recipe Site\\Mixing Area\\Mixing Line 2'] srcLAs = ['New Analysis'] srcObj = system.mes.loadMESObjectByEquipmentPath(srcPath) for dstPath in dstPaths: dstObj = system.mes.loadMESObjectByEquipmentPath(dstPath) for srcLA in srcLAs: srcProp = srcObj.getComplexProperty('LiveAnalysis', srcLA) dstProp = dstObj.getComplexProperty('LiveAnalysis', srcLA) if dstProp is None: dstProp = dstObj.createComplexProperty('LiveAnalysis', srcLA) # Copy all settings from source to destination dstProp.setLiveAnalysisPeriod(srcProp.getLiveAnalysisPeriod()) dstProp.setLiveAnalysisCustomPeriodTag(srcProp.getLiveAnalysisCustomPeriodTag()) dstProp.setLiveAnalysisUpdateRate(srcProp.getLiveAnalysisUpdateRate()) dstProp.setDataPoints(srcProp.getDataPoints()) dstProp.setFilterExpression(srcProp.getFilterExpression()) dstProp.setAnalysisSettings(srcProp.getAnalysisSettings()) dstProp.setActive(srcProp.isActive()) print dstProp dstObj.save() Equipment Object Function Reference
Function Syntax | Description | Returns |
getDataPoints() | Gets the Data Points as a comma-separated string. | String |
getDataPointList() | Gets the Data Points as a Python List. | List |
getFilterExpression() | Gets the optional filter expression string. | String |
getLiveAnalysisCustomPeriodTag() | Gets the tag path for the custom period. | String |
getLiveAnalysisPeriod() | Gets the configured analysis period. | One of the following strings: "SHIFT", "DAY_PRODUCTION", "DAY_MIDNIGHT", "START_OF_RUN", "TOP_OF_HOUR", "CURRENT_ACTIVE_RECIPE", "CUSTOM_PERIOD_TAG" |
getLiveAnalysisUpdateRate() | Gets the configured update rate in seconds. | String |
setAnalysisSettings(LASettings) | Sets the Setting Values using a comma-separated string. | None |
setDataPoints(dataPoints) | Sets the Data Points using a comma-separated string. | None |
setFilterExpression(filterExpression) | Sets the optional filter expression string. | None |
setLiveAnalysisCustomPeriodTag(customPeriodTag) | Sets the tag path for the custom period. | None |
setLiveAnalysisPeriod(period) | Sets the analysis period. <br>Note: The input string (e.g., "Shift", "Day (production)") is different from the string returned by getLiveAnalysisPeriod(). | None |
setLiveAnalysisUpdateRate(updateRate) | Sets the update rate in whole seconds. | None |
Important Technical Considerations
- DateTime Tag Behavior (Ignition 7 vs. 8) There is a significant difference in how DateTime tags from Live Analysis are handled between major Ignition versions. In Ignition 7, DateTime tags are translated to the client's local timezone. In Ignition 8, they remain in the Gateway's timezone (typically UTC). For example, if a Gateway is set to UTC and a client machine is in PST (a 7-hour difference), a timestamp in Ignition 7 will appear in PST, while the same timestamp in Ignition 8 will appear in UTC. This must be accounted for in any client-side display or logic.
- Data Point Character Limits The character limit for the
Data Pointsfield is determined by the database being used. While the user interface enforces a 1024-character limit, the underlying database column's minimum value is 4,000 characters. Be aware that some databases, such as Oracle, are specifically limited to 4000 characters for this field. This means you cannot select every available data point in a single analysis profile.
- Running Operations Attempting to disable a Live Analysis profile via scripting will fail if any production operations (e.g., a work order) are currently active on the associated equipment. Ensure the line is idle before running administrative scripts that modify its configuration.
Sepasoft MES Module Suite

