![]() *1 是用于存储从开放的对方设备中接收到的数据的区域。 [关于端口号] Socket通信功能中,TCP及UDP均使用识别通信的端口号,以在对方设备中进行多个通信。 . 发送时:指定作为发送源的CPU模块的端口号和作为发送目标的通信对方侧的端口号。 . 接收时:指定CPU模块的端口号,并读取向其发送的数据。 ![]() 一、以TCP协议进行通信时 TCP是在对方设备的端口号间建立连接,从而进行可靠的数据通信的协议。 要以TCP协议进行Socket通信时,请确认以下项目后再进行通信。 . 通信对方侧的IP地址及端口号 . CPU模块侧的IP地址及端口号 . 通信对方侧与CPU模块侧中哪一个为开放侧(Active开放及Passive开放) [TCP的连接动作] TCP连接有Active开放与Passive开放两种动作。 首先,在等待TCP连接的一侧所指定的端口号中,执行Passive开放。 TCP连接侧指定以Passive开放等待的端口号后,执行Active开放。 从而将执行TCP连接,建立连接后,即可实施通信。 1、Active开放 是一种对被动等待TCP连接的对方设备执行主动开放处理的TCP连接方式(Active)。 2、Passive开放 Passive开放有以下2种TCP连接方式。 1)、Unpassive 允许连接,且不对通信对方的IP地址、端口号加以限制。(可以获取以SP.SOCCINF命令连接的对方设备的IP地址、端口号。) 2)、Fullpassive 指定通信对方的IP地址、端口号,并仅对指定通信对方的IP地址、端口号允许连接。连接了指定的IP地址、端口号以外的通信对方时, 通信前将自动切断。 二、以UDP协议进行通信时 UDP通信是不进行顺序控制、重发控制的简单协议。 要以UDP协议进行Socket通信时,应确认以下项目后再进行通信。 . 通信对方侧的IP地址及端口号 . CPU模块侧的IP地址及端口号 三、Socket通信功能命令 Socket通信功能命令是在CPU模块中使用Socket通信功能所需的命令。 ┌───────┬──────────────────┐ │命令 │内容 │ ├───────┼──────────────────┤ │SP.SOCOPEN │建立连接 │ ├───────┼──────────────────┤ │SP.SOCCLOSE │切断连接 │ ├───────┼──────────────────┤ │SP.SOCRCV │读取所接收的数据(END处理读取) │ ├───────┼──────────────────┤ │SP.SOCSND │发送数据 │ ├───────┼──────────────────┤ │SP.SOCCINF │读取连接信息 │ ├───────┼──────────────────┤ │S(P).SOCRDATA │读取Socket通信接收数据区域的数据。 │ └───────┴──────────────────┘ 四、Socket通信功能的其他注意事项 1、端口号 本站端口号的1~1023(0001H~03FFH)一般为保留端口号(WELL KNOWN PORT NUMBERS),而61440~65534(F000H~FFFEH)则用于其他通信功能,因此建议使用1024~5548、5570~61439(0400H~15ACH、15C2H~EFFFH)。 5549~5569(15ADH~15C1H)已被系统使用,请勿指定。 使用支持iQ Sensor Solution的功能时,请勿在Socket通信功能中指定45237(B0B5H)、61440~65534(F000H~FFFEH)。 2、接收数据的读取 在接收状态信号(SD10682.n)变为ON时,执行接收数据的读取。 如果大量接收数据一直未被读取,可能会对内置以太网端口的通信产生影响。 3、关闭的条件 TCP通信中,除了来自通信对方的关闭请求以外,以下情况下开放结束信号将会OFF并关闭。 . 发生了生存确认功能超时 . 收到来自对方设备侧的强制关闭命令 4、TCP的连接要素 TCP的连接通过以下4个要素进行管理,4个要素都相同的连接,同一时间内仅可建立一个。同一时间使用多个TCP连接时,应使4个要素中的任意一个与其余3个要素不同。 . CPU模块侧的IP地址 . CPU模块侧的端口号 . 对方设备侧的IP地址 . 对方设备侧的端口号 5、与同一个连接重新连接 TCP通信中,连接关闭后,如果要对通信对方(IP地址)、本站端口号、通信对方端口号均相同的连接进行重新连接,应在经过500ms之后再进行连接。 如果无法等待,需要立即重新连接,则推荐更改Active开放侧的本站端口号以进行连接。 6、确认接收数据长度 TCP通信在通信数据上没有分隔段落的概念,因此有可能在接收侧对连续发来的数据进行整合,或在接收侧对批量发来的数据进行分割。接收侧应根据需要确认接收数据的长度,并进行处理。 Socket通信功能,Socket通信命令 |
/1
|手机版|免责声明|本站介绍|工控课堂
( 沪ICP备20008691号-1 )
GMT+8, 2025-12-21 16:24 , Processed in 0.091177 second(s), 26 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.