Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 12 von 12

Thema: Aus 200Byte je 1Bit auslesen diese nacheinander abspeichern aber mit verdrehten Bytes

  1. #11
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Fabix Beitrag anzeigen
    Ich habe in einem DB einen Bereich bei dem ich jedes gerade bit .7 auslesen möchte und in ein dw schreiben möchte.
    Hallo Fabix,

    hier ist mal ein kurzes Programmbeispiel:

    Code:
    FUNCTION FC 100 : VOID
    TITLE =Bits lesen und speichern
    AUTHOR : KAI
    FAMILY : SPSFORUM
    NAME : BITS
    VERSION : 1.0
     
    VAR_INPUT
      QUELLE_ADRESSE : POINTER ;    
      QUELLE_LAENGE : INT ; 
      ZIEL_ADRESSE : POINTER ;  
    END_VAR
    VAR_TEMP
      DB_REGISTER : WORD ;  
      AR1_REGISTER : DWORD ;    
      AR2_REGISTER : DWORD ;    
      QUELLE_DB_NUMMER : WORD ; 
      ZIEL_DB_NUMMER : WORD ;   
      SCHLEIFE : INT ;  
    END_VAR
    BEGIN
    NETWORK
    TITLE =DB-Register und Adressregister AR1 und AR2 sichern
     
          L     DBNO; // DB-Register
          T     #DB_REGISTER; 
     
          TAR1  #AR1_REGISTER; // AR1-Register
     
          TAR2  #AR2_REGISTER; // AR2-Register
     
    NETWORK
    TITLE =Bits lesen und speichern
     
          L     P##QUELLE_ADRESSE; // QUELLE POINTER
          LAR1  ; 
     
          L     W [AR1,P#0.0]; // QUELLE DB-Nummer
          T     #QUELLE_DB_NUMMER; 
     
          L     D [AR1,P#2.0]; // QUELLE Bereichszeiger 
          LAR1  ; 
     
     
          L     P##ZIEL_ADRESSE; // ZIEL POINTER
          LAR2  ; 
     
          L     W [AR2,P#0.0]; // ZIEL DB-Nummer
          T     #ZIEL_DB_NUMMER; 
     
          L     D [AR2,P#2.0]; // ZIEL Bereichszeiger
          LAR2  ; 
     
     
          L     #QUELLE_LAENGE; // QUELLE Länge
    M01:  T     #SCHLEIFE; // Schleife
     
          AUF   DB [#QUELLE_DB_NUMMER]; // QUELLE Bit
          U      [AR1,P#0.7]; 
          AUF   DB [#ZIEL_DB_NUMMER]; // ZIEL Bit
          =      [AR2,P#0.0]; 
     
          L     P#2.0; // QUELLE Bereichszeiger
          +AR1  ; 
     
          L     P#0.1; // ZIEL Bereichszeiger
          +AR2  ; 
     
          L     #SCHLEIFE; // Schleife
          LOOP  M01; 
     
    NETWORK
    TITLE =DB-Register und Adressregister AR1 und AR2 wiederherstellen
     
          AUF   DB [#DB_REGISTER]; // DB-Register
     
          LAR1  #AR1_REGISTER; // AR1-Register
     
          LAR2  #AR2_REGISTER; // AR2-Register
     
    END_FUNCTION
    Gruß Kai
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg VAT.jpg (330,2 KB, 17x aufgerufen)
    Angehängte Dateien Angehängte Dateien

  2. #12
    Registriert seit
    16.10.2007
    Ort
    Ba Wü
    Beiträge
    61
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Lächeln


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Kai,

    genau soetwas habe ich gesucht.

    Vielen Dank.

    Gruß Fabix
    Zitieren Zitieren 1 aus vielen  

Ähnliche Themen

  1. Datenbaustein auslesen aber wie???
    Von Black Scorpion im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 26.06.2009, 11:53
  2. nacheinander bytes aus db in ein merker kopieren
    Von Robert_k im Forum Simatic
    Antworten: 32
    Letzter Beitrag: 09.05.2008, 21:18
  3. Antworten: 5
    Letzter Beitrag: 14.06.2005, 14:55
  4. pew auslesen und fortlaufend in ein Array abspeichern
    Von Anonymous im Forum Programmierstrategien
    Antworten: 0
    Letzter Beitrag: 13.06.2005, 18:13
  5. pew auslesen und fortlaufend in ein Array abspeichern
    Von Anonymous im Forum Programmierstrategien
    Antworten: 0
    Letzter Beitrag: 13.06.2005, 17:59

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •