lldeckblatt Migration von AWL-Programmen nach S7-1500 STEP 7 (TIA Portal) V12 FAQ Januar 2013 Service & Support Answers for industry.



Ähnliche Dokumente
Service & Support. Warum erscheinen andere WinCC- Stationen nicht unter der Netzwerkumgebung am Windows 7 oder Windows Server 2008 PC?

Service & Support. Wie kann ein WinCC (TIA Portal) Projekt über Ethernet auf ein Bediengerät übertragen werden? WinCC (TIA Portal) FAQ Februar 2012

S7-Hantierungsbausteine für R355, R6000 und R2700

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Task: Nmap Skripte ausführen

Zwischenablage (Bilder, Texte,...)

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

KURZANLEITUNG MSDAS DMS SYSTEM - SILVERDAT II SCHNITTSTELLE

Artikel Schnittstelle über CSV

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Individuelle Formulare

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Internet online Update (Internet Explorer)

Handbuch ZfEditor Stand

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Kommunikations-Management

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Neue Steuererklärung 2013 erstellen

AUF LETZTER SEITE DIESER ANLEITUNG!!!

Lehrer: Einschreibemethoden

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

lldeckblatt Einsatzszenarien von SIMATIC Security-Produkten im PCS 7-Umfeld SIMATIC PCS 7 FAQ Mai 2013 Service & Support Answers for industry.

Realisierung von UMCM über den IBH Link UA mit Simatic S5 und S7 Steuerungen

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Tutorial: Wie kann ich Dokumente verwalten?

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

System-Update Addendum

Persönliches Adressbuch

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Die Dateiablage Der Weg zur Dateiablage

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

6 Das Kopieren eines bereits bestehenden Inhaltselements

Benutzeranleitung Superadmin Tool

Benutzerkonto unter Windows 2000

Microsoft Access 2013 Navigationsformular (Musterlösung)

Projekte Packen, Kopieren und Versenden

Technical Note 0301 ewon

Success! Bestellausgabe

Miete6-Schnittstelle. Miete6 - Schnittstelle. procar informatik AG Stand: 07/2009 Eschenweg Weiterstadt 1

Technical Note 0302 ewon

Der digitale. Workflow Workflow. [PDF-Erstellung aus CorelDraw für Windows]

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Das EDV-Cockpit mit MindManager für SharePoint

einrichtung in den kaufmännischen Programmen der WISO Reihe

Die aktuelle Version des SPIEGEL-Bestseller-Widgets können Sie auf unserer Website unter Entwicklertools herunterladen.

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Outlook 2000 Thema - Archivierung

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Vergleich: Positionen der Word 2003-Befehle in Word

Codex Newsletter. Allgemeines. Codex Newsletter

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Einfügen von Bildern innerhalb eines Beitrages

Anleitung ftp-zugang Horn Druck & Verlag GmbH Bruchsal

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

IDS-Connect Warenkorbaustausch mit dem Großhandel Kurzbeschreibung

Service & Support. Was sind die Vorraussetzungen für einen Client-Server-Betrieb mit Simatic WinCC (<V5 & V5)? WinCC.

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

etermin Einbindung in Outlook

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

transfer.net Erste Schritte mit transfer.net

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Vorgehensweise bei Lastschriftverfahren

Benutzerhandbuch MedHQ-App

Sophos Anti-Virus. ITSC Handbuch. Version Datum Status... ( ) In Arbeit ( ) Bereit zum Review (x) Freigegeben ( ) Abgenommen

GE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen

Service & Support. Wie kann der Rücktransfer von Projekten eines Bediengerätes durchgeführt werden und was ist dabei zu beachten? SIMATIC Bediengeräte

Anhang zum Handbuch. Netzwerk

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Kurzanleitung MAN E-Learning (WBT)

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Urlaubsregel in David

Stammdatenanlage über den Einrichtungsassistenten

Update-Anleitung für SFirm 3.1

Seriendruck mit der Codex-Software

BSV Software Support Mobile Portal (SMP) Stand

Überprüfung der digital signierten E-Rechnung

Stapelverarbeitung Teil 1

