- Beiträge
- 5.425
- Reaktionspunkte
- 1.403
-> Hier kostenlos registrieren
Hallo zusammen
Ich versuche grad aus SCL einen SFB aufzurufen leider klappt das mit dem übersetzen nicht so wie es sollte.
Beim Rot Markierten krieg ich einen Motz vom Compiler:
Der Exec_Com SFB hat vier in (word, dword, any, any) sowie einen out (word). Imho habe ich das auch korrekt deklariert.
Habe ich da einen groben Fehler drin?
mfG René
Ich versuche grad aus SCL einen SFB aufzurufen leider klappt das mit dem übersetzen nicht so wie es sollte.
Code:
VAR
Exec_com : SFB65002;
Exec_Stat : WORD ;
COM1 : STRUCT
ID : BYTE ;
Linie : BYTE ;
R_Nr : BYTE ;
LEN : BYTE ;
RD_WR : BYTE ;
Busy : BYTE ;
Error : BYTE ;
Ready : BYTE ;
Reg_1 : INT ;
Reg_2 : INT ;
Reg_3 : INT ;
Reg_4 : INT ;
Reg_5 : INT ;
Reg_6 : INT ;
END_STRUCT ;
END_VAR
BEGIN
COM1.ID := INT_TO_BYTE(ID); (*ID des Modules von Schnittstelle laden und in Strukt transferieren*)
COM1.Linie := INT_TO_BYTE(CHA); (*Channel des Modules von Schnittstelle laden und in Strukt transferieren*)
COM1.R_Nr := 3; (*Anfangsregister adressieren*)
COM1.LEN := 3; (*Anzahl Register definieren*)
COM1.Reg_2 := DINT_TO_INT(TIME_TO_DINT(TOUT)) / 1000; (*Timeout lesen in IEC Time Format, umrechnen in Int*)
COM1.Reg_1 := AUT; (*Ausgänge in Modulregister laden*)
COM1.Reg_3 := BLINK;(*Ausgänge in Modulregister laden für Blinken*)
Exec_com(OBJHandle := OBJHandle, (*Transferieren zum Modul*)
Command := DW#16#1,
InputData := COM1,
OutputData := COM1,
[COLOR=Red] Status := Exec_Stat);[/COLOR]
Beim Rot Markierten krieg ich einen Motz vom Compiler:
Ungültige Zuweisung
Der Exec_Com SFB hat vier in (word, dword, any, any) sowie einen out (word). Imho habe ich das auch korrekt deklariert.
Habe ich da einen groben Fehler drin?
mfG René