Die Kommunikation trennen nicht ordnungsgemäß [geschlossen]C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Die Kommunikation trennen nicht ordnungsgemäß [geschlossen]

Post by Anonymous »

Ich entwickle derzeit ein SPS -Kommunikationsprogramm in C# unter Verwendung von McProtocoltcp .
Ich verwende das durch Secondshiftengineer erstellte McProtocol Nuget -Paket. Richtig. Wenn das LAN -Kabel jedoch nicht angeschlossen und wieder eingesteckt ist, wird die Funktion close () die Trennung nicht ordnungsgemäß behandelt.

Code: Select all

    private async Task ConnectToPlc(int timeoutMs = 2000)
{
try
{
var connectTask = Task.Run(() =>
{
PLCData.PLC = new Mitsubishi.McProtocolTcp(_plcIp, _plcPort, Mitsubishi.McFrame.MC3E);
PLCData.PLC.Open();

return PLCData.PLC.Connected;
});

var timeoutTask = Task.Delay(timeoutMs);

var completed = await Task.WhenAny(connectTask, timeoutTask);

if (completed == timeoutTask)
{
AppManager.Instance().IsConnected = false;
Console.WriteLine($"[PLC] Connect TimeOut({timeoutMs}ms 초과)");
return false;
}

bool connected = await connectTask;

AppManager.Instance().IsConnected = connected;

return connected;
}
catch (Exception ex)
{
AppManager.Instance().IsConnected = false;
Console.WriteLine($"[PLC] Exception: {ex.Message}");
return false;
}
}
< /code>
Hier ist der Trennungscode: < /p>
    private async void DisconnectToPlc()
{
try
{
PLCData.PLC.Close();

Console.WriteLine("[PLC] Disconnected");
}
catch (Exception ex)
{
Console.WriteLine("[PLC] Disconnected_Exception");
}
}
Wenn die SPS -Verbindung verloren geht, werden die folgenden Nachrichten in der Konsole gedruckt:
Bildbeschreibung eingeben.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post