Erstellen einer PostScript-Datei unter Windows XP

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Kurzanleitung: Abonnenten-Import

Subpostfächer und Vertretungen für Unternehmen

Netzwerk-Migration. Netzwerk-Migration IACBOX.COM. Version Deutsch

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Einstellen der Makrosicherheit in Microsoft Word

Navigieren auf dem Desktop

Multiplayer Anweisungen

Anleitung zur Verwendung der VVW-Word-Vorlagen

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

VERWALTUNG. Postfächer, Autoresponder, Weiterleitungen, Aliases. Bachstraße 47, 3580 Mödring

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Anwendungsbeispiele Buchhaltung

Anleitung Grundsetup C3 Mail & SMS Gateway V

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Checkliste für die Behebung des Problems, wenn der PC Garmin USB GPS-Geräte nicht erkennt.

Transkript:

lldeckblatt Migration von -Programmen nach S7-1500 STEP 7 (TIA Portal) V12 FAQ Januar 2013 Service & Support Answers for industry.

Migration von -Programmen nach S7-1500 Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es gelten die dort genannten Nutzungsbedingungen (www.siemens.com/nutzungsbedingungen). Durch den folgenden Link gelangen Sie direkt zur Downloadseite dieses Dokuments. http://support.automation.siemens.com/ww/view/de/<beitrags-nr> Vorsicht Die in diesem Beitrag beschriebenen Funktionen und Lösungen beschränken sich überwiegend auf die Realisierung der Automatisierungsaufgabe. Bitte beachten Sie darüber hinaus, dass bei Vernetzung Ihrer Anlage mit anderen Anlagenteilen, dem Unternehmensnetz oder dem Internet entsprechende Schutzmaßnahmen im Rahmen von Industrial Security zu ergreifen sind. Weitere Informationen dazu finden Sie unter der Beitrags-ID 50203404. http://support.automation.siemens.com/ww/view/de/50203404 2 STEP 7 (TIA Portal) V12

Migration von -Programmen nach S7-1500 1 Migration von -Programmen nach S7-1500... 4 1.1 Hinweise zur Migration von -Programmen... 4 1.2 Werteübergabe über Register bei Sprachwechsel... 6 1.3 Werteübergabe über Register oder das Statuswort beim Bausteinaufruf... 7 1.4 Werteübergabe über Register mit den Anweisungen CC und UC... 8 1.5 Vollqualifizierte Adressen in... 9 1.6 Teilqualifizierte Adressen in... 10 1.7 Zugriffe auf den Instanz-DB in...12 STEP 7 (TIA Portal) V12 3

