以太网通讯
网口节点配置
1、右键设备节点,点击“添加设备”弹出添加设备对话框,选择"EtherNet"设备点击添加设备。
2、选择“EtherNet”,点击“添加设备”按钮。
添加后,设备树上显示EtherNet_0节点。双击节点,进入网口的基本配置页面。在此页面您可以指定通讯网口。
点“...”按钮,会弹出目标机的网络适配器列表,可以在列表中选择不同网口。
1、在本节点下您可以配置支持ModbusTCP主、ModbusTCP从、EtherNetIP等协议的设备,具体可以参考现场总线配置中的ModbusTCP、EtherNetIP等相关章节。
2、您也可以不配置EtherNet节点,采用网口通讯编程方式进行网络通讯。
网口通讯编程
系统集成了一套完整的socket访问接口库,具体见下表。
序号 | 名称 | 说明 | 参考 |
---|---|---|---|
01 | Socket | 创建一个新的socket,并返回socket句柄 | Socket |
02 | SocketClose | 关闭一个socket | SocketClose |
03 | SocketBind | socket绑定 | SocketBind |
04 | SocketListen | socket监听 | SocketListen |
05 | SocketAccept | 接受一个socket连接 | SocketAccept |
06 | SocketConnect | 连接一个客户端 | SocketConnect |
07 | SocketSetOption | 设置socket选项 | SocketSetOption |
08 | SocketGetOption | 获取socket选项 | SocketGetOption |
09 | SocketIoctl | ioctl设置 | SocketIoctl |
10 | SocketRecv | socket接收数据 | SocketRecv |
11 | SocketRecvfrom | socket接收数据 | SocketRecvfrom |
12 | SocketSend | socket发送数据 | SocketSend |
13 | SocketSendto | socket发送数据 | SocketSendto |
14 | SocketShutdown | socket关闭 | SocketShutdown |
15 | SocketGetHostByName | 根据名称获取主机信息 | SocketGetHostByName |
16 | SocketGetHostName | 获取主机名称 | SocketGetHostName |
17 | SocketHtonl | 主机字节序转换为网络字节序(四字节) | SocketHtonl |
18 | SocketHtons | 主机字节序转换为网络字节序(两字节) | SocketHtons |
19 | SocketNtohl | 网络字节序转换为主机字节序(四字节) | SocketNtohl |
20 | SocketNtohs | 网络字节序转换为主机字节序(两字节) | SocketNtohs |
21 | SocketInetAddr | 将字符串类型的IP地址转换为四字节的IP地址 | SocketInetAddr |
22 | SocketInetNtoa | 将IP地址数据结构转换为字符串类型的IP地址 | SocketInetNtoa |
23 | SocketGetAddrInfo | 处理名字到地址以及服务到端口这两种转换,返回的是一个addrinfo的结构(列表)指针而不是一个地址清单 | SocketGetAddrInfo |
24 | SocketGetNameInfo | 以一个套接字地址为参数,返回描述其中的主机的一个字符串和描述其中的服务的另一个字符串 | SocketGetNameInfo |
25 | GetSocketName | 获取socket句柄对应的socket地址信息 | GetSocketName |
26 | SocketSelect | 用来等待socket状态的改变 | SocketSelect |
27 | SocketFdSet | 添加一个socket到集合中 | SocketFdSet |
28 | SocketFdClr | 从集合中删除一个socket | SocketFdClr |
29 | SocketFdIsSet | 检测一个socket在集合中是否已激活 | SocketFdIsSet |
30 | SocketFdZero | 集合清零 | SocketFdZero |
示例参考
Socket综合示例-TCP服务器
Socket综合示例-TCP客户端
Socket综合示例-UDP服务器