Description

The 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 states.  The nature of the schedule entry trigger - Auto or Manual - is also shown.  In the example below, manually initiated schedule entries are shown.


Component Palette



Schedule Selector Columns

The MES Schedule Selector has the following available columns:

NameProperty TypeDescription
DescriptionStringThe operation name.
OriginalBeginDateTimeThe DateTime that the operation was originally scheduled to begin. This does not change, regardless of later changes to the operation's schedule or when it actually began.
OriginalEndDateTimeThe DateTime that the operation was originally scheduled to end. This does not change, regardless of later changes to the operation's schedule or when it actually ended.
UserScheduledBeginDateTimeThe begin DateTime most recently scheduled by the user. This is the latest schedule the user has set for the operation via script or by dragging in the Schedule View component. This DateTime does not change when the system pushes the schedule out automatically.
UserScheduledEndDateTimeThe end DateTime most recently scheduled by the user. This is the latest schedule the user has set for the operation via script or by dragging in the Schedule View component. This DateTime does not change when the system pushes the schedule out automatically.
ScheduledBeginDateTimeThe currently-scheduled begin DateTime, taking into account automatic delays by the system. This DateTime changes minute by minute if the current time causes the schedule to be pushed out (e.g. if an operation has not yet been started but was scheduled to be started at some point earlier, it will keep getting pushed out minute by minute to keep up with the current DateTime).
ScheduledEndDateTimeThe currently-scheduled end DateTime, taking into account automatic delays by the system. This DateTime changes minute by minute if the current time causes the schedule to be pushed out (e.g. if an operation has not yet been started but was scheduled to be started at some point earlier, it will keep getting pushed out minute by minute to keep up with the current DateTime).
ActualBeginDateTimeThe DateTime that the operation actually began. This property will read back as "None" until the operation actually begins.
ActualEndDateTimeThe DateTime that the operation actually ended. This property will read back as "None" until the operation actually ends.
StateStringThe schedule state.
PercentCompleteDoubleThe operation progress.
OperationsRequestUUIDStringThe UUID for the MESOperationsRequest object associated with the schedule entry.
OperationsResponseUUIDStringThe UUID for the MESOperationsResponse object associated with the schedule entry.
WorkOrderUUIDStringThe UUID for the MESWorkOrder object associated with the schedule entry.
WorkOrderStringThe name of the work order associated with the schedule entry.





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 Schedule Selector').canBegin = True

NameScriptingProperty TypeDescription
Run Control Menu EnabledrunControlMenuEnabledbooleanEnables the Run Control popup menu by mouse right-click on a row in the table.
Sorting EnabledsortingEnabledbooleanEnables automatic multi-column sorting by clicking and CTRL-clicking on the table header.
Can BegincanBeginbooleanRead-only. Use in conjunction with a button's enabled property that calls event.source.parent.getComponent('MES Schedule Selector').beginSelected()
Can EndcanEndbooleanRead-only. Use in conjunction with a button's enabled property that calls event.source.parent.getComponent('MES Schedule Selector').endSelected()
Can AbortcanAbortbooleanRead-only. Use in conjunction with a button's enabled property that calls event.source.parent.getComponent('MES Schedule Selector').abortSelected()
Column Resize MenuheaderResizeMenusbooleanEnables a right-click popup menu on the column headers with resizing options.
Column Chooser MenuheaderColumnChooserMenusbooleanEnables a right-click popup menu on the column headers with options to show and hide columns.
Columns Re-OrderablecolumnReorderingAllowedbooleanEnables the re-ordering of columns by dragging the column headers.
Columns ResizablecolumnResizingAllowedbooleanEnables the resizing of columns by dragging the margins of the column headers.
Auto-Resize ModeautoResizeModeintDetermines how the table resizes the columns. Options are All Columns, Last Column, Next Column, Off, Subsequent columns.
Row Selection AllowedrowSelectionAllowedbooleanThis flag is used in conjunction with the Column Selection Allowed flag to determine whether not whole-rows, whole-columns, or both.
NameScriptingProperty TypeDescription
Equipment PathequipmentPathStringPath to the equipment to show the schedule.
Start DatestartDateDateBeginning of the time range to display.
End DateendDateDateEnd of the time range to display.
Enable Simultaneous ActiveenableSimultaneousActivebooleanIf true, allows multiple operations to be active at the same time.
Include Manual IncompleteincludeManualIncompletebooleanIf true, include manual start incomplete schedule entries in the list.
Include Manual ActiveincludeManualActivebooleanIf true, include manual start active schedule entries in the list.
Include Manual CompleteincludeManualCompletebooleanIf true, include manual start completed schedule entries in the list.
Include Auto IncompleteincludeAutoIncompletebooleanIf true, include auto start incomplete schedule entries in the list.
Include Auto ActiveincludeAutoActivebooleanIf true, include auto start active schedule entries in the list.
Include Auto CompleteincludeAutoCompletebooleanIf true, include auto start completed schedule entries in the list.
NameScriptingProperty TypeDescription
Row HeightrowHeightintIf row resizing is disabled, this will set the height of all rows.
Selection BackgroundselectionBackgroundColorDefault background color of selected cells.
Selection ForegroundselectionForegroundColorDefault foreground color of selected cells.
Inter Cell SpacinginterCellSpacingDimensionThe space (in pixels) between the cells
Show Horizontal Grid Lines?showHorizontalLinesbooleanDisplays horizontal gridlines making it easier to read.
Show Vertical Grid Lines?showVerticalLinesbooleanDisplays vertical gridlines making it easier to read.
Grid Line ColorgridColorColorColor used to draw grid lines.
Header VisibleheaderVisiblebooleanAllows for hiding of the table's header.
Column SizingdefaultColumnViewStringRepresents column sizing and position to preserve user-selected ordering.
Column Attributes DatacolumnAttributesDataDatasetDataset describing the column attributes.
NameScriptingProperty TypeDescription

Previous Product Indexed State

previousProductIndexed

boolean

Whether or not the previous product has been indexed to the next cell.



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 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

  • 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

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

  • 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

  • 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

Client

  • 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

  • Description

Called when the user right-clicks on a table cell. This would be the appropriate time to create and display a popup menu.
Note: Set the Run Control Menu Enabled property to False so that the Run Control Menu won't override onPopupTrigger on right-click.

  • 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

  • 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.

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

  • 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

  • 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

True

  • Scope

Client

  • 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




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

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.

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.




Component Functions

This component provide the following functions that can be called on it. If this component has been dropped onto the windows root container, the path and an example call would be event.source.parent.getComponent('MES Schedule Selector').beginSelected().

  • Description

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

  • 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

  • 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

  • Scope

Client

  • 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

  • No labels