Probléme connection time out
Bonjour , j'ai un programme qui fait un tour sur plusieurs equipements connecté via modbus, il récupére leurs état puis les insérent dans une base de donnée ,
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| public List<Wago> VFD_R { get; set; } = new List<Wago>();
public void imputregistre()
{
List<string> ipadresses_VFD = new List<string>();
Wago Registres = new Wago();
ipadresses_VFD.Add("194.176.3.12");
ipadresses_VFD.Add("194.176.3.13");
ipadresses_VFD.Add("194.176.3.17");
ipadresses_VFD.Add("194.176.3.18");
ipadresses_VFD.Add("194.176.3.22");
ipadresses_VFD.Add("194.176.3.23");
for (int index = 0; index < ipadresses_VFD.Count; index++)
{
Registres.Ip = ipadresses_VFD[index];
try
{
ModbusClient modbusClient = new ModbusClient(Registres.Ip, 502);
modbusClient.Connect();
Registres.Coils = modbusClient.ReadCoils(0, 6);
VFD_R.Add(Registres);
modbusClient.Disconnect();
}
catch (Exception ex)
{
}
}
} |
le probléme c'est que quand le programme ne peut pas se connecter à un des ips(modbusClient.Connect();) , il lance une exception connection time out et du coup , l'interface reste bloqué le temps que l'equipement ne s'est pas connecté , j'ai essayé de gérer l'exception mais ça n 'a pas résolut le probléme
vous avez des solutions pour le plantage du programme , dois-je introduire les threads dans le programme de connection ?