我正在开发一个windows窗体应用程序,它将与西门子S7-1200 PLC进行通信,以便从PLC实时访问数据并将数据发送给PLC。连接和实时通信都很好。但我面临的问题是
1.我在Plc.close事件中使用了form.closed ()方法。但是连接没有关闭,而是抛出PLC断开连接错误。
2& 3.我期望同样的行为,但它会抛出不同的错误。当以太网电缆在应用程序端或PLC端断开时,引发以太网套接字异常。当PLC电源关闭时,程序仍试图将数据写入PLC一段时间,然后显示出现了以太网套接字错误。
有人能帮我处理这些错误吗?
发布于 2020-07-14 07:51:34
正如您在Github上的s7netplus存储库中所看到的那样,IDisposeable类是implementig。在您的问题中,没有代码,但是如果您调用具有使用状态的PLC类:
using(Plc plc = new PLC(...) {
// Do some actions
}Close()方法在using块(Dispose)结束后调用。因此,如果您试图再次调用Close()方法,就会发生异常。
如果可能,请提供一个代码示例。
https://stackoverflow.com/questions/62889664
复制相似问题