Probleme mit Bitaccess für Strukturen

Anonymous
2005-10-24
2005-10-26
  • Anonymous - 2005-10-24

    Originally created by: GP

    Hallo

    Ich habe folgende Datenstruktur definiert:

    TYPE Stepper_IF :

    STRUCT

    CTL0    :BYTE;
    
    {bitaccess mbx  5 'Mailbox ON'}
    
    {bitaccess ERR  6 'ERROR,read only}
    
    {bitaccess REQ_ACK  7 'MUSS 0 sein'}
    
    CTL1    :BYTE;
    

    END_STRUCT

    END_TYPE

    Wie kann ich auf das Bit zugreifen?

    Monitoring der Bits geht auch nicht, oder ich bin zu dumm.?

     
  • Dieter Hess - 2005-10-25

    Hallo GP,

    Bitaccess für Strukturen ist eher ein Spezialisten Feature, daß OEM-Kunden bei der Definition von Bibliotheken verwenden (woher kennen Sie überhaupt dies Feature?). Daher gibt es zwei nicht offensichtliche Randbedingungen die zum Funktionieren notwendig sind:

    • Die Bitoffsets müssen als globale Konstanten festgelegt sein also

    VAR_GLOBAL CONSTANT

    mbx: INT :=  5;
    
    ERR: INT := 6;
    
    REQ_ACK := 7;
    

    END_VAR

    • Bei Projekt/Optionen/Compiler muss "Konstanten ersetzten aktiviert sein

    Gruß

    Dieter Hess

     
  • Anonymous - 2005-10-26

    Originally created by: GP

    Hallo Herr Hess,

    ich habe drei Schrittmotormodule anzusteuern. Da ich die 40 bit nicht für jedes Modul neu anlegen will, habe ich Datenstrukturen definiert, über die ich mittels Zeiger auf die E/A's zugreifen will. Den Bitaccess habe ich in der Codesys-Hilfe gefunden. Dort gibt es sogar ein Beispiel dafür.

    Die Compileroptionen habe ich auch eingestellt. Es funktioniert aber trotzdem nicht.

    mfg

    Gero Pöschl

    Matrix Technologies GmbH

     

Log in to post a comment.