コード例 #1
0
 public static void ReferenzenUebergeben(AutoTesterWindow autoTesterWindow, Datenstruktur datenstruktur, Stopwatch silkStopwatch, IPlc plc)
 {
     AutoTesterWindow = autoTesterWindow;
     Datenstruktur    = datenstruktur;
     SilkStopwatch    = silkStopwatch;
     Plc = plc;
 }
コード例 #2
0
 private static void Runtime_End(object sender, EndEventArgs e)
 {
     AutoTesterWindow.UpdateDataGrid(new TestAusgabe(
                                         AutoTesterWindow.DataGridId++,
                                         $"{SilkStopwatch.ElapsedMilliseconds}ms",
                                         AutoTester.TestErgebnis.TestEnde,
                                         " ", // DigInput
                                         " ", // DigOutput Soll
                                         " ", // DigOutput Ist
                                         " "));
 }
コード例 #3
0
        public AutoTester(AutoTesterWindow autoTesterWindow, FileSystemInfo aktuellesProjekt, Datenstruktur datenstruktur, IPlc plc)
        {
            Compiler compiler;

            SilkStopwatch = new Stopwatch();

            AutoTesterWindow = autoTesterWindow;
            Datenstruktur    = datenstruktur;

            Silk.Silk.ReferenzenUebergeben(autoTesterWindow, datenstruktur, SilkStopwatch, plc);

            autoTesterWindow.UpdateDataGrid(new TestAusgabe(
                                                autoTesterWindow.DataGridId++,
                                                "0",
                                                TestErgebnis.CompilerStart,
                                                " ", // DigInput
                                                " ", // DigOutput Soll
                                                " ", // DigOutput Ist
                                                " "));

            SilkStopwatch.Start();
            (_compilerlaufErfolgreich, compiler, _compiledProgram) = Silk.Silk.Compile(@$ "{aktuellesProjekt}\testSource.ssc");

            if (_compilerlaufErfolgreich)
            {
                autoTesterWindow.UpdateDataGrid(new TestAusgabe(
                                                    autoTesterWindow.DataGridId++,
                                                    $"{SilkStopwatch.ElapsedMilliseconds}ms",
                                                    TestErgebnis.CompilerErfolgreich,
                                                    " ", // DigInput
                                                    " ", // DigOutput Soll
                                                    " ", // DigOutput Ist
                                                    " "));

                System.Threading.Tasks.Task.Run(TestRunnerTask);
            }
            else
            {
                foreach (var error in compiler.Errors)
                {
                    autoTesterWindow.UpdateDataGrid(new TestAusgabe(
                                                        autoTesterWindow.DataGridId++,
                                                        $"{SilkStopwatch.ElapsedMilliseconds}ms",
                                                        TestErgebnis.CompilerError,
                                                        error.ToString(), // DigInpt
                                                        " ",              // DigOutput Soll
                                                        " ",              // DigOutput Ist
                                                        " "));
                }
            }
        }
コード例 #4
0
        public static void Runtime_Begin(object sender, BeginEventArgs e)
        {
            const string data = "";

            e.UserData = data;

            AutoTesterWindow.UpdateDataGrid(new TestAusgabe(
                                                AutoTesterWindow.DataGridId++,
                                                $"{SilkStopwatch.ElapsedMilliseconds}ms",
                                                AutoTester.TestErgebnis.TestStart,
                                                " ", // DigInput
                                                " ", // DigOutput Soll
                                                " ", // DigOutput Ist
                                                " "));
        }
        private static void DataGridAnzeigeUpdaten(AutoTester.TestErgebnis testErgebnis, uint digOutSoll, string silkKommentar)
        {
            var digitalInput  = GetDigtalInputWord();
            var digitalOutput = GetDigitalOutputWord();

            var dInput      = new Uint(digitalInput.ToString());
            var dOutputIst  = new Uint(digitalOutput.ToString());
            var dOutputSoll = new Uint(digOutSoll.ToString());

            // ReSharper disable once SwitchStatementHandlesSomeKnownEnumValuesWithDefault
            switch (testErgebnis)
            {
            case AutoTester.TestErgebnis.Kommentar:
            case AutoTester.TestErgebnis.Version:
                AutoTesterWindow.UpdateDataGrid(new TestAusgabe(
                                                    AutoTesterWindow.DataGridId,
                                                    " ",
                                                    testErgebnis,
                                                    silkKommentar, // DigInput
                                                    " ",           // DigOutput Soll
                                                    " ",           // DigOutput Ist
                                                    " "));
                break;

            default:
                AutoTesterWindow.UpdateDataGrid(new TestAusgabe(
                                                    AutoTesterWindow.DataGridId,
                                                    $"{SilkStopwatch.ElapsedMilliseconds}ms",
                                                    testErgebnis,
                                                    dInput.GetHexBit(_anzahlBitEingaenge) + "  " + dInput.GetBinBit(_anzahlBitEingaenge),           // DigInput
                                                    dOutputSoll.GetHexBit(_anzahlBitAusgaenge) + "  " + dOutputSoll.GetBinBit(_anzahlBitAusgaenge), // DigOutput Soll                                                                                   // DigOutput Soll
                                                    dOutputIst.GetHexBit(_anzahlBitAusgaenge) + "  " + dOutputIst.GetBinBit(_anzahlBitAusgaenge),   // DigOutput Ist
                                                    silkKommentar));
                break;
            }
        }