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

Ergebnis 1 bis 5 von 5

Thema: Hi-Word LowWord Tauschen

  1. #1
    Registriert seit
    08.08.2011
    Beiträge
    57
    Danke
    34
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich bekomme von einem Servotreiber einen Positionswert. bei diesem muss ich noch Hi und Lo word tauschen. leider geht es nicht im Systemmanager, weil noch ein word mit Statusbits dranhänft (also 6 Byte)
    Es gitbt die Oscatfunktio Swap_Byte2. Das würde prinzipiell gehen aber ich versuch immer so wenig wie möglich Bibliotheken von Dritten zu nutzen. Gibt es einen eleganten weg, wie man dass mit Beckhoffs Bordmitteln lößt?

    lg albert
    Zitieren Zitieren Hi-Word LowWord Tauschen  

  2. #2
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Das "Word" rotieren lassen?
    If you open your Mind too much, your Brain will fall out.

  3. Folgender Benutzer sagt Danke zu zotos für den nützlichen Beitrag:

    alb (26.04.2012)

  4. #3
    Registriert seit
    08.01.2007
    Beiträge
    54
    Danke
    1
    Erhielt 10 Danke für 8 Beiträge

    Standard

    Es gibt eine suche und sie funktioniert recht gut.
    gib ein "low high tauschen" und alles ist gut aber egal:

    MyDWORD:=ROR(MyDWORD,16);
    oder
    MyDWORD:=ROL(MyDWORD,16);

  5. Folgender Benutzer sagt Danke zu soma für den nützlichen Beitrag:

    alb (26.04.2012)

  6. #4
    Registriert seit
    01.10.2009
    Ort
    Regensburg
    Beiträge
    77
    Danke
    8
    Erhielt 11 Danke für 11 Beiträge

    Standard

    Hallo,

    mit dem Schnipsel tausche ich bei DINT(DWORD) hi und low word, da lässt sich sicher was für deinen Fall draus bauen.

    Code:
    FUNCTION fc_SwapDINT : DINT
    VAR_INPUT
        diInput        : DINT;
    END_VAR
    VAR
        pIn1            : POINTER TO WORD;
        pIn2            : POINTER TO WORD;
        pTmp            : POINTER TO WORD;
        diTmp            : DINT;
    END_VAR
    
    pIn1 := ADR(diInput);
    pIn2 := pIn1 + 2;
    pTmp := ADR(diTmp);
    
    pTmp^ := pIn2^;
    pTmp  := pTmp + 2;
    pTmp^ := pIn1^;
    
    fc_SwapDINT := diTmp;
    hoffe es hilft dir weiter

    cheers

  7. Folgender Benutzer sagt Danke zu DaHauer für den nützlichen Beitrag:

    alb (26.04.2012)

  8. #5
    alb ist offline Benutzer
    Themenstarter
    Registriert seit
    08.08.2011
    Beiträge
    57
    Danke
    34
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Thx to all.

    @soma:
    Suchfunktion:
    entschuldigung, ich weiß dass das sclechter stiel ist. und trotzdem passiert es manchmal dass man es sich einfach machen will.
    rol, ror war funktionert wunderbar

Ähnliche Themen

  1. Sicherheitsmodul tauschen
    Von godi im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 15.04.2014, 11:51
  2. Bausteine tauschen
    Von rogseut im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 26.04.2011, 21:31
  3. S5 CP143 tauschen
    Von flatlinerjb im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 29.10.2009, 10:08
  4. CPU 943 tauschen
    Von alonely01 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 22.11.2006, 16:45

Lesezeichen

Berechtigungen

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