Quinn-Curtis Forums
Quinn-Curtis Forums
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Tools for Javascript/Typescript
 QCSPCChart for Javascript/GWT
 UCL1/UCL2 Visible if USL or LSL are not defined.
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

rsandbach

USA
3 Posts

Posted - 25 Jan 2019 :  20:01:36  Show Profile  Reply with Quote
I have the following JSON configuration:

It seems that if USL or LSL are missing, UCL1/UCL2 still render even if there is the text and line are disabled.

Am I missing something?

{
"StaticProperties": {
"Canvas": {
"Width": 1920,
"Height": 894
},
"DefaultAlarmColors": {
"Target": "BLACK",
"LowAlarm": "RED",
"HighAlarm": "RED",
"Trending": "BLUE",
"Stratification": "BLUE",
"Alternating": "BLUE",
"HighSpecLimit": "RED",
"LowSpecLimit": "RED"
},
"SPCChartStrings": {
"Sigma ": "std dev."
}
},
"SPCChart": {
"InitChartProperties": {
"SPCChartType": "MEAN_RANGE_CHART",
"ChartMode": "Batch",
"NumSamplesPerSubgroup": 5,
"NumDatapointsInView": 16,
"TimeIncrementMinutes": 0
},
"ChartPositioning": {
"GraphStartPosX": 0.15,
"GraphStopPosX": 0.95
},
"Scrollbar": {
"EnableScrollBar": true,
"ScrollbarPosition": "SCROLLBAR_POSITION_MAX"
},
"UseNoTable": {
"PrimaryChart": true,
"SecondaryChart": true,
"Histograms": false,
"Title": ""
},
"TableSetup": {
"HeaderStringsLevel": "HEADER_STRINGS_LEVEL0",
"EnableInputStringsDisplay": true,
"EnableCategoryValues": false,
"EnableCalculatedValues": false,
"EnableTotalSamplesValues": false,
"EnableNotes": false,
"EnableTimeValues": false,
"EnableNotesToolTip": false,
"EnableAlarmStatusValues": true,
"TableBackgroundMode": "",
"TableAlarmEmphasisMode": "ALARM_HIGHLIGHT_NONE",
"ChartAlarmEmphasisMode": "ALARM_HIGHLIGHT_SYMBOL",
"ChartData": {
"TitleHeader": "Characteristic: ",
"Title": "Soup_RiceWeight",
"ChartNumberHeader": "Chart: ",
"ChartNumber": "Xbar+Range",
"PartNameHeader": "Item: ",
"PartName": "999",
"PartNumberHeader": "",
"PartNumber": "",
"OperatorHeader": "",
"Operator": "",
"MachineHeader": "Operation: ",
"Machine": "Machine 1",
"GaugeHeader": "",
"Gauge": "",
"DateHeader": "Date: ",
"DateString": "01/25/2019 19:53",
"UnitOfMeasureHeader": "",
"UnitOfMeasure": "",
"ZeroEqualsHeader": "",
"ZeroEquals": "",
"NotesHeader": "Notes",
"NotesMessage": "NOTES MESSAGE",
"CalculatedItemDecimals": 1,
"ProcessCapabilityDecimals": 2,
"SampleItemDecimals": 1,
"ProcessCapabilitySetup": {
"LSLValue": 20,
"USLValue": 40,
"EnableCPK": false,
"EnableCPM": false,
"EnablePPK": false,
"EnableCPL": false,
"EnableCPU": false,
"EnablePPL": false,
"EnablePPU": false
}
}
},
"PrimaryChartSetup": {
"ControlLimits": {
"AddControlRules": [{
"RuleSet": "CUSTOM_TEMPLATE_BASED_RULE",
"RuleNumber": 2,
"EnableAlarmLine": false,
"EnableAlarmChecking": true,
"EnableAlarmLineText": "",
"LimitValue": 0,
"M": 6,
"N": 6,
"SigmaLevel": 0
}, {
"RuleSet": "CUSTOM_TEMPLATE_BASED_RULE",
"RuleNumber": 1,
"EnableAlarmLine": false,
"EnableAlarmChecking": true,
"EnableAlarmLineText": "",
"LimitValue": 0,
"M": 6,
"N": 6,
"SigmaLevel": 0
}, {
"RuleSet": "CUSTOM_TEMPLATE_BASED_RULE",
"RuleNumber": 2,
"EnableAlarmLine": false,
"EnableAlarmChecking": true,
"EnableAlarmLineText": "",
"LimitValue": 0,
"M": 1,
"N": 1,
"SigmaLevel": 3
}],
"DefaultLimits": [true, true],
"ZoneFill": true,
"ZoneColors": ["SPRINGGREEN", "LIGHTGOLDENRODYELLOW", "LIGHTGREEN"],
"Target": {
"DisplayString": "CL",
"LimitValue": 0
},
"LCL3": {
"DisplayString": "LCL",
"EnableAlarmChecking": true,
"EnableAlarmLine": true,
"EnableAlarmLineText": true,
"LimitValue": 0
},
"UCL3": {
"DisplayString": "UCL",
"EnableAlarmChecking": true,
"EnableAlarmLine": true,
"EnableAlarmLineText": true,
"LimitValue": 0
},
"123SigmaControlLimits": {
"Target": 0,
"UCL3Value": 0,
"LCL3Value": 0,
"AlarmTest12": false,
"EnableAlarmLine": false,
"EnableAlarmLineText": false,
"EnableAlarmChecking": false
},
"OutOfLimitSymbolType": "CIRCLE",
"UCL2": {
"EnableAlarmLineText": false,
"EnableAlarmLine": false
},
"UCL1": {
"EnableAlarmLineText": false,
"EnableAlarmLine": false
},
"LCL1": {
"EnableAlarmLineText": false,
"EnableAlarmLine": false
},
"LCL2": {
"EnableAlarmLineText": false,
"EnableAlarmLine": false
}
},
"FrequencyHistogram": {
"EnableDisplayFrequencyHistogram": false,
"PlotBackgroundColor": "WHITE",
"BarColor": "LIGHTBLUE"
},
"SpecificationLimits": {
"HighSpecificationLimit": {
"LimitValue": 310,
"LineColor": "RED",
"EnableAlarmChecking": true,
"EnableAlarmLine": true
}
},
"YAxisLeft": {
"LineColor": "BLACK",
"LineWidth": 1,
"MinValue": 0,
"MaxValue": 0,
"Enable": true
},
"LineMarkerPlot": {
"LineColor": "BLACK",
"LineWidth": 1,
"SymbolColor": "BLACK",
"SymbolFillColor": "BLACK",
"SymbolType": "CIRCLE"
}
},
"SecondaryChartSetup": {
"ControlLimits": {
"AddControlRules": [],
"DefaultLimits": [false, false],
"ZoneFill": true,
"ZoneColors": ["SPRINGGREEN", "LIGHTGOLDENRODYELLOW", "LIGHTGREEN"],
"Target": {
"DisplayString": "CL",
"LimitValue": 0
},
"LCL3": {
"DisplayString": "LCL",
"EnableAlarmChecking": true,
"EnableAlarmLine": true,
"EnableAlarmLineText": true,
"LimitValue": 0
},
"UCL3": {
"DisplayString": "UCL",
"EnableAlarmChecking": true,
"EnableAlarmLine": true,
"EnableAlarmLineText": true,
"LimitValue": 0
},
"123SigmaControlLimits": {
"Target": 0,
"UCL3Value": 0,
"LCL3Value": 0,
"AlarmTest12": false,
"EnableAlarmLine": false,
"EnableAlarmLineText": false,
"EnableAlarmChecking": false
},
"OutOfLimitSymbolType": "CIRCLE",
"UCL2": {
"EnableAlarmLineText": false,
"EnableAlarmLine": false
},
"UCL1": {
"EnableAlarmLineText": false,
"EnableAlarmLine": false
},
"LCL1": {
"EnableAlarmLineText": false,
"EnableAlarmLine": false
},
"LCL2": {
"EnableAlarmLineText": false,
"EnableAlarmLine": false
}
},
"FrequencyHistogram": {
"EnableDisplayFrequencyHistogram": false,
"PlotBackgroundColor": "WHITE",
"BarColor": "LIGHTBLUE"
},
"YAxisLeft": {
"LineColor": "BLACK",
"LineWidth": 1,
"MinValue": 0,
"MaxValue": 0,
"Enable": true
},
"SpecificationLimits": null,
"LineMarkerPlot": {
"LineColor": "BLACK",
"LineWidth": 1,
"SymbolColor": "BLACK",
"SymbolFillColor": "BLACK",
"SymbolType": "CIRCLE"
}
},
"Events": {
"EnableDataToolTip": false,
"EnableNotesToolTip": true,
"EnableJSONDataToolTip": true
},
"SampleData": {
"SampleIntervalRecords": [{
"SampleValues": [222, 222, 222, 222, 222],
"BatchCount": 0,
"TimeStamp": 1545245177000,
"Note": ""
}, {
"SampleValues": [255, 255, 255, 255, 255],
"BatchCount": 1,
"TimeStamp": 1545245731000,
"Note": ""
}, {
"SampleValues": [222, 2, 222, 222, 222],
"BatchCount": 2,
"TimeStamp": 1545251078000,
"Note": ""
}, {
"SampleValues": [312, 312, 312, 312, 312],
"BatchCount": 3,
"TimeStamp": 1545251107000,
"Note": ""
}, {
"SampleValues": [255, 255, 255, 255, 255],
"BatchCount": 4,
"TimeStamp": 1545251578000,
"Note": ""
}, {
"SampleValues": [255, 255, 255, 255, 255],
"BatchCount": 5,
"TimeStamp": 1545252045000,
"Note": ""
}]
},
"Methods": {
"AutoCalculateControlLimits": true,
"AutoScaleYAxes": true,
"RebuildUsingCurrentData": true
}
}
}

