Thanks you guys !!!! I have downloaded and compiled the develop code and now I cloud read the INT array without any problem!
You are managing a great project with a great support !!! Thanks, Stefano On 02/08/2020 21:08, Julian Feinauer wrote: > Hi, > > sorry for the delayed working on it but I just took a look and think I fixed > the issue. > > It seems that arrays where not properly implemented in the S7 Driver (?). > > I opened up a PR (https://github.com/apache/plc4x/pull/175) and hope that > @Christofer Dutz finds some time to have a quick look (as he did most of the > work there) and merge it, if he agrees with it. > > If you could try out the branch and give your feedback I would be happy. > > Thanks for the excellent preparation of work! : ) > > Julian > > Am 02.08.20, 20:40 schrieb "Julian Feinauer" <j.feina...@pragmaticminds.de>: > > Hi, > > I'm looking into it : ) > > J > > Am 01.08.20, 16:17 schrieb "Christofer Dutz" <christofer.d...@c-ware.de>: > > Hi Stefano, > > I think such a Jira would be a good idea. > > I’m currently working on the Beckhoff ADS and would try to have a > look as soon as possible. > > Chris > > > > Von: Stefano Bossi <stefano.bo...@gmail.com> > Antworten an: <dev@plc4x.apache.org> > Datum: Samstag, 1. August 2020 um 11:25 > An: <dev@plc4x.apache.org>, Julian Feinauer > <j.feina...@pragmaticminds.de> > Betreff: Re: Reading Array of Int > > Hi julian, > > if you need or think could simplify the development I could open a > jira ticket and upload a couple of pcap capture for you. > > As I wrote I am using the 0.7.0 version from Maven and I am talking > with a real Siemens 1200 with firmware 1.2 (pretty old but I didn't find a > way to upgrade it ). > > Let me know. > > Thanks for help. > > Regards, > Stefano > > On 30/07/2020 07:49, Julian Feinauer wrote: > > 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><https://aka.ms/ghei36> > > > > ________________________________ > > Von: Stefano Bossi > <stefano.bo...@gmail.com><mailto:stefano.bo...@gmail.com> > > Gesendet: Mittwoch, 29. Juli 2020, 12:32 > > An: dev@plc4x.apache.org<mailto: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><mailto:stefano.bo...@gmail.com><mailto:stefano.bo...@gmail.com> > > Antworten an: > <dev@plc4x.apache.org><mailto:dev@plc4x.apache.org><mailto: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><mailto: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><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 > > > > > > > > > > > > > >
signature.asc
Description: OpenPGP digital signature