-> Hier kostenlos registrieren
Hallo liebe Leute,
bin neu im Forum und daher erstmal ein herzliches "Hallo"!
Ich hab folgendes Problem, ich habe einen Funktionsbaustein programmiert, in meinem Falle FB002
dieser sieht so aus:
=> NAME ist ANLEIS
=> EI ist Eingang Byte
=> AU ist Ausgang Byte
Damit will ich im OB001 folgendes machen:
So ich lese in der FB002 vom übergebenen QW (analog Eingangs Perepherie Byte 128 ) den aktuellen Wert ein und lade in AKKU. Schiebe das Wort 3 Bits nach Rechts und gebe es zurück. Dann wird der Wert im MW10 gespeichert.
Das funktioniert einwandfrei.
Jetzt kommt's aber, wenn ich dann einen zweiten lesen möchte also folgend:
Dann steht im MW10 nur "404" dezimal. im MW11 ein richtiger Wert von "437" dezimal (habe ich vorher mit der Funktion "Status Bausteine" im STEP5 nachgesehen).
Wenn ich das nun beliebig verlängere, dann kommt man drauf, dass in den ersten immer "404" steht und im letzten Funktionsbausteinaufruf der richtige Wert des letzten Perepherie Eingangswortes.
Jetzt war der Versuch mit dem "NOP 0", siehe oben schon drin, um eventuell den akku auf "0" setzen zu müssen. Daran liegt es aber nicht, egal ob das drin is oder nicht.
Was habt ihr für welche Ideen?
(ich hab Bilder von den Code - Versuchen angehängt)
Grund dessen ist, ich muss ca. 40 Eingangsbytes einlesen und in Merkerwörter schreiben. Diese lese ich dann anschließend über das "TRÄGER S5LAN" Modul aus und verarbeite es in einer GLT-Software weiter.
danke
Mike
bin neu im Forum und daher erstmal ein herzliches "Hallo"!
Ich hab folgendes Problem, ich habe einen Funktionsbaustein programmiert, in meinem Falle FB002
dieser sieht so aus:
=> NAME ist ANLEIS
=> EI ist Eingang Byte
=> AU ist Ausgang Byte
Code:
L =EI
SRW 3
T =AU
Damit will ich im OB001 folgendes machen:
Code:
SPA FB 2
NAME: ANLEIS
EI: QW128
AU: MW 10
BE
So ich lese in der FB002 vom übergebenen QW (analog Eingangs Perepherie Byte 128 ) den aktuellen Wert ein und lade in AKKU. Schiebe das Wort 3 Bits nach Rechts und gebe es zurück. Dann wird der Wert im MW10 gespeichert.
Das funktioniert einwandfrei.
Jetzt kommt's aber, wenn ich dann einen zweiten lesen möchte also folgend:
Code:
SPA FB 2
NAME: ANLEIS
EI: QW128
AU: MW 10
NOP 0
SPA FB 2
NAME: ANLEIS
EI: QW130
AU: MW 11
BE
Dann steht im MW10 nur "404" dezimal. im MW11 ein richtiger Wert von "437" dezimal (habe ich vorher mit der Funktion "Status Bausteine" im STEP5 nachgesehen).
Wenn ich das nun beliebig verlängere, dann kommt man drauf, dass in den ersten immer "404" steht und im letzten Funktionsbausteinaufruf der richtige Wert des letzten Perepherie Eingangswortes.
Jetzt war der Versuch mit dem "NOP 0", siehe oben schon drin, um eventuell den akku auf "0" setzen zu müssen. Daran liegt es aber nicht, egal ob das drin is oder nicht.
Was habt ihr für welche Ideen?
(ich hab Bilder von den Code - Versuchen angehängt)
Grund dessen ist, ich muss ca. 40 Eingangsbytes einlesen und in Merkerwörter schreiben. Diese lese ich dann anschließend über das "TRÄGER S5LAN" Modul aus und verarbeite es in einer GLT-Software weiter.
danke
Mike
Zuletzt bearbeitet: