public MainWindow()
        {
            const string versionText   = "Heizungsregler";
            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(this);
            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);
             */

            WohnHaus = new WohnHaus();
        }
        public MainWindow()
        {
            const string versionText   = "Stiegenhausbeleuchtung";
            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);
        }
示例#3
0
        public MainWindow()
        {
            const string versionNummer = "V2.0";
            const string versionText   = "Blinker";

            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);


            var zeitachse = DataGen.Consecutive(5000);

            WpfPlot.Plot.YLabel("Leuchtmelder");
            WpfPlot.Plot.XLabel("Zeit [ms]");

            WpfPlot.Plot.AddScatter(zeitachse, WertLeuchtMelder, Color.Magenta, label: "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;
        }
示例#4
0
        public MainWindow()
        {
            const string versionText   = "WorkClock";
            const string versionNummer = "V2.0";


            const int anzByteDigInput     = 9;
            const int anzByteDigOutput    = 0;
            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);
             */

            for (double i = 0; i < 360; i += 30)
            {
                RotiertesRechteckHinzufuegen(8, 30, i);
            }
            for (double i = 0; i < 360; i += 6)
            {
                RotiertesRechteckHinzufuegen(2, 10, i);
            }
        }
        public MainWindow()
        {
            Zeitachse              = new double[1000];
            PlotVentilOeffnung     = new double[1000];
            PlotErregerstrom       = new double[1000];
            PlotFrequenz           = new double[1000];
            PlotGeneratorSpannung  = new double[1000];
            PlotSpannungsdifferenz = new double[1000];
            PlotLeistung           = new double[1000];

            const string versionText   = "Synchronisiereinrichtung";
            const string versionNummer = "V2.0";

            const int anzByteDigInput     = 1;
            const int anzByteDigOutput    = 1;
            const int anzByteAnalogInput  = 20;
            const int anzByteAnalogOutput = 4;

            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(this, 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);
             */
        }
示例#6
0
        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();
            };
        }
示例#7
0
        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;
        }