SPC Process Capability Chart - Perspective

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

When the showTable property is set to True, the 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.
Success

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:

Warning

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
propertySource

Sets the datasource mode. Toggle two options: Use_stored_settings | Use_binding

Included in Sepasoft Versions:

Warning

MES 3.81.7 RC1 and later


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




Property Name Data Type Property Value Description
storedSPCName String

Required when propertySource = 'Use_stored_settings': Sets name of the Stored SPC Setting. The name must match exactly to the name you enter in Stored SPC Selector.

Note

Stored SPC Selector component only offered in VISION.

See Stored SPC Selector | Vision

location String Optional: Filter on a Location that is defined in Equipment Manager. Enter the Equipment Path to the Location.
startDate Date

Required: Sets start date to filter SPC data on

Note Bind to form fields on the view to make dates selectable in runtime.

Required: Sets end date to filter SPC filter on

endDate Date
autoRefresh Boolean True/False Required: True, refreshes data when sample or definition information changes. Set to True to use real-time data.
SPC Chart Settings
spcChartSettings

Set property values here when propertySource is set to Use_Binding


Bind to the SPC Controller



Property Name Data Type Information
storedSPCName String

Incoming property value from the SPC Controller > Stored Setting.

startDate Date Sets start date to start filtering data on 
endDate Date Sets end date to filter data on
autoUpdate Boolean Required True/False: True, updates data when a sample is taken. Use for realtime data.
autoRefresh Boolean Required True/False: True, refreshes data when sample or definition information changes. Use for realtime data.




settings

additionalFactors
String - Additional factors to include in the SPC chart.

attributeName: 

String - Name of the sample attribute

attributeUnits
String - Adds a label for the unit of measure for the sample

boxAndWhiskerFilter

Chart Specific

String - Box and whisker filter items to filter on.
controlLimits: 
String - Summarizes control limits to add to the chart

definitionName: 
String - Name of the sample definition.

filters: 


String - 

location: The Location Path defined in the Equipment Manager to filter on.

factors: Properties >Additional Factor 

Filter on existing additional factors


measurement: 
String - Measure number to filter on

nonconformingFilter

Chart Specific

String - Nonconforming items to filters on

nonconformityFilter

Chart Specific 

String - Nonconformity items to filters on

paretoFilter

Chart Specific

String -  Items to include in a Pareto chart.
rowLimit: 
 String - The maximum number of samples to return in the results.
signals
String - Summarizes your signal selections in a string.
spcDataFormat: 

 String -  SPC Data

Note Each chart type has specific settings. Select the correct chart from the dropdown menu.
useDefaultChartType: 
String - If true, uses the default chart type from the attribute definition.
useDefaultChartType: 
String - If true, uses the default chart type .
enableFutureLimitEditing:
String -If true, you can set limits for future (non-existing) samples.


histogram

autoBarCount:
Boolean - If true, the number of data bars that are displayed is calculated automatically.
dataBarCount
int - The number of data bars to display when autoBarCount is False.
paddingBarCount
int - The number of bars prior to and following the data bars to include in the histogram results.




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.

factor 
String - Additional factors that were recorded along with the sample.
location
String - The location path where the samples were collected.
productCode
String - Samples returned should have this Product Code if present.
referenceNo
String - Samples returned should have this Reference Number if present.
sampleApprovedBy
String - The username of the user that approved the samples.
sampleTakenBy
String - The username of the user that recorded the samples.
shift 
 String - A schedule shift during which the samples were taken.




spcResults

SPC Results including data, measurement count, messages and calculated value information.


definitionUUI

  • calcValueList
    • defaultChart
    • measureFormat
    • unit

measurementCount

  • messages
    • errormessage
    • warningMessage
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 Locking

The 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.
Success

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


Component Properties Specific to Process Capability 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.





NameScripting Reference



xAxisVerticalTickLabelsBooleanWhen set to True, shows a vertical labels for the tick marks.

enableControlLimitEditingBooleanWhen set to True, the viewer of the chart can edit Control Limits.

verticalBooleanSets the orientation of the chart. When set to True, the chart displays with vertical bars.

showCPBellCurveBooleanWhen set to True, show the CP bell curve on the chart.

showCPLCLBooleanWhen set to True, show the lower CP control limit.

showCPUCLBooleanWhen set to True, show the upper CP control limit.

showVertGridLinesBooleanWhen set to True, vertical lines display on the chart.

showHorzGridLinesBooleanWhen set to True, hortizonatal lines display on the chart.

valueAxisTitleStringTitle to show on the value axis.

categoryAxisTitleStringTitle to show on the category axis.

noDataMessageStringMessage to show when there is no data returned.

axisStyle






axisTitleColorColor pickerColor for both axis titles.


axisTitleFontStringFont family for both axis titles

chartStylechartBackgroundStringColor of the background of the chart.


vertGridLineColorColor, picker availableThe color of vertical grid lines.


showVeriticalGridLinesBooleanIf true, show vertical grid lines on charts.


horzGridLineColorColor, picker availableThe color of horizontal grid lines.


showHorizaontalGridLinesBooleanIf true, show horizontal lines on charts.

chartDataStyle






chartBackgroundStringColor of the background of the chart.


vertGridLineColorColor, picker availableThe color of vertical grid lines.


showVeriticalGridLinesBooleanIf true, show vertical grid lines on charts.


horzGridLineColorColor, picker availableColor of the horizontal grid line.


showHorizontalGridLinesBooleanIf true, show horizontal grid lines on charts.

chartDataStyle






barColorColor pickerColor for bars.


barSpacingIntegerSpacing between bars as a percentage of the bar width.


gradientBooleanWhen True, painted with a gradient shine


shadowBooleanWhen True, painted with drop shadow.

controlLimitStyle





cPLCLColorColor, picker availableLine color of the lower CP control limit


cPUCLColorColor, picker availableLine color of the upper CP control limit

curveStyle






cPBellCurveColorColor, picker availableColor of the CP bell curve

tickStyle






tickLabelColorColor, picker availableColor of the label for the tick marks.


tickLabelFontStringFont family of the tick-mark labels.

noDataStyle






noDataForegroundColor, picker availableColor of the no-data message.


noDataFontStringFont family of the no-data message.

frequencyAxisTitle
StringTitle of the frequency title.


Meta Properties in the Perspective Property Editor

Name

Scripting Reference

Data TypeDescription
nameStringName 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
BooleanWhether the tooltip on hover
width
IntegerThe height of the table rows.
text
StringThe scroll bar x position.
styleBooleanToggle to show or hide the sample data table.
delayBooleanImage icon to show to edit control limits.
sustainInteger

Time, in milliseconds, to display tooltip before removing it. A value of 0 results in the tooltip displaying until the mouse exits the components. 

locationBooleanThe location where the tooltip displays. 
tailBooleanEnables 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.

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.

mouseEntered

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.

mouseExited

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.

mousePressed

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.

mouseReleased

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.

mouseMotion

mouseDragged

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.

mouseMoved

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.

propertyChange

propertyChange

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.


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