public MainWindow() { const string versionText = "Parkhaus"; const string versionNummer = "V2.0"; const int anzByteDigInput = 2; const int anzByteDigOutput = 2; const int anzByteAnalogInput = 0; const int anzByteAnalogOutput = 2; VersionInfoLokal = versionText + " " + versionNummer; Datenstruktur = new Datenstruktur(anzByteDigInput, anzByteDigOutput, anzByteAnalogInput, anzByteAnalogOutput); ConfigPlc = new ConfigPlc.Plc("./ConfigPlc"); BeschriftungenPlc = new BeschriftungenPlc(); var viewModel = new ViewModel.ViewModel(this); InitializeComponent(); DataContext = viewModel; DatenRangieren = new DatenRangieren(viewModel); PlcDaemon = new PlcDaemon(Datenstruktur, DatenRangieren.Rangieren); DatenRangieren.ReferenzUebergeben(PlcDaemon.Plc); DisplayPlc = new DisplayPlc.DisplayPlc(Datenstruktur, ConfigPlc, BeschriftungenPlc); TestAutomat = new TestAutomat.TestAutomat(Datenstruktur, DisplayPlc.EventBeschriftungAktualisieren, BeschriftungenPlc, PlcDaemon.Plc); TestAutomat.SetTestConfig("./ConfigTests/"); TestAutomat.TabItemFuellen(TabItemAutomatischerSoftwareTest, DisplayPlc); Closing += (_, e) => { e.Cancel = true; Schliessen(); }; }
public MainWindow() { const string versionText = "Blinklicht Fibonacci"; const string versionNummer = "V2.0"; const int anzByteDigInput = 1; const int anzByteDigOutput = 1; const int anzByteAnalogInput = 0; const int anzByteAnalogOutput = 0; VersionInfoLokal = versionText + " " + versionNummer; Datenstruktur = new Datenstruktur(anzByteDigInput, anzByteDigOutput, anzByteAnalogInput, anzByteAnalogOutput); ConfigPlc = new ConfigPlc.Plc("./ConfigPlc"); BeschriftungenPlc = new BeschriftungenPlc(); var viewModel = new ViewModel.ViewModel(this); InitializeComponent(); DataContext = viewModel; DatenRangieren = new DatenRangieren(viewModel); PlcDaemon = new PlcDaemon(Datenstruktur, DatenRangieren.Rangieren); DatenRangieren.ReferenzUebergeben(PlcDaemon.Plc); DisplayPlc = new DisplayPlc.DisplayPlc(Datenstruktur, ConfigPlc, BeschriftungenPlc); TestAutomat = new TestAutomat.TestAutomat(Datenstruktur, DisplayPlc.EventBeschriftungAktualisieren, BeschriftungenPlc, PlcDaemon.Plc); TestAutomat.SetTestConfig("./ConfigTests/"); TestAutomat.TabItemFuellen(TabItemAutomatischerSoftwareTest, DisplayPlc); Closing += (_, e) => { e.Cancel = true; Schliessen(); }; var zeitachse = DataGen.Consecutive(5000); WpfPlot.Plot.XAxis.Label("Zeit [ms]"); WpfPlot.Plot.YLabel("Leuchtmelder"); WpfPlot.Plot.AddScatter(zeitachse, WertLeuchtMelder, Color.Magenta, 1, 1, MarkerShape.none, LineStyle.Solid, "LED"); // create a timer to modify the data var updateDataTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(10) }; updateDataTimer.Tick += UpdateData; updateDataTimer.Start(); // create a timer to update the GUI var renderTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(10) }; renderTimer.Tick += Render; renderTimer.Start(); Datenstruktur.BetriebsartProjekt = BetriebsartProjekt.Simulation; }