/// <summary> /// /// </summary> /// <param name="dbfType"></param> /// <param name="dbfFields"></param> /// <param name="DataMap"></param> private void OutputToCSV(string dbfType, List <string> dbfFields, Dictionary <string, List <string> > DataMap) { var outputpath = System.Configuration.ConfigurationManager.AppSettings["OutputPath"]; var path = outputpath + dbfType + ".csv"; var csv = new LogCsv(path, true); var newFieldList = dbfFields.Select(s => Regex.Replace(s, "\n|\t|\r", "")).ToList(); csv.WriteToFile("{0}", string.Join(",", newFieldList)); foreach (var kvp in DataMap) { log.DebugFormat("writing {0} tags for {1} with {2} tags", dbfType, kvp.Key, kvp.Value.Count); kvp.Value.ForEach(s => csv.WriteToFile("{0}", s)); } csv.CloseFile(); }
static void Main(string[] args) { var functions = FunctionDictionary.GetFunctions(@"C:\ProgramData\Schneider Electric\Citect SCADA 2016\User"); LogCsv logCsv = new LogCsv(@"C:\QR_PSCS\Logs\cicodeFunctions.txt", true); foreach (var func in functions) { foreach (var kvp in func.FunctionLocations) { logCsv.WriteToFile("{0},{1},{2}", func.FileName, kvp.Key, kvp.Value); } } logCsv.CloseFile(); //list of function ref in cicode FunctionDictionary.FunctionRefExistInCicode(); //list of function ref in dbf //FunctionDictionary.FunctionRefExistInDBFs(@"C:\ProgramData\Schneider Electric\Citect SCADA 2016\User", "QRTP"); }
/// <summary> /// /// </summary> /// <param name="dbfType"></param> /// <param name="dBFTagDiagnostics"></param> private void OutputToDiagnosticCSV(string dbfType, IList <DBFTagDiagnostics> dBFTagDiagnostics) { var outputpath = System.Configuration.ConfigurationManager.AppSettings["OutputPath"]; var path = outputpath + dbfType + "Diagnostics.csv"; var csv = new LogCsv(path, true); csv.WriteToFile("tab,tagname,fieldname,old value,new value"); foreach (var tagdiagnostic in dBFTagDiagnostics) { if (!tagdiagnostic.UnMatchedField.Any()) { csv.WriteToFile("{0},{1},,", tagdiagnostic.ExcelTabName, tagdiagnostic.TagName); continue; } foreach (var fieldDiag in tagdiagnostic.UnMatchedField) { csv.WriteToFile("{0},{1},{2},{3}", tagdiagnostic.ExcelTabName, tagdiagnostic.TagName, fieldDiag.Key, fieldDiag.Value); } } csv.CloseFile(); }
public Form1() { InitializeComponent(); rxState = STATE_READY; rxPtr = 0; rxBuff = new char[5000]; koshiClient = new KoshiClient(); koshiClientUI.setKoshiClient(koshiClient); koshiClient.onConnect += onConnect; koshiClient.onDisconnect += onDisconnect; koshiClient.onUpdateUartRx += onUpdateUartRx; K1 = trackK1.Value; textK1.Text = K1.ToString(); K2 = trackK2.Value; textK2.Text = K2.ToString(); K3 = trackK3.Value; textK3.Text = K3.ToString(); K4 = trackK4.Value; textK4.Text = K4.ToString(); Th0 = trackTheta0.Value; textTheta0.Text = ((float)Th0 / 10.0).ToString("F1"); chart1.ChartAreas[0].Position.X = 0; chart1.ChartAreas[0].Position.Y = 0; chart1.ChartAreas[0].Position.Width = 85; chart1.ChartAreas[0].Position.Height = 100; chart1.ChartAreas[0].InnerPlotPosition.X = 10; chart1.ChartAreas[0].InnerPlotPosition.Y = 5; chart1.ChartAreas[0].InnerPlotPosition.Width = 80; chart1.ChartAreas[0].InnerPlotPosition.Height = 80; chart1.Legends[0].Position.X = 85; chart1.Legends[0].Position.Y = 3; chart1.Legends[0].Position.Width = 15; chart1.Legends[0].Position.Height = 50; chart2.ChartAreas[0].Position.X = 0; chart2.ChartAreas[0].Position.Y = 0; chart2.ChartAreas[0].Position.Width = 85; chart2.ChartAreas[0].Position.Height = 100; chart2.ChartAreas[0].InnerPlotPosition.X = 10; chart2.ChartAreas[0].InnerPlotPosition.Y = 5; chart2.ChartAreas[0].InnerPlotPosition.Width = 80; chart2.ChartAreas[0].InnerPlotPosition.Height = 80; chart2.Legends[0].Position.X = 85; chart2.Legends[0].Position.Y = 3; chart2.Legends[0].Position.Width = 15; chart2.Legends[0].Position.Height = 50; chart3.ChartAreas[0].Position.X = 0; chart3.ChartAreas[0].Position.Y = 0; chart3.ChartAreas[0].Position.Width = 85; chart3.ChartAreas[0].Position.Height = 100; chart3.ChartAreas[0].InnerPlotPosition.X = 10; chart3.ChartAreas[0].InnerPlotPosition.Y = 5; chart3.ChartAreas[0].InnerPlotPosition.Width = 80; chart3.ChartAreas[0].InnerPlotPosition.Height = 80; chart3.Legends[0].Position.X = 80; chart3.Legends[0].Position.Y = 3; chart3.Legends[0].Position.Width = 20; chart3.Legends[0].Position.Height = 50; chart1.Series.Clear(); chart1.Series.Add("θ"); chart1.Series.Add("ω"); chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart1.Series[1].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart1.Series[0].YAxisType = AxisType.Primary; chart1.Series[1].YAxisType = AxisType.Secondary; chart2.Series.Clear(); chart2.Series.Add("x"); chart2.Series.Add("v"); chart2.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart2.Series[1].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart2.Series[0].YAxisType = AxisType.Primary; chart2.Series[1].YAxisType = AxisType.Secondary; chart3.Series.Clear(); chart3.Series.Add("K1・θ"); chart3.Series.Add("K2・ω"); chart3.Series.Add("K3・x"); chart3.Series.Add("K4・v"); chart3.Series.Add("y"); chart3.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart3.Series[1].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart3.Series[2].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart3.Series[3].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart3.Series[4].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart1.ChartAreas[0].AxisY.Maximum = MAX_THETA; chart1.ChartAreas[0].AxisY.Minimum = -MAX_THETA; chart1.ChartAreas[0].AxisY.Interval = MAX_THETA / 2; chart1.ChartAreas[0].AxisY.LabelStyle.Format = "F2"; chart1.ChartAreas[0].AxisY2.Maximum = MAX_OMEGA; chart1.ChartAreas[0].AxisY2.Minimum = -MAX_OMEGA; chart1.ChartAreas[0].AxisY2.Interval = MAX_OMEGA / 2; chart1.ChartAreas[0].AxisY2.LabelStyle.Format = "F1"; chart2.ChartAreas[0].AxisY.Maximum = MAX_X; chart2.ChartAreas[0].AxisY.Minimum = -MAX_X; chart2.ChartAreas[0].AxisY.Interval = MAX_X / 2; chart2.ChartAreas[0].AxisY.LabelStyle.Format = "F1"; chart2.ChartAreas[0].AxisY2.Maximum = MAX_V; chart2.ChartAreas[0].AxisY2.Minimum = -MAX_V; chart2.ChartAreas[0].AxisY2.Interval = MAX_V / 2; chart2.ChartAreas[0].AxisY2.LabelStyle.Format = "F1"; chart3.ChartAreas[0].AxisY.Maximum = 128; chart3.ChartAreas[0].AxisY.Minimum = -128; chart3.ChartAreas[0].AxisY.Interval = 32; logCsv = new LogCsv(); logCsv.setHeader("t,theta,omega,x,v,y1,y2,y3,y4,y"); sw = System.Diagnostics.Stopwatch.StartNew(); time = 0; time1 = time2 = time3 = time4 = 0; }