Sepasoft MES Module Suite
An SPC process performance chart represents the ability of a process to meet the specifications (what is intended to be made). It is used in SPC data analysis by measuring indexes that compare the spread (variability) and centering of the process to the upper and lower specifications.
Table Chart Scroll Locking
|
This feature is available in versions: MES 3.81.11 SP7 and later MES 4.83.0 RC2 and later |
State | Detailed Description |
Locked | UI: The lock icon in the taskbar appears closed and filled. Behavior: The chart view is locked to the right, automatically jumping to the end of the table whenever new data is received. Tooltip: Hovering over the icon displays the text: "Allow Free Scrolling". |
Free Scrolling | UI: The lock icon in the taskbar appears open and unfilled. Behavior: The chart maintains its current scroll position, even when new data is received. Tooltip: Hovering over the icon displays the text: "Lock Scrolling". |
Included in Sepasoft Versions:
|
MES 3.81.7 RC1 and later |

Ignition Designer
Perspective Component Palette
SPC Perspective Chart Dataset Properties
These properties are available in the Ignition Properties Palette for SPC Charts.

| Property Source | |
Sets the datasource mode. Toggle two options: Use_stored_settings | Use_binding Included in Sepasoft Versions:
Use_stored_settings: Sets the chart to receive data from Stored Settings. To use this, enter property values under storedSettings, see below.
Use_binding: Sets the chart to receive data from an SPC Controller. To use this, bind to an SPC Controller under spcChartSettings, see below. When clicking the binding icon on the left side of the propertySource, the Configure Property Binding dialog appears.
|
||||||||||||||||||||||||||||||||||||||||
| Stored Settings | storedSettings |
Set property values here when propertySource is set to Use_stored_settings |
||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||
| SPC Chart Settings |
spcChartSettings
Set property values here when propertySource is set to Use_Binding
Bind to the SPC Controller |
|||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
settings
|
|||||||||||||||||||||||||||||||||||||||||
|
|
histogram
|
|||||||||||||||||||||||||||||||||||||||||
|
|
dynamic When using an SPC Controller to populate a Perspective SPC Chart, these dynamic filters can be used to filter the data for display in a chart.
|
|||||||||||||||||||||||||||||||||||||||||
|
|
spcResults SPC Results including data, measurement count, messages and calculated value information. definitionUUI
measurementCount
spcData: dataset - The SPC data.
|
|
||||||||||||||||||||||||||||||||||||||||
| showTable | Boolean | Enable to display the data table. The table is updated as new data comes in. Table Chart Scroll LockingThe table chart scroll locking feature provides a user-controlled mechanism to either automatically navigate to the most recent data upon its arrival or maintain the current scroll position. The scroll lock feature operates in two distinct modes, each with specific UI indicators and behavioral responses to new data.
| ||||||||||||||||||||||||||||||||||||||||
Component Properties Specific to Process Capability and Performance Chart
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.
| Name | Scripting Reference | |||||
|---|---|---|---|---|---|---|
| xAxisVerticalTickLabels | Boolean | When set to True, shows a vertical labels for the tick marks. | ||||
| enableControlLimitEditing | Boolean | When set to True, the viewer of the chart can edit Control Limits. | ||||
| vertical | Boolean | Sets the orientation of the chart. When set to True, the chart displays with vertical bars. | ||||
| showCPBellCurve | Boolean | When set to True, show the CP bell curve on the chart. | ||||
| showPPBellCurve | Boolean | When set to True, show the PP bell curve on the chart. | ||||
| showCPLCL | Boolean | When set to True, show the lower CP control limit. | ||||
| showCPUCL | Boolean | When set to True, show the upper CP control limit. | ||||
| showPPLCL | Boolean | When set to True, show the lower PP control limit. | ||||
| showPPUCL | Boolean | When set to True, show the upper PP control limit. | ||||
| showVertGridLines | Boolean | When set to True, vertical lines display on the chart. | ||||
| showHorzGridLines | Boolean | When set to True, hortizonatal lines display on the chart. | ||||
| valueAxisTitle | String | Title to show on the value axis. | ||||
| categoryAxisTitle | String | Title to show on the category axis. | ||||
| noDataMessage | String | Message to show when there is no data returned. | ||||
| axisStyle | ||||||
| axisTitleColor | Color picker | Color for both axis titles. | ||||
| axisTitleFont | String | Font family for both axis titles | ||||
| chartStyle | chartBackground | String | Color of the background of the chart. | |||
| vertGridLineColor | Color, picker available | The color of vertical grid lines. | ||||
| showVeriticalGridLines | Boolean | If true, show vertical grid lines on charts. | ||||
| horzGridLineColor | Color, picker available | The color of horizontal grid lines. | ||||
| showHorizaontalGridLines | Boolean | If true, show horizontal lines on charts. | ||||
| chartDataStyle | ||||||
| chartBackground | String | Color of the background of the chart. | ||||
| vertGridLineColor | Color, picker available | The color of vertical grid lines. | ||||
| showVeriticalGridLines | Boolean | If true, show vertical grid lines on charts. | ||||
| horzGridLineColor | Color, picker available | Color of the horizontal grid line. | ||||
| showHorizontalGridLines | Boolean | If true, show horizontal grid lines on charts. | ||||
| chartDataStyle | ||||||
| barColor | Color picker | Color for bars. | ||||
| barSpacing | Integer | Spacing between bars as a percentage of the bar width. | ||||
| gradient | Boolean | When True, painted with a gradient shine | ||||
| shadow | Boolean | When True, painted with drop shadow. | ||||
| controlLimitStyle | ||||||
| cPLCLColor | Color, picker available | Line color of the lower CP control limit | ||||
| cPUCLColor | Color, picker available | Line color of the upper CP control limit | ||||
| pPLCLColor | Color, picker available | Line color of the lower PP control limit | ||||
| pPUCLColor | Color, picker available | Line color of the upper PP control limit | ||||
| curveStyle | ||||||
| cPBellCurveColor | Color, picker available | Color of the CP bell curve | ||||
| pPBellCurveColor | Color, picker available | Color of the PP bell curve | ||||
| tickStyle | ||||||
| tickLabelColor | Color, picker available | Color of the label for the tick marks. | ||||
| tickLabelFont | String | Font family of the tick-mark labels. | ||||
| noDataStyle | ||||||
| noDataForeground | Color, picker available | Color of the no-data message. | ||||
| noDataFont | String | Font family of the no-data message. | ||||
| frequencyAxisTitle | String | Title of the frequency title. | ||||
Meta Properties in the Perspective Property Editor
Name Scripting Reference | Data Type | Description | ||
|---|---|---|---|---|
| name | String | Name of the component. Used in scripting and component tree paths by name, such as during Property Binding. | ||
| visible | Boolean | Whether or not this component should display. | ||
| tooltip | ||||
enable | Boolean | Whether the tooltip on hover | ||
width | Integer | The height of the table rows. | ||
text | String | The scroll bar x position. | ||
| style | Boolean | Toggle to show or hide the sample data table. | ||
| delay | Boolean | Image icon to show to edit control limits. | ||
| sustain | Integer | Time, in milliseconds, to display tooltip before removing it. A value of 0 results in the tooltip displaying until the mouse exits the components. | ||
| location | Boolean | The location where the tooltip displays. | ||
| tail | Boolean | Enables a decorative triangle on the tooltip that points to the tooltip owner. Ignored when location uses a value of 'mouse'. | ||
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.
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 |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating 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 |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating 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 |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating 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 |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating 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 |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating 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 |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating 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 |
|---|---|
| .source | The component that fired this event. |
| .button | The code for the button that caused this event to fire. |
| .clickCount | The number of mouse clicks associated with this event. |
| .x | The x-coordinate (with respect to the source component) of this mouse event. |
| .y | The y-coordinate (with respect to the source component) of this mouse event. |
| .popupTrigger | Returns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating 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 |
|---|---|
| .source | The component that fired this event. |
| .newValue | The new value that this property changed to. |
| .oldValue | The value that this property was before it changed. Note that not all components include an accurate oldValue in their events. |
| .propertyName | The 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. |
Component Functions
Example of the component on the page root container:
event.source.parent.getComponent('Box and Whisker Chart').showSetLimitPanel (True).
showSetLimitPanel
- Description
Causes the calculate and set control limit dialog to be shown.
- Parameters
Boolean - True/False
- Return
Nothing
- 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.
Sepasoft MES Module Suite
