Motor ansteuern (VB nach AutoIt übersetzen)

  • Ich würde gerne folgenden VB-Code in AutoIt übersetzen, allerdings komme ich selbst nicht sehr weit, da ich in Sachen DLLs ansprechen eigentlich keine Ahnung habe. Offensichtlich wird hier die Datei CommandsPD4I.dll benutzt, aber ich kriegs nicht hin diese in AutoIt richtig einzubauen.

    Spoiler anzeigen

    Alternativ habe ich auch versucht die Motorsteuerung mit ASCII-Kommandos anzusprechen. Die Kommunikation mit dem ComPort funktioniert zwar, aber wenn ich Kommandos (aus dem Programmierhandbuch der Steuerung) übertragen will passiert nichts.

    Spoiler anzeigen
    [autoit]

    #include 'CommMG.au3'

    [/autoit] [autoit][/autoit] [autoit]

    $MsComm = ObjCreate("MSCOMMLib.MsComm.1")

    [/autoit] [autoit][/autoit] [autoit]

    $MsComm.CommPort = 4
    $MsComm.Settings = "19200,N,8,1"
    $MsComm.Handshaking = 0
    $MsComm.InBufferSize = 1024
    $MsComm.InputLen = 1

    [/autoit] [autoit][/autoit] [autoit]

    $MsComm.PortOpen = 1

    [/autoit] [autoit][/autoit] [autoit]

    $MsComm.OutBufferCount = 0
    $MsComm.InBufferCount = 0

    [/autoit] [autoit][/autoit] [autoit]

    $startset1 = "#1A\r"

    [/autoit] [autoit][/autoit] [autoit]

    If $MsComm.PortOpen = True Then
    $MsComm.Output = $startset1
    EndIf
    $MsComm.InputLen = 0

    [/autoit]
  • Alternativ habe ich auch versucht die Motorsteuerung mit ASCII-Kommandos anzusprechen. Die Kommunikation mit dem ComPort funktioniert zwar, aber wenn ich Kommandos (aus dem Programmierhandbuch der Steuerung) übertragen will passiert nichts.


    Da ich mich in AutoIt auch noch nicht mit DLLCalls auseinandersetzen musste (die paar wenigen die ich brauche habe ich aus der Hilfe bzw. Beispielskripts adaptiert) würde ich auch diesen Weg vorziehen um dir aber dabei helfen zu können müsstest du auch die nötigen Infos bereitstellen:

    • Name der Steuerung
    • Link zur Onlineliteratur
    • evtl. Demoprogramme in VB besser. Pascal in denen es so gelöst wird, diese liegen üblicherweise bei. In Pascal musste ich vor Jahrzehnten einmal eine komplette Steuerung einer Wägeeinrichtung programmieren inklusive der Steuerung für die Materialzufuhrbänder


    Ohne Infos ist es schwer bis unmöglich dir bei diesem Weg zu helfen. Zu DLLCalls liest du am besten http://bug-fix.info/dll/dll_tut.html von BugFix er dürfte auch noch weitere nütliche Links für dich in seiner Signatur haben,

    mfg autoBert

    • Name der Steuerung
    • Link zur Onlineliteratur
    • evtl. Demoprogramme in VB besser. Pascal in denen es so gelöst wird, diese liegen üblicherweise bei. In Pascal musste ich vor Jahrzehnten einmal eine komplette Steuerung einer Wägeeinrichtung programmieren inklusive der Steuerung für die Materialzufuhrbänder

    Die Steuerung heißt SMCI47 von Nanotec.
    Programmierhandbuch:http://de.nanotec.com/dyn_downloads_…uch_V2.3_de.pdf
    Demoprogramme habe ich gerade nicht zur Hand, aber mein VB-Code von oben ist ein leicht abgewandeltes Beispiel-Skript.

    Mir würde es auch reichen wenn ich die Steuerung per ASCII-Kommandos ansteuern könnte (wäre sogar fast einfacher), aber wie gesagt funktioniert das irgendwie nicht...