-> Hier kostenlos registrieren
Hallo zusammen,
kann mir jemand sagen wie der Aufruf des SFB54, speziell die Pointerübergabe für die Param. TINFO/AINFO in SCL erfolgt
AWL-Code
CALL "RALRM" , "IDB_SFB54"
MODE :=1
F_ID :=#TEMP
MLEN :="WORKING_DB".RALARM_MLEN
NEW :="WORKING_DB".RALARM_NEW
STATUS:="WORKING_DB".RALARM_STATUS
ID :="WORKING_DB".RALARM_ID
LEN :="WORKING_DB".RALARM_LEN
TINFO :=P#DB93.DBX0.0 BYTE 244
AINFO :=P#DB93.DBX200.0 BYTE 244
mein SCL-Code, der leider vom Compiler wegen Syntaxfehler angemeckert wird.
// ***********************************************
// Diagnose von Baugruppen am ProfiNet
// ***********************************************
RALRM.DB54(MODE := 1 // IN: INT
,F_ID := INT_TO_DWORD("TestVar".TempTest[1].IntVar5) // IN: DWORD
,MLEN := 244 // IN: INT
,TINFO := DB50.DBX2070.0 BYTE 244 // INOUT: ANY
,AINFO := DB50.DBX2320.0 BYTE 244 // INOUT: ANY
);
"TestVar".TempTest[1].BoolVar := DB54.NEW; // OUT: BOOL
"TestVar".TempTest[1].DWordVar := DB54.STATUS; // OUT: DWORD
"TestVar".TempTest[1].DWordVar1 := DB54.ID; // OUT: DWORD
"TestVar".TempTest[1].IntVar4 := DB54.LEN; // OUT: INT
Vielen Dank für Eure Hilfe
kann mir jemand sagen wie der Aufruf des SFB54, speziell die Pointerübergabe für die Param. TINFO/AINFO in SCL erfolgt
AWL-Code
CALL "RALRM" , "IDB_SFB54"
MODE :=1
F_ID :=#TEMP
MLEN :="WORKING_DB".RALARM_MLEN
NEW :="WORKING_DB".RALARM_NEW
STATUS:="WORKING_DB".RALARM_STATUS
ID :="WORKING_DB".RALARM_ID
LEN :="WORKING_DB".RALARM_LEN
TINFO :=P#DB93.DBX0.0 BYTE 244
AINFO :=P#DB93.DBX200.0 BYTE 244
mein SCL-Code, der leider vom Compiler wegen Syntaxfehler angemeckert wird.
// ***********************************************
// Diagnose von Baugruppen am ProfiNet
// ***********************************************
RALRM.DB54(MODE := 1 // IN: INT
,F_ID := INT_TO_DWORD("TestVar".TempTest[1].IntVar5) // IN: DWORD
,MLEN := 244 // IN: INT
,TINFO := DB50.DBX2070.0 BYTE 244 // INOUT: ANY
,AINFO := DB50.DBX2320.0 BYTE 244 // INOUT: ANY
);
"TestVar".TempTest[1].BoolVar := DB54.NEW; // OUT: BOOL
"TestVar".TempTest[1].DWordVar := DB54.STATUS; // OUT: DWORD
"TestVar".TempTest[1].DWordVar1 := DB54.ID; // OUT: DWORD
"TestVar".TempTest[1].IntVar4 := DB54.LEN; // OUT: INT
Vielen Dank für Eure Hilfe