菜单

UDP操作手册

概述

UDP协议

UDP协议:用户数据报协议(User Datagram Protocol),是OSI参考模型中的传输层协议,它与TCP协议一样用于处理数据包,是一种无连接的传输层协议。UDP有不断提供数据包分组、组装和不能对数据包进行排序,也就是说,当报文发送之后无法得知是否安全到达,是一种提供面向事务简单不可靠信息传送服务。


准备

安装要求

  • 中科时代出厂的工智机;

  • Device Manager组件管理器;

  • 个人电脑安装中科时代IDE MetaFacture软件;

  • 个人电脑需要联网

SF4200-sitcpudp组件安装

1.打开Device Manager 0.0.1.9组件管理器

2.选择左下角的“安装ACP服务”

3.设定IP、用户名和密码,选择“在线安装”。

(本例为192.168.110.155,用户名:sinsegye,密码:1)

4.安装完成后,点击“扫描”,出现目标工智机后,双击进入设备管理页面。

5.在设备管理页面,选择“安装RTE插件服务”

6.输入用户名sinsegye,密码1,点击“在线安装”

7.安装完成后,选择“组件”—“组件管理”

8.点击“浏览”,可以在线浏览工智机发布的组件。

9.选择“SF4200-sitcpudp”组件,点击“安装”

传输完成,确认安装插件。

安装完成,重启生效。

10.安装完成后,在本地可以显示已安装的SF4200-sitcpudp组件。

组件更新和卸载

打开Device Manager,进入工智机设备管理页面—“组件”—“组件管理”,选择需要更新或者卸载的组件,点击“卸载”或“更新”


示例

UDP Socket建立

  1. 打开中科时代IDE MetaFacture,选择“新建工程”


2.选择标准工程,并命名UDP

3.选择中科时代Sinsegye设备,选择PLC编程语言(本例为ST语言)

4.选择“库管理器”—“添加库”—选择“SF4200_TcpUdp”—确定

SF4200_TcpUdp添加到库管理器中。

5.使用“输入助手”在PLC_PRG中声明UPD_Peer变量。鼠标右键选择“输入助手”。

选择“结构体类型”—“MetaCore_TcpUdp”—“FB_SocketUdpCreate”

功能块声明完成。

6.使用“输入助手”在程序中插入声明的UDP_Peer功能块。鼠标右键选择“输入助手”

选择“实例调用”—“Udp_Peer”

Udp_Peer通过输入助手自动插入到PLC程序中。

7.声明三个变量,用于设定Udp_Peer功能块的本机IP地址、端口和启动建立信号。

UDP Send功能

1.鼠标右键使用“输入助手”声明Udp_Send功能块和调用Udp_Send功能块。

2.新建以下三个变量,并且把Udp_Peer的输出信号hSocket和新建的三个变量传入到Udp_Send的输入设定中。

变量名称 类型 设定例 意义
RemoteAddr STRING ‘192.168.110.135’ UDP连接的IP地址
RemotePort UDINT 9999 UDP连接的端口
bSend BOOL FALSE 发送信号

3.新建SendData变量,设定初始值为‘This is a teast’。将SendData指针和字节大小传入到Udp_Send的输入设定中

4.选择“Device”—输入工智机IP地址连接工智机。本例为192.168.110.155.

5.点击“登录”

6.登陆后,点击“运行”程序

7.使用个人电脑打开调试工具Socket Tool

8.选择“UDP Client”—“创建”

10.设定工智机IP地址、工智机端口,以及本机端口,点击确定。

11.将变量bCreat置True,建立UDP Socket。

12. 变量bSend置True,发送数据’This is a test’

13.查看Socket Tool,收到This is a test数据。

UDP Receive功能

1.鼠标右键使用“输入助手”声明Udp_Receive功能块和调用Udp_Receive功能块。

2.新建以下四个变量,并且把Udp_Peer的输出信号hSocket和新建的四个变量传入到Udp_Receive的功能块中。

