Simulation online Beobachten / Codesys 3.5.18

alexander.bobinger

New member
Beiträge
2
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo SPS-Forum,

ich habe die letzten Jahre als Programmier mit TIA-Portal und Step 7 Classic unterwegs, jetzt muss ich ein Projekt mit Codesys umsetzen und stolper regelmäßig über Probleme welche ich im TIA-Portal nicht kannte.

Mir ist beim beobachten der Simulation etwas aufgefallen, was ich nicht verstehe, ist dies ein Problem mit Einstellungen, kann das die Simulation nicht?

Wenn ich Variable online beobachte, dann sehe ich im Programmablauf immer nur die Wert vom letzten Zyklus, aber nicht die aktuellen Zustände in der entsprechenden Zeile (siehe Screenshot).

In der ersten Zeile schreibe ich "1" in meine INT Variable, online wird mir aber "7" der letzten Zeile angezeigt. usw.

Ich hoffe Ihr könnt mir weiterhelfen

Gruß

Alex

1657202878963.png
 

JesperMP

Well-known member
Beiträge
7.095
Punkte Reaktionen
1.434
Das kenne ich auch von z.B. Rockwell RSLogix.
In RSLogix ist die Online Wert nicht mit die Stelle im Programm wo man schaut synkronisiert. Es ist einfach den Wert der entweder zum zufälligen Zeitpunkt aktiv ist, oder am Ende von Programzyklus aktiv ist.

Die Online Anzeige der korrekt dargestellt wird, Befehl für Befehl, ist meines Wissens eine Siemens Spezialität.
Es ist eine Funktion von die CPU. Die Programmiersoftware erzählt die CPU welche Programmstelle der zurzeit beobachtet wird, und die CPU speichert dann die Online Werte in eine separaten Speicher so dass sie in die Programmiersoftware 'online' angezeigt werden kann.
 

oliver.tonn

Well-known member
Beiträge
4.393
Punkte Reaktionen
723
Zuviel Werbung?
->Hier kostenlos registrieren
Ist das denn in TIA oder Classic anders? Codesys und seine Derivate zeigen den grundsätzlichen Wert der Variable an und da wird der letzte Wert bei der Anzeige gewinnen, würdest Du einen Breakpoint setzen würde der Wert der Variable zum Zeitpunkt des Breakpoints angezeigt.
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.663
Punkte Reaktionen
5.563
Ist das denn in TIA oder Classic anders?
Bei TIA und Classic wird der Ergebnis-Wert nach der Operation angezeigt.
Bei AWL muß man aufpassen, da sieht man den Wert des kompletten 32-Bit-AKKU1 nach der Operation, bei FUP/KOP/SCL den Wert der Variable im Speicher.

Harald
 

Heinileini

Well-known member
Beiträge
5.191
Punkte Reaktionen
1.119
Wenn ich Variable online beobachte, dann sehe ich im Programmablauf immer nur die Wert vom letzten Zyklus, aber nicht die aktuellen Zustände in der entsprechenden Zeile (siehe Screenshot).
Kannst Du so schnell gucken oder tackerst Du das Programm beim Simulieren im Einzelschritt durch? ;)

Nein, das Problem ist gar nicht, dass man nicht schnell genug gucken kann, um den aktuellen Zustand zu erhaschen.
Allein die Zeit, die es braucht, um die BildschirmAnzeige zu aktualisieren, dürfte weit jenseits der Wunschvorstellung liegen.

Jespers "SiemensSpezialitätsTheorie" ist alles andere als absurd.
Von Hersteller zu Hersteller unterschiedliche Performance und ihre unterschiedliche Wichtung auf diesem Gebiet ist eher naheliegend.
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.663
Punkte Reaktionen
5.563

Oberchefe

Well-known member
Beiträge
2.443
Punkte Reaktionen
408
wie man in dem Bild in #1 deutlich sieht, zeigt Codesys grundsätzlich nicht den Wert nach der Zuweisung an, sondern den Wert vom Zyklusende.

Das muss nicht zwingend der Wert vom Zyklusende sein, zumindest ist das bei Rockwell nicht an den Zyklus gekoppelt. Wenn da eine Variable mehrmals pro Zyklus einen anderen Wert geschrieben bekommt, sieht man den Wert flackern. Das hat den Vorteil, dass wenn das versehentlich passiert, dass man so gleich erkennt, dass irgendwo im Programm der Wert nochmals beschrieben wird.
 
OP
A

alexander.bobinger

New member
Beiträge
2
Punkte Reaktionen
0
Oben