rsandbach

USA
3 Posts

Posted - 25 Jan 2019 :  20:05:26  Show Profile  Reply with Quote
Preview of output:


Edited by - rsandbach on 25 Jan 2019 20:07:20
Go to Top of Page

quinncurtis

1586 Posts

Posted - 26 Jan 2019 :  13:42:18  Show Profile  Reply with Quote
Additional control limits should be added in a specific order. The standard +- 3,2,1 sigma limits must be first. The +- 3 sigma limits are added by default. The 123SigmaControlLimits block should come next and it adds the +-2 and +-1 sigma limits. After that you can add custom limits. Specification limits, if used, should come last. So in your JSON, move the 123SigmaControlLimits block above the AddControlRules block.

"ControlLimits": {
"123SigmaControlLimits": {
"Target": 0,
"UCL3Value": 0,
"LCL3Value": 0,
"AlarmTest12": false,
"EnableAlarmLine": false,
"EnableAlarmLineText": false,
"EnableAlarmChecking": false
},
"AddControlRules": [{
"RuleSet": "CUSTOM_TEMPLATE_BASED_RULE",
"RuleNumber": 2,
"EnableAlarmLine": false,
"EnableAlarmChecking": true,
"EnableAlarmLineText": "",
"LimitValue": 0,
"M": 6,
"N": 6,
"SigmaLevel": 0
}, {
"RuleSet": "CUSTOM_TEMPLATE_BASED_RULE",
"RuleNumber": 1,
"EnableAlarmLine": false,
"EnableAlarmChecking": true,
"EnableAlarmLineText": "",
"LimitValue": 0,
"M": 6,
"N": 6,
"SigmaLevel": 0
}, {
"RuleSet": "CUSTOM_TEMPLATE_BASED_RULE",
"RuleNumber": 2,
"EnableAlarmLine": false,
"EnableAlarmChecking": true,
"EnableAlarmLineText": "",
"LimitValue": 0,
"M": 1,
"N": 1,
"SigmaLevel": 3
}],

.
.
.


Also, one minor, unrelated, point. In your sample data, do not specify all values in a sample interval with the same value. That means the sample interval has zero range, and that violates the central tenent of SPC charts, which is that sample data approimates a normal distribution. Data with no range does not work well in the control limit calculations. Give at least one sample for each interval a different value.

"SampleValues": [312, 312, 315, 312, 312],


in order to introduce some variation.


Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
Quinn-Curtis Forums © 2000-2018 Quinn-Curtis, Inc. Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.07