Hallo Nitro,
ich habe ihn nicht durch ein Passwort geschützt!
Die folgende .zip-Datei enthält den UF zum Import. (Projekt anlegen, Rechtsklick auf Anwenderbausteine, Anwenderbaustein importieren)
Dann kannst du ihn verwenden.
Sollte das nicht funktionieren, ist hier der Code im UF:
//Die einzelnen Eingangsbits werden über die M1 bis M8 in das MB1 geschrieben
//Das Merkerbyte des UF ist nur innerhalb des Funktionsbausteins (lokale Variable) gültig.
//-> Es hat nichts mit dem MB01 im Hauptprogramm zu tun!
M1:=I1;
M2:=I2;
M3:=I3;
M4:=I4;
M5:=I5;
M6:=I6;
M7:=I7;
M8:=I8;
//Entsprechend des MB1 wird der UF-Ausgang auf die Werte 0 bis 7 gesetzt
CASE MB01 OF
1: QA1:=0;
2: QA1:=1;
4: QA1:=2;
8: QA1:=3;
16: QA1:=4;
32: QA1:=5;
64: QA1:=6;
128: QA1:=7;
ELSE
//Wird durch mehrfach gleichzeitig gesetzte Eingänge ein Wert im MB1 erzeugt, der nicht eines einzeln gesetzten Bits entspricht,
//wird der UF-Ausgang auf -1 gesetzt.
//In vielen Programmiersprachen steht -1 für einen nicht erfolgreichen Funktionsaufruf.
//Auch der Funktionsbaustein "Datenmultiplexer" quittiert einen falschen Parameterwert für K mit einer Fehlermeldung
//am Error-Bausteinausgang E1.
QA1:=-1;
END_CASE;
Grüße,
Konni