greenapl1985 2020-01-17 10:33 采纳率: 50%
浏览 499
已采纳

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。
麻烦那位大神帮忙看一下,头大,试了一天了

  • 写回答

2条回答 默认 最新

  • ysuwood 2020-01-17 17:37
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 汇川EASY521plc电子凸轮
  • ¥15 C++ 如何判断设置快捷键来实现隐藏/显示窗口
  • ¥15 关于#材料工程#的问题:有没有具有电子阻挡层和空穴阻挡层的电池仿真silvaco代码例子或者其他器件具有阻挡层例子的silvaco代码(最好还有相关文献)
  • ¥60 基于MATLAB的TAOD算法
  • ¥15 Groimp使用疑问
  • ¥15 MDK–ARM里一直找不到调试器
  • ¥15 oracle中sql查询问题
  • ¥15 vue使用gojs3.0版本,在nodeDataArray中的iconSrc使用gif本地路径,展示出来后动画是静态的,不是动态的
  • ¥100 代写个MATLAB代码,有偿
  • ¥15 ansys electronics 2021 R1安装报错,错误代码2,如图