Hallo sehr geehrte Community !
Ich bin gerade an einem kleinen Projekt, um mit AutoIt via Modbus/TCP eine WAGO 750-341 anzusprechen.
( eine WAGO 750-341 ist ein Ethernet Koppler mit dem man Digitale und Analoge Ein und Ausgänge ansprechen kann) ( geiles Teil )
Jetzt habe ich da im Internet eine DLL gefunden namens "libmodbus.dll" ist ein OpenSource Projekt ( http://libmodbus.org/ )
Dokumentation ist eigentlich alles da aber ich bin wohl nicht in der Lage das ding zum laufen zu kriegen.
hier die Funktion an der ich scheitere :
in C -> modbus_t *modbus_new_tcp(const char *ip, int port);
bedeutet für mich :
[autoit]
Local $dll = DllOpen("libmodbus.dll")
Local $ctx = DllStructCreate("STRUCT")
Local $ip = DllStructCreate("CHAR[128]")
DllStructSetData($ip, 1, "172.18.65.159")
$ctx = DllCall($dll, "ptr", "modbus_new_tcp", "ptr", DllStructGetPtr($ip), "int", 502)
[/autoit][autoit][/autoit][autoit]MsgBox(0,"$ctx",$ctx)
[/autoit][autoit][/autoit][autoit]EXIT
[/autoit][autoit][/autoit][autoit][/autoit]das einzige was da bei raus kommt ist
!>15:56:38 AutoIT3.exe ended.rc:-1073741819
eine Strukturdefinierung von "modbus_t" ist in der Doku mit " typedef struct _modbus modbus_t;" beschrieben.
FINDE den FEHLER !! ??!?
DANKE !!