TIA TIA V17: Temp Variablen in FB über PLC-Sim steuern

oliver.tonn

Well-known member
Beiträge
4.041
Punkte Reaktionen
652
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo,
ich stelle mich gerade vermutlich etwas dumm an.
Ich habe ein kleines Projekt erstellt, dass aus einem OB1 und einem FB (in GRAPH) besteht. In diesem habe ich ein paar Temp-Variablen erstellt.
Dies Projekt möchte ich nun mit PLC-Sim simulieren. Ich bekomme auch alles soweit hin, bis auf eins. Ich finde keinen Weg die von mir erstellten Variablen in TEMP zu steuern. Wie kann ich diese beeinflussen?
 

escride1

Well-known member
Beiträge
732
Punkte Reaktionen
157
War da nicht was mit Temp-Variablenwerte sind nur für diesen einen Zyklus gültig und im nächsten wieder undefiniert?
Irgendwie vermute ich hast Du Static-Variablen gewollt, die bleiben über die Zyklen hinweg definiert und können entsprechend belegt werden.

Oder es hat sich da mit V17 irgendwas geändert, wär mir aber neu.
 
OP
O

oliver.tonn

Well-known member
Beiträge
4.041
Punkte Reaktionen
652
Zuviel Werbung?
->Hier kostenlos registrieren
War da nicht was mit Temp-Variablenwerte sind nur für diesen einen Zyklus gültig und im nächsten wieder undefiniert?
Irgendwie vermute ich hast Du Static-Variablen gewollt, die bleiben über die Zyklen hinweg definiert und können entsprechend belegt werden.

Oder es hat sich da mit V17 irgendwas geändert, wär mir aber neu.
Das könnte so sein, bei Static denk ich immer an Konstanten.
Ich habe die Variablen jetzt mal nach Static verschoben und alles neu geladen, leider finde ich immer noch keine Möglichkeit die Variablen zu beeinflussen. Was mich auch wundert ist, dass, wenn ich in GRAPH auf die Variable gehe ist unter Steuern alles ausgegraut.
 

escride1

Well-known member
Beiträge
732
Punkte Reaktionen
157
Was mich auch wundert ist, dass, wenn ich in GRAPH auf die Variable gehe ist unter Steuern alles ausgegraut.
Ich glaube man konnte nicht im Baustein direkt etwas steuern sondern nur in dem Datenbaustein selbst. Und dort tauchen die Temp-Variablen nicht auf, weshalb man auf Static zurückgreifen muss (was ohnehin meistens besser ist).

Zur Steuerung von Graph-Bausteinen war rechts die Kettensteuerung, wobei man um eine Transition dann die Kette auf Handbetrieb stellen muss um dann Weiterschalten mit Transition auswählen zu können oder einen Halbautomatischen Betrieb wenn man bei jedem Schritt abgefragt werden möchte ob er weiterschalten soll.

Falls Werte im DB geändert werden sollen müsste man also erst auf Halbautomatisch stellen, dann im DB den Wert ändern, wieder zurückkehren und dann entweder Nächster Schritt mit Transition wählen oder auf Automatik, sofern man das Ergebnis beobachten möchte.
 
OP
O

oliver.tonn

Well-known member
Beiträge
4.041
Punkte Reaktionen
652
Der Tipp mit dem Datenbaustein war der Entscheidende, danke.
Ich komme aus dem Codesys Universum und tue mich immer noch etwas schwer mit dem DB Konzept.
Nachdem ich die Variablen von Temp nach Static verschoben hatte und nicht mehr den FB, sondern dessen Datenbaustein geöffnet hatte konnte ich die gewünschten Variablen auch beeinflussen.
 

DOD666

Well-known member
Beiträge
503
Punkte Reaktionen
84
Zuviel Werbung?
->Hier kostenlos registrieren
Temp Variablen lassen sich über die Bausteinschnittstelle oder Zuweisung ändern, dies kann man ja dann auch an Bedingungen knüpfen.

Die temp Variablen liegen im Stack.
Sie müssen jeden Zyklus neu beschrieben werden bevor man auf den Inhalt zugreift.
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
17.562
Punkte Reaktionen
5.166
Wozu braucht man Steuern von TEMP-Variablen??? Eigentlich ist das sinnfrei, weil das Programm den Inhalt von TEMP-Variablen sowieso nur verwenden darf, wenn es im selben Durchlauf vorher etwas in die Variable geschrieben/initialisiert hat. Jegliches Steuern wird dabei überschrieben.
Und bei den neumodischen CPU, wo für die unwissenden SPS-Programmierer die TEMP-Variablen auf 0 initialisiert werden, macht ein Steuern erst recht keinen Sinn.

Harald
 
OP
O

oliver.tonn

Well-known member
Beiträge
4.041
Punkte Reaktionen
652
Wozu braucht man Steuern von TEMP-Variablen??? Eigentlich ist das sinnfrei, weil das Programm den Inhalt von TEMP-Variablen sowieso nur verwenden darf, wenn es im selben Durchlauf vorher etwas in die Variable geschrieben/initialisiert hat. Jegliches Steuern wird dabei überschrieben.
Und bei den neumodischen CPU, wo für die unwissenden SPS-Programmierer die TEMP-Variablen auf 0 initialisiert werden, macht ein Steuern erst recht keinen Sinn.

Harald
Hallo Harald,
der Wunsch kam vom TIA seitig sehr unerfahrenen Programmierer (Mir). Ich hab Static mit Constant gleichgesetzt und die Variable in der falschen Sektion angelegt, jetzt geht alles.
 
Oben