变量名称 类型 意义
bReceive BOOL UDP接收数据启动变量
ReceiveAddr STRING 发送数据端的IP地址
ReceivePort UDINT 发送数据的端口
ReceiveBytes UDINT 数据大小

3.新建ReceiveData变量,将ReceiveData指针和字节大小传入到Udp_Receive的输入设定中.

4.选择“Device”—输入工智机IP地址连接工智机。本例为192.168.110.155.

5.点击“登录”

6.登陆后,点击“运行”程序

7.使用个人电脑打开调试工具Socket Tool

8.选择“UDP Client”—“创建”

10.设定工智机IP地址、工智机端口,以及本机端口,点击确定。

11.将变量bCreat置True,建立UDP Socket。

12. 变量bReceive置True,使用Socket Tool发送数据‘ABCdef1234567890’

13.查看PLC程序中的ReceiveData,收到数据。

UDP Socket close关闭

1.鼠标右键使用“输入助手”声明Udp_Close功能块和调用Udp_Close功能块。

2声明执行关闭的变量bClose:BOOL,并将想要关闭的hSocket传入到输入接口中,本例为Udp_Peer.hSocket。

3.选择“Device”—输入工智机IP地址连接工智机。本例为192.168.110.155.

5.点击“登录”

6.登陆后,点击“运行”程序

7.将bCreat置True,建立UDP Socket

  1. 将bClose置True,关闭UDP Socket


功能介绍

功能块FB_SocketUdpCreate

输入参数

参数名 类型 设定例 意义
sLocalHost STRING ‘192.168.110.155’ 本机IP地址
nLocalPort UDINT 9000 本机端口
bExecute BOOL TRUE 0→1时,建立UDP Socket
tTimeout TIME T#5S 超时时间,默认5s

输出参数

参数名 类型 意义
bBusy BOOL 是否在执行中
bError BOOL 是否发送错误
nErrId UDINT 错误代码
hSocket ST_HSOCKET 建立的Socket信息

功能块FB_SocketUdpSendTo

输入参数

参数名 类型 设定例 意义
hSocket ST_HOCKET FB_SocketUdpCreate.hSocket 已建立的Socket
sRemoteHost STRING '192.168.110.135' 接收数据到的IP地址
nRemotePort UDINT 9990 接收数据到的端口
cbLen UDINT SIZEOF(data) 发送数据的大小
pSrc POINTER TO BYTE ADR(data) 发送数据的内容
bExecute BOOL TRUE 0→1时,发送数据
tTimeout TIME T#5S 超时时间,默认5s

输出参数

参数名 类型 意义
bBusy BOOL 是否在执行中
bError BOOL 是否发送错误
nErrId UDINT 错误代码

3.功能块FB_SocketUdpReceiveFrom

输入参数

参数名 类型 设定例 意义
hSocket ST_HOCKET FB_SocketUdpCreate.hSocket 已建立的Socket
cbLen UDINT SIZEOF(Rdata) 接收存储数据的大小
pDest POINTER TO BYTE ADR(Rdata) 接收存储数据的地址
bExecute BOOL TRUE 0→1时,接收数据
tTimeout TIME T#5S 超时时间,默认5s

输出参数

参数名 类型 意义
bBusy BOOL 是否在执行中
bError BOOL 是否发送错误
nErrId UDINT 错误代码
sRemoteHost STRING 远程发送数据方的IP地址
nRemotePort UDINT 远程发送数据方的端口
nRecBytes UDINT 接收数据的大小

4.功能块FB_SocketClose

输入参数

参数名 类型 设定例 意义
hSocket ST_HOCKET FB_SocketUdpCreate.hSocket 已建立的Socket
bExecute BOOL TRUE 0→1时,关闭Socket
tTimeout TIME T#5S 超时时间,默认5s

输出参数

参数名 类型 意义
bBusy BOOL 是否在执行中
bError BOOL 是否发送错误
nErrId UDINT 错误代码
最近修改: 2025-05-06