求助诸位大神,遇到TCP通讯的疑难杂症。
项目的情况简单说一下,客户将原有的系统统一组成1500冗余系统,原来的两台SMART与1500走S7通讯,因换成了冗余系统,所以打算采用TCP通讯。
因办公室测验时,只有一台1500(非冗余)和一个SMART,经过测试,将SMART分别修改IP地址为192.168.0.60/61,1500能把相应的数据块传递给SMART。
问题来了,现场测验时,有两个SMART,IP地址分别为192.168.0.60和192.168.0.61。程序里分别建立了两个背景DB和两个链接参数的全局DB,全局DB里赋值相应的SMART的IP地址和ID,端口号等。问题简单描述如下:
1、1500的程序只能与61的SMART交换数据。在诊断中发现60的设备链接不上。
2、将60的SMART程序和IP地址改成61,将61的SMART程序改成60的,仍然是61的数据能正常通讯。
3、删除61的通讯程序段,保留60的,通讯无法建立。
4、在保证61通讯成功的情况下,将61的链接DB中的值修改为60对应的参数,通讯无法建立。
其他说明:
1、SMART程序中没有和其他设备数据通讯的地方。
2、一个SMART传输的数据分了4个程序段,前两个数据段为100个字,后两个分别为28和26,数据量总共为254个字。
3、排除网络不通的问题,能监控到1500程序和两台SMART的程序状态。
请教诸位大神不吝赐教,有没有做过类似项目,即一个1500作为客户端,跟多个服务器(IP地址多个)交换数据的例子。或者相关资料的链接,轮询如何建立,背景DB和连接参数DB如何分配,非常感谢。