Hallo,
bin neu hier und würde meine AutoIt Kenntnisse als "ambitionierter Laie" einstufen. Da ich mich zur Zeit auch mit EventGhost befasse, suchete ich nach einer Möglichkeit die beiden miteinander "reden" zu lassen. Ziel: ich will FS 20 Komponenten steuern ( über FHZ Plugin von EventGhost), aber mit AutoIt meine eigene GUI bauen. Nach diversen Ansätzen bin ich bei folgendem Konzept gelandet: Sowohl AutoIt als auch EventGhost können über serielle Schnittstelle Daten übertragen. Die Verbindung zwischen beiden wird über com0com hergestellt.
Als erstes com0com herunterladen und installieren. Das Programm erstellt ein Virtual Port Pair 0. Dieses habe ich auf COM5: und COM6: eingestellt.
Zum Test dient dieses script:
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include 'CommMG.au3';or if you save the commMg.dll in the @scripdir use #include @SciptDir & '\commmg.dll'
#include <GuiEdit.au3>
#include <GuiComboBox.au3>
#include <GUIConstants.au3>
local $sportSetError
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Event Ghost Test", 376, 267, 233, 229)
$ButtonEIN = GUICtrlCreateButton("EIN", 40, 32, 137, 57)
$ButtonAUS = GUICtrlCreateButton("AUS", 200, 32, 137, 57)
$InputSENDETEXT = GUICtrlCreateInput("SENDETEXT", 40, 112, 137, 21)
$InputEMPFANGSTEXT = GUICtrlCreateInput("", 40, 168, 297, 21)
$ButtonSENDEN = GUICtrlCreateButton("Senden", 200, 112, 137, 25)
Dim $FlowType[3] = ["XOnXoff", "Hardware (RTS, CTS)", "NONE"]
_CommSetPort(5, $sportSetError, 19200, 8, 0, 1, 2)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $ButtonEIN
_CommSendstring("EIN" & @CR)
Case $ButtonAUS
_CommSendstring("AUS" & @CR)
Case $ButtonSENDEN
_CommSendstring(GUICtrlRead ($InputSENDETEXT) & @CR)
EndSwitch
$instr = _CommGetString()
If $instr <> '' Then
GUICtrlSetData($InputEMPFANGSTEXT,$instr)
EndIf
WEnd
_Commcloseport()
GUIDelete()
Im EventGhost brauchts als Gegenstück dann das Plugin "Serieller Anschluss". Einstellungen:
Spoiler anzeigen
- Anschluss: COM6
- Bits pro Sekunde: 19200
- Datenbits: 8
- Parität: Keine
- Stopbits: 1
- Flusssteuerung: Keine
- Generiere Ereignisse bei eintreffenden Daten: Haken gesetzt
- Endzeichen: \r
- Ereignis-Prefix: Serieal
- Zeichenkodierung: System code page
Für die, die das gleiche Problem haben als Anregung.
Für die, die sich mit AutoIt besser auskennen: Gerne Kritik und Verbesserungsvorschläge, denn ich hab hier nur im Internet gewildert und obiges zusammengeflickt.
Gruss Dieter