- Beiträge
- 11.578
- Reaktionspunkte
- 3.843
-> Hier kostenlos registrieren
Hallo Zusammen,
ich bin gerade dabei mich in Codesys und Modbus einzuarbeiten.
Dabei bin ich auf ein Problem gestossen:
An einem FB habe ich 2 Boolsche Variablen (IPS_AUF,IPS_AB) als IN_OUT definiert.
Auf diese Variablen will ich per Modbus lesend und schreibend zugreifen.
Deshalb sind sie als globale Variablen (Merker 0.0 und 0.1) definiert
Beim Aufruf des FB
Erhalte ich die Fehlermeldung
Ich weiss, dass an In-Out-Parameter die Variable als Zeiger übergeben wird, aber wieso funktioniert das Ganze nicht mit Merkern?
Gibts dafür eine einfache Lösung / Workaround?
Als Steuerung kommt eine Wago 750-841 zum Einsatz.
Besten Dank!
Gruß
Dieter (Codesys - Neuling)
ich bin gerade dabei mich in Codesys und Modbus einzuarbeiten.
Dabei bin ich auf ein Problem gestossen:
An einem FB habe ich 2 Boolsche Variablen (IPS_AUF,IPS_AB) als IN_OUT definiert.
Code:
FUNCTION_BLOCK Schalten
VAR_INPUT
Taster_Auf :BOOL;
Taster_Ab :BOOL;
END_VAR
VAR_OUTPUT
S1: BOOL;
S2: BOOL;
END_VAR
VAR
t1:TP;
t2:TP;
END_VAR
VAR_IN_OUT
IPS_Auf: BOOL;
IPS_Ab: BOOL;
END_VAR
Deshalb sind sie als globale Variablen (Merker 0.0 und 0.1) definiert
Code:
Taster1 AT %IX0.2: BOOL;
Taster2 AT %IX0.3: BOOL;
Modbus_Bit0 AT %MX0.0 : BOOL;
Modbus_Bit1 AT %MX0.1 : BOOL;
Auf :BOOL;
Ab: BOOL;
Code:
CAL fbSchalten(
Taster_Auf:= Taster1,
Taster_Ab:= Taster2,
IPS_Auf:= Modbus_Bit0,
IPS_Ab:= Modbus_Bit1,
S1=> Auf,
S2=> Ab)
Code:
Fehler 4060: Test (5): 'VAR_IN_OUT' Parameter 'IPS_AB' von 'SCHALTEN' benötigt Varibale mit Schreibzugriff als Eingabe
Gibts dafür eine einfache Lösung / Workaround?
Als Steuerung kommt eine Wago 750-841 zum Einsatz.
Besten Dank!
Gruß
Dieter (Codesys - Neuling)
Zuletzt bearbeitet: