- Beiträge
- 6.654
- Reaktionspunkte
- 2.343
..., ENO => #Switch);
...
PS: Demnach müßte ja
#Switch := ENO;
funktionieren...
..., ENO => #Switch);
probiert, und so folgte wenigstens #Switch auch dem ENO.Du meinst, bei dem übergeordneten Baustein, in dem der FC-Aufruf erfolgt?Kann es sein, daß Du in den Eigenschaften des Bausteins noch "Setze ENO automatisch" einschalten mußt?
Es kann sein, daß sonst der Baustein-ENO nicht in das ENO-Lokaldatenbit geschrieben wird!???
Hab es noch nie benutzt...
xyzBaustein(..., ENO => #boolVar)
nicht in Abrede stellt.Die Variable ENO ist das eigene ENO des Bausteins, der da programmiert wird, nicht das ENO des aufgerufenen Bausteins.
Das hatte ich in der Hilfe auch gefunden und probiert.
Bei meiner FC war dann allerdings diese Zuweisung immer TRUE, obwohl das der FC-ENO definitiv nicht war.
Daher hatte ich dann die Zuweisung direkt bei den Parametern des FC-Aufrufs..., ENO => Switch);
probiert, und so folgte wenigstens #Switch auch dem ENO.
Hab' das nochmal schnell zum testweisen Vergleich eingetippt:
Anhang anzeigen 62029
Trotzdem vielen Dank.
"Baustein_1"();
#switch := ENO OR #switch;
FUNCTION "FC_Takt_ENO" : Void
VAR_INPUT
Takt : Bool;
END_VAR
ENO := #Takt;
END_FUNCTION
FUNCTION "FC_SCL_ENO" : Void
VAR_OUTPUT
Out1_CLK : Bool; // ENO des aufgerufenen FC
Out2_ENO : Bool; // eigenes ENO
END_VAR
VAR_TEMP
saveENO : Bool;
END_VAR
"FC_Takt_ENO"(Takt := "Clock_1Hz", ENO => #saveENO);
#Out1_CLK := #saveENO; // ENO des aufgerufenen FC
#Out2_ENO := ENO; // eigenes ENO
END_FUNCTION
ja, obs eleganter ist? würd zumindest als Kommentar dahinter schreiben, dass hier Switch gesetzt wird...Um dann deine IF-Abfrage zu sparen fürs setzen deiner Variable #switch kannst du einfach nach dem Bausteinaufruf z.B. folgendes machen:
Code:"Baustein_1"(); #switch := ENO OR #switch;
Ob es nun Eleganter ist als die IF-Abfrage sei dahingestellt
Das funktioniert, wie ich heute erfolgreich testen konnte.Will man das ENO des aufgerufenen Bausteins verarbeiten, dann müsste man es bei den Übergabeparametern verschalten (wie hucki in #3 das macht):xyzBaustein(..., ENO => #boolVar)
(Das habe ich aber noch nie ausprobiert.)
Ja,Dass in SCL irgendwie S und R fehlt, wurde ja schon öfters diskutiert...
genau so hab ich mir das vorhin auch gedacht, wär schon cool.z.B. analog zu := noch :S & :R,
analog zu := += -= finde ich besser S= R= wie in Codesys 3z.B. analog zu := noch :S & :R
Aber aktuell nervt mich eher mal wieder das total lahmarschige TIA, wo ich nach jedem Klick oder Enter ewig warten muss, bis ich zum nächsten komme... oder 20 mal ENTF gedrück und dann kannst im 2 Sekundentakt sehn, wie auf dem Bildschirm was gelöscht wird...
Da hat halt jeder so seine verschiedenen AnsprücheJede läuft super gut.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?