Umgebung
- libmodbus
- Visual Studio
- Direkte Verbindung zwischen PC und Ventilinsel (kein Umschalten dazwischen)
Der Verbindungsaufbau und die einfache Ansteuerung der Spulen funktioniert einwandfrei.
Woran liegt das Problem?
Kommt es jedoch zu einer Unterbrechung des Netzwerks während einer bestehenden Verbindung (z.B. durch Ziehen am Kommunikationskabel), kommt es nach erneutem Verbindungsaufbau in ca. 20 % der Fälle zu folgendem Phänomen:
Die Spule lässt sich nicht mehr dauerhaft einschalten. Man hört das kontinuierliche Ein- und Ausschalten.
Dauerhaftes Ausschalten stellt dagegen kein Problem dar.
In diesem Zustand hilft weder das Trennen noch das erneute Herstellen der Verbindung. Das Einzige, was funktioniert, ist, den gesamten Ventilblock aus- und wieder einzuschalten.
Meine Frage
Weiß jemand, ob es in libmodbus eine Art Reset-Befehl gibt?
Mein Code
Code: Select all
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
extern "C" {
#include
}
//Tags
std::string input; //For Keyboard input
int main()
{
//Slave Parameter in Tags
const char* ip = "192.168.1.20";
int port = 502;
int slave_id = 1;
//If Disconnect, jump to this point
reconnect:
//Should be connected?
std::cout
Mobile version