MarcusSPunkt
Level-1
- Beiträge
- 10
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo Leute,
ich (noch ein Anfänger) möchte gerne aus einem Funktionsbaustein heraus ein Eingangswort einlesen und dieses Wort an einem Ausgangswort wieder ausgeben. Die Anfangsadresse wird mir dazu als INT-Wert am FB als Eingang angegeben. Ich habe mir bereits was überlegt, weiß aber nicht, ob das so funktionieren wird, da ich keine Simulationssoftware habe kann ich es leider nicht prüfen. Also schaut bitte mal drüber und berichtigt mich (GANZ WICHTIG) bei Fehlern!
Beispiel: Eingangsvariable am FB (INT) Anfangsadresse zum Einlesen des Einangswortes 50: #Eingang=50
Eingangsvariable am FB (INT) Anfangsadresse zum Ausgeben am Ausgangsworte 40: #Ausgang=40
Es soll nun also das Merkerwort 50 in den FB eingelesen werden, Bitmanipulation vorgenommen werden und anschließend wieder in das Ausgangswort Mein Vorschlag (AWL):
Ich wüsste gerne, ob das so funktioniert! (Ich bin mir vor Allem bei dem Einlesen des Integer-Zahlenwertes nicht ganz sicher, ob ich daraus wie angegeben den Pointer machen kann, der dann auch wirklich auf das richtige Eingangswort bzw. Ausgangswort zeigt.)
Vielen Dank im Voraus,
Marcus
ich (noch ein Anfänger) möchte gerne aus einem Funktionsbaustein heraus ein Eingangswort einlesen und dieses Wort an einem Ausgangswort wieder ausgeben. Die Anfangsadresse wird mir dazu als INT-Wert am FB als Eingang angegeben. Ich habe mir bereits was überlegt, weiß aber nicht, ob das so funktionieren wird, da ich keine Simulationssoftware habe kann ich es leider nicht prüfen. Also schaut bitte mal drüber und berichtigt mich (GANZ WICHTIG) bei Fehlern!
Beispiel: Eingangsvariable am FB (INT) Anfangsadresse zum Einlesen des Einangswortes 50: #Eingang=50
Eingangsvariable am FB (INT) Anfangsadresse zum Ausgeben am Ausgangsworte 40: #Ausgang=40
Es soll nun also das Merkerwort 50 in den FB eingelesen werden, Bitmanipulation vorgenommen werden und anschließend wieder in das Ausgangswort Mein Vorschlag (AWL):
Code:
L #Eingang // einlesen
SLD 3
LAR1 // ergibt einen Pointer von P#50.0 im Adressregister1
L EW[AR1, P#0.0] // lädt das EW50
T MW0
(...Bitmanipulation am MW0...)
L #Ausgang // einlesen
SLD 3
LAR1 // ergibt einen Pointer von P#40.0 im Adressregister1
L MW0
T AW [AR1, P#0.0] // transferiert in das AW40
Ich wüsste gerne, ob das so funktioniert! (Ich bin mir vor Allem bei dem Einlesen des Integer-Zahlenwertes nicht ganz sicher, ob ich daraus wie angegeben den Pointer machen kann, der dann auch wirklich auf das richtige Eingangswort bzw. Ausgangswort zeigt.)
Vielen Dank im Voraus,
Marcus
Zuletzt bearbeitet: