特殊指令:TCP/IP通讯


Tcp_Connect:连接

连接指令用于客户端建立对服务器的TCP连接。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,建立对服务器的TCP连接;当EN为0时,断开对服务器的TCP连接。
PortUSINT输入需要操作的端口。
IPAddr1USINT输入服务器IP地址1。
IPAddr2USINT输入服务器IP地址2。
IPAddr3USINT输入服务器IP地址3。
IPAddr4USINT输入服务器IP地址4。
IPPortUINT输入服务器的端口。
Status USINT 输出 当前端口的状态:
  • [0] Unconnected:未连接。
  • [1] Listening:等待连接。
  • [2] Connecting:连接中。
  • [3] Connected:已连接。
  • [4] Closing:关闭连接中。

Tcp_Listen:监听

监听指令用于服务器监听指定端口,等待客户端建立TCP连接。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,监听指定端口,等待客户端建立TCP连接;当EN为0时,停止监听端口,若连接已经建立,则断开与客户端的连接。
PortUSINT输入需要操作的端口。
IPPortUINT输入服务器的端口。
IPAddr1USINT输出客户端IP地址1。
IPAddr2USINT输出客户端IP地址2。
IPAddr3USINT输出客户端IP地址3。
IPAddr4USINT输出客户端IP地址4。
Status USINT 输出 当前端口的状态:
  • [0] Unconnected:未连接。
  • [1] Listening:等待连接。
  • [2] Connecting:连接中。
  • [3] Connected:已连接。
  • [4] Closing:关闭连接中。

Tcp_Transmit:发送数据

发送数据指令用于建立TCP连接后,向远程设备发送数据。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,尝试创建一个通讯任务,向远程设备发送数据。若通讯任务在队列中,则不重复添加。
PortUSINT输入需要操作的端口。
TxUSINT输入需要发送数据的首地址。
TxLengthUINT输入需要发送数据的长度。
DoneBIT输出数据发送是否完成。
Err USINT 输出 数据发送失败的原因:
  • [0] Err_None:无错误。
  • [1] Err_Port:通讯端口不存在。
  • [2] Err_QueueIsFull:通讯任务队列满。
  • [3] Err_Transmit:发送数据错误。
  • [4] Err_Receive:接收数据错误。
  • [5] Err_TxBuf:发送缓冲错误。
  • [6] Err_RxBuf:接收缓冲错误。
  • [7] Err_LocalAddr:网络适配器不存在。
  • [8] Err_HostName:主机域名格式错误。
  • [9] Err_Failed:操作错误。

Tcp_Receive:接收数据

接收数据指令用于建立TCP连接后,接收远程设备发送过来的数据。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,尝试创建一个通讯任务,接收远程设备发送过来的数据。若通讯任务在队列中,则不重复添加。
PortUSINT输入需要操作的端口。
RxUSINT输入需要接收数据的首地址。
RxBufLengthUINT输入需要接收数据缓冲的长度。
RxLengthUINT输出实际接收数据的长度。
DoneBIT输出数据接收是否完成。
Err USINT 输出 数据接收失败的原因:
  • [0] Err_None:无错误。
  • [1] Err_Port:通讯端口不存在。
  • [2] Err_QueueIsFull:通讯任务队列满。
  • [3] Err_Transmit:发送数据错误。
  • [4] Err_Receive:接收数据错误。
  • [5] Err_TxBuf:发送缓冲错误。
  • [6] Err_RxBuf:接收缓冲错误。
  • [7] Err_LocalAddr:网络适配器不存在。
  • [8] Err_HostName:主机域名格式错误。
  • [9] Err_Failed:操作错误。

Udp_Bind:绑定端口

绑定端口指令用于设置UDP通讯的本地端口。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,设置UDP通讯的本地端口,并进入端口绑定模式。当EN除能时,退出端口绑定模式。
PortUSINT输入需要操作的端口。
IPPortUSINT输入本机端口。
Status USINT 输出 当前端口的状态:
  • [0] Unconnected:未连接。
  • [1] Listening:等待连接。
  • [2] Connecting:连接中。
  • [3] Connected:已连接。
  • [4] Closing:关闭连接中。

Udp_Transmit:发送数据

发送数据指令用于向远程设备发送UDP数据。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,尝试创建一个通讯任务,向远程设备发送UDP数据。若通讯任务在队列中,则不重复添加。
PortUSINT输入需要操作的端口。
IPAddr1USINT输入远程设备IP地址1。
IPAddr2USINT输入远程设备IP地址2。
IPAddr3USINT输入远程设备IP地址3。
IPAddr4USINT输入远程设备IP地址4。
IPPortUINT输入远程设备的端口。
TxUSINT输入需要发送数据的首地址。
TxLengthUINT输入需要发送数据的长度。
DoneBIT输出数据发送是否完成。
Err USINT 输出 数据发送失败的原因:
  • [0] Err_None:无错误。
  • [1] Err_Port:通讯端口不存在。
  • [2] Err_QueueIsFull:通讯任务队列满。
  • [3] Err_Transmit:发送数据错误。
  • [4] Err_Receive:接收数据错误。
  • [5] Err_TxBuf:发送缓冲错误。
  • [6] Err_RxBuf:接收缓冲错误。
  • [7] Err_LocalAddr:网络适配器不存在。
  • [8] Err_HostName:主机域名格式错误。
  • [9] Err_Failed:操作错误。

Udp_Receive:接收数据

