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 Microsoft .Net
 SPC Control Chart Tools for .Net
 Defining controls without Sigma levels
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

YanNes

France
3 Posts

Posted - 23 May 2012 :  04:26:53  Show Profile  Reply with Quote
Hello,

I'm trying to make a Chart and am encountering several difficulties.
We don't use sigma levels for controls, we only use user defined levels.

I want to make a Chart with 4 limits (2 on each side of center value).
The 2 limits farthest from the center value should trigger an alarm if 1 point of 1 is beyond them.
And the 2 limits close to the center value should trigger an alarm if 2 points of 3 are beyond them.

I've tried writing this code :

this.ChartData.SetControlLimitValues(new double[] { 20, 12, 28, 5, 0, 10 });

string[] controllimitstrings = { "VC", "LSI", "LSS", "EC", "LCL", "UCL" };
this.ChartData.SetControlLimitStrings(controllimitstrings);

ArrayList controlLimitData = this.PrimaryChart.ControlLimitData;
SPCControlPlotObjectData plotObject = (SPCControlPlotObjectData)controlLimitData[1];
plotObject.PlotLineAttrib.PrimaryColor = Color.Red;
plotObject.ControlLimitRecord.AlarmMessage = "Valeur hors limite de surveillance infrieure";

plotObject = (SPCControlPlotObjectData)controlLimitData[2];
plotObject.PlotLineAttrib.PrimaryColor = Color.Red;
plotObject.ControlLimitRecord.AlarmMessage = "Valeur hors limite de surveillance suprieure";


this.PrimaryChart.AddControlRule(1, 2, 3, 0, true);
plotObject = (SPCControlPlotObjectData)controlLimitData[controlLimitData.Count - 1];
plotObject.LimitValue = 15;
plotObject.PlotLineAttrib.PrimaryColor = Color.Orange;
plotObject.ControlLimitRecord.ControlLimitValue = 15;
plotObject.ControlLimitRecord.AlarmMessage = "2 points sur 3 en dehors de LCI";
plotObject.ControlLimitRecord.ControlLimitText = "LCI";
plotObject.Enable = true;

this.PrimaryChart.AddControlRule(2, 2, 3, 0, true);
plotObject = (SPCControlPlotObjectData)controlLimitData[controlLimitData.Count - 1];
plotObject.LimitValue = 25;
plotObject.PlotLineAttrib.PrimaryColor = Color.Orange;
plotObject.ControlLimitRecord.ControlLimitValue = 25;
plotObject.ControlLimitRecord.AlarmMessage = "2 points sur 3 en dehors de LCS";
plotObject.ControlLimitRecord.ControlLimitText = "LCS";
plotObject.Enable = true;

this.RebuildChartUsingCurrentData();

Here are the problems I've encountered from the most critical to the least :

1. Both LCS and LCI limits (the ones close to the center line) trigger when 1 out of 1 point is beyond them,
even though I created them using "this.PrimaryChart.AddControlRule(2, 2, 3, 0, true);"

2. The LCS line is not ploted but the LCI is. I used the same code for both and can't find the reason for this issue.

3. Changing the PlotLineAttrib primary color has no effect whatsoever.

Here is an image of what I currently have.

quinncurtis

1586 Posts

Posted - 23 May 2012 :  12:47:01  Show Profile  Reply with Quote
1. In theory, most of what you show should work. But there is a test in our code however, that does not permit custom, numeric, control limits of type 1 and 2 (> or < tests) of working with N of M tests. Only simple limits. We will have to investigate this and see if we can lift this restriction.

2. We could not reproduce problem 2, the LCS control limit shows up fine. Perhaps it is related to item 3.

3. Set the color of the control limit line using this code.
plotObject.LinePlot.ChartObjAttributes.PrimaryColor = Color.Orange;


Are you using a trial, or a commercial version of the software?


Go to Top of Page

YanNes

France
3 Posts

Posted - 24 May 2012 :  03:17:56  Show Profile  Reply with Quote
I'm using the trial version of your software to see if it corresponds to our needs.

Regarding issue number 2, I assume it occurred because I used "this.PrimaryChart.AddControlRule(1, 2, 3, 0, true);"
2 times in a row on the same sigma level and it automatically changed the LimitType to not visible.


Is there a way to save and reload the ChartData (other than csv), or should I save the data separately and just rebuild
the Chart every time ?
Go to Top of Page

quinncurtis

1586 Posts

Posted - 24 May 2012 :  08:48:28  Show Profile  Reply with Quote
You are correct about the duplicate sigma level being the cause of the LCS not being plotted. That was a very astute observation.

We have lifted the restriction on N of M testing of explicit (non-sigma) numeric limits . So go ahead and download the trail version again and try it in your program.

Sorry, but the software has no way of saving or restoring the chart data from a file. You would have to handle that externally as you describe. We would like to have a version in the future which could do that from an SQL database, but it is nothing we are going to have in the near term.
Go to Top of Page

YanNes

France
3 Posts

Posted - 25 May 2012 :  06:59:07  Show Profile  Reply with Quote
It works fine now thank you for your fast reaction.

I don't know if you are aware of that or if it's just because of the trial version,
but if you display the Histograms and you if you click randomly on it, it will
trigger an index out of range exception.
Go to Top of Page

quinncurtis

1586 Posts

Posted - 25 May 2012 :  08:10:33  Show Profile  Reply with Quote
We cannot reproduce the range error you describe. Can you reference a specific chart in one of our example program where you are able to induce a range error by clicking on one of the histogram charts?
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