irgendwas scheine ich falsch zu machen aber ich komme nicht dahinter was es ist.
Ich möchte eine Put / Get S7-Verbindung zu einer anderen Steuerung aufbauen.
Habe das ganze aus Verzweiflung in FUP programmiert und auch zum Laufen gebracht.
In SCL schaffe ich das leider nicht. Immer wenn ich den Pointer im Aufruf an den entsprechenden Eingang / Ausgang schreibe, meckert der SCL-Editor.
Warum geht das nicht genauso wie in FUP. Hat da jemand Erfahrung und kann mir helfen? Kann zur Veranschaulichung auch gerne die Aufrufe mal posten wenn es was bringt!
VAR_TEMP
T_pMyAdr :ANY; //Adress-Pointer
END_VAR
BEGIN
T_pMyAdr := "dbRecv".bData; //zb. ein ByteArray, das du im DB definiert hast
GET(REQ := M0.7 // IN: BOOL
,ID := 16#01 // IN: WORD
,ADDR_1 :=T_pMyAdr // INOUT: ANY
,RD_1 := .....//da natürlich auch ein Pointer...
);
--> Du kannst einfach eine Variable vom Typ ANY anlegen, dann kannst du den Pointer auf den Datenbereich setzten (zb. ein Byte-Array oder eine struktur).
--> Mit einer AT-Sicht ist auch möglich, wobei das "selber basteln" eines Pointers nicht ganz einfach ist. Wenn immer möglich direkt zuweisen (zb. auch über ne IN_VAR)