qq_37044889
荃荃权
2020-12-03 18:00
采纳率: 100%
浏览 69
已采纳

javaTCP协议向西门子1200PLC发送数据,需要用什么格式呢?发过去一直对应不上

使用socket

OutputStream去发送数据到PLC,为啥发过去的数据和代码定义的不一致呢?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • zte1055889498
    XKIND 2020-12-03 18:23
    已采纳
    // 创建Socket对象
    Socket socket = new Socket("127.0.0.1", 10000);
    // 要发送的字节数组
    // ......
    byte[] content = new byte[4096];
    // ......
    // 传输字节流
    DataOutputStream out = new DataOutputStream(socket.getOutputStream());
    out.write(content, 0, content.length); 
    out.close();
    // 关闭Socket连接
    socket.close();
    点赞 评论
  • qq_37949192
    Iot-Mr.Qu 2020-12-03 19:09

    1、可以换用netty搭建,会方便一点(推荐)

    2、发送的都是对应的16进制数据,需要你自己转化后按照对方要求的格式发送过去的,比如开头第一位是id编号,第二位是标志位等,这些都是需要把对应的数字转化为16进制发送

    点赞 评论
  • qq_37044889
    荃荃权 2020-12-16 13:14

    上位机做服务端同时也会接收数据,PLC作为客户端就没办法接收我发过去的命令了

    点赞 评论

相关推荐