Uploaded image for project: 'Apache PLC4X'
  1. Apache PLC4X
  2. PLC4X-311

ADS driver lost with short replies for read requests

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • 0.9.0
    • None
    • Driver-ADS

    Description

      I began testing functionality which did work with ADS driver in 0.6 release. Part of the test was reading address 0xf00f/0x0 (it is elsewhere referred as SYM_UPLOADINFO2) which returns up to 24 bytes of data. First 4 is symbol count, next 4 is symbol list length. Not sure what are remaining ones.
      I made an attempt to read less than 24 bytes. All requests which query below 24 bytes get response which do not contain index group and offset.
      I attach PCAP which clearly indicates issue.

      Actual code:

      PlcConnection = new PlcDriverManager().getConnection("ads:tcp://...");
      ReadRequestBuilder readRequestBuilder = plcConnection.readRequestBuilder();
      PlcReadRequest request = readRequestBuilder
           // change array size to 23 to face the issue
          .addItem("symbol", "0xf00f/0x0:BYTE[24]").build();
      PlcReadResponse rsp = request.execute().whenComplete((r, e) -> {
          if (e != null) {
              e.printStackTrace();
          } else {
              dump(r);
          }
      }).get();
      

      TwinCAT: 2.11 (build 2286)
      Hardware: CX 9000-0001

      Tested with TwinCT: 3.1.4024.0 simulator and I get similar results when requesting data from 0xf00f register. For TC3 actual behavior is the same.

      Attachments

        1. amsads-shortanswer.pcapng
          0.6 kB
          Łukasz Dywicki

        Issue Links

          Activity

            People

              ldywicki Łukasz Dywicki
              ldywicki Łukasz Dywicki
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: