[
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)