Sonstiges Scout - INT zu ARRAY[0..1] OF BYTE

SpsAccount

Level-1
Beiträge
14
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich arbeite zur Zeit an einer Projektierung von IO-Link in einer SIMOTION.
Mein Problem: Alle Daten die ich wegschicke müssen als Bytes übergeben werden.

Da ich die Daten allerdings über ein HMI angeben weill, kann ich die Daten nicht direkt als Byte im Programm eintragen.
Daher sollen die im HMI eingegebenen INT-Werte im Simotion Programm zum Byte-Array umgewandelt werden, allerdings weiß ich nicht wie das gehen soll.

Ich habe schon die Funktion ANYTYPE_TO_LITTLEBYTEARRAY versucht, aber ohne Erfolg da dann die Fehlermeldung kommt:
'Fehler 09:32:11 CLASS_IO_Link(105) : 6036 :Konstantenwert liegt ausserhalb des Definitionsbereichs von ""ANYTYPE_TO_LITTLEBYTEARRAY "ARRAY [..] OF BYTE"'

Das ist der provisorische dazugehörige Programmabschnitt:
Code:
METHOD PUBLIC m_aby_intToByteArray  : ARRAY[0..1] OF BYTE
            VAR_INPUT
                i_input     : INT;
            END_VAR
            VAR_IN_OUT
                aby_byteArray : ARRAY[..] OF BYTE;
            END_VAR
            
            aby_byteArray := ANYTYPE_TO_LITTLEBYTEARRAY(i_input, 0);
            m_aby_intToByteArray[0]     := aby_byteArray[0];
            m_aby_intToByteArray[1]     := aby_byteArray[1];
        END_METHOD
 
Geht es mit dieser Code?

Code:
[COLOR=#333333][FONT=Courier]METHOD PUBLIC m_aby_intToByteArray  : ARRAY[0..1] OF BYTE[/FONT][/COLOR]            VAR_INPUT
                i_input     : INT;
            END_VAR
            VAR_IN_OUT
                aby_byteArray : ARRAY[..] OF BYTE;
            END_VAR
            
             aby_byteArray[0] :=i_input.%B0);
             aby_byteArray[1] :=i_input.%B1);
            m_aby_intToByteArray  := aby_byteArray;
            [COLOR=#333333][FONT=Courier]
      END_METHOD[/FONT][/COLOR]
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Geht es mit dieser Code?

Code:
[COLOR=#333333][FONT=Courier]METHOD PUBLIC m_aby_intToByteArray  : ARRAY[0..1] OF BYTE[/FONT][/COLOR]            VAR_INPUT
                i_input     : INT;
            END_VAR
            VAR_IN_OUT
                aby_byteArray : ARRAY[..] OF BYTE;
            END_VAR
            
             aby_byteArray[0] :=i_input.%B0);
             aby_byteArray[1] :=i_input.%B1);
            m_aby_intToByteArray  := aby_byteArray;
            [COLOR=#333333][FONT=Courier]
      END_METHOD[/FONT][/COLOR]

Leider nicht.
 
Zurück
Oben