JoWe - 2007-12-04

Hallo,

ich hab grade Daten von Excel nach CoDeSys über DDE übertragen, und da es keine gescheite Anleitung dazu gibt (wink), hier ein Codeschnipselchen:

Daten lesen ist ganz einfach. In eine Zelle muss rein:

=CoDeSys|'C:\HOME\MYFIRSTSTEPS.PRO'!Machine.X_pos

Wichtig ist, daß der Pfad richtig geschrieben ist, sonst kommt eine Fehlermeldung, daß CODESYS.EXE nicht gestartet werden kann.

Trickreicher ist das Schreiben von Daten nach CoDeSys. Hier ein VBA-Makro, das das erledigt:

Channel = Application.DDEInitiate("CODESYS", "C:\HOME\MYFIRSTSTEPS.PRO")
Application.DDEPoke Channel, "Machine.Counter", Sheets("Blad1").Range("F8")
Application.DDETerminate Channel

Hier ist unbedingt zu beachten, daß DDEPoke als Wert keine Variablen nimmt, sondern nur mit Ranges (also Zellbezügen) arbeitet. Das ist doof, geht aber nicht anders. Ausserdem werden Daten, die geschrieben werden, nicht wieder über DDE zurückübertragen, das ist auch nicht optimal.

Gruß

Jochen

IMG: Bild