-> Hier kostenlos registrieren
Hallo zusammen...
Ich möchte mithilfe einer Index-Variable indirekt in einen DB schreiben.
Das Ganze soll in SCL stattfinden, es sei denn, es gibt fertige Funktionen in FUP ?!
Hintergrund:
Ich hab 72 INT Werte in einem DB, die ich von einer CPU zur anderen schicken muss.
Beide CPUs (314 ifm) liegen im MPI Netzwerk.
Ursprünglich wollte ich die einfach per GD verknüpfen, aber leider sprenge ich hier den Rahmen der Ressourcen.
Also möchte ich die Daten nacheinander schicken, denn eigentlich hat die Übertragung, sprich Aktualisierung der zweiten CPU, einen ganzen Tag lang Zeit
Allein aus dieser Sicht, wäre die permanente zyklische Übertragung Wahnsinn ^^
Sicherlich kann ich das auch per PUT und GET erledigen, aber dann muss ich trotzdem noch die Daten in den DB schiessen...
Es soll in etwa so aussehen:
Zeigervariable X
Eingang:
DB 101 als DB_Block (72 INT Werte)
Sekundentakt oder ähnliches als Startsignal
Bei pos Flanke vom Sekundentakt:
x ablegen in DB100.DBW0
DB101.x ablegen in DB100.DBW1
x:=x+1
if (x>72) then
x:=0;
(wobei ich ja immer den zweifachen Wert haben muss um den Wert zu lesen, ich weis, ich weis... Der Erste Wert liegt auf DB101.DBW2, also 2,4,6...)
DB100 liegt komplett in der Globale Daten Tabelle
Bei der Empfänger CPU:
a:= DB100.DBW0
b:=DB100.DBW1
if (a<> 0) then
DB101.a := b
End_if;
Naja, ich weis, die Syntax ist mal ordentlich daneben, aber ich wollte nur versuchen zu verdeutlichen, was ich eigentlich vorhab.
Mein Problem ist, ich komme aus dem Bereich der Hochsprachen, und bei AWL versteh ich nur noch Stuttgart21 oder so ähnlich. *g*
Hat wer ein paar Schlüsselworte, wonach ich suchen kann ?
Danke Euch !
Binatone
Ich möchte mithilfe einer Index-Variable indirekt in einen DB schreiben.
Das Ganze soll in SCL stattfinden, es sei denn, es gibt fertige Funktionen in FUP ?!
Hintergrund:
Ich hab 72 INT Werte in einem DB, die ich von einer CPU zur anderen schicken muss.
Beide CPUs (314 ifm) liegen im MPI Netzwerk.
Ursprünglich wollte ich die einfach per GD verknüpfen, aber leider sprenge ich hier den Rahmen der Ressourcen.
Also möchte ich die Daten nacheinander schicken, denn eigentlich hat die Übertragung, sprich Aktualisierung der zweiten CPU, einen ganzen Tag lang Zeit

Allein aus dieser Sicht, wäre die permanente zyklische Übertragung Wahnsinn ^^
Sicherlich kann ich das auch per PUT und GET erledigen, aber dann muss ich trotzdem noch die Daten in den DB schiessen...
Es soll in etwa so aussehen:
Zeigervariable X
Eingang:
DB 101 als DB_Block (72 INT Werte)
Sekundentakt oder ähnliches als Startsignal
Bei pos Flanke vom Sekundentakt:
x ablegen in DB100.DBW0
DB101.x ablegen in DB100.DBW1
x:=x+1
if (x>72) then
x:=0;
(wobei ich ja immer den zweifachen Wert haben muss um den Wert zu lesen, ich weis, ich weis... Der Erste Wert liegt auf DB101.DBW2, also 2,4,6...)
DB100 liegt komplett in der Globale Daten Tabelle
Bei der Empfänger CPU:
a:= DB100.DBW0
b:=DB100.DBW1
if (a<> 0) then
DB101.a := b
End_if;
Naja, ich weis, die Syntax ist mal ordentlich daneben, aber ich wollte nur versuchen zu verdeutlichen, was ich eigentlich vorhab.
Mein Problem ist, ich komme aus dem Bereich der Hochsprachen, und bei AWL versteh ich nur noch Stuttgart21 oder so ähnlich. *g*
Hat wer ein paar Schlüsselworte, wonach ich suchen kann ?
Danke Euch !
Binatone
Zuletzt bearbeitet: