Frage zu Ausgangsvariabeln einer FC in AWL

Rodewijn

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

wenn ich in einer Funktion z.B. eine Reihe von 8 bit als temporäre Variabeln deklariere, dann könnte ich die, egal wie ich sie bezeichne, wie folgt beschreiben:

L 0
T LB 0

Dann wären die ersten 8 Bits "false".

Kann ich, wenn ich stattdessen einen ganzen Satz von boolschen Ausgängen habe, auch so was änhliches machen. M.a.W. gibt sowas wie ein "Ausgangsdatenstack" in einer Funktion?

Viele Grüße!
 
wenn ich in einer Funktion z.B. eine Reihe von 8 bit als temporäre Variabeln deklariere, dann könnte ich die, egal wie ich sie bezeichne, wie folgt beschreiben:

L 0
T LB 0

Dann wären die ersten 8 Bits "false".

Kann ich, wenn ich stattdessen einen ganzen Satz von boolschen Ausgängen habe, auch so was änhliches machen. M.a.W. gibt sowas wie ein "Ausgangsdatenstack" in einer Funktion?

Was verstehst du unter- ganzen Satz boolschen Ausgängen?

Ausgangsdatenstack?

FC hat IN-Daten --da kommt was rein für deine Funktion / lesend
OUT-Daten --da geht was raus aus deiner Funktion / schreibend
IN_OUT-Daten -- da kann lesend und schreibend zugegriffen werden
TEMP -- temporärer Variablenspeicher für deine Funktion
(nur für einen Zyklus in diesem FC gültig)
Return -- Dort sollte nach IEC... dein Ergebnis der Funktion zurückgegeben werden
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was verstehst du unter- ganzen Satz boolschen Ausgängen?

wahrscheinlich 8 ausgänge vom typ BOOL?!

und nein, dafür gibt es in FCs keine einfache adressierung... du kannst also nicht alle bits deiner schnittstelle auf einmal anfassen.

aber wie wäre es, die bits am ausgang sowieso zusammen zu fassen und dann mit dem ausgangsbyte(...word...what ever) weiter zu arbeiten?
 
Danke für die Antworten!

Ja, ich meinte 8 Ausgänge als "bool". Die Idee mit dem Ausgangsbyte hatte ich auch schon, aber dann müsste das ausserhalb der Funktion wieder interpretiert werden. Das finde ich nicht so schön. Ich möchte, dass die Funktion "von aussen" möglichst einfach einzusetzen ist. Die Ausgänge die der Programmierer später braucht, soll er direkt einsetzen können und der rest einfach mit "Dummies" belegen.

Nochmals vielen Dank!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mit nem FB könntest du das machen

Hmmm, ich dachte, dass der Hauptunterschied zwischen eine FC und FB die Instanzbaustein mit den remanenten Variablen ist. Mein Baustein muss nur aus einigen Daten die aus einem Leitrechner kommen bestimmte bits schalten, die dann irgendwann direkt je nach Bedarf auf Ausgänge kopiert werden können. Was kan ein FB dann noch mehr als eine FC, mal abgesehen von dem Instanz-DB?
 
Wäre es nicht einfacher die Startadresse als In Variable zu deklarieren, dann kann man die anderen berechnen (0=A0.0, 1=A0.1.....8=A1.0=
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wäre es nicht einfacher die Startadresse als In Variable zu deklarieren, dann kann man die anderen berechnen (0=A0.0, 1=A0.1.....8=A1.0=

vielleicht sind es ja nicht immer A, manchmal auch M und vielleicht auch gemischt und außerdem sind die adressen dann auch in den referenzdaten nicht wieder zu finden... schön wäre anders!
 
Zurück
Oben