首页 理论教育 常见问题解析:OUC通信

常见问题解析:OUC通信

时间:2023-07-01 理论教育 版权反馈
【摘要】:即TCP、ISO-on-TCP、UDP和Modbus TCP这4种通信同时可建立的连接数总和不超过14个。3)“TCON”指令的输入参数ID不唯一,与其他OUC通信的“ID”号冲突。4)通信双方都设置为客户端或都为服务器,TCP通信双方需要一方为发起建立连接请求的客户端,另一方为响应连接建立的服务器。当S7-1200CPU作为TCP客户端触发“TCON”指令建立TCP连接时,如果TCP服务器不存在或未使能TCP通信功能时,“TCON”指令将会置位输出参数ERROR,并终止TCP连接的建立。

常见问题解析:OUC通信

1.S7-1200 CPU最多可以组态多少个OUC连接?

答:S7-1200 CPU系统预留了8个OUC连接资源,考虑上6个动态连接资源,最多可组态14个OUC连接。即TCP、ISO-on-TCP、UDP和Modbus TCP这4种通信同时可建立的连接数总和不超过14个。

978-7-111-58391-2-Chapter07-48.jpg

图7-39 调用TURCV指令

2.S7-1200 CPU CP连接不能成功建立的可能原因有哪些?

答:S7-1200TCP连接不能成功建立的原因可以通过查询“TCON”指令的STATUS参数获取,可能的原因大概有以下几条:

1)IP地址和端口设置错误,建议设置方法如下:

•作为TCP客户端时需要指定通信伙伴方的IP和端口,无需指定本地端口,如果指定了本地端口,则本地端口不能重复使用。

•作为TCP服务器时只需要指定本地端口,无需指定伙伴方端口;如果不指定特定客户端连接,则可无需指定伙伴方IP。

•TCP客户端指定的伙伴方IP和端口需要与TCP服务器的本地IP和端口相同。(www.xing528.com)

2)“TCON”指令的输入参数ID与参数CONNECT连接的结构变量中“ID”不相同。

3)“TCON”指令的输入参数ID不唯一,与其他OUC通信的“ID”号冲突。

4)通信双方都设置为客户端或都为服务器,TCP通信双方需要一方为发起建立连接请求的客户端,另一方为响应连接建立的服务器。

3.S7-1200 CPU(固件V4.2)作为TCP客户端使用“TCON”指令建立TCP连接,如果TCP服务器不存在或未启动TCP通信,为什么需要多次触发“TCON”指令?

答:S7-1200CPU从固件版本V4.2开始修改了“TCON”指令的通信行为。当S7-1200CPU(固件V4.2)作为TCP客户端触发“TCON”指令建立TCP连接时,如果TCP服务器不存在或未使能TCP通信功能时,“TCON”指令将会置位输出参数ERROR,并终止TCP连接的建立。因此,如果还需要建立该TCP连接,就必须再次触发“TCON”指令尝试建立TCP连接。

固件V4.2之前S7-1200CPU作为TCP客户端调用“TCON”指令建立TCP连接,如果TCP服务器不存在或未启动TCP通信功能时,只需要触发一次“TCON”指令,该指令将会一直尝试建立TCP连接,直到TCP连接被成功建立,该“TCON”指令无需多次触发。

4.TCP通信时,为什么发送的数据与接收方接收的数据不一致,如发送方发送2包30字节数据,而接收方实际接收为3包20字节的数据?

答:当发送方发送长度与接收方接收长度不相同时会出现上述问题。

TCP是一种数据流服务,接收方无法通过接收到的数据流来判断发送长度。为了避免上述问题的发生,一般建议发送方发送长度与接收方接收长度相同。如果发送方发送的数据长度是动态的,就无法约束接收方接收长度与发送方相同,这时可以采用Ad-hoc模式来接收变长的数据,可参考图7-32。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