Onlineansicht ST zeigt nicht tatsächlichen Variablenzustand

2007-06-05
2007-06-11
  • georg.bertram - 2007-06-05

    Hallo,

    noch was:

    Wenn ich einen ST-Baustein in der Onlineansicht betrachte, dann sehe ich nicht den tatsächlichen Variablenzustand im Moment der Ausführung der jeweiligen Programmzeile, sondern den Zustand der Variablen am Ende des Zyklus. Das ist natürlich nicht besonders hilfreich um Fehler zu finden. Das Verhalten habe ich in 2er und 3er Version beobachtet.

    Hier gibt es bestimmt eine Einstellung um tatsächlich die exakten Werte angezeigt zu bekommen?

    Gruß Georg Bertram

    IMG: codesys1.jpg

     
  • gravieren - 2007-06-05

    Hi

    Ich kann nicht "sehen" / downloaden.

    P.S: Ist mir noch NICHT aufgefallen.

    Werde mal am WE testen.

     
  • Rolf-Geisler - 2007-06-05

    Hallo,

    es ist tatsächlich so, dass in der online-Ansicht die Variablen an sämtlichen Verwendungsstellen eines Bausteins mit dem gleichen Wert angezeigt werden. Habe noch keine Einstellung gefunden, mit der sich das ändern läßt.

    Wenn nötig, stelle ich "Mausefallen" auf und schreibe die interessierenden Variablenwerte dort hinein. Ist zwar etwas umständlich, aber für mich durchaus noch praktikabel.

    Ich arbeite nur in ST. Ob sich CoDeSys in den anderen Programmiersprachen genau so verhält, kann ich nicht sagen.

    Gruß Rolf Geisler

     
  • J Schohaus - 2007-06-06

    Hallo Georg

    Um den aktuellen zustand der Variablen zu sehen und auch zu erkennen ob die Programmzeilen bearbeitet werden ist die Ablaufkontrolle eizuschalten.

    Um diese einzuschalten ist vorher bei der Aufruftask diese als Debug festzulegen.

    1. Mit Rechte Maustaste bei der Task den Punkt "Debug Task Festlegen"

    2. Im Menü Online die Ablaufkontrolle einschalten.

    mfG Jochen Schohaus

     
  • georg.bertram - 2007-06-06

    Hört sich gut an, habe allerdings das Problem, dass ich die Funktion "Debug Task festlegen" nicht anwählen kann (ist grau).

    Ich verwende im Moment das Target "3s CoDeSys SP PLCWinNT V2.4" im Simulationsmodus (Online/Simulation aktiviert). Die Target-Option "Debugging in Multitaskingumgebung" ist aktiviert.

    In der Onlinehilfe steht als Bedingung nur, dass das Zielsystem multitaskingfähig sein muß.

    Gibt es noch einen Trick?

    Gruß Georg

     
  • georg.bertram - 2007-06-06

    gravieren hat geschrieben:
    Hi
    Ich kann nicht "sehen" / downloaden.
    P.S: Ist mir noch NICHT aufgefallen.
    Werde mal am WE testen.

    Ich auch nicht. Aber anscheinend andere, ist ja schließlich 27 mal runtergeladen worden?!

     
  • gravieren - 2007-06-06

    Hi

    @georg.bertram

    Zitat:
    Ich auch nicht. Aber anscheinend andere, ist ja schließlich 27 mal runtergeladen worden?!
    Nö, jeder "Versuch" zum laden wird als download gezählt.

    Test: Ich als ich klein war

    IMG: Beispiel.jpg

     
  • georg.bertram - 2007-06-06

    Ok, Bild ist jetzt drin, geht wohl nur mit jpg.

    Debug Task auswählen geht auch, allerdings nur wenn man online ist. Gibt dieser Befehl irgendwo eine Rückmeldung damit man sieht, dass er ausgeführt worden ist? Ich sehe nichts.

    "Ablaufkontrolle" kann ich auswählen, dann blinkt der linke Rand regelmässig auf um zu zeigen, dass die Zeilen ausgeführt werden.

    Das Verhalten hat sich aber nicht geändert. Für die Variablen wird nach wie vor an allen Stellen der gleiche Wert angezeigt wie oben auf dem Bild zu sehen.

    Hat noch jemand eine Idee?

     
  • gravieren - 2007-06-06

    Hi

    Zitat:
    Ok, Bild ist jetzt drin, geht wohl nur mit jpg.

    Scheint so.

    Test:

    Wo ist der Admin

    IMG: PLANE.TIF

     
  • J Schohaus - 2007-06-06

    ihr habt recht

    Die Ablaufkontrolle funktioniert nur in Grafischer dastellung (KOP/FUP)

    Dort wird immer der aktuelle Wert angezeit.

    Warum dieses ni ST nicht geht ????

    mfG Jochen

     
  • Anonymous - 2007-06-06

    Originally created by: Andy :-)

    hallo zusammen,

    versuch es mal mit F8 (Einzelschritt in) und Breakpoints. Da funzt es...

    @Schohaus : Die Ablaufkontrolle funktioniert auch in ST...

    Hast Du vielleicht einen FB in der Deklarations-Sicht geöffnet ?

    mfg

    Andy

     
  • Anonymous - 2007-06-08

    Originally created by: Bernhard Werner

    Hallo,

    1. Das normale Monitoring erfolgt zyklisch: das heisst die Werte werden nach jedem Zyklus ausgelesen. In den meisten Fällen macht das Sinn, insbesondere bei Ausgängen.

    2. Wenn man Ablaufkontrolle einschaltet, dann werden die Variablenwerte an der Ausführungsstelle angezeigt. Das funktioniert in jedem Editor.

    3. Wenn man einen Breakpoint setzt, und durch das Programm steppt, kann man auch den Wert an der Ausführungsstelle sehen.

    mfg,

     Bernhard Werner
    
     
  • lothar - 2007-06-08

    Ich kann nicht bestätigen, was Herr Werner schreibt:

    meiner Meinung nach funktioniert das zeilengenaue Monitoring in ST nicht.

    Wer also z.B.:

    Ampel := 'grün';

    Ampel := 'gelb';

    Ampel := 'rot';

    Ampel_num := 1;

    Ampel_num := 2;

    Ampel_num := 3;

    programmiert, sieht, auch mit Ablaufkontrolle, immer nur 'rot' und '3'.

    Beim Break ist' ok.

    In anderen Editoren, z.B. AWL, mag das zeilengenaue Monitoring wohl funktionieren.

    Gruss

    lothar

     
  • Anonymous - 2007-06-11

    Originally created by: Bernhard Werner

    Hallo Lothar,

    lothar hat geschrieben:
    Ich kann nicht bestätigen, was Herr Werner schreibt:
    meiner Meinung nach funktioniert das zeilengenaue Monitoring in ST nicht.
    Wer also z.B.:
    Ampel := 'grün';
    Ampel := 'gelb';
    Ampel := 'rot';
    Ampel_num := 1;
    Ampel_num := 2;
    Ampel_num := 3;
    programmiert, sieht, auch mit Ablaufkontrolle, immer nur 'rot' und '3'.
    Beim Break ist' ok.
    In anderen Editoren, z.B. AWL, mag das zeilengenaue Monitoring wohl funktionieren.
    Gruss
    lothar

    Das stimmt, ich korrigiere mich, die Ablaufkontrolle zeigt in ST nur die durchlaufenen Zeilen an und nicht die aktuellen Variablenwerte.

    Bernhard Werner

     

Log in to post a comment.