Migration von -Programmen nach S7-1500 1 Migration von -Programmen nach S7-1500 1.1 Hinweise zur Migration von -Programmen Übergabe von Werten über Register und Statuswort Um eine möglichst performante Programmbearbeitung auf CPUs der Baureihe S7-1500 zu erreichen, sind Wertübergaben zwischen Bausteinen prinzipiell nur über die Bausteinschnittstelle, über globale Datenbausteine oder über PLC-Variablen zulässig. Die Möglichkeit der Wertübergabe über Register (z. B. Akkumulatoren, AR1, AR2, DB, DI) oder das Statuswort besteht in KOP und FUP nicht. In ist die Wertübergabe mit einigen Einschränkungen möglich. Beachten Sie jedoch, dass sich die Programmbearbeitung verlangsamt, wenn Sie diese Bereiche nutzen, um Werte zwischen verschiedenen Bausteinen zu übergeben. Folgende Regeln gelten für : Die Inhalte der Register, der Akkumulatoren und des Statuswortes stehen nur innerhalb von -Netzwerken zur Verfügung. Wenn ein KOP- oder FUP-Netzwerk auf ein - Netzwerk folgt, können Sie aus dem KOP- oder FUP-Netzwerk heraus nicht auf die Registerinhalte zugreifen, die zuvor in gesetzt wurden. In einem nachfolgenden -Netzwerk stehen die Registerinhalte jedoch wieder zur Verfügung. Eine Ausnahme bildet das VKE-Bit: Es wird bei einem Sprachwechsel auf "undefiniert" gesetzt und steht in nachfolgenden Netzwerken nicht mehr zur Verfügung. Die Werte aus Registern, Akkumulatoren und dem Statuswort werden grundsätzlich nicht an aufgerufene Bausteine übergeben. Eine Ausnahme besteht nur bei den Anweisungen "CC" und "UC". Wenn Sie "UC" oder "CC" verwenden und dem aufgerufenen Baustein Parameter über Register, Statuswort oder Akkumulatoren übergeben möchten, müssen Sie in den Eigenschaften des aufgerufenen Bausteins die Option "Parameterversorgung über Register" aktivieren. Beachten Sie, dass diese Option nur für -Bausteine mit Standardzugriff zur Verfügung steht und der Baustein keine Formalparameter haben darf. Wenn die Option aktiviert ist, können Sie Registerinhalte zwischen Bausteinen übergeben. Eine Ausnahme bildet auch hier das VKE-Bit: Es wird beim Verlassen des Bausteins auf "undefiniert" gesetzt und steht nach einem Bausteinaufruf nicht mehr zur Verfügung. Um eine Fehleraussage an den aufrufenden Baustein zu übergeben, können Sie das BIE-Bit nutzen. Die Fehleraussage müssen Sie zunächst im aufgerufenen Baustein mit der Anweisung "SAVE" im BIE-Bit ablegen. Anschließend können Sie das BIE-Bit im aufrufenden Baustein lesen. Es gibt auch Springbefehle wie SPBNB, die das BIE setzen. Nach jedem Zugriff auf einen Datenbaustein mit Angabe einer vollqualifizierten Adresse (z.b. %DB10.DBW10, MyDB.Komponente ) wird das Datenbausteinregister DB auf "0" gesetzt. Ein nachfolgender teilqualifizierter Zugriff führt beim Übersetzen zu einem Fehler. Wenn Sie in S7-1500 einen lokalen Formalparameter aus der Bausteinschnittstelle eines FBs symbolisch adressieren (z.b. mit der Anweisung L #myin), greifen Sie immer auf den Datenbaustein zu, den Sie beim Bausteinaufruf als Instanz angegeben haben. 4 FAQ-Kurztitel Version, Beitrags-ID: ID-Nummer

Migration von -Programmen nach S7-1500 Die Anweisungen AUF DI, L AR2, +AR2, TDB, TAR ändern zwar den Inhalt des DIbzw. Adressregisters AR2, die Register werden jedoch bei der Adressierung von lokalen Formalparametern nicht mehr ausgewertet. Beispiele zur Programmierung finden Sie in den nachfolgenden Kapiteln. Master Control Relais Das Master Control Relais ist in der S7-1500 nicht verfügbar. Die Migration meldet einen Fehler. Ändern Sie das Programm manuell ab. Formulieren Sie Bedingungen, z. B. in Form von Bausteinparametern, um Anweisungen oder Netzwerke bedingt auszuführen. LEAVE und ENT Die Anweisungen "LEAVE" und "ENT" werden in der S7-1500 nicht angeboten, da nur zwei Akkus zur Verfügung stehen. Die Migration meldet einen Fehler. Ändern Sie das Programm manuell ab. Nutzen Sie z. B. temporäre Variablen, um Zwischenergebnisse abzulegen. Bausteinparameter vom Parametertyp "Block_DB" Der Parametertyp "Block_DB" ist in der S7-1500 nicht verfügbar. Die Migration ändert diese Parameter ab und weist ihnen stattdessen den Datentyp "DB_Any" zu. In der S7-1500 ist es jedoch nicht möglich, Bibliotheksanweisungen beim Aufruf eine Instanz in Form eines Parameters vom Typ "DB_Any" zuzuordnen. Das folgende Beispiel zeigt den Aufruf eines Bibliotheksbausteins mit einer variablen Instanz auf einer CPU der Familie S7-300/400. Diese Sequenz kann nicht nach S7-1500 migriert werden. CALL GET, #myblock_db REQ:= <Operand> ID:= <Operand> NDR:= <Operand> Error:= <Operand> // Der Bibliotheksbaustein "GET" wird mit dem Instanzdatenbaustein aufgerufen, der aktuell am Bausteinparameter "myblock_db" anliegt. STEP 7 (TIA Portal) V12 5

Migration von -Programmen nach S7-1500 1.2 Werteübergabe über Register bei Sprachwechsel Einführung Die Inhalte der Register, der Akkumulatoren und des Statuswortes stehen nur innerhalb von -Netzwerken zur Verfügung. Wenn ein KOP- oder FUP-Netzwerk auf ein -Netzwerk folgt, können Sie aus dem KOP- oder FUP-Netzwerk heraus nicht auf die Registerinhalte zugreifen, die zuvor in gesetzt wurden. In einem nachfolgenden -Netzwerk stehen die Registerinhalte jedoch wieder zur Verfügung. Eine Ausnahme bildet das VKE-Bit: Es wird bei einem Sprachwechsel auf "undefiniert" gesetzt und steht in nachfolgenden Netzwerken nicht mehr zur Verfügung. Migration von Werteübergaben über Register bei Sprachwechsel Wenn in einem migrierten KOP- oder FUP-Netzwerk auf Register zugegriffen wird, wird beim Übersetzen ein Fehler gemeldet. Ändern Sie das Programm ab, so dass Register nur in - Netzwerken gesetzt und gelesen werden. Beispiel Das folgende Beispiel zeigt die Migration eines Akkumulatorzugriffs. In den ersten beiden Bildern sehen Sie das Programm vor der Migration: Netzwerk 1: Der Operand "myin1" wird in Akku 1 geladen. Anschließend wird "myin2" in Akku 1 geladen, wodurch "myin1" in Akku 2 transferiert wird. Nun werden beide Werte addiert. Das Ergebnis wird in Akku 1 abgelegt und von dort dem Operanden "myout" zugewiesen. Netzwerk 2: Der Operand "myin3" wird in Akku 1 geladen. Der dort noch vorhandene Operand "myout" wird dadurch in Akku 2 transferiert und kann sofort zu Operand "myin3" addiert werden. Operand "myout" muss nicht explizit erneut geladen werden. Nach der Migration wird Netzwerk 2 fehlerhaft, da durch das KOP-Netzwerk keine Werte mehr in die Akkumulatoren geschrieben werden. Das Programm muss manuell angepasst werden, so dass beide Werte explizit in in die Akkumulatoren geladen werden. Das folgende Bild zeigt Netzwerk 2 nach der Behebung des Fehlers. Netzwerk 2: Beide Werte werden in in die Akkumulatoren geladen, bevor sie addiert werden. 6 FAQ-Kurztitel Version, Beitrags-ID: ID-Nummer

Migration von -Programmen nach S7-1500 1.3 Werteübergabe über Register oder das Statuswort beim Bausteinaufruf Migration von Werteübergaben über Register oder das Statuswort beim Bausteinaufruf Die Werte aus Registern, Akkumulatoren und dem Statuswort werden beim Bausteinwechsel auf "0" gesetzt oder erhalten den Status "undefiniert". Somit können Sie nicht an aufgerufene Bausteine übergeben werden. Eine Ausnahme besteht nur bei den Anweisungen "CC" und "UC". Wenn Sie "UC" oder "CC" verwenden und dem aufgerufenen Baustein Parameter über Register, Statuswort oder Akkumulatoren übergeben möchten, müssen Sie in den Eigenschaften des aufgerufenen Bausteins die Option "Parameterversorgung über Register" aktivieren. Beachten Sie, dass diese Option nur für -Bausteine mit Standardzugriff zur Verfügung steht und der Baustein keine Formalparameter haben darf. Wenn die Option aktiviert ist, können Sie Registerinhalte zwischen Bausteinen übergeben. Eine Ausnahme bildet das VKE-Bit: Es wird beim Bausteinübergang immer auf "undefiniert" gesetzt und steht nach einem Bausteinaufruf nicht mehr zur Verfügung. Um eine Fehleraussage an den aufrufenden Baustein zu übergeben, können Sie das BIE-Bit nutzen. Die Fehleraussage müssen Sie zunächst im BIE- Bit des aufgerufenen Bausteins ablegen. Nutzen Sie dazu z.b. die Anweisungen "SAVE" oder "SPBNB". Anschließend können Sie das BIE-Bit im aufrufenden Baustein lesen. Die Migration meldet einen Fehler, wenn Sie nach einem Bausteinaufruf auf Registerinhalte zugreifen, die im aufgerufenen Baustein gesetzt wurden. Ändern Sie dann Ihr Programm ab. Nutzen Sie z.b. Variablen in Datenbausteinen oder PLC-Variablen, um Werte an den aufrufenden Baustein zurückzugeben. Beispiel Das folgende Beispiel zeigt, wie Sie Ihr Programm ändern müssen, um Werte über Register an einen aufrufenden Baustein zu übergeben. In der ersten Tabelle sehen Sie das Programm vor der Migration: CALL "MyFB", "MyFB_DB" = #MyBit Das VKE des Bausteins "MyFB" wird nach dessen Bearbeitung dem Operanden "MyBit" zugewiesen. STEP 7 (TIA Portal) V12 7

Migration von -Programmen nach S7-1500 In der zweiten Tabelle sehen Sie, wie Sie das Programm ändern müssen CALL "MyFB", "MyFB_DB" Im aufgerufenen Baustein "MyFB" schreiben Sie an einer beliebigen Stelle das aktuell anstehende VKE mit der Anweisung "SAVE" in das BIE-Bit. U BIE Das BIE-Bit wird im aufrufenden Baustein gelesen. = #MyBit Der Wert des BIE-Bits wird dem Operanden MyBit zugewiesen. 1.4 Werteübergabe über Register mit den Anweisungen CC und UC Einführung Bei der S7-300/400 ist es möglich, mit Hilfe der Anweisungen UC und CC Bausteinaufrufe zu programmieren. Die Parameterübergabe an dem aufrufenden Baustein erfolgt dabei nicht über die Schnittstelle, sondern über Register, z.b. AR1, AR2, DB, DI, die Akkumulatoren oder das Statuswort. Diese Aufrufe verlangsamen die Programmbearbeitung und sind deshalb in der S7-1500 nicht mehr per Voreinstellung möglich. In der S7-1500 wird stattdessen die Anweisung CALL verwendet. Mit der Anweisung CALL lassen sich jedoch keine indirekten Bausteinaufrufe realisieren. Wenn Sie UC oder CC für indirekte Bausteinaufrufe verwenden möchten, müssen Sie in den Eigenschaften des aufgerufenen Bausteins die Option "Parameterversorgung über Register" aktivieren. Dann haben Sie die Möglichkeit, Registerinhalte zwischen verschiedenen Bausteinen zu übergeben. Eine Ausnahme bildet das VKE-Bit: Es wird beim Bausteinübergang auf "undefiniert" gesetzt und steht nach einem Bausteinaufruf nicht mehr zur Verfügung. Beachten Sie, dass diese Option nur für -Bausteine mit Standardzugriffe zur Verfügung steht und der Baustein keine Formalparameter haben darf. Wenn die Option aktiviert ist, können Sie Registerinhalte zwischen Bausteinen übergeben. Eine Ausnahme bildet auch hier das VKE- Bit: Es wird beim Bausteinübergang auf "undefiniert" gesetzt und steht nach einem Bausteinaufruf nicht mehr zur Verfügung. Migration von Bausteinaufrufen über "UC" oder "CC" Die Migration behandelt Bausteinaufrufe über "UC" oder "CC" wie folgt: Die Anweisung "UC FC" mit Angabe einer Bausteinnummer wird durch die Anweisung "CALL" ersetzt. Die Anweisung "CC FC" mit Angabe einer Bausteinnummer wird durch die Anweisung "CALL" ersetzt. Zusätzlich wird ein Sprungbefehl eingefügt, der den bedingten Aufruf realisiert. Die Anweisungen "UC FC" und "CC FC" mit indirekter Angabe der Bausteinnummer bleiben unverändert. Die Anweisungen "UC FB" und "CC FB" mit direkter oder indirekter Angabe einer Bausteinnummer bleiben unverändert. 8 FAQ-Kurztitel Version, Beitrags-ID: ID-Nummer

Migration von -Programmen nach S7-1500 Beispiel Das folgende Beispiel zeigt die Migration von Bausteinaufrufen über "UC". In der ersten Tabelle sehen Sie das Programm vor der Migration: UC FC 10 UC FC [#temp0] UC FB 10 UC FB [temp0] In der folgenden Tabelle sehen Sie das Programm nach der Migration CALL FC 10 UC FC[#temp0] UC FB 10 UC FB [#temp0] Option "Parameterversorgung über Register" muss am aufgerufenen Baustein gesetzt sein. Option "Parameterversorgung über Register" muss am aufgerufenen Baustein gesetzt sein. Option "Parameterversorgung über Register" muss am aufgerufenen Baustein gesetzt sein. 1.5 Vollqualifizierte Adressen in Einführung Die Adressierung von DB-Variablen mit Angabe des DB-Namens oder der DB-Nummer wird als vollqualifizierte Adressierung bezeichnet. Nach jedem Zugriff auf einem DB mit Angabe einer vollqualifizierten Adresse wird das DB-Register auf "0" gesetzt. Wenn Sie nach einem vollqualifizierten Zugriff wieder auf das DB-Register zugreifen möchten, müssen Sie es zuerst wieder mit der Anweisung AUF DB mit einem Wert belegen. Migration von vollqualifizierten Adressen Die Migration fügt bei Bedarf nach einem vollqualifizierten Zugriff die Anweisung "AUF" ein, um den aktuellen Datenbaustein wieder in das Datenbausteinregister zu laden. Beispiel Das folgende Beispiel zeigt die Migration einer vollqualifizierten Adresse. In der ersten Tabelle sehen Sie das Programm vor der Migration: AUF MyDB L %DBW1 L Global_DB.Data1 L Global_DB.DBW2 T DBW[AR1, P#0.0] "MyDB" wird in das Datenbausteinregister geladen. Datenelemente aus "MyDB" werden teilqualifiziert adressiert. Daraufhin werden Elemente aus einem globalen DB vollqualifiziert adressiert. Dadurch wird implizit der "Global_DB" in das Datenbausteinregister geladen. Ein nachfolgender Zugriff adressiert den "Global_DB", da er im DB-Register liegt. STEP 7 (TIA Portal) V12 9

Migration von -Programmen nach S7-1500 In der folgenden Tabelle sehen Sie das Programm nach der Migration: AUF MyDB L MyDB.DBW1 L Global_DB.Data1 L Global_DB.DBWort2 AUF Global_DB T DBW[AR1, P#0.0] Der teilqualifizierte Zugriff wird in einen vollqualifizierten Zugriff umgewandelt. Nach dem vollqualifizierten Zugriff wird das DBRegister rückgesetzt. Der "Global_DB" muss mit AUF wieder in das DB-Register geladen werden. 1.6 Teilqualifizierte Adressen in Einführung Die Adressierung von DB-Variablen ohne Angabe des DB-Namens oder der DB-Nummer wird als teilqualifizierte Adressierung bezeichnet. Die teilqualifizierte Adressierung greift auf einen definierten Wert in dem Datenbaustein zu, der aktuell im DB-Register hinterlegt ist. Für teilqualifizierte Adressen gelten in S7-1500 folgende Einschränkungen: In S7-1500 sind teilqualifizierte Adressen nur zulässig, wenn das DB-Register zuvor im aktuellen Baustein explizit gesetzt wurde. Das DB-Register setzen Sie z. B. mit der Anweisung "AUF". Sie können nur Variablen in Datenbausteinen mit Standardzugriff teilqualifiziert adressieren. Beim Bausteinaufruf werden in S7-1500 die Datenbausteinregister auf "0" gesetzt. Es ist somit nicht möglich, einen Datenbaustein in einem Baustein zu öffnen, und in einem unterlagerten Baustein Datenelemente aus dem Datenbaustein teilqualifiziert zu adressieren. Setzen Sie das DB-Register im aktuellen Baustein, bevor Sie eine DB- Variable teilqualifiziert adressieren. Auch bei jedem vollqualifizierten Zugriff (z.b. %DB10.DBW10) wird das Datenbausteinregister DB auf "0" gesetzt. Setzen Sie das DB-Register nach einem vollqualifizierten Zugriff erneut, bevor Sie eine DB-Variable teilqualifiziert adressieren. Migration von teilqualifizierten Adressen Die Migration behandelt teilqualifizierte Adressen in wie folgt: Die teilqualifizierte Adresse wird möglichst in eine vollqualifizierte Adresse umgewandelt. Wenn der Datenbaustein im aufrufenden Codebaustein geöffnet wurde und der DB nicht eindeutig bestimmbar ist, fügt die Migration in der Schnittstelle des aufgerufenen Bausteins einen Parameter vom Datentyp "DB_Any" ein. An diesem Parameter wird der Datenbausteinname übergeben. Die Migration fügt im aufgerufenen Baustein die Anweisung "AUF" ein, um den Datenbaustein zu öffnen. 10 FAQ-Kurztitel Version, Beitrags-ID: ID-Nummer

Migration von -Programmen nach S7-1500 Beispiel Das folgende Beispiel zeigt die Migration von teilqualifizierten Adressen. In der ersten Tabelle sehen Sie das Programm vor der Migration: L DBW10 L DBW12 +I T DBW14 Ein Datenbaustein wurde im aufrufenden Baustein aufgeschlagen und in das DB- Register übertragen. Im aktuellen Baustein werden die Werte "DBW10", "DBW12" und "DBW14" aus dem Datenbaustein, der aktuell im DB-Register vorliegt, übernommen. In der folgenden Tabelle sehen Sie das Programm nach der Migration: AUF PlcmigTempBlockDB L DBW10 L DBW12 +I T DBW14 Die Migration fügt in der Schnittstelle des aufgerufenen Bausteins einen Parameter vom Datentyp "DB_Any" ein. An diesem Parameter wird der Datenbausteinname übergeben. Die Migration fügt im aufgerufenen Baustein die Anweisung "AUF" ein, um den an der Schnittstelle übergebenen Datenbaustein zu öffnen. Hinweis Migration von teilqualifizierten Bausteinparametern Die Migration wandelt auch teilqualifizierte DB-Parameter in vollqualifizierte Parameter um. Beachten Sie, dass sich die Art der Parameterübergabe an den aufgerufenen Baustein dadurch ändern kann: Der aufgerufene Baustein greift über die vollqualifizierte Adresse möglicherweise nicht mehr direkt auf den Aktualparameter zu, sondern arbeitet mit einer Kopie, die beim Bausteinaufruf übergeben wird. Prüfen Sie deshalb, ob die Semantik des migrierten Programms noch mit der des Ausgangsprogramms übereinstimmt. Weitere Informationen finden Sie unter: Zugriff auf Bausteinparameter während der Programmbearbeitung. Sollte diese Anpassung nicht gewünscht sein, können Sie zum Beispiel statt eines elementaren Bausteinparameters einen Parameter mit strukturiertem Datentyp verwenden. Definieren sie als Formalparameter PLC-Datentyp (UDT), und übergeben sie eine Variable dieses Typs bzw. einen DB, der von dem PLC-Datentypen (UDT) abgeleitet wurde. Beispiele: CALL "MyFC" InStruct :="DBofUDT" oder CALL "MyFC" InStruct := "DBArrayOfUDT".a[#i] STEP 7 (TIA Portal) V12 11

Migration von -Programmen nach S7-1500 1.7 Zugriffe auf den Instanz-DB in Einführung Die Anweisungen "AUF DI" oder "TDB" legen einen Datenbaustein in das DI-Register. In S7-300/400 gilt der Baustein, der dort aufgeschlagen ist, als Instanz-Datenbaustein. Die anschließende symbolische Adressierung eines lokalen Formalparameters aus der Bausteinschnittstelle eines FB (IN, OUT, InOut, Static) adressiert nicht mehr den Datenbaustein, der beim Bausteinaufruf als Instanz angegeben wurde, sondern den Datenbaustein, der im DI-Register liegt. Um anschließend einen lokalen Formalparameter aus der Bausteinschnittstelle symbolisch zu adressieren, muss der Instanz-DB in das DI-Register geladen werden. Auch nach den Anweisungen "L AR2", "+ AR" und "TAR" ist es nicht möglich, einen Formalparameter aus der Bausteinschnittstelle symbolisch zu adressieren, da die Zugriffsbasis für den Parameterzugriff durch die Anweisungen zerstört wurde. Dieses Verhalten wurde in S7-1500 korrigiert: Wenn Sie in S7-1500 einen lokalen Formalparameter aus der Bausteinschnittstelle symbolisch adressieren (z.b. mit der Anweisung L #myin), greifen Sie immer auf den Datenbaustein zu, den Sie beim Bausteinaufruf als Instanz angegeben haben. Die Anweisungen AUF DI, L AR2, +AR2, TDB, TAR ändern zwar den Inhalt des DI- bzw. Adressregisters, die Register werden jedoch bei der Adressierung von lokalen Formalparametern nicht mehr ausgewertet. Migration von Zugriffen auf lokale Variablen im Instanz-DB Die Migration verändert die programmierten Zugriffe nicht. Wenn Sie im Ausgangsprogramm die Anweisungen AUF DI, L AR2, +AR2, TDB, TAR, etc. verwendet haben, ändert sich jedoch möglicherweise die Semantik des Programms. Um die ursprüngliche Semantik wieder zu erreichen, müssen Sie das Programm manuell ändern. Häufig ist es nicht mehr notwendig, Daten über Register zu adressieren. Nutzen Sie stattdessen die Möglichkeit, ARRAYs innerhalb des Instanz-DB zu verwenden und die ARRAY-Elemente indirekt zu indizieren. Beispiel 1 Das folgende Beispiel zeigt die geänderte Semantik der Anweisung "AUF DI": L #MyIn1 L #MyIn2 +I T #MyOut3 AUFDI "MyDB" L #MyIn1 L #MyIn2 +I T #MyOut3 Die Anweisungen "L" und "T" adressieren lokale Variablen, die in der Bausteinschnittstelle deklariert wurden. Die Werte der Variablen liegen in dem Instanz-DB, der beim Bausteinaufruf angegeben wurde. Der globale Datenbaustein "MyDB" wird in das DI-Register geschrieben. Vor der Migration adressieren die Anweisungen "L" und "T" Variablen, die in "MyDB" deklariert wurden. Nach der Migration adressieren die Anweisungen "L" und "T" Variablen, die in der Bausteinschnittstelle deklariert wurden. Das DI- Register wird in S7-1500 für den Zugriff nicht ausgewertet. 12 FAQ-Kurztitel Version, Beitrags-ID: ID-Nummer

Migration von -Programmen nach S7-1500 Beispiel 2 Das folgende Beispiel zeigt die geänderte Semantik der Anweisung "LAR2": L P#M23.0 LAR2 L #MyIn1 L EW [AR2, P#1.0] U [AR2, P#0.4] L EW [AR2. P#1.0] U [AR2, Ü#0.4] en Vor der Migration wird mit der Zuweisung auf AR2 die Zugriffsbasis für Parameterzugriffe zerstört. Vor der Migration ist ein Zugriff auf "MyIn1" nicht möglich oder führt zu einem Fehler. Nach der Migration wird der Zugriff auf den Formalparameter "MyIn1" korrekt ausgeführt. Zugriff auf %EW24.0 Zugriff auf %EW23.4 Beispiel 3 Das folgende Beispiel zeigt, wie Sie in S7-1500 eine DB-Variable indirekt adressieren können, ohne die Adressregister zu verwenden: AUF MyDB L #index LAR1 L %DBW [AR1, P#10.0] L "MyDB".MyArray1[#index] en Vor der Migration wird die registerindirekte bereichsinterne Adressierung verwendet. Dabei wird ein variabler Wert (#index) in das Adressregister 1 geladen. Abhängig von diesem Wert wird ein Datenwort aus "MyDB" in den Akkumulator 1 geladen. Nach der Migration können Sie die Datenwerte in "MyDB" in einem ARRAY ablegen. Die einzelnen ARRAY-Elemente können variabel über den Eingangsparameter "#index" indiziert werden. STEP 7 (TIA Portal) V12 13