Hi Julian, sorry for the late reply. I am using the 0.7 version.
Thanks for your help, Stefano Il gio 30 lug 2020, 07:49 Julian Feinauer <j.feina...@pragmaticminds.de> ha scritto: > Hey Stefano, I will try to have a look later today. Are you using plc4x > version 0.6 or 0.7? > > Thank you! > > Julian > > Holen Sie sich Outlook für Android<https://aka.ms/ghei36> > > ________________________________ > Von: Stefano Bossi <stefano.bo...@gmail.com> > Gesendet: Mittwoch, 29. Juli 2020, 12:32 > An: dev@plc4x.apache.org; Christofer Dutz > Betreff: Re: Reading Array of Int > > Thanks Chris, > > yes definitely this is a workaround, I am experimenting and learning. > > I really appreciate your time on the investigation of the issue. > > Thanks, > Stefano Bossi > > > > On 29/07/2020 12:08, Christofer Dutz wrote: > > Well that’s a workaround, but not a fix … > > We should focus on fixing this. > > I’ll investigate the issue as soon as I’m done with the Beckhoff ADS/AMS > stuff … > > Perhaps Julian could find some time to investigate? > > Chris > > > > Von: Stefano Bossi <stefano.bo...@gmail.com><mailto: > stefano.bo...@gmail.com> > Antworten an: <dev@plc4x.apache.org><mailto:dev@plc4x.apache.org> > Datum: Mittwoch, 29. Juli 2020 um 11:41 > An: <dev@plc4x.apache.org><mailto:dev@plc4x.apache.org> > Betreff: Re: Reading Array of Int > > > I have adopted a workaround reading all the INT variable separated. > > --connection-string 's7:tcp://192.168.1.192?controller-type=S7_1200' > --field-addresses '%DB1:274.0:INT' '%DB1:276.0:INT' '%DB1:278.0:INT' > '%DB1:280.0:INT' > > In this way on the wire you have: > the query: > > Frame 296: 111 bytes on wire (888 bits), 111 bytes captured (888 bits) on > interface utun2, id 0 > > Null/Loopback > > Internet Protocol Version 4, Src: 192.168.100.4, Dst: 192.168.1.192 > > Transmission Control Protocol, Src Port: 57188, Dst Port: 102, Seq: 48, > Ack: 50, Len: 67 > > TPKT, Version: 3, Length: 67 > > ISO 8073/X.224 COTP Connection-Oriented Transport Protocol > > S7 Communication > > Header: (Job) > > Parameter: (Read Var) > > Function: Read Var (0x04) > > Item count: 4 > > Item [1]: (DB 1.DBX 274.0 INT 1) > > Item [2]: (DB 1.DBX 276.0 INT 1) > > Item [3]: (DB 1.DBX 278.0 INT 1) > > Item [4]: (DB 1.DBX 280.0 INT 1) > > the answer: > > Frame 297: 89 bytes on wire (712 bits), 89 bytes captured (712 bits) on > interface utun2, id 0 > > Null/Loopback > > Internet Protocol Version 4, Src: 192.168.1.192, Dst: 192.168.100.4 > > Transmission Control Protocol, Src Port: 102, Dst Port: 57188, Seq: 50, > Ack: 115, Len: 45 > > TPKT, Version: 3, Length: 45 > > ISO 8073/X.224 COTP Connection-Oriented Transport Protocol > > S7 Communication > > Header: (Ack_Data) > > Parameter: (Read Var) > > Function: Read Var (0x04) > > Item count: 4 > > Data > > Item [1]: (Success) > > Item [2]: (Success) > > Item [3]: (Success) > > Item [4]: (Success) > > [INFO ] 10:15:44.727 it.fox.datapicker.HelloPlc4x.printResponse() - > Value[value-0]: 10 > > [INFO ] 10:15:44.733 it.fox.datapicker.HelloPlc4x.printResponse() - > Value[value-1]: 11 > > [INFO ] 10:15:44.737 it.fox.datapicker.HelloPlc4x.printResponse() - > Value[value-2]: 12 > > [INFO ] 10:15:44.741 it.fox.datapicker.HelloPlc4x.printResponse() - > Value[value-3]: 13 > > Unfortunately my java knowledge are not so advanced to fix the bug in > reading the array in a single command, anyway there’s a workaround. > > Hope this mail help some newbies like me to find the right way to read > data from the PLC. > > Regards, > Stefano > > On 28/07/2020 11:38, Stefano Bossi wrote: > > Dear plc4x forum, > > I have found a possible problem in reading an array of INT. > I am using the HelloPlc4x app for testing and I am trying to read the > field address: '%DB1:274.0:INT[3]' > > In the request, captured via wireShark I can see the query: > > Frame 3: 75 bytes on wire (600 bits), 75 bytes captured (600 bits) on > interface utun2, id 0 > > Null/Loopback > > Internet Protocol Version 4, Src: 192.168.100.4, Dst: 192.168.1.192 > > Transmission Control Protocol, Src Port: 54543, Dst Port: 102, Seq: 1, > Ack: 1, Len: 31 > > TPKT, Version: 3, Length: 31 > > ISO 8073/X.224 COTP Connection-Oriented Transport Protocol > > S7 Communication > > Header: (Job) > > Parameter: (Read Var) > > Function: Read Var (0x04) > > Item count: 1 > > Item [1]: (DB 1.DBX 274.0 INT 3) > > Variable specification: 0x12 > > Length of following address specification: 10 > > Syntax Id: S7ANY (0x10) > > Transport size: INT (5) > > Length: 3 > > DB number: 1 > > Area: Data blocks (DB) (0x84) > > Address: 0x000890 > > and the response: > > Frame 4: 75 bytes on wire (600 bits), 75 bytes captured (600 bits) on > interface utun2, id 0 > > Null/Loopback > > Internet Protocol Version 4, Src: 192.168.1.192, Dst: 192.168.100.4 > > Transmission Control Protocol, Src Port: 102, Dst Port: 54543, Seq: 1, > Ack: 32, Len: 31 > > TPKT, Version: 3, Length: 31 > > ISO 8073/X.224 COTP Connection-Oriented Transport Protocol > > S7 Communication > > Header: (Ack_Data) > > Parameter: (Read Var) > > Function: Read Var (0x04) > > Item count: 1 > > Data > > Item [1]: (Success) > > Return code: Success (0xff) > > Transport size: INTEGER (0x05) > > Length: 6 > > Data: 000a000b000c > > The 3 INT I would like to read are there: 000a, 000b, 000c but in the > response of: > > PlcReadResponse syncResponse = readRequest.execute().get(); > > only the first one is present. > > I read in jira that there was a similar bug here PLC4X-57< > https://issues.apache.org/jira/browse/PLC4X-57>< > https://issues.apache.org/jira/browse/PLC4X-57>, is this the same problem? > > Thanks for your help. > > Regards, > Steafano Bossi > > > > > >