TCP:Ping 网络地址


  • 创建标准项目并选择 CODESYS Control Win V3 作为设备。
  • 通过网络扫描连接目标系统。

图1

  • 打开库管理器并添加 SysSocket 库。

图2

  • 修改 PLC_PRG 如下:

声明

VAR
    xCheckDevice    :    BOOL;
    sIpAddr         :    STRING := '192.168.99.198';
    udiReplayAverage:    UDINT;
    tTimeout        :    TIME := T#50MS; // Must greather than 25 ms => minimum in the function!!
    xConnected      :    BOOL;
END_VAR

实现

IF xCheckDevice THEN
    xCheckDevice := FALSE;
    IF SysSocket.SysSockPing(szIPAddress := sIpAddr, ulTimeout := TIME_TO_UDINT(tTimeout), pulReplyTime := ADR(udiReplayAverage)) = 0 THEN
        xConnected := TRUE;
    ELSE
        xConnected := FALSE;   
    END_IF
END_IF

根据操作系统的不同,函数具有不同的最小运行时间。 因此,应使用 25 毫秒或更长的超时时间。 建议将函数调用分配到一个单独的任务中。

  • 启动项目并将 xCheckDevice 变量设置为 TRUE。

图3