恭喜,你发布的帖子
发布于 2017-05-21 18:56:07
5楼
为了调试PC机与PLC的TCP通讯;做了如下事情:
(1)1台PLC SR40, 1台PC机(XP系统),PLC为客户端,PC机为服务端,通讯成功,可读可写;
(2)1台PLC SR40, 1台PC机(XP系统),PC机为客户端,PLC为服务端,通讯成功,可读可写;
(3)2台PLC SR20/SR40, 1台PC机(XP系统),PLC为服务端,PC机为客户端,通讯成功,可读可写;
(4)2台PLC SR20/SR40, 2台PC机(XP系统/Win7-32),PLC为服务端,PC机为客户端,第一台PC机可以和2台PLC链接,读取数据没有问题;第二台PC机可以链接那2台PLC,但是当读取数据时出现如下错误:
(与PC机的操作系统没有关系,与链接的先后有关系)
System.Net.Sockets.SocketException (0x80004005): 远程主机强迫关闭了一个现有的连接。
在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
在 TCP_Client.Form1.timer1_Tick(Object sender, EventArgs e) 位置 G:\TCP_S7-200\TCP_C#\TCP_Client\TCP_Client\Form1.cs:行号 310
在此请各位大侠判断一下,这是什么问题?谢谢!
这里PC端使用C#(VS2010)编程,同步TCP模式。PLC程序中的IP地址设置为4个0(按照V2.2的系统手册要求设置)。
楼主可以试试PLC程序中的IP地址设置为网卡的实际4个字节数据,而不是4个0, 相信结果会有不同.
请填写推广理由:
分享
只看
楼主