Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 47324

Word in Array Of Byte einfügen

$
0
0
Guten Abend liebes Forum


Ich bin neu hier, also seit etwas gnädig mit mir.:)

Zu meinem Problem:


Ich habe einen Antrieb der über Profibus angesteuert werdensoll. Soweit so gut.
Für die Ansteuerung stehen mir Inputs und Outputs generierendurch das in TwinCAT eingelesenen GSD-File zur Verfügung.
Input:ARRAY [0..4] of Byte
Output:ARRAY [0..2] of Byte
Die Datenzuordnung habe ich als .jpg angehängt
Es steht also ein AW0 (Word) für die Soll-Position sowie ein EW0 für die Ist-Positionzur verfügung.

Mein Problem zur Zeit ist, das ich mir Gedanken darübergemacht habe wie ich die verschiedenen Stellungen als z.B INT Zahlen in das AW0und danach in den Output also in das ARRAY of Byte bringen kann.

Meine ersten Versuche dafür sehen so aus:
Code:

FUNCTION_BLOCK MP_BUS_BELIMO
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
 IST_Position_link AT %I*: ARRAY [0..4] OF BYTE;
 SOLL_Position_link AT %Q*: ARRAY [0..2] OF BYTE;
 IST_Position:WORD;
 SOLL_Position: INT;
 Temp_Wert: WORD;
END_VAR

Code:


IST_Position:= SHL(BYTE_TO_WORD(IST_Position_link[0]),8 ) + BYTE_TO_WORD(IST_Position_link[1]);

SOLL_Position:=100;
Temp_Wert:= INT_TO_WORD(SOLL_Position);
SOLL_Position_link[1]:= WORD_TO_BYTE(SHR(Temp_Wert,8));
SOLL_Position_link[0]:= WORD_TO_BYTE((Temp_Wert));

Ich würde mich über jede Hilfe freuen
Angehängte Grafiken

Viewing all articles
Browse latest Browse all 47324


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>