【问题标题】:S7.NET isConnected return value why always true after a succesful connect even if I disconnect the cable?S7.NET isConnected 返回值为什么即使我断开电缆连接成功后总是为真?
【发布时间】:2021-08-17 06:58:30
【问题描述】:

我在 C# WPF 应用程序中使用 S7.NET 库将我的 PC 连接到 Siemens PLC。有一个属性,isConnected。如果我使用 plc.Open() 连接到 PLC,则属性返回值变为 true。但是,如果我断开 PLC 电缆,属性值仍然为真。为什么?

 private void checkPlcConnection()
    {
        Plc plc = new Plc(CpuType.S71200, "192.168.0.1", 0, 1);
        plc.Open(); // Cable was connected when method called

        while(true)
        {
            Thread.Sleep(1000);
            Trace.WriteLine(plc.IsConnected); // True, after remove the cable still true
        }
    }

【问题讨论】:

  • 见下面的代码
  • 请不要将代码发布为图片,related topic

标签: c# wpf plc siemens


【解决方案1】:

我用谷歌搜索(实际上是duckduckgoed)s7.net "isconnected" 发现了这个文件:

http://www.ad.siemens.com.cn/club/bbs/upload/file/20181129/6367911382823920496914596.pdf

我建议您使用方法IsAvailable 而不是IsConnected。它通过 ping-ing 主动确定您是否仍处于连接状态。

实际上,你可能需要同时做这两个,IsConnected && IsAvailable

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 2022-11-20
    • 2016-02-18
    相关资源
    最近更新 更多