private void StartDraw()//start getting signal without click { TempGraph.f_ClearAllPix(); TempGraph.f_reXY(); TempGraph.f_LoadOnePix(ref x1, ref y1, Color.Red, 2); TempGraph.f_AddPix(ref x_b, ref y_b, Color.Blue, 2); TempGraph.f_AddPix(ref x_p, ref y_p, Color.Green, 2); }
private void StartGetTemp() //start getting signal without click { timerDrawTemp.Start(); //start timer TempGraph.f_ClearAllPix(); TempGraph.f_reXY(); TempGraph.f_LoadOnePix(ref x2, ref y2, Color.Red, 2); TempGraph.f_AddPix(ref x3, ref y3, Color.Blue, 2); }
/*******************************************************************************************************************/ private void btnGetAnalogIn_Click(object sender, EventArgs e) //start the timer when click the button { timerDraw.Start(); //start timer Graph1D.f_ClearAllPix(); TempGraph.f_ClearAllPix(); Graph1D.f_reXY(); TempGraph.f_reXY(); Graph1D.f_LoadOnePix(ref x1, ref y1, Color.Red, 2); TempGraph.f_LoadOnePix(ref x2, ref y2, Color.Red, 2); TempGraph.f_AddPix(ref x3, ref y3, Color.Blue, 2); }
private void timerDrawTemp_Tick(object sender, EventArgs e)//start timer and draw { double setTemp = tempFunction(); double actualTemp = analogIn2() * 175000 / 7 + 35000;//thermal couple:25C voltage=0mv, 200C voltage=7mv x2.Add(DrawTempIndex); y2.Add((float)setTemp); x3.Add(DrawTempIndex); y3.Add((float)actualTemp); DrawTempIndex = (float)(DrawTempIndex + 0.25);//for each count the x add 0.1 TempGraph.f_Refresh(); }
private void button1_Click(object sender, EventArgs e) { x1.Clear(); y1.Clear(); x_b.Clear(); y_b.Clear(); StartDraw(); RawDataDatFileReader(FileNameText.Text); int SignalLength = x1.Count(); SignalLengthText.Text = SignalLength.ToString(); SNIPBaseline(); TempGraph.f_Refresh(); }
private const double baseLine = 1.4; //loop baseline voltage=1.4v private void timerDraw_Tick(object sender, EventArgs e) //start timer and draw { double analogDataIn = analogIn1() + baseLine; //double setTemp = tempFunction(25, 10, 10, 10); double setTemp = 0; double actualTemp = analogIn2() * 175000 / 7 + 35000; //thermal couple:25C voltage=0mv, 200C voltage=7mv txtAnalogIn.Text = analogDataIn.ToString(); //display in textbox x1.Add(timerDrawI); y1.Add((float)analogDataIn); x2.Add(timerDrawI); y2.Add((float)setTemp); x3.Add(timerDrawI); y3.Add((float)actualTemp); timerDrawI = (float)(timerDrawI + 0.25); //for each count the x add 0.1 Graph1D.f_Refresh(); //sampling TempGraph.f_Refresh(); }
private void initial_set_Ports_Low() { for (int i = 0; i < 8; i++) { digitalOutLow(i); } digitalOutLow(10); digitalOutLow(11); digitalOutLow(12); digitalOutLow(13); pumpIndicator.BackColor = Color.Gray;//clear all expected valveIndicator1.BackColor = Color.Gray; preconOnIndicator1.BackColor = Color.Gray; preconHighIndicator1.BackColor = Color.Gray; columnIndicator.BackColor = Color.Gray; valvaIndicator2.BackColor = Color.Gray; preconOnIndicator2.BackColor = Color.Gray; preconHighIndicator2.BackColor = Color.Gray; //TempGraph initial TempGraph.f_ClearAllPix(); TempGraph.f_reXY(); TempGraph.f_LoadOnePix(ref x2, ref y2, Color.Red, 2); TempGraph.f_AddPix(ref x3, ref y3, Color.Blue, 2); }
private void overallStart_Click(object sender, EventArgs e) { x1.Clear(); x2.Clear(); x3.Clear(); x4.Clear(); y1.Clear(); y2.Clear(); y3.Clear(); y4.Clear(); initial_set_Ports_Low(); DrawSingalIndex = 0; DrawTempIndex = 0; SignalOnFlag = 0; heartcuttingNumber = 0; heartcuttingflag = 0; Graph1D.f_ClearAllPix(); TempGraph.f_ClearAllPix(); Graph1D.f_reXY(); TempGraph.f_reXY(); timerMenu.Start(); StartGetTemp(); startTime = System.DateTime.Now; //ports control pumpingTvalue = float.Parse(pumpingTime.Text); //s waitingTvalue = float.Parse(waitingTime.Text); //s preconHighTvalue = float.Parse(preconHighTime.Text); //s preconLowTvalue = float.Parse(preconLowTime.Text); //s lowestTempvalue = float.Parse(lowestTemp.Text); //C lowestTvalue = float.Parse(lowestHold.Text) * 60; //s HighestTempvalue = float.Parse(highestTemp.Text); //C HighestTvalue = float.Parse(highestHold.Text) * 60; //s RampSpeedvalue = float.Parse(rampSpeed.Text) / 60; //c/s analysisTotalT = lowestTvalue + HighestTvalue + (HighestTempvalue - lowestTempvalue) / RampSpeedvalue; //s cleaningPvalue = float.Parse(cleaningPreconTime.Text); //s cleaningTvalue = float.Parse(cleaningTotalTime.Text) * 60; //s if (Start1.Text != "" && End1.Text != "") { if (float.Parse(Start1.Text) > float.Parse(End1.Text)) { EndBeforeStartError(); } else { heartcuttingStartList[1] = float.Parse(Start1.Text); //s heartcuttingEndList[1] = float.Parse(End1.Text); //s heartcuttingNumber++; } } if (Start2.Text != "" && End2.Text != "") { if (float.Parse(Start2.Text) > float.Parse(End2.Text)) { EndBeforeStartError(); } else if (heartcuttingNumber != 1) { EmptyBetweenError(); } else if (float.Parse(Start2.Text) < heartcuttingEndList[1] + preconHighTvalue + preconLowTvalue) { TooCloseError(); } else { heartcuttingStartList[2] = float.Parse(Start2.Text); //s heartcuttingEndList[2] = float.Parse(End2.Text); //s heartcuttingNumber++; } } if (Start3.Text != "" && End3.Text != "") { if (float.Parse(Start3.Text) > float.Parse(End3.Text)) { EndBeforeStartError(); } else if (heartcuttingNumber != 2) { EmptyBetweenError(); } else if (float.Parse(Start3.Text) < heartcuttingEndList[2] + preconHighTvalue + preconLowTvalue) { TooCloseError(); } else { heartcuttingStartList[3] = float.Parse(Start3.Text); //s heartcuttingEndList[3] = float.Parse(End3.Text); //s heartcuttingNumber++; } } if (Start4.Text != "" && End4.Text != "") { if (float.Parse(Start4.Text) > float.Parse(End4.Text)) { EndBeforeStartError(); } else if (heartcuttingNumber != 3) { EmptyBetweenError(); } else if (float.Parse(Start4.Text) < heartcuttingEndList[3] + preconHighTvalue + preconLowTvalue) { TooCloseError(); } else { heartcuttingStartList[4] = float.Parse(Start4.Text); //s heartcuttingEndList[4] = float.Parse(End4.Text); //s heartcuttingNumber++; } } if (Start5.Text != "" && End5.Text != "") { if (float.Parse(Start5.Text) > float.Parse(End5.Text)) { EndBeforeStartError(); } else if (heartcuttingNumber != 4) { EmptyBetweenError(); } else if (float.Parse(Start5.Text) < heartcuttingEndList[4] + preconHighTvalue + preconLowTvalue) { TooCloseError(); } else { heartcuttingStartList[5] = float.Parse(Start5.Text); //s heartcuttingEndList[5] = float.Parse(End5.Text); //s heartcuttingNumber++; } } if (ExperienceName.Text == "") { timerMenu.Stop(); timerDrawSignal.Stop(); timerDrawTemp.Stop(); MessageBox.Show("Experience Name cannot be empty.", "Heartcutting Input Error"); } else { ExperienceNamevalue = ExperienceName.Text; file = new System.IO.StreamWriter(@"C:\Users\Nanova\Documents\Software\GC\c#\TestOutputs\" + ExperienceNamevalue + ".dat"); } }
private void timerMenu_Tick(object sender, EventArgs e)//flow control loop { //temp graph double setTemp = 0; float TempTime = (float)System.DateTime.Now.Subtract(startTime).TotalMilliseconds; double actualTemp = analogIn2() * 175000 / 7 + 35000;//thermal couple:25C voltage=0mv, 200C voltage=7mv x2.Add(TempTime); y2.Add((float)setTemp); x3.Add(TempTime); y3.Add((float)actualTemp); TempGraph.f_Refresh(); //ports control double pumpingT = float.Parse(pumpingTime.Text); double waitingT = float.Parse(waitingTime.Text); double preconHighT = float.Parse(preconHighTime.Text); double preconLowT = float.Parse(preconLowTime.Text); timeUsed.Text = System.DateTime.Now.Subtract(startTime).TotalSeconds.ToString();// time has been used if (System.DateTime.Now.Subtract(startTime).TotalMilliseconds < (pumpingT * 1000)) { digitalOutHigh(12); pumpIndicator.BackColor = Color.Green; digitalOutHigh(0); valveIndicator1.BackColor = Color.Green; digitalOutHigh(4); columnIndicator.BackColor = Color.Green; //indicator bars, pumping progress indicator range from 0-100 while analyze bar not change pumpProgress.Value = (int)((System.DateTime.Now.Subtract(startTime).TotalMilliseconds) / (pumpingT * 10)); analyzeProgress.Value = 0; } else if (System.DateTime.Now.Subtract(startTime).TotalMilliseconds < ((pumpingT + waitingT) * 1000)) { digitalOutLow(12); pumpIndicator.BackColor = Color.Gray; digitalOutLow(0); valveIndicator1.BackColor = Color.Gray; pumpProgress.Value = 100; analyzeProgress.Value = 0; } else if (System.DateTime.Now.Subtract(startTime).TotalMilliseconds < ((pumpingT + waitingT + preconHighT) * 1000)) { pumpProgress.Value = 100; digitalOutLow(12); pumpIndicator.BackColor = Color.Gray; digitalOutLow(0); valveIndicator1.BackColor = Color.Gray; digitalOutHigh(13); preconOnIndicator1.BackColor = Color.Green; digitalOutHigh(1); preconHighIndicator1.BackColor = Color.Green; } else if (System.DateTime.Now.Subtract(startTime).TotalMilliseconds < ((pumpingT + waitingT + preconHighT + preconLowT) * 1000)) { digitalOutLow(12); pumpIndicator.BackColor = Color.Gray; digitalOutLow(0); valveIndicator1.BackColor = Color.Gray; digitalOutLow(13); preconOnIndicator1.BackColor = Color.Gray; pwmout(50, 1); preconHighIndicator1.BackColor = Color.Gray; flashIndicatorForPWM(1, System.DateTime.Now.Subtract(startTime).TotalMilliseconds % 2000 < 1000); } else { initial_set_Ports_Low(); return; } if (System.DateTime.Now.Subtract(startTime).TotalMilliseconds - ((pumpingT + waitingT) * 1000) > 0 && SignalOnFlag == 0) { StartGetSignal(); SignalOnFlag = 1; } }
/*******************************************************************************************************************/ private void overallStart_Click(object sender, EventArgs e) { x1.Clear(); x2.Clear(); x3.Clear(); y1.Clear(); y2.Clear(); y3.Clear(); initial_set_Ports_Low(); DrawSingalIndex = 0; DrawTempIndex = 0; SignalOnFlag = 0; heartcuttingNumber = 0; Graph1D.f_ClearAllPix(); TempGraph.f_ClearAllPix(); Graph1D.f_reXY(); TempGraph.f_reXY(); timerMenu.Start(); StartGetTemp(); startTime = System.DateTime.Now; //ports control pumpingTvalue = float.Parse(pumpingTime.Text); //s waitingTvalue = float.Parse(waitingTime.Text); //s preconHighTvalue = float.Parse(preconHighTime.Text); //s preconLowTvalue = float.Parse(preconLowTime.Text); //s lowestTempvalue = float.Parse(lowestTemp.Text); //C lowestTvalue = float.Parse(lowestHold.Text) * 60; //s HighestTempvalue = float.Parse(highestTemp.Text); //C HighestTvalue = float.Parse(highestHold.Text) * 60; //s RampSpeedvalue = float.Parse(rampSpeed.Text) / 60; //c/s analysisTotalT = lowestTvalue + HighestTvalue + (HighestTempvalue - lowestTempvalue) / RampSpeedvalue; //s cleaningPvalue = float.Parse(cleaningPreconTime.Text); //s cleaningTvalue = float.Parse(cleaningTotalTime.Text) * 60; //s if (Start1.Text != "" && float.Parse(Start1.Text) < float.Parse(End1.Text)) { heartcuttingStartList[1] = float.Parse(Start1.Text); //s heartcuttingEndList[1] = float.Parse(End1.Text); //s heartcuttingNumber++; } if (Start2.Text != "" && float.Parse(Start2.Text) > heartcuttingEndList[1] && float.Parse(Start2.Text) < float.Parse(End2.Text)) { heartcuttingStartList[2] = float.Parse(Start2.Text); //s heartcuttingEndList[2] = float.Parse(End2.Text); //s heartcuttingNumber++; } if (Start3.Text != "" && float.Parse(Start3.Text) > heartcuttingEndList[2] && float.Parse(Start3.Text) < float.Parse(End3.Text)) { heartcuttingStartList[3] = float.Parse(Start3.Text); //s heartcuttingEndList[3] = float.Parse(End3.Text); //s heartcuttingNumber++; } if (Start4.Text != "" && float.Parse(Start4.Text) > heartcuttingEndList[3] && float.Parse(Start4.Text) < float.Parse(End4.Text)) { heartcuttingStartList[4] = float.Parse(Start4.Text); //s heartcuttingEndList[4] = float.Parse(End4.Text); //s heartcuttingNumber++; } if (Start5.Text != "" && float.Parse(Start5.Text) > heartcuttingEndList[4] && float.Parse(Start5.Text) < float.Parse(End5.Text)) { heartcuttingStartList[5] = float.Parse(Start5.Text); //s heartcuttingEndList[5] = float.Parse(End5.Text); //s heartcuttingNumber++; } }