1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Chrischn

Beiträge von Chrischn

  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • Chrischn
    • 13. Mai 2015 um 15:42

    und nu?

  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • Chrischn
    • 27. April 2015 um 21:50
    Code
    Func _ReduceMemory($i_PID = @AutoItPID)
    If $i_PID <> -1 Then
    Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $i_PID)
    Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle[0])
    DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle[0])
    Else
    Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1)
    EndIf
    Return $ai_Return[0]
    EndFunc;==> _ReduceMemory()


    variable used without beeing declared...

  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • Chrischn
    • 26. April 2015 um 14:41

    So richtig?
    siehe ganz unten, ganz links im Screenshot

    Dateien

    Unbenannt.jpg 243,35 kB – 0 Downloads
  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • Chrischn
    • 24. April 2015 um 23:37

    Hallo!
    Danke! Klappt leider nicht.
    Das unkompilierte Skript wird gekillt sobald die Funk aufgerufen wird.
    Das kompilierte gibt dann einen AutoIt-Error "Variable used without being declared". Kann ich aber nicht nachvollziehen..

  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • Chrischn
    • 21. April 2015 um 19:05

    hi moin.
    Nein weiteren Quellcode gibt´s nicht.
    Aber die 'LogAitDave_V3.0.exe' wird ja, wenn ich mich recht entsinne, von meinem Skript nur immer wieder neu ausgeführt. Und trotzdem schwillt der Speicherbedarf des AI-Skripts immer weiter an.

  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • Chrischn
    • 20. April 2015 um 21:34

    OK!

    Anbei die include und Zubehör.
    http://www.autoit.de/index.php?page=Thread&threadID=23507

    Dateien

    LogAitDave Relaese 20130116.zip 1,74 MB – 576 Downloads
  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • Chrischn
    • 20. April 2015 um 20:34

    Deswegen wär´s wohl sinnvoll, wenn sich das jemand anguckt, der sich mit der libnodave.dll schonmal auseinandergesetzt hat.

  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • Chrischn
    • 18. April 2015 um 16:14

    [quote='Kanashius','https://autoit.de/index.php/Thread/23507-LibNoDave-UDF-zur-Kommunikation-mit-Simatic-SPS/?postID=664383#post664383']

    C
    #include"LogAitDave_UDF.au3"
    
    
    _LAD_SetIP("192.168.1.4")
    
    
    #include <array.au3>
    
    
    
    
    while 1
    $arr[0] = _LAD_ReadWord(0)
    $arr[1] = _LAD_ReadWord(2)
    $arr[2] = _LAD_ReadWord(4)
    $arr[3] = _LAD_ReadWord(6)
    
    
    _ArrayDisplay($arr)
    wend
    Alles anzeigen

    Dieses bischen reicht schon. Da wird nichts von mir gespeichert...

  • LibNoDave-UDF zur Kommunikation mit Simatic SPS

    • Chrischn
    • 18. April 2015 um 12:41

    Hallo und guten Morgen!
    Ich habe für meine selbstgebaute Heizungsanlage eine Steuerung auf Basis einer Siemens LGOG! OBA7 (mit Ethernet) und dazu eine Visualisierung auf AutoIt.
    Soweit funktioniert alles seeehr geil. Werte werden angezeigt, Schaltzustände werden angezeigt.

    Über die LibNoDave UDF werden alle 0,5 sek zyklisch einige Register (Merker und DWord´s) von der LOGO! gelesen.
    ABER (und jetzt zum Problem) :
    Ich kann die AutoIt-Anwendung nicht ewig offen lassen, weil Windows sagt: " Ey kollege, die Anwendung frisst soo hammer viel Speicher, entweder beendest Du die jetzt oder Du stirbst".

    Dann hab ich mich mir den Speicherbedarf von dem AutoIt-Task mal angesehen uns tatsächlich: mit jedem Zyklus in dem Daten von Logo! nach AutoIt geschaufelt werden, wächst der Speicherbedarf um ein paar Hundert Kilobyte.

    Dann habe ich mal einen 3-Zeiler geschrieben in dem NUR von der LOGO! gelesen wird, um Fehler in meinem Skript auszuschließen - gleiches Symptom.
    Hat jemand eine Idee?Visualisierung.jpg

  • Deklarationsproblem bei Parameter / Variable

    • Chrischn
    • 8. Januar 2011 um 19:31
    Zitat von AspirinJunkie


    Eins vorweg: Ich denke mir nur das es so ist wie ich es gleich begründe, weiß (!) allerdings nicht ob diese Erklärung richtig ist.
    Im Normalfall werden Funktionen aufgerufen und für ihre Aufrufparameter ein Stack (Speicherbereich) bereitgestellt.
    Bei Event-Funktionen gibt es keine Parameter so dass der EventHandler, welcher die Funktionen aufruft keinen Speicher dafür erstellt sondern einfach nur direkt den Befehlszeiger auf den Funktionsanfang setzt.
    Die Funktion kann also auch keinen Standardwert für den Parameter erstellen weil es keinen Platz gibt wo der Parameter gespeichert werden sollte.
    Daher muss man die Funktion wieder normal vom AutoIt-Interpreter aufrufen lassen statt vom Event-Handler.
    Das geht z.B. über eine Wrapperfunktion:

    Alles anzeigen

    so hab ich´s auch schon gemacht... das war quasi mein workaround..

    Danke!

  • Deklarationsproblem bei Parameter / Variable

    • Chrischn
    • 8. Januar 2011 um 17:24
    Zitat von Oscar

    Bei IsDeclared gibt man keine Variable an, sondern den Variablennamen als String:

    [autoit]

    If Not IsDeclared('a') Then Global $a ; oder: Global $a = 42

    [/autoit]


    vielen herzlichen dank!

    Das hatte ich übersehen. Nun kann ich mit dem Wissen über Parameter (werden bei GUICtrlSetOnEvent ignoriert) und IsDeclared ( als String übergeben )
    was vernünftiges basteln.

    DANKE!

  • Deklarationsproblem bei Parameter / Variable

    • Chrischn
    • 8. Januar 2011 um 17:17
    Zitat von Ineluki

    $a ist in dem Fall nur für die Funktion deklariert (lokal deklariert), da sie ein Parameter der Funktion ist. Bei IsDeclared darfst du die Variable nicht einfach so angeben, hättest du in die Hilfe geguckt, wüsstest du das.
    €dit: Habs etwas falsch verstanden. Bei GUICtrlSetOnEvent werden bei dem Funktionsaufruf afaik alle Parameter ignoriert --> $a is also nichtmehr deklariert.

    Zitat von Molaynox

    So gehts: (Bei mir jedenfalls)

    Öffne mich
    [autoit]

    Global $a
    Opt("GUIOneventmode", 1)

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

    ;####### Problem 1 #######
    If Not IsDeclared($a) Then $a = "anything wonderfull"
    ;#########################

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

    ;#### Supergeniale Funktion ####
    Func test($a = 2)
    If $a = 0 Then MsgBox(0, "test", "a = " & $a)
    If $a = 1 Then MsgBox(0, "test", "a = " & $a)
    If $a = 2 Then MsgBox(0, "test", "a = " & $a)
    EndFunc ;==>test
    ;###############################

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

    test(1) ; <-- so funktionierts
    test(2) ; <-- so auch
    test(0) ; <-- so auch
    test() ; <-- so auch

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

    GUICreate("SchrottGUI", 500, 200)
    GUISetState()

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

    ;###### Problem 2 #########
    GUICtrlCreateButton("SuperButton", 50, 50) ; <-- so funktionierts NICHT mehr
    GUICtrlSetOnEvent(-1, "test")
    ;##########################

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

    While 1
    Sleep(100)
    WEnd

    [/autoit]
    Alles anzeigen


    UND was ist mit Problem2? Problem1 ist ja mal wirklich Schrott!

  • Deklarationsproblem bei Parameter / Variable

    • Chrischn
    • 8. Januar 2011 um 17:16
    Zitat von Ineluki


    $a ist in dem Fall nur für die Funktion deklariert (lokal deklariert), da sie ein Parameter der Funktion ist. Bei IsDeclared darfst du die Variable nicht einfach so angeben, hättest du in die Hilfe geguckt, wüsstest du das.
    €dit: Habs etwas falsch verstanden. Bei GUICtrlSetOnEvent werden bei dem Funktionsaufruf afaik alle Parameter ignoriert --> $a is also nichtmehr deklariert.


    Was soll ich dann deiner Meinung nach mit einer Funktion anfangen, die prüft, ob eine Variable deklariert wurde, WENN ich die vorher unbedingt deklarieren MUSS?
    Leuchtet mir nicht so ein.
    Ich hatte mir Problem1 als Lösung für Problem 2 vorgestellt.

  • Deklarationsproblem bei Parameter / Variable

    • Chrischn
    • 8. Januar 2011 um 17:06

    AutoIt: 3.3.6.1
    Scite: 1.79

    Hey Leude!
    Hab hier ein Deklarationsproblem,
    hier ein Beispiel:

    [autoit]


    ;####### Problem 1 #######
    ;~ If Not IsDeclared($a) Then $a = "anything wonderfull"
    ;#########################

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

    ;#### Supergeniale Funktion ####
    Func test($a = 2)
    If $a = 0 Then MsgBox(0, "test", "a = " & $a)
    If $a = 1 Then MsgBox(0, "test", "a = " & $a)
    If $a = 2 Then MsgBox(0, "test", "a = " & $a)
    EndFunc ;==>test
    ;###############################

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

    test(1) ; <-- so funktionierts
    test(2) ; <-- so auch
    test(0) ; <-- so auch
    test() ; <-- so auch

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

    GUICreate("SchrottGUI", 500, 200)
    GUISetState()

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

    ;###### Problem 2 #########
    GUICtrlCreateButton("SuperButton", 50, 50) ; <-- so funktionierts NICHT mehr
    GUICtrlSetOnEvent(-1, "test")
    Opt("GUIOneventmode", 1)
    ;##########################

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

    While 1
    Sleep(100)
    WEnd

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

    Das "Variable used without being declared" - Problem hat man aber nur per "GUICtrlSetOnEvent" oder per "IsDeclared".

    Jemand ne Idee??
    Ich hab zwar eine eine 3-Zeilige Problem-Umgehung, ist aber eigentlich nicht schön...
    Vielen Dank im Vorraus!!

  • _IsPressed() - KeyListe Frage

    • Chrischn
    • 15. November 2010 um 17:04

    sorry, stell grad fest, dass das in Windows wohl nicht 100%ig hex ist...
    tut mir Leid.

  • _IsPressed() - KeyListe Frage

    • Chrischn
    • 15. November 2010 um 16:58

    hier PITTE !!

    http://www.torsten-horn.de/techdocs/ascii.htm

    "ö" ist "F6"
    "ä" ist "E4"


    Gruß
    Chrischn

  • Skript pausiert im GUI-Menü oder beim Drop´n-Drag

    • Chrischn
    • 15. November 2010 um 16:44

    Hey Leude!

    Ihr kennt bestimmt das Problem, dass wenn man ein GUI-Menü öffnet oder das GUI selbst mit der Maus durch die Gegend "drag"ed, das Skript solange pausiert oder?

    Hat jemand ne simple Lösung dazu?

    thx
    grz
    Chrischn

  • VLC Player UDF

    • Chrischn
    • 4. November 2010 um 18:14

    moin
    und danke erstmal!

    unkompiled bekomme ich jetzt ne Box mit

    Errorcode 0x80040154
    Errordescription "Klasse nicht registriert"

    und x32 compiled erhalte ich ne Box mit

    Errorcode 0x80020006
    Errordescription "unbekannter name"

  • VLC Player UDF

    • Chrischn
    • 3. November 2010 um 16:27

    Hey Leute!

    Habe aus dem Forum die VLC-au3 geladen und bekomme immer nur folgende Fehlermeldung:

    Titel der BOX: " COM/OBJECT ERROR! "
    Text der Box: "Error in Line " blablub
    Error description: Klasse nicht registriert

    System: Windows7 H.Pr. 64Bit
    VLC-Player-Version: 1.1.4

    Hat jemand nen Plan zur Lösung?

    Das hier ist mein Test:

    [autoit]


    #include <vlc.au3>
    $Init = _VLC_Obj_Init()
    sleep(2000)
    _VLC_AddItem($Init, "test.mp3")
    sleep(2000)
    _VLC_PlayItem($Init, 0)

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

    Gruß
    Chrischn

    Dateien

    VLC.au3 29,24 kB – 457 Downloads
  • Standby und/oder Hybernate feststellen/überwachen

    • Chrischn
    • 2. Oktober 2010 um 16:33

    vielen Dank!
    Hilft mir sehr beim Projekt!

    DANKE!

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™