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

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

Thema: Übertragen von Temporären Variablen des OB86

  1. #11
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von CZach001 Beitrag anzeigen
    Währe es auch möglich das Doppelwort in die obigen bereiche aufzusplitten.

    So das ich im DB dann ein Byte mit der Nr. der DP Station ein Byte mit der Nr. der MastersystemID und ein Wort mit der log Basisadresse (wobei ich ja da dann das Bit 31 in diesem Wort nicht brücksichtigen darf.)
    Deklariere Deine 2 Bytes und das Word in einem DB, z.B.:
    Code:
    ...
     +8.0 OB86_Z_Slave    : BYTE : B#16#0		
     +9.0 OB86_Z_MasterID : BYTE : B#16#0		
    +10.0 OB86_Z_Base     : WORD : W#16#0		
    +12.0 ...
    Dann übertrage das DWORD #OB86_Z23 einfach absolut in den DB (Variante A) oder besser per symbolischen Zugriff auf den DB (Variante B oder C):
    Code:
    //(A) absolut in DB schreiben
          LAR1  P##OB86_Z23
          L     D [AR1,P#0.0]
          UD    DW#16#7FFFFFFF              //I/O-Kennung ausblenden
          T     DB86.DBD    8               //DB86.DBB8..DBB11
    
    //(B) symbolisch in DB schreiben
          LAR1  P##OB86_Z23
          L     B [AR1,P#3.0]
          T     "DB86".OB86_Z_Slave         //DB86.DBB8
          L     B [AR1,P#2.0]
          T     "DB86".OB86_Z_MasterID      //DB86.DBB9
          L     W [AR1,P#0.0]
          UW    W#16#7FFF                   //I/O-Kennung ausblenden
          T     "DB86".OB86_Z_Base          //DB86.DBW10
    
    //(C) symbolisch in DB schreiben
          LAR1  P##OB86_Z23
          L     D [AR1,P#0.0]
          T     "DB86".OB86_Z_Slave         //DB86.DBB8
          SRD   8
          T     "DB86".OB86_Z_MasterID      //DB86.DBB9
          SRD   8
          UW    W#16#7FFF                   //I/O-Kennung ausblenden
          T     "DB86".OB86_Z_Base          //DB86.DBW10
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. #12
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Versuch dich mal selbst ...
    Genau. Beim Programmtest wirst Du dann hoffentlich die kleinen Fehler in meiner Variante A und in Larrys Variante selber korrigieren können.
    Stichwort "Endian" (Position MSB und LSB im Speicher, Siemens verwendet Big Endian)

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #13
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.708
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Harald:
    Ja ... Alles klar ... Das kommt davon, wenn man den Code "nur" runterschreibt und nicht gegencheckt ...

    @TE:
    In einem Doppelwort (und das ist hier ja die Quelle - wegen der Struktur) stehen die einzelnen Bytes NICHT an der von mir angegebenen Stelle. Dazu kann man aber mittels der Step7-Hilfe etwas herausfinden. Ich lasse es also mit dem Nachsatz von Harald mal so stehen - auch wenn es falsch ist (aber eben nicht vollkommen falsch ...)

Ähnliche Themen

  1. Antworten: 12
    Letzter Beitrag: 18.05.2011, 23:57
  2. ANY-Pointer auf temporären Struct im FB
    Von ChristianPaier im Forum Simatic
    Antworten: 28
    Letzter Beitrag: 21.03.2010, 12:39
  3. OB86 - Erklärungen
    Von Gerri im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 07.07.2008, 16:53
  4. Problem beim Editieren der temporären Lokaldaten
    Von Onkel Dagobert im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 08.11.2004, 18:16
  5. Antworten: 11
    Letzter Beitrag: 19.08.2004, 15:33

Lesezeichen

Berechtigungen

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