1.S7-1200 CPU最多可以组态多少个OUC连接?
答:S7-1200 CPU系统预留了8个OUC连接资源,考虑上6个动态连接资源,最多可组态14个OUC连接。即TCP、ISO-on-TCP、UDP和Modbus TCP这4种通信同时可建立的连接数总和不超过14个。
图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。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。