Codesy中的UDP发送信息
Codesy UDP通讯
- 概述
- CAA Net Base Services
-
- UDP通讯的建立
- 发送UDP
- 状态控制
- 效果
概述
Codesys中默认安装的通讯支持很多,不安装其他的软件也可以实现TCP通讯。但是,在使用UDP通讯时,因为我们的PLC有两个网卡,一般我们把第一个网口做编程和HMI用,把的个网口做外部通讯,比如用MODBUS TCP与雷达等外部设备来实现通讯,在用程序建立一个外部通讯的话,可能是我对UDP理解的不深,一些库的UDP实现中都没有指定自己UDP的ip address的接口。通过搜索,发现一个库,命名空间是Network。
CAA Net Base Services
这个库提供TCP和UDP服务的基本支持。使用这个库,使UDP通讯变得非常简单。
UDP通讯的建立
UDP_Peer功能块
范围 | 名称 | Type | Initia | Comment |
---|---|---|---|---|
Input | ipAddr | IP_ADDR | STRUCT(sAddr:=‘0.0.0.0’) | ‘0.0.0.0’=>INADDR_ANY |
uiPort | UINT | |||
ipMultiCast | IP_ADDR | ‘255.255.255.255’=>INADDR_NONE | ||
Output | eError | ERROR | ||
xActive | BOOL | TRUE if the handle is valid |
在程序中先定义这个功能块:
fbPeerServer : NBS.UDP_Peer; // 建立UDP服务器
然后在程序中可以使用这个fb来创建一个UDP服务
fbPeerServer(xEnable := TRUE, ipAddr := GVL.localIP, uiPort := GVL.uiPort