-> Hier kostenlos registrieren
Hi,
ich hätte mal wieder ein Problem.
Kurze Beschreibung von meinen Problem/Aufgabe. Ich möchte mit einen Programm eine Verbindung aufbauen oder nicht. Dazu benutze ich folgenden code.
jetzt wird die Verbindung jedoch alle 3 Sek. über einen Timer aufgerufen, also sozusagen ob sie noch besteht oder ob ich sie aufbauen muss.
Das Problem ist jedoch jetzt was ist wenn die CPU mit der ich mich verbinden will "Aus" ist? Er wartet immer und das Programm lässt sich nicht mehr bedienen.
Jetzt wäre mein ansatz das Problem zu lösen, indem ich die Station anpinge und schaue ob sie aktiv ist.
Oder gibts da eine einfachere Methode?
ich hätte mal wieder ein Problem.
Kurze Beschreibung von meinen Problem/Aufgabe. Ich möchte mit einen Programm eine Verbindung aufbauen oder nicht. Dazu benutze ich folgenden code.
Code:
public static Boolean Verbindung(bool aktiv)
{
if (dc != null && aktiv == false)
{
dc.disconnectPLC();
libnodave.closeSocket(fds.rfd);
return false;
}
if (aktiv == true)
{
fds.rfd = libnodave.openSocket(port, ipadress);
fds.wfd = fds.rfd;
if (fds.rfd > 0)
{
di = new libnodave.daveInterface(fds, "IF1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);
di.setTimeout(1000000);
dc = new libnodave.daveConnection(di, 0, rack, slot);
}
//Ausgabe ob Verbindung geklappt hat
if (dc != null && dc.connectPLC() == 0) { return true; } else { return false; }
}
else
{
return false;
}
}
jetzt wird die Verbindung jedoch alle 3 Sek. über einen Timer aufgerufen, also sozusagen ob sie noch besteht oder ob ich sie aufbauen muss.
Das Problem ist jedoch jetzt was ist wenn die CPU mit der ich mich verbinden will "Aus" ist? Er wartet immer und das Programm lässt sich nicht mehr bedienen.
Jetzt wäre mein ansatz das Problem zu lösen, indem ich die Station anpinge und schaue ob sie aktiv ist.
Oder gibts da eine einfachere Methode?