Hey Chris,

Sadly I do not find the time to push that forward at the moment, sorry : /

Julian

Am 26.10.20, 20:07 schrieb "Christofer Dutz" <christofer.d...@c-ware.de>:

    Hi folks

    Guess the "String(10)[3]" issue is going to be a tricky one :-(
    Perhaps it's easier for me to also implement the automatic splitting of 
items that are itself too big for one packet.

    I was hoping on the proposed generic optimizer, but I guess I better get 
working on this myself and implement some basic rules manually.

    Or @Julian Feinauer ... any progress/plans for this?

    Chris


    Am 25.10.20, 23:42 schrieb "Christofer Dutz" <christofer.d...@c-ware.de>:

        Ok ... so I fixed most of the issues.

        So-far the problems I need to address are the following:

        - When using "BOOL[]" we have to read a bit-string (byte, word, dword) 
instead and filter out the bits that are not asked for.
        - When reading "STRING(x)[]" (limited strings), we have to split up the 
request into multiple items as the typical array notation doesn't work.
        - When reading bit-strings the order of the bits looks the wrong way 
around
        - When reading bit-string arrays, I would like to concatenate the 
values to one bit-string instead of returning lists of lists

        Chris




        Am 25.10.20, 21:59 schrieb "Christofer Dutz" 
<christofer.d...@c-ware.de>:

            Hi all,

            in order to have some good tests for the S7 protocol, I defined a 
lot of variables in one of the data-blocks of one of my S7 devices.
            I then created a little test program that should simply use this to 
read all sorts of types of elements.
            With these tests I found some things:


              *   In general all Bit-String operations, when reading arrays, 
produce lists of lists … I think it would be cooler if for bit-strings they 
would return one large List
              *   STRING handling seems to be messed up again
              *   When reading a BOOL array, it seems the S7 only returns the 
first bit (I would have expected it to send up to 8 bits in one byte and after 
that to add more bytes, but it’s always just one and that always just contains 
the first bit) -> We need to translate BOOL-array reads into bit-string 
operations which return partial lists.
              *   Reading of DATE_AND_TIME arrays seems to be messed up as only 
the first item is correct and the succeeding elements are always “null”
              *   Reading of CHAR values seems messed up

            I’ll be working on addressing this asap

            Chris





Reply via email to