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

Ergebnis 1 bis 4 von 4

Thema: Ob86

  1. #1
    Registriert seit
    26.11.2009
    Beiträge
    41
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    kann mir bitte jemand diesen Programmcode erklären.
    Es stammt aus dem OB86. Aus dem MW122 konnte man die Adresse des gestörten Profibusteilnehmers entnehmen.

    L #OB86_RACKS_FLTD
    PUSH
    UD DW#16#FF
    T MW 122

    Gruß
    anger
    Zitieren Zitieren Ob86  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.788
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo,
    was ist dir hier nicht klar ?
    Der Befehl PUSH in dem Zusammenhang ?
    Oder die Beschaltung der Temp-Variablen des OB's ?
    Zu Beidem kann man in der Step7-Hilfe weitere Informationen bekommen ...
    ... oder ist es etwas Anderes ?

    Gruß
    Larry

  3. #3
    Anger ist offline Benutzer
    Themenstarter
    Registriert seit
    26.11.2009
    Beiträge
    41
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    Es handelt sich hauptsächlich um den Befehl PUSH und um UD.
    Laut Hilfe wird mit PUSH der Inhalt von Akku 1 in Akku 2 verschoben. Was mir aber nicht wirklich weiterhilft.

    Gruß
    Anger

  4. #4
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.367
    Danke
    457
    Erhielt 696 Danke für 521 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    "
    Zitat Zitat von Anger Beitrag anzeigen
    L #OB86_RACKS_FLTD
    PUSH
    UD DW#16#FF
    T MW 122
    Interessant ist hier eigentlich schon der Teil mit "L #OB86_RACKS_FLTD".
    #OB86_RACKS_FLTD ist eigentlich (wenn man den OB86 neu einfügt) ein Array[0..31] of Bool
    Kann also nicht direkt mit dem Lade-Befehl angefasst werden.
    Es gibt aber den alten Trick (hier wahrscheinlich auch gemacht) dass man den Datentyp in der Schnittstelle des OB einfach selbst auf DWORD stellt.
    (ist aber irgendwie unschön)

    Mit "L #OB86_RACKS_FLTD" hat man nun also den Wert von #OB86_RACKS_FLTD im Akku1.
    Wozu das Push dienen soll ist mir auch nicht klar. Danach hat man sowohl in Akku1 als auch in Akku2 den Wert von #OB86_RACKS_FLTD.
    Das einzige was ich mir vorstellen kann ist, da "UD DW#16#FF" den Wert von Akku 2 auch nicht ändert, dass damit der Wert von #OB86_RACKS_FLTD im Akku2 gerettet wird. Aber wozu? Kommt danach noch Code?

    Zum Inhalt von #OB86_RACKS_FLTD
    Code:
    - Bit 0 bis 7: Nr. der DP-Station
    - Bit 8 bis 15: DP-Mastersystem-ID
    - Bit 16 bis 30: logische Basisadresse bei einem S7-Slave bzw. Diagnoseadresse bei einem DP-Normslave
    - Bit 31: I/O-Kennung
    "UD DW#16#FF", steht dann für - Akku1 Doppelwortmäßig UND-Verknüpft mit der Konstanten: 0000 0000 0000 0000 0000 0000 1111 1111.
    Nach der Operation bleiben aus #OB86_RACKS_FLTD nur die unteren 8Bit erhalten. Das ist die Nr. der DP-Station.
    Geändert von RONIN (05.02.2015 um 18:56 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

Ähnliche Themen

  1. OB 85 vorrang gegenpber OB86???
    Von mitchih im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 14.07.2009, 23:18
  2. Frage zu OB86 - Ausfall DP Teilnehmer
    Von Andy Latte im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 16.03.2009, 10:04
  3. OB86 - spezielle Daten
    Von Gerri im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 12.11.2008, 15:46
  4. OB86 - Erklärungen
    Von Gerri im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 07.07.2008, 16:53
  5. DP Fehlerdiagnose mit OB86 ????
    Von Elektriktribbi im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 12.06.2006, 21:12

Lesezeichen

Berechtigungen

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