Step 7 PEB in Datenbaustein

robolab

Level-1
Beiträge
16
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wie kann ich den Werte aus einem PEB in einen Datenbaustein schreiben.
Habe dien DB Global angelegt und mit Daten gefüllt.

Dann würde ich hingehen und
L PEB 288
T DB100.DBB 0

anwenden.

Da geht die CPU aber in Halt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und wie bekomme ich das nun mit einem PAB hin?

Na genauso. Nur halt DB Laden und zum PAB transferieren.

Es hatte übrigens einen Grund warum ich dir nicht den Tip mit dem nicht geladenen DB gegeben habe, sondern gefragt habe warum die CPU in Halt geht.
Es ist wichtig zu wissen wie man die Diagnose interpretiert.

mfG René
 
Ich würde gerne den Zustand des PAB auch in den Datenbaustein angezeigt bekommen.

Habe hier einen ADI4 (PB) mit Zustand und Steuerwort an einer 840d hängen.
Da ich nicht genau sagen kann, was die 840d schon zur Ansteuerung nutzt, wollte ich aus das Steuerwort aufgeschlüsselt in einer Variablentabelle anzeigen.

Wahrscheinlich sagt ihr mir jetzt wie umständlich ich das Thema angehe, bin aber nicht der Hauptberufliche SPSler
 
Ich würde gerne den Zustand des PAB auch in den Datenbaustein angezeigt bekommen.

Du kannst dir ein PAB nur leider nicht laden ... es sei denn du würdest es aus einer Zwischenvariablen beschreiben, die irgendwann generiert (und zugewiesen) worden ist. Dann kannst du deren Zustand natürlich genauso in den DB schreiben - also etwa so :
Code:
L MW 10
T PAB 10

...


L MW 10
T DB 100.DBB100
Gruß
Larry
 
Die Prozesausgänge ändert sich ja nicht von sich selber.
Wie Larry vorschlägt, anstatt die Prozessausgänge zu speichern, die Daten speichern der die Prozesausgänge schreibt.
 
Gibts den überhaupt ne Möglichkeit, Prozessausgänge zu beobachten?
Wenn die Adresse des Peripherieausgangs im Prozessabbild liegt, dann kann man den Wert lesen:
Code:
//original:
...
T PAB 10

//lesen:
L AB 10
T DB 100.DBB100

Universell: dort wo das Programm original auf den Peripherieausgang schreibt, statt der Peripherieadresse die Beobachtungsvariable dranhängen und danach einen MOVE zur originalen Peripherieadresse hinzufügen. Das geht so auch in FUP und KOP und an FB/FC-Ausgängen.
Code:
//original Programm:
...
T PAB 1010


//ändern zu:
...
T DB 100.DBB100

L DB 100.DBB100  //für FUP/KOP, kann in AWL auch weggelassen werden
T PAB 1010

Wenn das Original-Programm indirekt oder per POINTER oder ANY auf die Peripherieadresse schreibt, dann gehts allerdings nicht so einfach, eventuell kommt man da auch gar nicht ran (z.B. bei Zuweisung in einem geschützten Baustein). Da hilft dann möglicherweise der Trick mit Adresse ins Prozessabbild legen.

Harald
 
Zurück
Oben