Author |
Topic |
|
martintijmes
Netherlands
23 Posts |
Posted - 01 Aug 2018 : 06:03:14
|
When rendering a p chart FRACTION_DEFECTIVE_PARTS_CHART, I am specifying the data points as the actual number of defects, as setting the NumSamplesPerSubgroup to the no. of inspections. The limits are specified as 'per inspection'. The chart then scales the defects, by dividing it by the NumSamplesPerSubgroup, and chart nicely shows the result values and the limits.
When I only change the chart type to NUMBER_DEFECTIVE_PARTS_CHART, and nothing else in the chart definition, the defects are not scaled anymore as expected. But should the chart not scale the limits in this case, by multiplying them by the NumSamplesPerSubgroup?
Or am I missing some configuration for this? The same question applies for u (NUMBER_DEFECTS_PERUNIT_CHART) and c (NUMBER_DEFECTS_CHART) chart.
{ "StaticProperties": { "Canvas": { "Width": 1778, "Height": 806 }, "DefaultFontName": "Tahoma, Arial, sans-serif", "DefaultTableFont": { "Name": "Tahoma, Arial, sans-serif", "Size": 12, "Style": "Plain" }, "SPCChartStrings": { "DefaultMean": "MEAN", "DefaultMedian": "MEDIAN", "DefaultRange": "RANGE", "DefaultVariance": "VARIANCE", "DefaultSigma": "SIGMA", "DefaultSampleValue": "VALUES", "DefaultAbsRange": "ABS(RANGE)", "DefaultSum": "SUM", "TitleHeader": "Characteristic: ", "ChartNumberHeader": "Chart: ", "PartNumberHeader": "Material Id: ", "PartNameHeader": "Material Desc.: ", "OperationHeader": "Material Id: ", "MachineHeader": "Entity: ", "OperatorHeader": "Operator: ", "DateHeader": "Date: ", "NotesHeader": "@@Notes@@", "AlarmHeader": "@@Alarm@@", "TimeHeader": "@@Time@@" }
}, "SPCChart": { "InitChartProperties": { "SPCChartType": "FRACTION_DEFECTIVE_PARTS_CHART", "ChartMode": "Batch", "NumCategories": 1, "NumSamplesPerSubgroup": 10, "NumDatapointsInView": 15, "NumberAddedVariables": 0 }, "Scrollbar": { "EnableScrollBar": true, "ScrollbarPosition": "SCROLLBAR_POSITION_MAX" },
"Events": { "EnableDataToolTip": true, "EnableJSONDataToolTip": true, "AlarmStateEventEnable": true, "AlarmTransitionEventEnable": false, "DataToolTip": { "EnableCategoryValues": false, "EnableProcessCapabilityValues": false, "EnableCalculatedValues": true, "EnableNotesString": false }, "NotesToolTip": { "NotesReadOnly": true }, "EnableAlarmStatusValues": false }, "PrimaryChartSetup": { "FrequencyHistogram": { "EnableDisplayFrequencyHistogram": true }, "ControlLimits": { "OutOfLimitSymbolSize": 12, "OutOfLimitSymbolType": "CROSS", "Target": { "LineColor": "DARKGRAY", "LineWidth": 2, "EnableAlarmLine": true, "EnableAlarmLineText": true, "DisplayString": "Target" }, "LCL3": { "LineWidth": 2, "EnableAlarmLine": false, "EnableAlarmLineText": false, "EnableAlarmChecking": false }, "UCL3": { "LineWidth": 2, "EnableAlarmLine": false, "EnableAlarmLineText": false, "EnableAlarmChecking": false } }, "SpecificationLimits": { "LowSpecificationLimit": { "LineWidth": 2, "EnableAlarmLine": true, "EnableAlarmLineText": true, "EnableAlarmChecking": false, "LimitValue": 0.1, "DisplayString": "LSL" }, "HighSpecificationLimit": { "LineWidth": 2, "EnableAlarmLine": true, "EnableAlarmLineText": true, "EnableAlarmChecking": false, "LimitValue": 0.9, "DisplayString": "USL" } }, "YAxisLeft": { "MinValue": 0, "MaxValue": 1 }, "YAxisRight": { "MinValue": 0, "MaxValue": 1 } }, "SampleData": { "SampleIntervalRecords": [ { "BatchCount": 0, "BatchIDString": "49501", "TimeStamp": 1533027034060, "Note": "OOS-H,\n1 outside control limits", "SampleValues": [ 2 ], "VariableControlLimits": [ 0.51, null, null ], "VariableSpecificationLimits": [ null, 0.9 ], "PrimaryForceAlarm": "FORCE_HIGH" }, { "BatchCount": 1, "BatchIDString": "49502", "TimeStamp": 1533029510643, "Note": "OOS-H", "SampleValues": [ 2 ], "VariableControlLimits": [ 0.2111, null, null ], "VariableSpecificationLimits": [ 0.1, 0.9 ], "PrimaryForceAlarm": "FORCE_HIGH" }, { "BatchCount": 2, "BatchIDString": "49503", "TimeStamp": 1533029513637, "Note": "OOS-H,\n1 outside control limits", "SampleValues": [ 4 ], "VariableControlLimits": [ 0.2111, null, null ], "VariableSpecificationLimits": [ 0.1, 0.9 ], "PrimaryForceAlarm": "FORCE_HIGH" }, { "BatchCount": 3, "BatchIDString": "49504", "TimeStamp": 1533029516833, "Note": "OOS-H,\n1 outside control limits", "SampleValues": [ 1 ], "VariableControlLimits": [ 0.2111, null, null ], "VariableSpecificationLimits": [ 0.1, 0.9 ], "PrimaryForceAlarm": "FORCE_HIGH" }, { "BatchCount": 4, "BatchIDString": "49505", "TimeStamp": 1533029522953, "Note": "OOS-L,\n1 outside control limits,\n2 of 3 outside of 2 std. dev.", "SampleValues": [ 0 ], "VariableControlLimits": [ 0.2111, null, null ], "VariableSpecificationLimits": [ 0.1, 0.9 ], "PrimaryForceAlarm": "FORCE_LOW" } ] }, "Annotations": [ ], "Methods": { "AutoCalculateControlLimits": [ false, false ], "AutoScaleYAxes": [ true, true ], "RebuildUsingCurrentData": true } } } |
Edited by - martintijmes on 01 Aug 2018 06:04:29 |
|
quinncurtis
1586 Posts |
Posted - 01 Aug 2018 : 16:52:18
|
The NUMBER_DEFECTIVE_PARTS_CHART should be scaled to the limits set for the chart, and the actual number (an integer) of defective parts are plotted for each sample interval. Run your example using the new version available tomorrow, and describe what you think is wrong. |
|
|
martintijmes
Netherlands
23 Posts |
Posted - 03 Aug 2018 : 05:12:18
|
Hi, the behavior for the scenario mentioned above is still the same in v3.6.2.
For the p chart, the SampleValues property specifies the actual number of defects. The VariableControlLimits are specified as 'defects per inspection'. When rendering, the chart shows the Variable control limits as is, and the SampleValues are scaled (divided) by the NumSamplesPerSubgroup.
What I was expecting is that I could use the same SampleIntervalRecords data to show an np chart, and only have to change FRACTION_DEFECTIVE_PARTS_CHART to NUMBER_DEFECTIVE_PARTS_CHART. When rendering, the np chart shows the SampleValues as is (meaning actual number of defects). However, the VariableControlLimits are also shown as is (in this case 'defects per inspection'. Meaning that now I have a chart in which the values are shown as total defects, and the limits are shown as defects per inspection.
I was expecting that the chart would multiply the limits by the NumSamplesPerSubgroup for the np chart to show the total defects limit. |
|
|
quinncurtis
1586 Posts |
Posted - 03 Aug 2018 : 11:13:20
|
It looks to us the chart is acting the way it was designed. If you switch from a p-chart (percent or fraction), which has a y-scale normalized by the # of samples per subinterval, to an np-chart, which has y-scale which represents raw, non-normalized defect values, you must also change the control limit values you specify, from normalized to raw defect values. So, in your example "What I was expecting is that I could use the same SampleIntervalRecords data to show an np chart, and only have to change FRACTION_DEFECTIVE_PARTS_CHART to NUMBER_DEFECTIVE_PARTS_CHART." the answer is no, that won't work if you are specifying the same limit values, since the scale of the limit values do not match between the two chart types.
Only if you were using our auto-calculated limit values would it work. Since internally the software automatically calculate limit values appropriate to the scale the chart uses, something you will need to do in your own control limit calculations. |
|
|
martintijmes
Netherlands
23 Posts |
Posted - 06 Aug 2018 : 03:42:04
|
Ok, clear. Thank you. |
|
|
|
Topic |
|
|
|