Step 7 Aufruf SFB54 "RALRM" in SCL

Guela

Level-1
Beiträge
28
Reaktionspunkte
0
Zuviel Werbung?
-> 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
 
Ich bin mir nicht ganz sicher, aber möglicherweise muß die Variable symbolisch am SFB angetragen werden.
Das heißt aber auch, dass der entsprechende Datenbereich im DB auch als Structur oder Variable angelegt sein muß.
Einen Test kannst du ja mal mit einem beliebigen DB machen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ralle, Variable symbolisch anlegen, Variablenname an Para anhängen hat funktioniert, keine spez. Pojntersyntax nötig, so einfach wenn mans weiß - Danke
 
Zurück
Oben