STEP 7 Professional V13.1 BLKMOV: Bereich kopieren BLKMOV: Bereich kopieren Beschreibung Mit der Anweisung "Bereich kopieren" kopieren Sie die Inhalte eines Speicherbereichs (Quellbereich) in einen anderen Speicherbereich (Zielbereich). Der Kopiervorgang findet in Richtung aufsteigender Adressen statt. Den Quell- und Zielbereich definieren Sie durch ANYZeiger. Hinweis In dieser Anweisung können Sie nur Datentypen verwenden, die auf einer CPU der Baureihe S7-300/400 gültig sind. Das folgende Bild zeigt das Prinzip des Kopiervorgangs: Konsistenz der Quelldaten und der Zieldaten Beachten Sie, dass während der Bearbeitung der Anweisung "Bereich kopieren" die Quelldaten unverändert bleiben, da sonst die Konsistenz der Zieldaten nicht gewährleistet ist. This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=74495465995&Language=de-DE&TopicId=67104518027 24.07.2016 STEP 7 Professional V13.1 BLKMOV: Bereich kopieren Unterbrechbarkeit Solange der Quellbereich nicht Teil eines Datenbausteins ist, der nur im Ladespeicher vorhanden ist, gibt es keine Begrenzung der Schachtelungstiefe. Bei Unterbrechung einer BLKMOV-Bearbeitung hingegen, bei der aus einem nicht ablaufrelevanten DB kopiert wird, kann eine solche BLKMOV-Bearbeitung nicht mehr eingeschachtelt werden. Speicherbereiche Mit der Anweisung "Bereich kopieren" können Sie die folgenden Speicherbereiche kopieren: • • • • • Bereiche eines Datenbausteins Merker Prozessabbild der Eingänge Prozessabbild der Ausgänge Nicht ablaufrelevante Datenbausteine Allgemeine Regeln beim Kopieren Quell- und Zielbereich dürfen sich nicht überlappen. Wenn der Quell- und der Zielbereich unterschiedlich lang sind, wird nur bis zur Länge des kleineren Bereichs kopiert. Wenn der Quellbereich kleiner als der Zielbereich ist, wird der Quellbereich komplett in den Zielbereich geschrieben. Die restlichen Bytes des Zielbereichs bleiben unverändert. Wenn der Zielbereich kleiner als der Quellbereich ist, wird der Zielbereich komplett beschrieben. Die restlichen Bytes des Quellbereichs werden ignoriert. Wenn ein Bereich vom Datentyp BOOL kopiert wird, muss die angegebene Länge des Bereichs durch 8 teilbar sein, da sonst die Anweisung nicht ausgeführt wird. Hinweis Falls der tatsächlich vorhandene Ziel- oder Quellbereich kleiner als ein am Parameter SRCBLK oder DSTBLK angegebener Ziel- oder Quellbereich ist, hängt das Verhalten vom CPU-Typ ab: • Für S7-300-CPUs gilt: Es werden keine Daten übertragen. Am Parameter RET_VAL wird der Fehlercode W#16#837F ausgegeben. Dieser Fehlercode muss in Ihrem Anwenderprogramm ausgewertet werden. • Für S7-400 V4-CPUs (V4, V4 H-CPU und V4.5. H-CPU) gilt: Es werden keine Daten übertragen. Am Parameter RET_VAL wird der Fehlercode W#16#8122 bzw. W#16#8323 ausgegeben. Dieser Fehlercode muss in Ihrem Anwenderprogramm ausgewertet werden. • Für alle anderen S7-400-CPUs gilt: Es werden Daten übertragen. Am Parameter RET_VAL wird der Fehlercode W#16#8122 bzw. W#16#8323 ausgegeben. Dieser Fehlercode muss in Ihrem Anwenderprogramm ausgewertet werden. This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=74495465995&Language=de-DE&TopicId=67104518027 24.07.2016 STEP 7 Professional V13.1 BLKMOV: Bereich kopieren Regeln beim Kopieren von Zeichenketten Mit der Anweisung "Bereich kopieren" können Sie auch Quell- und Zielbereiche vom Datentyp STRING kopieren. Wenn nur der Quellbereich vom Datentyp STRING ist, werden die Zeichen kopiert, die tatsächlich in der Zeichenkette enthalten sind. Informationen über tatsächliche und maximale Länge werden ebenfalls in den Zielbereich geschrieben. Wenn der Quell- und der Zielbereich jeweils vom Datentyp STRING sind, wird die aktuelle Länge der Zeichenkette im Zielbereich auf die Anzahl der tatsächlich kopierten Zeichen gesetzt. Falls Sie die Informationen über die maximale und tatsächliche Länge einer Zeichenkette kopieren wollen, geben Sie die Bereiche an den Parametern SRCBLK und DSTBLK in Bytes an. Regeln beim Kopieren von nicht ablaufrelevanten Datenbausteinen Der Quellbereich kann auch in einem nicht ablaufrelevanten Datenbaustein im Ladespeicher liegen. Datenbausteine, die nicht ablaufrelevant sind, werden mit dem Schlüsselwort UNLINKED gekennzeichnet. Wenn ein nicht ablaufrelevanter Datenbaustein mit der Anweisung "Bereich kopieren" in den Arbeitsspeicher kopiert und gleichzeitig z. B. durch das Programmiergerät geladen wird, kann die Bearbeitung der Anweisung um mehrere Millisekunden verzögert werden. Dies führt zu einer Verlängerung des OB-Zyklus und kann zum Ansprechen der Zykluszeitüberwachung führen. Wenn mit der Anweisung "Bereich kopieren" ein nicht ablaufrelevanter Datenbaustein kopiert wird und der Kopiervorgang unterbrochen wird, kann die Bearbeitung der Anweisung nicht mehr fortgesetzt werden. Falls auf Ihrer CPU die Anweisung "Aus Datenbaustein im Ladespeicher lesen" vorhanden ist, müssen Sie diese Anweisung zum Lesen von nicht ablaufrelevanten Datenbausteinen im Ladespeicher benutzen. Wenn Sie die Anweisung "Bereich kopieren" benutzen, wird der Fehler W#16#8092 ausgegeben. Syntax Für die Anweisung "Bereich kopieren" wird die folgende Syntax verwendet: SCL BLKMOV(SRCBLK := <Operand>, DSTBLK => <Operand>) Parameter Die folgende Tabelle zeigt die Parameter der Anweisung "Bereich kopieren": This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=74495465995&Language=de-DE&TopicId=67104518027 24.07.2016 STEP 7 Professional V13.1 BLKMOV: Bereich kopieren Parameter Deklaration Datentyp Speicherbereich Beschreibung SRCBLK Input ANY E, A, M, D, L, P Angabe des Speicherbereichs, der kopiert wird (Quellbereich). DSTBLK Output 1) ANY E, A, M, D, L, P Angabe des Speicherbereichs, in den kopiert wird (Zielbereich). INT E, A, M, D, L, P Fehlerinformationen Funktionswert (RET_VAL) 1) Der Parameter DSTBLK ist als Output deklariert, muss aber in der Bausteinschnittstelle als InOut deklariert werden. Weitere Informationen zu den gültigen Datentypen finden Sie unter "Siehe auch". Parameter RET_VAL Die folgende Tabelle zeigt die Bedeutung der Werte des Parameters RET_VAL: Fehlercode* (W#16#...) Erläuterung 0000 Kein Fehler 8092 Der Quell- oder Zielbereich liegt nur im Ladespeicher. 8xyy Weitere Fehlerinformationen finden Sie unter "Siehe auch". *Die Fehlercodes im Programmeditor können als Integer- oder Hexadezimalwert dargestellt werden. Informationen zur Umschaltung der Anzeigeformate finden Sie unter "Siehe auch". Beispiel Das folgende Beispiel zeigt die Funktionsweise der Anweisung: SCL "Tag_RetVal" := BLKMOV(SRCBLK := P#M100.0 BYTE 10, DSTBLK => P#DB1.DBX0.0 BYTE 10); Die Anweisung kopiert 10 Bytes ab MB100 und schreibt diese in den DB1. Wenn ein Fehler während des Kopiervorgangs auftritt, wird dessen Fehlercode in der Variable "Tag_RetVal" ausgegeben. Siehe auch → Übersicht über die gültigen Datentypen → SCL-Anweisungen eingeben → SCL-Anweisungen bearbeiten This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=74495465995&Language=de-DE&TopicId=67104518027 24.07.2016 STEP 7 Professional V13.1 BLKMOV: Bereich kopieren → Fehlerauswertung mit dem Ausgangsparameter RET_VAL → Anzeigeformate im Programmstatus umstellen This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete documentation can be found at: /dokumentation/default.aspx?DocVersionId=74495465995&Language=de-DE&TopicId=67104518027 24.07.2016
© Copyright 2025 ExpyDoc