PLC TCP通信报错10061

电脑通过网口连接三菱PLC,可以ping的通,但用以下代码就一直报10061的错误:

int main()
{

    // initialize winsock
    WORD wVer = MAKEWORD(1, 1);   // version NO:1.1, #include <WINSOCK.H>
    WSADATA wData;
    int err = WSAStartup(wVer, &wData);

    if (err)
    {
        printf("cannot initialize WinSock\n");

        return 1;
    }

    // 建立SOCKET通信
    SOCKET s = 0;
    s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

    struct sockaddr_in server;
    server.sin_family = AF_INET;
    server.sin_port = htons(1); // ASA standard port
    server.sin_addr.s_addr = inet_addr("192.168.3.250");

    // 建立CONNECT连接
    int i = connect(s, (sockaddr *)&server, sizeof(sockaddr_in));
    if (i < 0) // #define SOCKET_ERROR            (-1)   
    {
        printf("connect - error %d\n", WSAGetLastError());
        closesocket(s);
        WSACleanup();

        return 1;
    }

    return 0;
}

运行到connect指令就会返回10061的错误码,在cmd里ping 192.168.3.250是没问题的,但是htons( )里的端口号我不能确定,也不知道三菱PLC有没有默认的端口号,试了很多,除了给0会报10049的错误外,其它都是报10061。
麻烦那位大神帮忙看一下,头大,试了一天了

c++
greenapl1985
greenapl1985 https://download.csdn.net/download/qingtian_xu/11835235#comment
大约一个月之前 回复
greenapl1985
greenapl1985 问题已经解决了,ysuwood说的对,需要下一个PLC调试助手,为PLC绑定端口,然后再连接就可以了,给大家推荐一个很好用的调试工具
大约一个月之前 回复

2个回答

1、建议你下载一个网络调试助手,在PC端运行;
2、规划好PLC和PC, 谁做Server谁做Client;
3、先把PLC侧程序做好;PC侧用网络调试助手;
4、然后开发PC侧程序。
即PLC侧也需要编程的。

greenapl1985
greenapl1985 多谢,下了一个PLC调试工具,绑定端口,再用自己的代码连接就可以了,只是不知道除了用现有工具绑定端口外,如何用自己的代码给PLC绑定端口
大约一个月之前 回复

10061 —WSAECONNREFUSED
连接被拒。由于被目标机器拒绝,连接无法建立。这通常是由于在远程机器上,没有任何应用程序可在那个地址之上,为连接提供服务

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

1
欧姆龙NJ系列c#写的界面程序通过sysmacgateway怎么和PLC通信
2
python的serial连接三菱PLC时,为什么不管输入什么都返回95?
2
一副图片如何通过图像处理处理成可供如绗缝机处理的信息。
0
在虚拟机中安装的AB PLC软件使用以太网通讯总是失败?请大神解答一下
0
KepServer通过ODBC驱动读取oracle数据库报错
2
C#多线程访问PLC MXComponent
2
我小白拼凑一程序,VC++控制台程序用API函数与三菱PLC串口通信,但写不进读不出求大神指点
2
PC能直接通过串口向PLC写入此类字符串吗?“2 30 30 30 38 30 30 31 3 35 43”需要转码什么的吗?
1
工厂产品扫码要把测试记录上传数据库,要怎么实现?
3
[求助]关于Modbus通讯,一主多从,通讯卡顿
3
JS十六进制字符串转字符串问题
1
c#如何给台达Plc的D0写入65536,然后读取D0的值?
2
C# USB转串口程序问题
1
询问大佬,怎么把Excle数据按照HTTP-POST协议转换成json数据类型发送到给定接口?
1
求解三菱PLC中BIN、BCD指令和变址寄存器的一个应用示例其中几个细节?
1
C#通过pc access SAMRT与S7-200 SMART通讯,上位如何实时读PLC的变量,包括I/O信号
1
使用VC调用别人用Delphi做的动态库访问冲突且无法加载请问是什么原因呢?
0
java程序读取PLC的浮点数,读取到的小数位错误,请问如何解决?
1
Modbus poll工具与台达plc通讯读取寄存器D0的值,读不了,大神看看该怎么做?
1
类的定义和它的成员函数的实现分开放会报错