Aktueller Inhalt von Daniel Brenndörfer

  1. D

    Twincat: Function Block-EXTENDS funktioniert nicht in Arrays?

    Okay, dann treibe ich mit den Interfaces zumindest keinen unnötigen Aufwand. Habe den Code jetzt folgendermaßen geändert (nur geänderte Zeilen): INTERFACE I_Parent ____________________________________ METHOD M_Method : INT FUNCTION_BLOCK FB_Parent IMPLEMENTS I_Parent FUNCTION_BLOCK...
  2. D

    Twincat: Function Block-EXTENDS funktioniert nicht in Arrays?

    Genau. Wenn der Compiler da meckern würde, wäre es zumindest in sich stimmig. Andererseits ist es ja gerade der Sinn von Vererbung, dass sich Objekte von Kindklassen nach außen verhalten wie ein Objekt der Elternklasse. So kann man die Logik im Objekt kapseln, das heißt, das Objekt weiß selber...
  3. D

    Twincat: Function Block-EXTENDS funktioniert nicht in Arrays?

    Hallo zusammen, ich bin auf ein Verhalten in Twincat gestoßen, das ich im Grunde für einen Bug halte. Vielleicht übersehe ich aber einfach irgendwas? Ich habe zwei Function Blocks, FB_Parent und FB_Child. Letzteres EXTENDS ersteres. Beide haben je eine Methode, die ein Integer zurückliefert...
  4. D

    Twincat: Wie Array Overflow verhindern?

    Okay, das ist gut zu wissen. Ich refactore gerade ohnehin, um die Anzahl der Aufrufe zu minimieren.
  5. D

    Syntax für Beckhoff VAR_INPUT in Function Block

    Ja, das ist es! Da wär ich nie drauf gekommen, weil ich es nicht wirklich logisch finde. Wenn ich schreibe bFehler : BOOL := TRUE; dann befindet sich links und rechts vom := jeweils ein BOOL-Objekt. Bei fbTest : FB_Test := (Testvar:=1); hingegen befindet sich links vom (linken...
  6. D

    Twincat: Wie Array Overflow verhindern?

    Also danke Euch allen! Ich hab das jetzt genau so gemacht - eine Variable nDivisionByZero : SINT := 0; definiert und wenn ich einen sicheren Abbruch herbeiführen will teile ich durch diese. Also: FUNCTION CheckBounds : DINT VAR_INPUT index, lower, upper: DINT; END_VAR...
  7. D

    Syntax für Beckhoff VAR_INPUT in Function Block

    Hallo zusammen, ich blicke anscheinend die Syntax nicht, wenn ich in TwinCAT einen Function Block mit Initialisierungsvariablen erstellen will. Was ich versuche: FUNCTION_BLOCK FB_Test VAR_INPUT Testvar : INT; END_VAR ----------------- fbTest : FB_Test(Testvar:=1); Dabei kriege ich die...
  8. D

    Twincat: Wie Array Overflow verhindern?

    Danke, Leute, das ist genau das, was ich gesucht habe! Ohne Euch hätte ich das in tausend kalten Wintern nicht gefunden, weil ich nicht wusste, dass es sowas gibt und die Google-Suche nach "Array" niemals bei "POUs für implizite Prüfungen" rauskommen würde. Ich hab jetzt gedacht, ich nehme die...
  9. D

    Twincat: Wie Array Overflow verhindern?

    Hallo zusammen, beim Programmieren in TwinCAT ist es ja problemlos möglich, z.B. ein Array [1..5] zu erstellen und dann was in Array[7] reinzuschreiben, was dann irgendwas im Speicher überschreibt und zu völlig unvorhersehbarem Verhalten führt. Das würde ich mir gern verhindern. Wenn auf ein...
Zurück
Oben