接收数据指令用于接收远程设备发送过来的UDP数据。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,尝试创建一个通讯任务,接收远程设备发送过来的数据。若通讯任务在队列中,则不重复添加。
PortUSINT输入需要操作的端口。
RxUSINT输入需要接收数据的首地址。
RxBufLengthUINT输入需要接收数据缓冲的长度。
IPAddr1USINT输出远程设备IP地址1。
IPAddr2USINT输出远程设备IP地址2。
IPAddr3USINT输出远程设备IP地址3。
IPAddr4USINT输出远程设备IP地址4。
IPPortUINT输出远程设备的端口。
RxLengthUINT输出实际接收数据的长度。
DoneBIT输出数据接收是否完成。
Err USINT 输出 数据接收失败的原因:
  • [0] Err_None:无错误。
  • [1] Err_Port:通讯端口不存在。
  • [2] Err_QueueIsFull:通讯任务队列满。
  • [3] Err_Transmit:发送数据错误。
  • [4] Err_Receive:接收数据错误。
  • [5] Err_TxBuf:发送缓冲错误。
  • [6] Err_RxBuf:接收缓冲错误。
  • [7] Err_LocalAddr:网络适配器不存在。
  • [8] Err_HostName:主机域名格式错误。
  • [9] Err_Failed:操作错误。

Adpt_SetDHCP:设置是否开启DHCP

本指令设置是否开启网络适配器的DHCP功能,若开启了DHCP,则网络适配器在连线后,通过DHCP服务从服务器自动获取IP地址。手动设定的IP地址、网关地址、子网掩码将被忽略。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,设置是否开启网络适配器的DHCP功能。模块驱动会比较当前配置与设置的配置是否一致,如果不一致,将重新初始化网络适配器,现有的通讯连接会被断开。
LocAddrUSINT输入需要配置的网络适配器。
EnableBIT输入是否开启DHCP功能。

Adpt_SetIpAddr:设置本机的IP地址

本指令用于设置本机的IP地址。只有在DHCP功能关闭时才有效。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,设置本机的IP地址。模块驱动会比较当前配置与设置的配置是否一致,如果不一致,将重新初始化网络适配器,现有的通讯连接会被断开。
LocAddrUSINT输入需要配置的网络适配器。
IPAddr1USINT输入本机的IP地址1。
IPAddr2USINT输入本机的IP地址2。
IPAddr3USINT输入本机的IP地址3。
IPAddr4USINT输入本机的IP地址4。

Adpt_SetGetway:设置网关的IP地址

本指令用于设置网关的IP地址。只有在DHCP功能关闭时才有效。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,设置网关的IP地址。模块驱动会比较当前配置与设置的配置是否一致,如果不一致,将重新初始化网络适配器,现有的通讯连接会被断开。
LocAddrUSINT输入需要配置的网络适配器。
IPAddr1USINT输入网关的IP地址1。
IPAddr2USINT输入网关的IP地址2。
IPAddr3USINT输入网关的IP地址3。
IPAddr4USINT输入网关的IP地址4。

Adpt_GetStatus:获取网络适配器的连接状态

本指令用于获取网络适配器的连接状态。在网络适配器尚未连接到网络时,用户依然可以操作SOCKET端口,例如使用Tcp_Listen指令来监听端口。任务不会立即报错而是等待适配器连接到网络。当网络适配器从网络断开时,将会主动关闭所有的SOCKET端口。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,获取网络适配器的连接状态。
LocAddrUSINT输入需要操作的网络适配器。
StatusUSINT输出网络适配器的连接状态:
  • [0] Unint:尚未初始化。
  • [1] LinkDown:尚未连接到网络(网线未插入,集线器未通电等)。
  • [2] GettingIpAddr:分配IP地址中。
  • [3] LinkActive:已连接到网络。

Adpt_GetIpAddr:获取本机的IP地址

本指令用于获取本机的IP地址。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,获取本机的IP地址。
LocAddrUSINT输入需要操作的网络适配器。
IPAddr1USINT输出本机的IP地址1。
IPAddr2USINT输出本机的IP地址2。
IPAddr3USINT输出本机的IP地址3。
IPAddr4USINT输出本机的IP地址4。

Adpt_GetPhyAddr:获取本机的物理地址(MAC地址)

本指令用于获取本机的物理地址。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,获取本机的物理地址。
LocAddrUSINT输入需要操作的网络适配器。
PhyAddr1USINT输出本机的物理地址1。
PhyAddr2USINT输出本机的物理地址2。
PhyAddr3USINT输出本机的物理地址3。
PhyAddr4USINT输出本机的物理地址4。
PhyAddr5USINT输出本机的物理地址5。
PhyAddr6USINT输出本机的物理地址6。

Adpt_LookupHost:域名解析

本指令通过DNS服务将域名解析成IP地址。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,启动域名解析任务。
LocAddrUSINT输入需要操作的网络适配器。
HostSTRING输入需要解析的域名。
IPAddr1USINT输出主机的IP地址1。
IPAddr2USINT输出主机的IP地址2。
IPAddr3USINT输出主机的IP地址3。
IPAddr4USINT输出主机的IP地址4。
DoneBIT输出域名解析是否完成。
Err USINT 输出 域名解析失败的原因:
  • [0] Err_None:无错误。
  • [1] Err_Port:通讯端口不存在。
  • [2] Err_QueueIsFull:通讯任务队列满。
  • [3] Err_Transmit:发送数据错误。
  • [4] Err_Receive:接收数据错误。
  • [5] Err_TxBuf:发送缓冲错误。
  • [6] Err_RxBuf:接收缓冲错误。
  • [7] Err_LocalAddr:网络适配器不存在。
  • [8] Err_HostName:主机域名格式错误。
  • [9] Err_Failed:操作错误。