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