Step 7 Hardware Speicherbereiche Blockweise kopieren

MBoerner

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,
ich arbeite erst seit sehr kurzer Zeit mit einer SPS.
An meiner S7-1200 habe ich einen BarcodeReader BL-1300 über ein N-L20 von Keyence.
Wenn der Barcode Reader einen Code liest, landet es im Speicherbereich %IB284 bis %IB391. Dort sehe ich auch ein gelesenes Zeichen
Ich möchte aber gern immer 10 Zeichen des gelesenen Codes auf einmal in einen Datenbaustein kopieren.

Ich dachte, dass es mit einem MOV_BLK geht, aber dort kann ich als Input nur Array-Elemente eingeben. Keine Adresse wie %IB284.
Ich schaffe es nur mit einem MOV und dann Byte für Byte.

Kann man hardware-inputs Blockweise übernehmen? Und wenn ja, wie?

Wenn es geht, ich hätte gern die Antwort mit einem screenshot von einem FUP, denn ich fange gerade an. Danke schön!

Vielen Dank im Voraus für Eure Hilfe

MBörner
 
Hallo,

das was du vorhast geht mit SFC14. Das ist ein Systembaustein von Siemens.
An LADDR musst du die Adresse angeben. Am besten schaust du unter den PLC-Variablen "Standard-Variablentabelle" im Reiter "Systemkonstanten".
Da solltest du den BarcodeReader finden. Per drag&drop an den SFC14 ziehen.
Dann nimmst Du halt noch deinen Ziel-DB und ziehst den Zielbereich an "RECORD"
An RET_VAL ein INT für die Diagnose anschließen.
F1 ist dein Freund wenn Du die Siemens-Hilfe zum Baustein brauchst.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn der E-Bereich keine Konsistenz ungleich 1, 2 oder 4 Bytes verlangt, dann wird SFC14 vermutlich nicht funktionieren.

Ich habe mal gelesen, daß man in dem TIA auch Arrays auf E-Adressen deklarieren kann ...

Ansonsten halte ich das einzel-Byte-weise Kopieren von 10 Bytes nicht als Beinbruch und würde deshalb zur "Verschönerung" des Codes keine großartigen Umstände veranstalten - sprich 10 einzelne MOVE wären kein Problem für mich.

Harald
 
Zuletzt bearbeitet:
Mit dem SFC14 (TIA hat es als DPRD_DAT umbenannt) hat es auf Anhieb funktioniert!
Ich wusste nichts von diesen Systemkonstanten.

Vielen Dank!
 
Zurück
Oben