Hexzahlen zusammenfassen

2009-05-12
2009-05-14
  • locker baumeln - 2009-05-12

    Hi,

    ich will 2 Hexzahlen zusammenfassen, also Zahl 1 ist zb AB und Zahl 2 CD.

    Ich will sie nicht addieren, sonder zusammenfassen, das die neue Zahl dann ABCD lautet.

    Danke für eure Hilfe

     
  • Anonymous - 2009-05-12

    Originally created by: Stephanie Kreutz

    Hi,

    entweder die OSCAT Funktion WORD_OF_BYTE oder ganz herkömmlich mit neueZahl := SHL(Zahl1, 8) OR Zahl2;

    wobei wahrscheinlich die OSCAT Bib das auch nicht wirklich anders machen wird...

    Gruß Steffi

     
  • locker baumeln - 2009-05-13

    Hi Steffi, danke für deine schnelle Antwort. Ich hab das jetzt so, nur leider Funktioniert das nicht.

    PROGRAM PLC_PRG

    VAR

    zahl1:BYTE:=16#AB;
    
    zahl2:BYTE:=16#CD;
    
    zahl3:BYTE;
    

    END_VAR

    zahl3 := SHL(zahl1, OR zahl2;

    ok, ist auch Möglich, dass ich dich da total falsch verstanden habe...

    Gruß

    Chris

     
  • locker baumeln - 2009-05-13

    upps, der smiley soll natürlich die 8 und die ) sein...

     
  • locker baumeln - 2009-05-13

    upps, der smiley soll natürlich die 8 und die ) sein...

     
  • Anonymous - 2009-05-13

    Originally created by: Stephanie Kreutz

    hast schon alles richtig verstanden,

    aber du kannst natürlich in einer variablen vom typ byte kein word speichern (zahl 3)

    wenn du die umdeklarierst sollte es funktionieren

    Gruß Steffi

     
  • Matze001 - 2009-05-13

    wenn das nicht klappt...

    XYZ_TO_STRING

    CONCAT (schreibt zwei Strings hintereinander)

    STRING_TO_XYZ

    Bissle umständlich, klappt aber

    MfG

    Marcel

     
  • Anonymous - 2009-05-13

    Originally created by: Stephanie Kreutz

    .. aber auch dann kann man kein word in einer variable vom typ byte speichern....

     
  • stonix - 2009-05-13

    Hallo locker baumeln, du bist schon aufm richtigen Weg. Du kannst die kleine Datentypen ohne Konvertierung in große zuweisen, aber die große Datentypen brauchen noch eine Konvertierungsfunktion.


    PROGRAM PLC_PRG
    VAR
       hex1:BYTE := 16#AB;
       hex2:BYTE := 16#12;
       hex3:WORD := 16#0000;  (*Initialisierung kann auch weggealssen werden*)
    END_VAR
    

    hex3 := SHL( hex1 , 8 ) OR hex2;  (*Wird zu 16#AB12*)
    (*****************und umgekehrt*********************)
    hex1 := WORD_TO_BYTE(SHR( hex3 , 8 ));
    hex2 := WORD_TO_BYTE( hex3 );
    

     
  • locker baumeln - 2009-05-14

    danke für die vielen Hilfen.

    Es funzt alles super. Das Problem war, das es im Simualtionsmodus nicht geklappt hat, wenn ich das Programm auf die Steuerung übertrage, klappt alles prima.

    Verstehe das wer will?

     

Log in to post a comment.