Description

The MES Object Editor component is used to manage manufacturing resources, segments and operations which are all considered MES Objects in the MES platform (see ISA-95 for more information about the various MES objects). Equipment, personnel and material can be grouped into classes.

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.



Component Palette

  • A Material Class can only be added as a child to another Material Class. Nesting classes multiple levels deep is allowed and can be considered a 'best practice' for organizing a large number of materials moving through a factory.
  • A Material Definition should only be added as a child to a Material Class. It can also be added as a child to more than one Material Class, which is helpful when a particular raw material logically belongs in several places.
  • To add an object as a child of another object, click and drag it onto the drop target (  ) of the intended parent object:





Features

A dataset containing node configuration used when displaying nodes in the MES Object Editors component. The colors of the different parts of a node can be changed using this property. This provides a visual deference of the different types of MES objects.

This property provides a dataset allowing any number of node configurations keyed by first the name of the node and if a match is not found, then it will look for match by node type. If no matches are found, the entry named Default will be used.

It controls the appearance of each node. Click on the Dataset Viewer icon for the Behaviour property in Property Editor to set the values.

MESObjectTypeName is the name of the type of MES object that should be included as nodes. Default, MaterialClass, MaterialDef, ProcessSegment, EquipmentClass, Equipment, MES*, OperationsDefinition, OperationSegment, PersonnelClass, Person are the values inbuilt on Ignition, as shown below. ToolTipText provides a hint to visual components as to what should be displayed when the user hovers their mouse cursor over the component. NodeTitleBackgroundColor is the color of the node header. NodeTitleForegroundColor is the color of the text in the node header. NodeTitleHoverBackgroundColor is the color of the node header when your mouse hovers over it. The color of the text of the node header when user hover their mouser over it is controlled by NodeTitleHoverForegroundColor. Color of the node is determined by NodeBodyBackground. NodeBodyForeground is the color of the text inside the main body of node.


DateTime Support

When creating Custom Properties and selecting DateTime as the DataType, users may set or bind in using any Ignition-supported datetime format. The Material Definition functions .setPropertyValue and .getPropertyValue will set and retrieve datetimes properly.

Ignition-supported datetime formats (refer to Dates on the Ignition website):

  • 64-bit integer
  • "yyyyMMdd.HHmmssSSSZ"
  • "yyyy-MM-dd"
  • "MM/dd/yyyy"
  • "MM/dd/yyyy HH:mm:ss"
  • "hh:mm:ss a"
  • "hh:mm a"
  • "MM/dd/yyyy hh:mm:ss a"
  • "yyyy-MM-dd HH:mm:ss.SSS"
  • "yyyy-MM-dd HH:mm:ss"
  • "EEE MMM dd HH:mm:ss z yyyy"





Component Properties

Properties are provided that can be set to affect the operation and look of the component. They can be set through the Property Editor in the Designer or through scripting.

Example
event.source.parent.getComponent('MES Object Editor').rightSplitPaneWidth = 2

NameScriptingProperty TypeDescription
Editor ModeeditorModeValueint

Set which MES objects the editor will display for editing.

0 - Material

1- Operations

2 - Equipment

3 - Personnel

4 - Routes

NameScriptingProperty TypeDescription
Left Split Pane WidthleftSplitPaneWidthIntegerInitial left split pane width.
Right Split Pane WidthrightSplitPaneWidthIntegerInitial right split pane width.
NameScriptingProperty TypeDescription
Title Background Color rpTitleBackground Color Color of the title background on the relationship panel.
Title Text Color  rpTitleForeground Color Color of the title text on the relationship panel.
 Title Font rpTitleFont Font Font to use for the title.
 Panel Background rpPanelBackground Color Background color of the relationship panel.
Node ConfigurationnodeConfigurationDatasetDataset that stores the node appearance configuration.
NameScriptingProperty TypeDescription
 Title Background Color spTitleBackground ColorColor of the title background on the selector panel.
 Title Text Color spTitleForeground Color Color of the title text on the selector panel.
 Title Font spTitleFont Font Font to use for the title on the selector panel.
Panel BackgroundspPanelBackgroundColorBackground color of the selector panel.
List Normal BackgroundspListNormalBackgroundColorNormal background color of list items in the selector panel.
List Alternate BackgroundspListAlternateBackgroundColorAlternate background color of list items in the selector panel.
List Selected BackgroundspListSelectedBackgroundColorSelected background color of list items in the selector panel.
NameScriptingProperty TypeDescription
Title Background ColoripTitleBackgroundColorColor of the title background on the information panel.
Title Text ColoripTitleForegroundColorColor of the title text on the information panel.
Title FontipTitleFontFontFont to use for the title on the information panel.


Event Handlers

Event handlers provide the ability to add custom script when a user interacts with a component such as by clicking a mouse, selecting a menu item or when a component property changes.

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.

PropertyDescription
.sourceThe component that fired this event.
.menuItemNameName of the user menu item that triggered the event.
.nodeNameName of the node. This is the same as the name of the MES object that is associated with the node.
.objectTypeName of the MES object type that is associated with the node.
.uuidUUID of the MES object that is associated to the node.
.lotUUIDUUID of the material lot.
.lotNameName of the material lot.
.lotSequenceThe sequence number associated with the material lot.
.lotUseThe lot use type of the material.
.beginDateTimeDate and Time at which the event was triggered.
.materialUUIDUUID of the material.
.materialNameName of the material.
.lotEquipmentUUIDUUID of the equipment lot.
.lotEquipmentNameName of the equipment lot.
.segmentUUIDUUID of the segment.
.segmentNameName of the segment.
.segmentEquipmentUUIDUUID of the segment equipment.
.segmentEquipmentNameName of the segment equipment.

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.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

This event fires when the mouse enters the space over the source component.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

This event fires when the mouse leaves the space over the source component.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

This event fires when a mouse button is pressed down on the source component.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

This event fires when a mouse button is released, if that mouse button's press happened over this component.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

Fires when the mouse moves over a component after a button has been pushed.


PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

Fires when the mouse moves over a component, but no buttons are pushed.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

Fires whenever a bindable property of the source component changes. This works for standard and custom (dynamic) properties.

PropertyDescription
.sourceThe component that fired this event.
.newValueThe new value that this property changed to.
.oldValueThe value that this property was before it changed. Note that not all components include an accurate oldValue in their events.
.propertyNameThe name of the property that changed. NOTE: Remember to always filter out these events for the property that you are looking for! Components often have many properties that change.




Extension Functions

This component does not have extension functions associated with it. 



Custom Methods
Custom methods allow you to add your own component functions to a component that can be called through scripting. This is a useful and clean method of re-using script that is specific to the component (say you want to update a visual aspect of the component in the same way whether a user clicks on the component or a window property value changes). See Component Custom Methods in the Ignition Help Manual for more information.




Customizers

This component does not have any custom properties.



Component Functions

This component provide the following functions that can be called on it.

  • No labels