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

Ergebnis 1 bis 4 von 4

Thema: Bitverschiebung, interne Adressierung

  1. #1
    Registriert seit
    23.02.2012
    Beiträge
    87
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Schöne Grüße an die tolle Gemeinde hier,
    mir erschließt sich gerade nicht ganz der Sinn zur folgenden Auslegung?

    Innerhabl des Bereiches werden die ersten drei Bits von rechts für die Bitangabe reserviert und das Byte ab der dritten Stelle.
    Ist ja auch soweit Klar
    Dazu Folgendes Beispiel:

    Der Eingang E 8.5 soll abgefragt werden:
    L 8 Die Byte-Adresse wird in den Akku 1 geladen und durch Linksschieben um drei Stellen
    SLW 3 an die richtige Stelle platziert. Danach wird die Bit-Adresse geladen und mit der Byte-
    L 5 Adresse ODER verknüpft. Der Akkuinhalt wird dann dem Adressoperanden MD 10
    OW zugewiesen.
    T MD 10
    U E[MD 10] und schließlich abgefragt

    Ist auch alles soweit easy

    Wenn ich den Speicherinhalt wortweise einsehe, passiert das Ganze nur im MW12?
    Sollte dies nicht im MW10 von rechts (Startadresse MD10) geschehen, oder sehe ich das jetzt falsch?

    MD10
    MW12 MW10
    0000_0000_0100_0101 0000_0000_0000_0000


    DANKE!

    Mit freundlichen Grüßen
    Joosy
    Zitieren Zitieren Bitverschiebung, interne Adressierung  

  2. #2
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Genaugenommen geschieht es sogar nur im MB13.


    Das liegt daran, dass sich im MB10 das höchstwertige Byte und im MB13 das niederwertigste befindet und Du nur eine sehr kleine Adresse benutzt, die komplett ins MB13 passt.

    Also nicht so rum:
    Zitat Zitat von Joosy Beitrag anzeigen
    MD10
    MW12 MW10
    0000_0000_0100_0101 0000_0000_0000_0000

    sondern so:

    Code:
    MD10
    MW10                            MW12
    MB10            MB11            MB12            MB13
    M10.7 ... M10.0 M11.7 ... M11.0 M12.7 ... M12.0 M13.7 ... M13.0
    Geändert von hucki (24.08.2014 um 12:49 Uhr)

  3. #3
    Registriert seit
    12.03.2011
    Ort
    Erzgebirge
    Beiträge
    247
    Danke
    77
    Erhielt 29 Danke für 27 Beiträge

    Standard

    Das MW10 ist das höherwertige Wort. Dort erscheinen Bits, wenn die Adresse, welche du ansprechen willst > =8192 ist (wenn ich mich jetzt nicht verrechnet habe) .
    So weit geht aber das E-Prozessabbild sicherlich nicht. Außerdem müsstest du aus SLW ein SLD machen. Und aus eventuellen UW -> UD und OW -> OD.
    Sonst bleibt das MW10 leer

    Beste Grüße
    Holger

  4. #4
    Joosy ist offline Benutzer
    Themenstarter
    Registriert seit
    23.02.2012
    Beiträge
    87
    Danke
    14
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo holgero und hucki,
    so rum ist es denn auch klar.
    Ja klar, ich sollte, wenn schon dann auch SLD und OD bei einem DOPPELWORD verwenden.

    Schöne Grüße und vielen Dank!
    Joosy

Ähnliche Themen

  1. Fehler interne Datenstruktur
    Von Bensen83 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 10.06.2013, 01:24
  2. Interne Variablen am FB darstellen.
    Von c.wehn im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 25.01.2011, 06:51
  3. WinCC 6.2: remanente interne Variablen
    Von Thorsten W. im Forum HMI
    Antworten: 3
    Letzter Beitrag: 18.09.2007, 11:09
  4. interne Variablen in Protool
    Von Anonymous im Forum HMI
    Antworten: 14
    Letzter Beitrag: 15.09.2004, 19:56
  5. Antworten: 1
    Letzter Beitrag: 19.06.2003, 19:34

Lesezeichen

Berechtigungen

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