Mit UNION Bit-Array auf WORD verknüpfen

Michl-1982
2016-08-30
2016-09-09
  • Michl-1982 - 2016-08-30

    Servus,

    habe in einem DUT ein UNION bestehend aus 4x WORD und einem Bitfeld (BOOLs + Array).


    TYPE PD_STO_BIT :
    STRUCT
    sto_mld_vo_wa: BOOL;
    sto_nata: BOOL;
    sto_bhta: BOOL;
    sto_ext: BOOL;
    sto_bit : ARRAY [4..63] OF BOOL;
    END_STRUCT
    END_TYPE


    TYPE PD_STO_WORD :
    STRUCT
    word_1: WORD:=0;
    word_2: WORD:=0;
    word_3: WORD:=0;
    word_4: WORD:=0;
    END_STRUCT
    END_TYPE


    TYPE PD_UNION_BOOL_WORD :
    UNION
    sto_word:PD_STO_WORD;
    sto_bit:PD_STO_BIT;
    END_UNION
    END_TYPE


    Jetzt trägt mir Codesys im WORD3 den Wert 1 ein (habe mittlerweile gelesen, dass Codesys für ein BOOL ein BYTE adressiert). Gibt es einen anderen Weg, um die beiden genau übereinander zu legen? Von S7 kenne ich hier die Sichten auf den Bereich.

    Danke

    Michael

     
  • Michl-1982 - 2016-09-09

    Servus,

    so habs ichs derweil auch erstmal gelöst.
    Da es bei mir um 64bits geht, ein bißchen Unübersichtlich. Array mit bits geht leider auch nicht....

    Gruß

    Michael

     

Log in to post a comment.