[ 
https://issues.apache.org/jira/browse/PLC4X-311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Łukasz Dywicki updated PLC4X-311:
---------------------------------
    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:
{code:lang=java}
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();
{code}

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

  was:
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:
{code:lang=java}
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();
{code}


> ADS driver lost with short replies for read requests
> ----------------------------------------------------
>
>                 Key: PLC4X-311
>                 URL: https://issues.apache.org/jira/browse/PLC4X-311
>             Project: Apache PLC4X
>          Issue Type: Bug
>          Components: Driver-ADS
>    Affects Versions: 0.9.0
>            Reporter: Łukasz Dywicki
>            Priority: Major
>              Labels: regresion
>         Attachments: amsads-shortanswer.pcapng
>
>
> 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:
> {code:lang=java}
> 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();
> {code}
> TwinCAT: 2.11 (build 2286)
> Hardware: CX 9000-0001



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to