Hallo
Ich wollte mehrere IP Adressen im Netzwerk abfragen und an eine SPS senden. Ich
habe den Anfang mit der Abfrage der IP Adressen begonnen.
Hierzu habe ich ein paar Fragen.
Zuerst wollte ich Radio Butten verwenden um zu signalisieren ob eine IP Online
ist. Dies hat leider nicht funktioniert.
Kann mir jemand erklären wie dies Funktioniert?
Wenn das Programm läuft kommt es zum Flackern zwischen Online und Offline?
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\Andreas\Downloads\test1\LibnoDave\Netzwerkanwesenheit SPS.kxf
; Globale Variablen
Global $Input[5]
Global $Radio[5]
; GUI Init
$Form1 = GUICreate("Form1", 615, 438, 473, 180)
$Button1 = GUICtrlCreateButton("Start", 360, 80, 145, 57)
$Button2 = GUICtrlCreateButton("Stop", 360, 144, 145, 57)
$Input[1] = GUICtrlCreateInput("192.168.178.", 75, 80, 161, 21)
$Input[2] = GUICtrlCreateInput("192.168.178", 75, 110, 161, 21)
$Input[3] = GUICtrlCreateInput("192.168.178.", 75, 140, 161, 21)
$Input[4] = GUICtrlCreateInput("192.168.178.", 75, 170, 161, 21)
$Radio[1] = GUICtrlCreateInput("", 245, 80, 113, 17)
$Radio[2] = GUICtrlCreateInput("", 245, 110, 113, 17)
$Radio[3] = GUICtrlCreateInput("", 245, 140, 113, 17)
$Radio[4] = GUICtrlCreateInput("", 245, 170, 113, 17)
$SPS_IP = GUICtrlCreateInput("192.168.178.", 384, 272, 121, 21)
$SPS_IP_TEXT = GUICtrlCreateLabel("SPS_IP", 384, 248, 41, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
; Programm Start
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
AdlibRegister ( ip_Abfrage(),5000) ;Funktion alle 5sec aufrufen
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
; Funktiom Abfrab ob IP Online ist
Func ip_Abfrage()
For $i = 1 TO 4
$IP_X = GUICtrlRead ($Input[$i]) ; Lese IP aus GUI
$iPing = Ping($IP_X,100) ;Abfrage ob IP im Netzwerk vorhanden , Online ist
If $iPing = 0 Then
GUICtrlSetData ($Radio[$i], "Offline") ; Wenn IP Online schreibe in GUI Online
Else
GUICtrlSetData ($Radio[$i], "Online") ; Wenn IP Offline schreibe in GUI Offline
EndIf
Next
EndFunc