Handbuch CPU 928 - Band 1


Add to my manuals
542 Pages

advertisement

Handbuch CPU 928 - Band 1 | Manualzz

Handbuch

CPU 928

Band 1

Hardware und

Programmierung

Band 2

Integrierte Funktionen und Kommunikation

Best.-Nr.: HB92D

Rev. 00/27

Änderungen im Sinne des technischen Fortschritts vorbehalten

Lerrzeichen

Handbuch

CPU 928 - Band 1

Hardware und

Programmierung

Rev. 00/27

Änderungen im Sinne des technischen Fortschritts vorbehalten

Lerrzeichen

Handbuch VIPA CPU 928 - Band 1

Die Angaben in diesem Handbuch erfolgen ohne Gewähr. Änderungen des

Inhalts können jederzeit ohne Vorankündigung erfolgen. Die in VIPA-

Handbüchern beschriebene Software unterliegt den Bedingungen eines allgemeinen Lizenzvertrages. Sie haben eine Kopierlizenz, die Sie berechtigt, die Software innerhalb Ihres Unternehmens zu nutzen.

Zuwiderhandlungen verpflichten zu Schadenersatz.

© Copyright 2000 VIPA, Gesellschaft für Visualisierung und Prozessautomatisierung mbH

Ohmstraße 4, D-91074 Herzogenaurach

Tel.: +49 (91 32) 744-0

Fax.: +49 (91 32) 744-144

EMail: [email protected]

http://www.vipa.de

Hotline: +49 (91 32) 744-114

Alle Rechte vorbehalten

Haftungsausschluss Der Inhalt dieses Handbuchs wurde auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden. Die Angaben in diesem Handbuch werden regelmäßig überprüft und erforderliche Korrekturen sind in den nachfolgenden Revisionen enthalten.

Für Verbesserungsvorschläge sind wir dankbar.

Warenzeichen

VIPA

â ist eingetragenes Warenzeichen der VIPA Gesellschaft für Visualisierung und Prozessautomatisierung mbH

SIMATIC

â

STEP

â

5 ist eingetragenes Warenzeichen der Siemens AG.

ist eingetragenes Warenzeichen der Siemens AG.

Alle ansonsten im Text genannten Warenzeichen sind Warenzeichen der jeweiligen Inhaber und werden als geschützt anerkannt.

Änderungen im Sinne des technischen Fortschritts vorbehalten

Über dieses Handbuch

Über dieses Handbuch

Handbuch VIPA CPU 928 - Band 1

Die Beschreibung für die CPU 928 gliedert sich in zwei Bände, wobei jeder

Band das gesamte Inhaltsverzeichnis und den gesamten Index beinhaltet.

Die Bände sind wie folgt gegliedert:

Band 1:

Band 2:

Teil 1 ... Teil 11

Teil 12 ... Teil 15

Hardware und Programmierung

Integrierte Funktionen und

Kommunikation

Gesamtübersicht:

Teil 1 Grundlagen...................................................................................1-1

Teil 2 Hardwarebeschreibung ...............................................................2-1

Teil 3 Anwenderprogramm ....................................................................3-1

Teil 4 Programmbearbeitung.................................................................4-1

Teil 5 Betriebszustände .........................................................................5-1

Teil 6 Unterbrechungs- und Fehlerbehandlung ...................................6-1

Teil 7 Erweiterter Datenbaustein DX 0..................................................7-1

Teil 8 Speicherbelegung und -organisation .........................................8-1

Teil 9 Speicherzugriff über absolute Adressen....................................9-1

Teil 10 Mehrprozessorbetrieb und -kommunikation..........................10-1

Teil 11 PG-Schnittstellen und -Funktionen ........................................11-1

Teil 12 Integrierte Sonderfunktionen ..................................................12-1

Teil 13 Integrierte Hantierungsbausteine ...........................................13-1

Teil 14 Rechnerkopplung RK512.........................................................14-1

Teil 15 Datenübertragung 3964(R) ......................................................15-1

A Anhang ............................................................................................... A-1

Änderungen im Sinne des technischen Fortschritts vorbehalten

Handbuch VIPA CPU 928 - Band 1

Gesamtinhaltsverzeichnis

Rev. 00/27

Gesamtinhaltsverzeichnis

Benutzerhinweise .....................................................................................1

Sicherheitshinweise .................................................................................2

Teil 1 Grundlagen...................................................................................1-1

Sicherheitshinweis für den Benutzer .....................................................1-2

Allgemeines ..........................................................................................1-4

Anwendungsbereiche ...........................................................................1-5

Leistungsmerkmale...............................................................................1-5

Arbeitsweise einer CPU ........................................................................1-6

Programme einer CPU .........................................................................1-6

Operanden der CPU 928 ......................................................................1-7

Adressierungsarten...............................................................................1-9

Vorgehensweise bei der Programmierung ..........................................1-10

Unterschiede zu Siemens CPUs .........................................................1-12

Lieferumfang und Gerätevarianten .....................................................1-18

Teil 2 Hardwarebeschreibung ...............................................................2-1

Aufbau CPU 928...................................................................................2-2

Bedien- und Anzeigeelemente ..............................................................2-4

Leuchtdioden ........................................................................................2-7

Schalter ................................................................................................2-9

Serielle Schnittstellen..........................................................................2-10

Speicher-Module.................................................................................2-15

Inbetriebnahme...................................................................................2-16

Anlaufverhalten...................................................................................2-17

Technische Daten...............................................................................2-18

Teil 3 Anwenderprogramm ....................................................................3-1

Programmiersprache ............................................................................3-2

Programm-, Organisations- und Schrittbausteine ...............................3-13

Funktionsbausteine.............................................................................3-19

Datenbausteine...................................................................................3-29

Teil 4 Programmbearbeitung.................................................................4-1

Prinzip der Programmbearbeitung ........................................................4-2

Programmorganisation .........................................................................4-3

Speicherung von Programm- und Datenbausteinen .............................4-8

Bearbeitung des Anwenderprogramms...............................................4-10

Operationen mit Beispielen .................................................................4-13

Teil 5 Betriebszustände .........................................................................5-1

Einführung und Übersicht .....................................................................5-2

Programmbearbeitungsebenen ............................................................5-5

Betriebszustand STOP .........................................................................5-8

Betriebszustand ANLAUF ...................................................................5-11

Betriebszustand RUN .........................................................................5-15

Teil 6 Unterbrechungs- und Fehlerbehandlung ...................................6-1

Häufige Fehler im Anwenderprogramm ................................................6-2

Fehlerinformationen..............................................................................6-3

Steuerbits und Unterbrechungsstack ....................................................6-7

i

Gesamtinhaltsverzeichnis Handbuch VIPA CPU 928 - Band 1

Fehlerbehandlung über Organisationsbausteine.................................6-21

Fehler im ANLAUF..............................................................................6-24

Fehler im RUN und im ANLAUF .........................................................6-30

Teil 7 Erweiterter Datenbaustein DX 0..................................................7-1

Anwendung...........................................................................................7-2

Aufbau des DX 0 ..................................................................................7-3

Parameter für DX 0...............................................................................7-5

Parametrierbeispiele .............................................................................7-9

Teil 8 Speicherbelegung und -organisation .........................................8-1

Struktur des Speichers CPU 928 ..........................................................8-2

Adressbereiche für die Peripherie und deren Programmierung ............8-4

Organisation des Anwenderspeichers CPU 928 ...................................8-5

Teil 9 Speicherzugriff über absolute Adressen....................................9-1

Einführung ............................................................................................9-2

Speicherzugriffe über Adresse in AKKU 1 ............................................9-6

Speicherblöcke transferieren ..............................................................9-15

Operationen mit dem Basisadressregister (BR-Register) ...................9-22

Teil 10 Mehrprozessorbetrieb und -kommunikation..........................10-1

Teil 11 PG-Schnittstellen und -Funktionen ........................................11-1

Übersicht ............................................................................................11-2

PG-Funktionen ...................................................................................11-3

Tätigkeiten an Kontrollpunkten .........................................................11-16

Serielle Kopplung..............................................................................11-17

Parallelbetrieb von zwei seriellen PG-Schnittstellen..........................11-17

Teil 12 Integrierte Sonderfunktionen ..................................................12-1

OB 110: Zugriff auf das Anzeigenbyte ................................................12-5

OB 111: AKKU 1, 2, 3 und 4 löschen..................................................12-7

OB 112/113: AKKU-Roll-Up/AKKU-Roll-Down ....................................12-8

OB 120: "Alarme gemeinsam sperren" ein-/ausschalten...................12-10

OB 121: "Weckalarme einzeln sperren" ein-/ausschalten .................12-13

OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten...............12-15

OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten .............12-18

OB 134, OB 135, OB 136 und OB 139 .............................................12-20

OB 150: Systemzeit stellen/lesen .....................................................12-22

OB 151: Uhrzeitgesteuerten Weckalarm stellen/lesen ......................12-29

OB 152: Zyklusstatistik .....................................................................12-36

OB 160 bis 163: Zählschleifen ..........................................................12-43

OB 170: Bausteinstack (BSTACK) lesen ..........................................12-45

OB 180: Variabler Datenbaustein-Zugriff ..........................................12-50

OB 181: Datenbausteine (DB/DX) testen..........................................12-54

OB 182: Datenbereich kopieren........................................................12-56

OB 186: Speicher komprimieren .......................................................12-60

OB 190/192: Merker in Datenbaustein übertragen............................12-62

OB 191/193: Datenblöcke in Merkerbereich übertragen ...................12-65

OB 216 bis 218: Kachelzugriffe ........................................................12-70

OB 216: Schreiben auf eine Kachel ..................................................12-72

OB 217: Lesen aus einer Kachel ......................................................12-74

OB 218: Belegung einer Kachel........................................................12-76

OB 220: Vorzeichenerweiterung .......................................................12-78

ii Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Gesamtinhaltsverzeichnis

OB 221: Zyklusüberwachung einstellen ............................................12-79

OB 222: Zyklusüberwachungszeit neu starten ..................................12-80

OB 228: Statusinformation einer Programmebene lesen ..................12-81

OB 230 bis 237: Funktionen für Standard-FBs .................................12-83

OB 250/251: Regelung /PID-Algorithmus .........................................12-84

OB 250: PID-Algorithmus initialisieren ..............................................12-91

OB 251: PID-Algorithmus bearbeiten................................................12-92

OB 254/255: Einen Datenbaustein verschieben/duplizieren..............12-98

Teil 13 Integrierte Hantierungsbausteine ...........................................13-1

Einführung ..........................................................................................13-2

Die Parameter der Hantierungsbausteine ...........................................13-3

Parameterbeschreibung......................................................................13-4

Parametrierung von SSNR, A-Nr, ANZW und BLGR ..........................13-6

Indirekte Parametrierung von Quell- und Zielangaben ........................13-9

Aufbau des Anzeigenwortes .............................................................13-10

Arbeiten mit dem Anzeigewort ..........................................................13-12

Das Längen - Wort ...........................................................................13-15

Aufbau Parametrierfehlerbyte (PAFE) ..............................................13-16

Einstellbare Blockgrößen ..................................................................13-16

Tabelle über die möglichen QTYP/ZTYP - Parameter ......................13-17

Der SEND - Baustein FB 120............................................................13-19

Der RECEIVE-Baustein FB 121........................................................13-22

Der FETCH-Baustein FB 122............................................................13-25

Der CONTROL-Baustein FB 123 ......................................................13-26

Der RESET-Baustein FB 124............................................................13-27

Der SYCHRON-Baustein FB 125......................................................13-28

SEND-ALL 126 .................................................................................13-29

RECEIVE-ALL 127 ...........................................................................13-30

Blockgröße .......................................................................................13-31

Analogwert-Anpassungsbausteine FB 250 und FB 251 ....................13-32

Beispiel für eine Analogwertverarbeitung ..........................................13-37

Teil 14 Rechnerkopplung RK512.........................................................14-1

Einführung RK512 ..............................................................................14-2

Parametrierung .................................................................................14-10

Koordinierungsmerker (KM)..............................................................14-26

Inbetriebnahme.................................................................................14-28

Betrieb ..............................................................................................14-30

Datenaustausch................................................................................14-38

Telegrammbeschreibung ..................................................................14-43

Teil 15 Datenübertragung 3964(R) ......................................................15-1

Einführung 3964 und 3964R ...............................................................15-2

Parametrierung ...................................................................................15-9

Inbetriebnahme.................................................................................15-22

Betrieb ..............................................................................................15-24

Prozeduren .......................................................................................15-30

A Anhang ............................................................................................... A-1

Gesamtindex ....................................................................................... A-1

Rev. 00/27 iii

Gesamtinhaltsverzeichnis Handbuch VIPA CPU 928 - Band 1 iv Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Benutzerhinweise

Benutzerhinweise

Zielsetzung und

Inhalt

Band 1 ist Bestandteil des Handbuchs für die CPU-928-Baugruppen von

VIPA. Es beschreibt die Hardware und die Programmierung der CPU 928B und CPU 928C deren Einsatzmöglichkeiten und Projektierung.

Die CPU 928-Baugruppen können Sie im VIPA AG-135U und in allen Automatisierungsgeräten der (AG-115U ... AG-155U) einsetzen.

Zielgruppe Das Handbuch ist geschrieben für Anwender mit Grundkenntnissen in der

Automatisierungstechnik und in der SPS-Programmierung.

Aufbau des

Handbuchs

Orientierung im

Dokument

Verfügbarkeit

Piktogramme

Signalwörter

Dieser Band ist gegliedert in 11 Kapitel. Jedes Kapitel beschreibt eine abgeschlossene Thematik und umfasst maximal 68 Seiten.

Als Orientierungshilfe stehen im Handbuch zur Verfügung:

Gesamt Inhaltsverzeichnis am Anfang des Handbuchs

Übersicht der beschriebenen Themen am Anfang jedes Kapitels

Stichwortverzeichnis (Index) am Ende des Handbuchs

Das Handbuch ist verfügbar in:

• gedruckter Form auf Papier

• in elektronischer Form als PDF-Datei (Adobe Acrobat Reader)

Besonders wichtige Textteile sind mit folgenden Piktogrammen und

Signalworten ausgezeichnet:

Gefahr!

Unmittelbar drohende oder mögliche Gefahr.

Personenschäden sind möglich.

Achtung!

Bei Nichtbefolgen sind Sachschäden möglich.

Hinweis!

Zusätzliche Informationen und nützliche Tips.

Rev. 00/27 1

Sicherheitshinweise

Sicherheitshinweise

Bestimmungsgemäße

Verwendung

Handbuch VIPA CPU 928 - Band 1

Die CPU-Baugruppen sind konstruiert und gefertigt für

Allgemeine Steuerungs- und Automatisierungsaufgaben

• den industriellen Einsatz

• den Betrieb innerhalb der in den technischen Daten spezifizierten

Umgebungsbedingungen

• den Einbau in ein geschlossenes, HF-dichtes Metallgehäuse

Gefahr!

Das Gerät ist nicht zugelassen für den Einsatz

• in explosionsgefährdeten Umgebungen (EX-Zone)

Dokumentation Handbuch zugänglich machen für alle Mitarbeiter in

Projektierung

Installation

Inbetriebnahme

Betrieb

Vor Inbetriebnahme und Betrieb der in diesem Handbuch beschriebenen Komponenten unbedingt beachten:

Änderung am Automatisierungssystem nur im spannungslosen Zustand vornehmen!

Anschluss und Änderung nur durch ausgebildetes Elektro-Fachpersonal

Nationale Vorschriften und Richtlinien im jeweiligen Verwenderland beachten und einhalten (Installation, Schutzmaßnahmen, EMV ...)

Entsorgung Zur Entsorgung der Baugruppen nationale Vorschriften beachten!

2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Teil 1 Grundlagen

Überblick

Teil 1 Grundlagen

Im Rahmen dieser Einleitung folgen Hinweise im Umgang und Informationen über Einsatzbereiche und Anwendung der CPU928-Baugruppen.

Sie erhalten ferner einige Vorschläge, wie Sie beim Programmieren vorgehen können und erfahren, welche für die Programmierung wichtige

Kenndaten die CPU 928 hat.

Eine Übersicht der Unterschiede und Verbesserungen zur Original CPU928 beenden die Einleitung.

Inhalt

Nachfolgend sind beschrieben:

Sicherheitshinweise für den Benutzer

Aufbau und Arbeitsweise der CPU 928

Grundlagen der Programmierung

Unterschiede und Verbesserungen gegenüber der SIEMENS CPU

Thema Seite

Teil 1 Grundlagen...................................................................................1-1

Sicherheitshinweis für den Benutzer .....................................................1-2

Allgemeines ..........................................................................................1-4

Anwendungsbereiche ...........................................................................1-5

Leistungsmerkmale...............................................................................1-5

Arbeitsweise einer CPU ........................................................................1-6

Programme einer CPU .........................................................................1-6

Operanden der CPU 928 ......................................................................1-7

Adressierungsarten...............................................................................1-9

Vorgehensweise bei der Programmierung ..........................................1-10

Unterschiede zu Siemens CPUs .........................................................1-12

Lieferumfang und Gerätevarianten .....................................................1-18

Baugruppen-

Übersicht

Typ

CPU 928B

CPU 928B

CPU 928C

Bestellnummer Beschreibung

VIPA 928-3UB12 CPU 928B (EPROM)

VIPA 928-3UB21 CPU 928B (Flash-ROM)

VIPA 928-3UC11 CPU 928C (Flash-ROM)

Rev. 00/27 1-1

Teil 1 Grundlagen

Sicherheitshinweis für den Benutzer

Handbuch VIPA CPU 928 - Band 1

Handhabung elektrostatisch gefährdeter

Baugruppen

VIPA-Baugruppen sind mit hochintegrierten Bauelementen in MOS-Technik bestückt. Diese Bauelemente sind hoch empfindlich gegenüber Überspannungen, die z.B. bei elektrostatischer Entladung entstehen.

Zur Kennzeichnung dieser gefährdeten Baugruppen wird nachfolgendes

Symbol verwendet:

Das Symbol befindet sich auf Baugruppen, Baugruppenträgern oder auf

Verpackungen und weist so auf elektrostatisch gefährdete Baugruppen hin.

Elektrostatisch gefährdete Baugruppen können durch Energien und Spannungen zerstört werden, die weit unterhalb der Wahrnehmungsgrenze des

Menschen liegen. Hantiert eine Person, die nicht elektrisch entladen ist, mit elektrostatisch gefährdeten Baugruppen, können diese Spannungen auftreten und zur Beschädigung von Bauelementen führen und so die

Funktionsweise der Baugruppen beeinträchtigen oder die Baugruppe unbrauchbar machen. Auf diese Weise beschädigte Baugruppen werden in den wenigsten Fällen sofort als fehlerhaft erkannt. Der Fehler kann sich erst nach längerem Betrieb einstellen.

Durch statische Entladung beschädigte Bauelemente können bei Temperaturänderungen, Erschütterungen oder Lastwechseln zeitweilige Fehler zeigen.

Nur durch konsequente Anwendung von Schutzeinrichtungen und verantwortungsbewusste Beachtung der Handhabungsregeln lassen sich

Funktionsstörungen und Ausfälle an elektrostatisch gefährdeten Baugruppen wirksam vermeiden.

1-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Versenden von elektrostatisch gefährdeten

Baugruppen

Teil 1 Grundlagen

Verwenden Sie für den Versand immer die Originalverpackung. Zusätzlich können Sie die für den Versand vorbereiteten Baugruppen mit einer leitfähigen Verpackung umhüllen. Leitfähige Verpackungen sind antistatische Folien oder metallisierte Kunststoffschachteln.

Achtung!

Auf manchen Baugruppen befindet sich eine Batterie. Beachten Sie beim

Versenden in einer leitfähigen Verpackung, dass die Batterieanschlüsse nicht berührt oder kurzgeschlossen werden.

Messen und

Ändern von elektrostatisch gefährdeten

Baugruppen

Bei Messungen an elektrostatisch gefährdeten Baugruppen sind folgende

Dinge zu beachten:

Potentialfreie Messgeräte sind kurzzeitig zu entladen.

Verwendete Messgeräte sind zu erden.

Bei Änderungen an elektrostatisch gefährdeten Baugruppen ist darauf zu achten, dass ein geerdeter Lötkolben verwendet wird.

Achtung!

Bei Arbeiten mit und an elektrostatisch gefährdeten Baugruppen ist auf ausreichende Erdung des Menschen und der Arbeitsmittel zu achten.

Rev. 00/27 1-3

Teil 1 Grundlagen

Allgemeines

Handbuch VIPA CPU 928 - Band 1

CPU 928B

Das Automatisierungsgerät 135U, 155U bzw. 188U gehört zur Familie der speicherprogrammierbaren Steuerungen. In Verbindung mit der CPU 928 erhalten Sie ein leistungsfähiges Gerät zur Prozessautomatisierung.

CPU 928B CPU 928C Dieses System können Sie sowohl für den Aufbau einfachster Steuerungen mit binären Signalen als auch zur Lösung umfangreicher Automatisierungsaufgaben einsetzen.

Die CPU 928B ist funktionsgleich zu der

CPU 928B von Siemens.

Sie erhalten die 928B in zwei

Ausführungen:

CPU 928B für EPROM-Modul 376

CPU 928B für Flash-Card 374

Eine Weiterentwicklung der CPU 928B stellt die CPU 928C dar.

Speichermedium ist die Flash-Card 374.

Die CPU 928C hat im Gegensatz zur

CPU 928B einen größeren Anwenderspeicher. Sie besitzt 128 kByte Programmspeicher und zusätzlich 110 kByte Datenspeicher.

Die CPU 928C ist im Durchschnitt 25% schneller als die CPU 928B.

1-4

928-3UB12 928-3UB21 928-3UC11

Hinweis!

Soweit nichts anderes erwähnt ist, beziehen sich die in diesem Handbuch gemachten Angaben auf die CPU 928-Familie von VIPA!

Im Weiteren wird nur noch von der CPU 928 gesprochen. Bei Funktionsabweichungen der einzelnen CPU 928-Typen wird darauf hingewiesen!

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Anwendungsbereiche

Teil 1 Grundlagen

Die CPU 928 können Sie im AG-135U/155U/188U und im Rack-135U von

VIPA einsetzen.

Die Zentralbaugruppe CPU 928 ist für Anwendungen im mittleren Leistungsbereich ausgelegt.

Sie eignet sich besonders für:

Aufgaben, die eine schnelle Bit- und Wortverarbeitung erfordern, d.h.

schnelles Steuern und Regeln

Aufgaben, die eine schnelle Kommunikation erfordern wie z.B. Anbindung an Bussysteme und Visualisierungen

Regelungsaufgaben sowie deren Bedienung und Beobachtung

Automatisierungsstrukturen, die eine direkte Kommunikation zu einem

übergeordneten Leitrechner, einem anderen AG oder einem Drucker

über eine Busverbindung oder Rechnerkopplung erfordern

Besonderheiten Die Baugruppe verfügt über zwei Schnittstellen, wobei die 2. Schnittstelle

(SI 2) über Hybridmodule frei konfigurierbar ist.

Über die 2. Schnittstelle SI 2 können Sie einfach zu handhabende Punkt zu

Punkt Verbindungen realisieren.

Leistungsmerkmale

CPU-928-

Baugruppe

Programmkompatibilität durch Ablauf des gesamten Befehlsvorrats

Anschluss für PG

• zweite frei konfigurierbare serielle Schnittstelle

Schmale Bauweise

Steckplatz für Speichermodule

Hardware-Uhr

Kommunikation

PG-Schnittstelle

• frei konfigurierbare serielle Schnittstelle (über Hybrid-Module frei konfigurierbar)

Rev. 00/27 1-5

Teil 1 Grundlagen

Arbeitsweise einer CPU

zyklische

Bearbeitung

Handbuch VIPA CPU 928 - Band 1

In einer CPU gibt es folgende Arbeitsweisen:

Die zyklische Bearbeitung stellt den Hauptanteil aller Vorgänge in der

CPU. In einem endlosen Zyklus werden die gleichen Bearbeitungsfolgen wiederholt.

zeitgesteuerte

Bearbeitung

Erfordern Prozesse in konstanten Zeitabschnitten Steuersignale, so können

Sie neben dem zyklischen Ablauf zeitgesteuert bestimmte Aufgaben durchführen z.B. zeitunkritische Überwachungsfunktionen im Sekundenraster.

alarmgesteuerte

Bearbeitung

Soll auf ein Prozesssignal besonders schnell reagiert werden, so ordnen

Sie diesem einen alarmgesteuerten Bearbeitungsabschnitt zu. Ein Alarm kann in Ihrem Programm eine Bearbeitungsfolge aktivieren.

Bearbeitung nach

Priorität

Die oben genannten Bearbeitungsarten werden von der CPU nach

Wichtigkeitsgrad behandelt (Priorität). Da auf ein Zeit- oder Alarmereignis schnell reagiert werden muss, unterbricht zur Bearbeitung dieser hochprioren Ereignisse die CPU die zyklische Bearbeitung, reagiert auf diese

Ereignisse und setzt danach die zyklische Bearbeitung wieder fort. Die zyklische Bearbeitung hat daher die niedrigste Priorität.

Programme einer CPU

Das in jeder CPU vorhandene Programm unterteilt sich in:

Systemprogramm Das Systemprogramm organisiert alle Funktionen und Abläufe der CPU, die nicht mit einer spezifischen Steuerungsaufgabe verbunden sind.

Die nachfolgenden Kapitel außer Teil "Erweiterter Datenbaustein DX0" beschreiben das voreingestellte Systemverhalten bei Reaktionen auf

Prozessereignisse oder Fehler. Sie können dieses Systemverhalten durch

Parametrieren des Datenbausteins DX0 modifizieren .

Anwenderprogramm

1-6

Hier finden Sie alle Funktionen, die zur Bearbeitung einer spezifischen

Steuerungsaufgabe erforderlich sind. Schnittstellen zum Systemprogramm stellen die Operationsbausteine zur Verfügung.

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Operanden der CPU 928

Teil 1 Grundlagen

Die CPU 928 stellt Ihnen für das Programmieren folgende Operandenbereiche zur Verfügung:

Prozessabbild und

Peripherie

Auf das Prozessabbild der Aus- und Eingänge PAA/PAE kann Ihr Anwenderprogramm sehr schnell zugreifen. Sie haben Zugriff auf folgende

Datentypen:

Einzelbits

Bytes

Wörter

Doppelwörter

Sie können mit Ihrem Anwenderprogramm über den Rückwand-Bus direkt auf Peripheriebaugruppen zugreifen. Folgende Datentypen sind möglich:

Bytes

Wörter

Merker

(M- und S-Merker)

Der Merkerbereich ist ein Speicherbereich, auf den Sie über Ihr Anwenderprogramm mit entsprechenden Operationen zugreifen können. Verwenden

Sie den Merkerbereich für oft benötigte Arbeitsdaten. Sie können auf folgende Datentypen zugreifen:

Einzelbits

Bytes

Wörter

Doppelwörter

Die CPU 928 enthält einen zusätzlichen Merkerbereich, den S-Merkerbereich.

S-Merker lassen sich nicht als Aktualoperanden bei Funktionsbaustein-

Aufrufen benutzen.

Voraussetzung für den Einsatz von S-Merkern ist das MC5-

Programmierpaket von VIPA oder "S5-DOS/MT" von Siemens.

Rev. 00/27 1-7

Teil 1 Grundlagen Handbuch VIPA CPU 928 - Band 1

Zeiten und Zähler Sie können mit Ihrem Anwendungsprogramm eine Zeitzelle mit einem Wert zwischen 10ms und 9990s laden. Sobald Ihr Anwenderprogramm eine

Startoperation ausführt, wird dieser Zeitwert um ein durch Sie vorgegebenes Zeitraster dekrementiert, bis Null erreicht wird.

Für den Einsatz von Zählern können Sie Zählerzellen mit einem Anfangswert laden (max. 999) und diesen hinauf- bzw. herunterzählen.

Datenbausteine Ein Datenbaustein enthält Konstanten bzw. Variablen im Byte-, Wort- oder

Doppelwortformat. Mit Operanden können Sie immer auf den aktuellen

Datenbaustein zugreifen.

Sie haben Zugriff auf folgende Datentypen:

Einzelbits

Bytes

Wörter

Doppelwörter

1-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Adressierungsarten

Relative

Adressierung

Teil 1 Grundlagen

Für den Zugriff auf Operanden- und Speicherbereiche können Sie zwei

Adressierungsarten einsetzen:

Der überwiegende Teil der Befehle adressiert eine Speicherzelle relativ zum Beginn eines Operandenbereichs. Wenn ausschließlich mit diesen

Befehlen gearbeitet wird, sind Code- und Datenbereiche des Anwenderprogramms gegen ungewolltes Überschreiben geschützt. Zugleich ist das

Anwenderprogramm unabhängig von der verwendeten CPU, sofern die

CPU über einen entsprechenden Operandenbereich verfügt.

Absolute

Adressierung

Es gibt auch Befehle, die mit absoluter Adressierung arbeiten. Mit diesen

Befehlen können Sie auf den ganzen Speicherbereich zugreifen. Sie lassen sich aber nur in Funktionsbausteinen verwenden und sollten wegen der Gefahr von Datenzerstörung nur mit größter Vorsicht eingesetzt werden. Diese Befehle sind vom CPU-Typ abhängig.

Datenbausteine werden vom Systemprogramm in den Anwenderspeicher oder in das DB-RAM geladen. Bei der CPU 928 werden Datenbausteine nur im DB-RAM abgelegt. Ihre Lage ist abhängig vom jeweils verfügbaren

Speicherplatz. Die Länge der einzelnen Datenbausteine kann unterschiedlich sein und wird beim Programmieren eines Datenbausteins festgelegt.

Der aktuelle Datenbaustein ist der Datenbaustein, dessen Anfangsadresse und Länge in speziellen Registern eingetragen ist. Dieser Eintrag erfolgt

über eine spezielle Operation zum Aufrufen eines Datenbausteins. Das

Anwenderprogramm kann, sofern sie keine Befehle mit absoluter

Adressierung einsetzen, ausschießlich auf den aktuellen Datenbaustein zugreifen.

Folgende Datentypen sind möglich:

Einzelbit

Bytes

Wörter

Doppelwörter

Rev. 00/27 1-9

Teil 1 Grundlagen

Vorgehensweise bei der Programmierung

Handbuch VIPA CPU 928 - Band 1

Programm entwerfen

Ein Steuerungsprogramm lässt sich in drei Abschnitte einteilen:

Technologisch Aufgabenstellung

Programmentwurf

Programmierung, Test und Inbetriebnahme.

technologische

Aufgabenstellung

Erstellen Sie ein grobes Blockdiagramm über die Steuerungsaufgaben

Ihres Prozesses.

Erstellen Sie eine Liste der für die Aufgabe benötigten Ein- und Ausgabesignale.

Verfeinern Sie das Blockdiagramm, indem Sie den einzelnen Blöcken die Signale und evtl. erforderlichen Zeitbedingungen bzw. Zählerstände zuordnen.

Entwerfen Sie die Bearbeitungsarten (zyklisch bzw. zeitgesteuert) Ihres

Programms und benennen Sie die hierzu verwendeten OBs.

Teilen Sie die Bearbeitungsarten in technologische bzw. funktionale

Blöcke ein.

Prüfen Sie, ob Sie die Blöcke einem Programm- oder Funktionsbaustein zuordnen können und benennen Sie die zu verwendenden Bausteine

(PB x, FB y usw.)

Klären Sie den Speicherbedarf für Zähler, Zeiten, Daten- und Ergebnisspeicher.

Legen Sie die Aufgaben für jeden vorgesehenen Codebaustein und die

Daten für evtl. benötigte Merker und Datenbausteine fest.

Zeichnen Sie für die Codebausteine Ablaufdiagramme.

Hinweis!

Der Zyklus muss ausreichend schnell ablaufen. Die Prozesszustände dürfen sich nicht schneller ändern als die CPU darauf reagieren kann.

Ansonsten könnte der Prozess außer Kontrolle geraten. Berücksichtigen

Sie als maximale Reaktionszeit die doppelte Zykluszeit.

Sie bestimmen die Zykluszeit durch die zyklische Bearbeitung des

Systemprogramms und durch Art und Umfang des Anwenderprogramms.

1-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 1 Grundlagen

Programmierung,

Test und Inbetriebnahme

Legen Sie die Darstellungsart für die Codebausteine fest (FUP, KOP oder AWL).

Programmieren Sie die Code- und Datenbausteine.

Nehmen Sie die Bausteine nacheinander in Betrieb.

Wenn Sie sicher sind, dass alle Codebausteine richtig ablaufen und alle

Daten richtig berechnet und abgespeichert werden, können Sie Ihr gesamtes Programm in Betrieb nehmen.

Hinweis!

Bitte beachten Sie, dass Sie die Funktionsbausteine nur in der Darstellungsart AWL erstellen können.

Rev. 00/27 1-11

Teil 1 Grundlagen

Unterschiede zu Siemens CPUs

Handbuch VIPA CPU 928 - Band 1

CPU 928B

Version 3UB12

Systemfehler-Anzeige

Zwei PG-Schnittstellen, die beide gleichzeitig genutzt werden können, sofern unterschiedliche Funktionen angesprochen werden.

Kein Mehrprozessorbetrieb.

Kein Neustart mit Gedächtnis.

Ca. doppelte Geschwindigkeit bei Wortbefehlen.

Nach dem Urlöschen wird Ihr Programm vom Modul in den CPU-

Speicher kopiert. Danach kann das Modul entfernt werden.

Schreibschutz für Anwenderspeicher aktivieren/ deaktivieren mit BS138

Bit 0. Bausteine mit EPROM-Kennung können vom PG nicht überschrieben werden, jedoch vom Anwenderprogramm!

Kopieren des Anwenderprogramms in das interne Flash-EPROM der

CPU mit BS138 Bit 15.

Wenn der Schreibschutz für den Anwenderspeicher aktiviert wird

(BS138 mit Bit 0 = 1), kann durch zusätzliches Setzen des Bit 15 das

Anwenderprogramm und DB-RAM im Flash-EPROM der CPU gesichert werden. Dies ermöglicht der CPU das Nachladen, falls ein Fehler im

Anwenderspeicher nach NAU festgestellt wird.

Das Nachladen erfolgt nur, wenn das Anwenderprogramm zwischenzeitlich nicht verändert wurde!

Vorgehen: 1. Stoppen Sie die CPU

2. Lassen Sie sich den Inhalt der Adresse EA8Ah am PG ausgeben.

3. Setzen Sie das Bit 0 und das Bit 15 (Bitmuster 8001h).

4. Führen Sie anschließend eine NEUSTART durch.

Kein Softwareschutz durch BS139.

Speicher-Füllstandsanzeiger für den Anwenderspeicher in BS64, für das DB-RAM in BS65.

Systemfehler

Falls ein Systemfehler auftritt wird

- der SPS-Prozessor gestoppt und alle Ausgänge (P,Q) werden gelöscht

- im BS7 wird UAPRFE gesetzt (Urlöschen, kein Anlauf)

- im BS8 wird FE5 gesetzt (Systemfehler)

- im BS80 erfolgt eine nähere Spezifizierung der Ursache

- die CPU führt einen Kaltstart durch

Fehlerursache

Hardware Watchdog

CP-SPS Kommunikation

Überwachung SPS-Prozessor

Tasküberwachung CP-Prozesssor

Nicht belegter Interrupt

Speicherfehler

O

LED aus; X

LED blinkt

BS80

FE01h

FE02h

FE03h

FE04h

FE05h

FE06h

QVZ

O

O

O

X

X

X

LEDs

ADF

O

X

X

O

O

X

ZYK

X

O

X

O

X

O

1-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 1 Grundlagen

Integrierte Sonder-

OBs:

OB 110: Zugriff auf das Anzeigenbyte

OB 111: AKKU 1, 2, 3 und 4 löschen

OB 112/113: AKKU-Roll-Up / AKKU-Roll-Down

OB 120: "Alarme gemeinsam sperren" ein-/ausschalten

OB 121: "Weckalarme einzeln sperren" ein-/ausschalten

OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten

OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten

OB 134: *D

OB 135: /D

OB 136: MOD

OB 139: PUSH

OB 150: Systemzeit stellen/lesen

OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen

OB 152: Zyklusstatistik

OB 160 bis 163: Zählschleifen

OB 170: Bausteinstack (BSTACK) lesen

OB 180: Variabler Datenbaustein-Zugriff

OB 181: Datenbausteine (DB/DX) testen

OB 182: Datenbereich kopieren

OB 186: Speicher komprimieren

OB 190/OB 192: Merker in DB übertragen

OB 191/OB 193: Datenblöcke in Merkerbereich übertragen

OB 216: Schreiben auf eine Kachel

OB 217: Lesen aus einer Kachel

OB 218: Belegen einer Kachel

OB 220: Vorzeichenerweiterung

OB 221: Zyklusüberwachungszeit einstellen

OB 222: Zyklusüberwachungszeit neu starten

OB 228: Statusinformation einer Programmebene lesen

OB 230: HTB-Send

OB 231: HTB-Receive

OB 232: HTB-Fetch

OB 233: HTB-Control

OB 234: HTB-Reset

OB 235: HTB-Synchron

OB 236: HTB-Send ALL

OB 237: HTB-Receive ALL

OB 250: PID-Algorithmus initialisieren

OB 251: PID-Algorithmus bearbeiten

OB 254/ OB 255: Einen DB verschieben/ duplizieren

Die Standardhantierungsbausteine unterstützen die S-Merkerbereiche.

Datenübertragung mit den Prozeduren 3964 bzw. 3964R und RK512

Die Datenübertragung erfolgt über die zweite serielle Schnittstelle (SI 2).

Die Prozeduren können mit einer höheren Baudrate von bis zu 38400

Baud ausgeführt werden. Die Einstellung erfolgt im DX2 mit dem Wert

000Ah.

Rev. 00/27 1-13

Teil 1 Grundlagen Handbuch VIPA CPU 928 - Band 1

CPU 928B

Version 3UB21

Zwei PG-Schnittstellen, die beide gleichzeitig genutzt werden können, sofern unterschiedliche Funktionen angesprochen werden.

Kein Mehrprozessorbetrieb.

Kein Neustart mit Gedächtnis.

Ca. doppelte Geschwindigkeit bei Wortbefehlen.

Nach dem Urlöschen wird Ihr Programm vom PCMCIA-Modul in den

CPU-Speicher kopiert. Danach können Sie das PCMCIA-Modul entfernen.

Schreibschutz für Anwenderspeicher aktivieren/ deaktivieren mit BS138

Bit 0. Bausteine mit EPROM-Kennung können vom PG nicht

überschrieben werden, jedoch vom Anwenderprogramm!

Kopieren des Anwenderprogramms in das interne Flash-EPROM der

CPU mit BS138 Bit 15.

Wenn der Schreibschutz für den Anwenderspeicher aktiviert wird

(BS138 Bit 0), kann durch zusätzliches Setzen des Bit 15 das

Anwenderprogramm und DB-RAM im Flash-EPROM der CPU gesichert werden. Dies ermöglicht der CPU das Nachladen, falls ein Fehler im

Anwenderspeicher nach NAU festgestellt wird.

Das Nachladen erfolgt nur wenn das Anwenderprogramm zwischenzeitlich nicht verändert wurde!

Vorgehen: 1. Stoppen Sie die CPU

2. Lassen Sie sich den Inhalt der Adresse EA8Ah am PG ausgeben.

3. Setzen Sie das Bit 0 und das Bit 15 (Bitmuster 8001h).

4. Führen Sie anschließend eine NEUSTART durch.

Kein Softwareschutz durch BS139.

Speicher-Füllstandsanzeiger für den Anwenderspeicher in BS64, für das

DB-RAM in BS65

Systemfehler

Falls ein Systemfehler auftritt wird

- der SPS-Prozessor gestoppt und alle Ausgänge (P,Q) werden gelöscht

- im BS7 wird UAPRFE gesetzt (Urlöschen, kein Anlauf)

- im BS8 wird FE5 gesetzt (Systemfehler)

- im BS80 erfolgt eine nähere Spezifizierung der Ursache

- die CPU führt einen Kaltstart durch

Systemfehler-Anzeige

Fehlerursache

Hardware Watchdog

CP-SPS Kommunikation

Überwachung SPS-Prozessor

Tasküberwachung CP-Prozesssor

Nicht belegter Interrupt

Speicherfehler

O

LED aus; X

LED blinkt

BS80

FE01h

FE02h

FE03h

FE04h

FE05h

FE06h

QVZ

O

O

O

X

X

X

LEDs

ADF

O

X

X

O

O

X

ZYK

X

O

X

O

X

O

1-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 1 Grundlagen

Integrierte Sonder-

OBs

OB 110: Zugriff auf das Anzeigenbyte

OB 111: AKKU 1, 2, 3 und 4 löschen

OB 112/113: AKKU-Roll-Up / AKKU-Roll-Down

OB 120: "Alarme gemeinsam sperren" ein-/ausschalten

OB 121: "Weckalarme einzeln sperren" ein-/ausschalten

OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten

OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten

OB 134: *D

OB 135: /D

OB 136: MOD

OB 139: PUSH

OB 150: Systemzeit stellen/lesen

OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen

OB 152: Zyklusstatistik

OB 160 bis 163: Zählschleifen

OB 170: Bausteinstack (BSTACK) lesen

OB 180: Variabler Datenbaustein-Zugriff

OB 181: Datenbausteine (DB/DX) testen

OB 182: Datenbereich kopieren

OB 186: Speicher komprimieren

OB 190/OB 192: Merker in DB übertragen

OB 191/OB 193: Datenblöcke in Merkerbereich übertragen

OB 216: Schreiben auf eine Kachel

OB 217: Lesen aus einer Kachel

OB 218: Belegen einer Kachel

OB 220: Vorzeichenerweiterung

OB 221: Zyklusüberwachungszeit einstellen

OB 222: Zyklusüberwachungszeit neu starten

OB 228: Statusinformation einer Programmebene lesen

OB 230: HTB-Send

OB 231: HTB-Receive

OB 232: HTB-Fetch

OB 233: HTB-Control

OB 234: HTB-Reset

OB 235: HTB-Synchron

OB 236: HTB-Send ALL

OB 237: HTB-Receive ALL

OB 250: PID-Algorithmus initialisieren

OB 251: PID-Algorithmus bearbeiten

OB 254/ OB 255: Einen DB verschieben/ duplizieren

Die Standardhantierungsbausteine unterstützen die S-Merkerbereiche.

Datenübertragung mit den Prozeduren 3964 bzw. 3964R und RK512

Die Datenübertragung erfolgt über die zweite serielle Schnittstelle (SI 2).

Die Prozeduren können mit einer höheren Baudrate von bis zu 38400

Baud ausgeführt werden. Die Einstellung erfolgt im DX2 im Datenwort 0

(relativ) mit dem Wert 000Ah.

Rev. 00/27 1-15

Teil 1 Grundlagen Handbuch VIPA CPU 928 - Band 1

CPU 928C

Version 3UC11

Die CPU besitzt zwei getrennte Speicherbereiche für Codebausteine

(OB, FB etc.) und Datenbausteine.

Zugriff auf den Anwenderspeicher (Codebausteine) nur über die Befehle

LDI, TDI.

Vom Programmiergerät ist der Anwenderspeicher nicht sichtbar.

Zwei PG-Schnittstellen.

Beide Schnittstellen können gleichzeitig genutzt werden, sofern unterschiedliche Funktionen angesprochen werden.

Kein Mehrprozessorbetrieb.

Kein Neustart mit Gedächtnis.

Ca. doppelte Geschwindigkeit bei Wortbefehlen.

Das Anwenderprogramm wird nach Urlöschen vom PCMCIA -Modul in den CPU-Speicher kopiert. Das PCMCIA -Modul kann nach dem

Kopieren entfernt werden.

Alternatives Laden von Datenbausteinen (BS144) wird nicht benötigt, da

Datenbausteine immer im DB-RAM abgelegt werden.

Schreibschutz für Anwenderspeicher aktivieren/ deaktivieren mit BS138

Bit 0.

Bausteine mit EPROM-Kennung können vom PG nicht überschrieben werden, aber vom Anwenderprogramm!

Kopieren des Anwenderprogramms in das interne Flash-EPROM der

CPU mit BS138 ist, im Gegensatz zur VIPA CPU928B, nicht möglich.

Kein Softwareschutz durch BS139.

Speicher-Füllstandsanzeiger

Anwenderspeicher im BS64 (0000h bis FFFFh).

DB-RAM im BS65 (0000h bis DD7Fh).

• Systemfehler

Falls ein Systemfehler auftritt wird

- der SPS-Prozessor gestoppt

- alle Ausgänge (P,Q) werden gelöscht

- im BS7 wird UAPRFE gesetzt (Urlöschen, kein Anlauf)

- im BS8 wird FE5 gesetzt (Systemfehler)

- im BS80 erfolgt eine nähere Spezifizierung der Ursache

- die CPU führt einen Kaltstart durch

Systemfehler-Anzeige

Fehlerursache

Hardware Watchdog

CP-SPS Kommunikation

Überwachung SPS-Prozessor

Tasküberwachung CP-Prozesssor

Nicht belegter Interrupt

Speicherfehler

O

LED aus; X

LED blinkt

BS80

FE01h

FE02h

FE03h

FE04h

FE05h

FE06h

QVZ

O

O

O

X

X

X

LEDs

ADF

O

X

X

O

O

X

ZYK

X

O

X

O

X

O

1-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 1 Grundlagen

Integrierte Sonder-

OBs:

OB 110: Zugriff auf das Anzeigenbyte

OB 111: AKKU 1, 2, 3 und 4 löschen

OB 112/113: AKKU-Roll-Up / AKKU-Roll-Down

OB 120: "Alarme gemeinsam sperren" ein-/ausschalten

OB 121: "Weckalarme einzeln sperren" ein-/ausschalten

OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten

OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten

OB 134: *D

OB 135: /D

OB 136: MOD

OB 139: PUSH

OB 150: Systemzeit stellen/lesen

OB 151: Zeit für uhrzeitgesteuerten Weckalarm stellen/lesen

OB 152: Zyklusstatistik

OB 160 bis 163: Zählschleifen

OB 170: Bausteinstack (BSTACK) lesen

OB 180: Variabler Datenbaustein-Zugriff

OB 181: Datenbausteine (DB/DX) testen

OB 182: Datenbereich kopieren

OB 186: Speicher komprimieren

OB 190/OB 192: Merker in DB übertragen

OB 191/OB 193: Datenblöcke in Merkerbereich übertragen

OB 216: Schreiben auf eine Kachel

OB 217: Lesen aus einer Kachel

OB 218: Belegen einer Kachel

OB 220: Vorzeichenerweiterung

OB 221: Zyklusüberwachungszeit einstellen

OB 222: Zyklusüberwachungszeit neu starten

OB 228: Statusinformation einer Programmebene lesen

OB 230: HTB-Send

OB 231: HTB-Receive

OB 232: HTB-Fetch

OB 233: HTB-Control

OB 234: HTB-Reset

OB 235: HTB-Synchron

OB 236: HTB-Send ALL

OB 237: HTB-Receive ALL

OB 250: PID-Algorithmus initialisieren

OB 251: PID-Algorithmus bearbeiten

OB 254/ OB 255: Einen DB verschieben/ duplizieren im DB-RAM

Die Standardhantierungsbausteine unterstützen die S-Merkerbereiche.

Datenübertragung mit den Prozeduren 3964 bzw. 3964R und RK512

Die Datenübertragung erfolgt über die zweite serielle Schnittstelle (SI 2).

Die Prozeduren können mit einer höheren Baudrate von bis zu 38400

Baud ausgeführt werden. Die Einstellung erfolgt im DX2 mit dem Wert

000Ah.

Rev. 00/27 1-17

Teil 1 Grundlagen

Lieferumfang und Gerätevarianten

Handbuch VIPA CPU 928 - Band 1

Grundausführung

32-Bit Prozessor für schnelle Bit- und Wortverarbeitung

16-Bit Prozessor für Bearbeitung des Betriebsprogramms

Speicher (RAM) für Merker, S-Merker, Zeiten Zähler, Prozessabbild usw.

• internes DB-RAM 46 kByte bzw. 110 kByte

• interner Speicher (RAM) für Anwenderprogramm 64 kByte bzw. 128 kByte

PG-Schnittstelle

• zweite serielle frei konfigurierbare Schnittstelle

Hardware-Uhr

CPU 928B

VIPA 928-3UB12

Grundausführung zusätzlich mit

Steckplatz für Speicher-EPROM-Module 376

Best.-Nr.: 16 kByte VIPA 376-0AA11

32 kByte

64 kByte

VIPA 376-0AA21

VIPA 376-0AA31

CPU 928B

VIPA 928-3UB21

Grundausführung zusätzlich mit

Steckplatz für Speicher-Flash-ROM-Module 374

Best.-Nr.: 256 kByte VIPA 374-2FH21

512 kByte VIPA 374-2FJ21

CPU 928C

VIPA 928-3UC11

Grundausführung zusätzlich mit

• internes DB-RAM 110 kByte

• interner Speicher (RAM) für 128 kByte Anwenderprogramm

Steckplatz für Speicher-Flash-ROM-Modul 374

Best.-Nr.: 256 kByte VIPA 374-2FH21

512 kByte VIPA 374-2FJ21

Hybrid-Module für

SI 2

Die physikalische Schnittstelle SI 2 wird standardmäßig als 20mA-

Schnittstelle ausgeliefert. Sie kann aber auch über Hybrid-Module beliebig konfiguriert werden. Die physikalischen Schnittstellen können über steckbare Hybrid-Module beliebig konfiguriert werden.

Folgende Hybrid-Module sind bei VIPA erhältlich:

Schnittstelle

RS232C

RS422

Best.-Nr.

OP11

OP13

1-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Teil 2 Hardwarebeschreibung

Überblick

Teil 2 Hardwarebeschreibung

Die CPU 928-Baugruppen erhalten Sie in verschiedenen Ausführungen, auf die in diesem Kapitel mehr eingegangen werden soll. Sie erhalten

Informationen zu den Bedienelementen und zur Inbetriebnahme.

Nachfolgend sind beschrieben:

Komponenten

Bedien- und Anzeigenelemente

Anschlüsse

Inbetriebnahme

Inhalt Thema Seite

Teil 2 Hardwarebeschreibung ...............................................................2-1

Aufbau CPU 928...................................................................................2-2

Bedien- und Anzeigeelemente ..............................................................2-4

Leuchtdioden ........................................................................................2-7

Schalter ................................................................................................2-9

Serielle Schnittstellen..........................................................................2-10

Speicher-Module.................................................................................2-15

Inbetriebnahme...................................................................................2-16

Anlaufverhalten...................................................................................2-17

Technische Daten...............................................................................2-18

Baugruppen-

Übersicht

Typ

CPU 928B

CPU 928B

CPU 928C

Bestellnummer Beschreibung

VIPA 928-3UB12 CPU 928B (EPROM)

VIPA 928-3UB21 CPU 928B (Flash-ROM)

VIPA 928-3UC11 CPU 928C (Flash-ROM)

Rev. 00/27 2-1

Teil 2 Hardwarebeschreibung

Aufbau CPU 928

Die CPUs in der

Übersicht CPU 928B

Handbuch VIPA CPU 928 - Band 1

CPU 928B CPU 928C

2-2

928-3UB12 928-3UB21 928-3UC11

Hinweis!

Soweit nichts anderes erwähnt ist, beziehen sich die in diesem Handbuch gemachten Angaben auf die CPU 928-Familie von VIPA!

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 2 Hardwarebeschreibung

Komponenten der

Baugruppen

Recheneinheit, mikroprogrammiert, mit 32 Bit Prozessor für schnelle

Bearbeitung von Binär- und Wortanweisungen

Mikroprozessor (16 Bit) für die Bearbeitung des Betriebsprogramms der

Baugruppe und die Bearbeitung der fest eingebauten sowie der seriellen

Schnittstellen

Speicher (RAM) für Merker, S-Merker, Zeiten, Zähler, Prozessabbild usw.

928B Interner Speicher (RAM) Batterie gepuffert 46kByte Datenspeicher

64 kByte Programmspeicher + Datenspeicher (Datenbausteine)

928C Interner Speicher (RAM) Batterie gepuffert 110kByte Datenspeicher, 128 kByte Programmspeicher

Hardware-Uhr

Betriebsprogramm für zyklische, zeit- und prozessgesteuerte Verarbeitung und Fehlerbehandlung

Sonderfunktionen für Zyklusstatistik

Bedien- und

Anzeigeelemente auf der Frontplatte

Steckplatz für PCMCIA-Speichermodul mit FLASH-ROM (im Programmiergerät zu programmieren) für 64...128kByte Anwenderprogramm. Bei UB 12 EPROM-Schacht bis 64 kByte.

15polige SubD-Buchse für PG-Schnittstelle

15polige SubD-Buchse als zweite PG-Schnittstelle. Die Schnittstelle kann optional als RS232C-, 20mA-, RS422- oder RS485-Schnittstelle bestückt werden.

RUN-STOP-Schalter

RESET/URLÖSCHEN-Taster

LED (grün) RUN-Zustand

LED (rot) STOP-Zustand

LED (rot) QVZ Quittungsverzug/Peripheriefehler

LED (rot) ADF Adressierfehler

LED (rot) ZYK Zyklusfehler

LED (rot) BASP Befehlsausgabesperre

LED (gelb) PCMCIA Aktivität an PCMCIA

LED (rot) Fehleranzeige Schnittstelle 1

LED (rot) Fehleranzeige Schnittstelle 2

Rev. 00/27 2-3

Teil 2 Hardwarebeschreibung

Bedien- und Anzeigeelemente

Frontansicht

CPU 928C

CPU 928-3UC11

3

4

1

2

5

6

7

8

9

10

11

12

13

14

Handbuch VIPA CPU 928 - Band 1

[1] QVZ Quittungsverzug/

Peripheriefehler

[2] ADF Adressierfehler

[3] ZYK Zyklusfehler

[4] BASP Befehlsausgabesperre

[5] PCMCIA Aktivität an PCMCIA

[6] Schacht für Flash-Card 374

[7] RUN-LED

[8] RUN-STOP-Schalter

[9] STOP-LED

[10] RESET/URLÖSCHEN-Taster

[11] Fehler Schnittstelle 1

[12] PG-Schnittstelle SI 1

[13] Fehler Schnittstelle 2

[14] Kommunikations- und PG-

Schnittstelle SI 2

2-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Frontansicht

CPU 928B

CPU 928-3UB21

3

4

1

2

5

6

7

8

9

10

11

12

13

14

Teil 2 Hardwarebeschreibung

[1] QVZ Quittungsverzug/

Peripheriefehler

[2] ADF Adressierfehler

[3] ZYK Zyklusfehler

[4] BASP Befehlsausgabesperre

[5] PCMCIA Aktivität an PCMCIA

[6] Schacht für Flash-Card 374

[7] RUN-LED

[8] RUN-STOP-Schalter

[9] STOP-LED

[10] RESET/ URLÖSCHEN-Taster

[11] Fehler Schnittstelle 1

[12] PG-Schnittstelle SI 1

[13] Fehler Schnittstelle 2

[14] Kommunikations und PG-

Schnittstelle SI 2

Rev. 00/27 2-5

Teil 2 Hardwarebeschreibung

Frontansicht

CPU 928B

CPU 928-3UB12

Handbuch VIPA CPU 928 - Band 1

[1] QVZ Quittungsverzug/

Peripheriefehler

[2] ADF Adressierfehler

[3] ZYK Zyklusfehler

[4] BASP Befehlsausgabesperre

[5]

[6] Schacht für Flash-Card 374

[7] RUN-LED

[8] RUN-STOP-Schalter

[9] STOP-LED

[10] RESET/ URLÖSCHEN-Taster

[11] Fehler Schnittstelle 1

[12] PG-Schnittstelle SI 1

[13] Fehler Schnittstelle 2

[14] Kommunikations und PG-

Schnittstelle SI 2

2-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Leuchtdioden

QVZ

(rot)

Teil 2 Hardwarebeschreibung

LED Quittungsverzug/ Peripheriefehler

• im Anwenderprogramm wird der OB 23 aufgerufen

• bei der Prozessabbildaktualisierung wird der OB 24 aufgerufen

LED QVZ an Bei Direktzugriff oder bei der Prozessabbild-Aktualisierung quittiert eine vom Programm angesprochene Baugruppe nicht mehr, obwohl sie

• entweder im Einzelprozessorbetrieb beim Neustart der CPU 928 im

Bereich des Prozessabbildes (EB 0 bis 127, AB 0 bis 127) quittiert hat und als vorhanden in der "neunten Spur" eingetragen worden ist.

Mögliche Ursachen:

Ausfall der Baugruppe

Ziehen der Baugruppe während des Betriebes, im Stoppzustand oder im ausgeschalteten Zustand ohne anschließenden Neustart.

ADF

(rot)

ZYK

(rot)

BASP

(rot)

PCMCIA

(gelb)

LED Adressierfehler

Das Anwenderprogramm hat eine Peripherieadresse im Prozessabbild angesprochen, unter der keine Baugruppe gesteckt ist.

Bei Zugriff auf das Prozessabbild wird der OB 25 aufgerufen.

LED Zyklusfehler

Die maximale Zyklusüberwachungszeit wurde überschritten.

Bei Überschreitung der Zyklusüberwachungszeit wird der OB 26 aufgerufen.

LED Befehlsausgabe sperren

Die Befehlsausgabe ist gesperrt, d.h. ist logisch "0" gesetzt. Z.B. im Betriebszustand STOP. Die digitalen Ausgänge werden direkt in den sicheren

Zustand geschaltet.

Die Daten werden von der PCMCIA Card gelesen (nur bei Varianten mit

PCMCIA-Modulschacht).

Rev. 00/27 2-7

Teil 2 Hardwarebeschreibung

RUN

(grün)

RUN-LED die CPU arbeitet im Normalbetrieb

Handbuch VIPA CPU 928 - Band 1

STOP

(rot)

SI1/ SI2

(rot)

LED STOP zeigt den Betriebszustand STOP der CPU an

LED

RUN an aus aus aus

LED

STOP aus an aus langsames

Blinken aus schnelles

Blinken

Betriebszustand

Die CPU ist im Betriebszustand "RUN".

Die CPU ist im Betriebszustand "STOP".

Nach einer Stoppanforderung per Schalter oder per

PG-Funktion zeigt die STOP-LED Dauerlicht, da der

Übergang in die Betriebsart "STOP" hier vom Benutzer, angefordert und nicht von der CPU selbst verursacht wurde.

Die CPU ist im Betriebszustand "ANLAUF" oder in

Bearbeitungskontrolle.

Die CPU ist im Betriebszustand "STOP".

Die CPU hat einen Übergang in die Betriebsart "STOP" verursacht. Wenn Sie den Betriebsartenschalter auf

"STOP" umlegen, geht das Blinken in Dauerlicht über.

Die CPU ist im Betriebszustand "STOP".

Urlöschen wurde angefordert. Diese Anforderung kann von der CPU selbst oder per Bedienung erzeugt werden.

Fehler Schnittstelle 1/ Schnittstelle 2

LED

SI1 an an aus aus

LED

SI2

Ursache an An beiden Schnittstellen ist keine Kommunikation möglich. Interner Fehler aus SI1: Keine Kommunikation möglich. Interner Fehler.

SI2: Schnittstelle ist, sofern sie benutzt wird, initialisiert und betriebsbereit.

an SI1: Schnittstelle ist initialisiert und betriebsbereit

SI2: Keine Kommunikation möglich.

Falsches Schnittstellenmodul gesteckt oder falsche Parametrierung der Schnittstelle oder interner Fehler.

aus Die erste Schnittstelle und, sofern sie benutzt wird, die zweite Schnittstelle sind initialisiert und betriebsbereit.

2-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Schalter

RUN-STOP

Teil 2 Hardwarebeschreibung

RUN-STOP Schalter

Betriebsartenschalter Ein- /Ausschalter der CPU

In Stellung "RUN" bearbeitet die CPU 928 das Anwenderprogramm, wenn die grüne LED "RUN" leuchtet.

Die CPU 928 geht in den Stoppzustand, wenn Sie von "RUN" auf "STOP" schalten. Die rote LED "STOP" leuchtet anschließend.

RESET-OVRALL Funktionswahlschalter für Urlöschen und Neustart und Wiederanlauf.

Urlöschen

Taster unten halten und RUN-STOP schalten.

Beim Urlöschen werden alle RAM-Bereiche der CPU gelöscht und initialisiert .

Neustart

Taster oben

Beim Neustart werden alle Merker, Zeiten, Zähler und das Prozessabbild gelöscht. Der OB 20 wird aufgerufen. Die Bearbeitung des Anwenderprogramms beginnt von vorne.

Wiederanlauf

Taster in Mittelstellung

Beim Wiederanlauf wird die Bearbeitung des Anwenderprogramms an der

Unterbrechungsstelle fortgesetzt. Die Zustände der Merker, Zeiten, Zähler und das Prozessabbild bleiben während des Stillstandes der CPU erhalten.

Hinweis!

Nähere Erläuterungen zu den Betriebszuständen STOP, RUN und AN-

LAUF finden Sie im Teil "Betriebszustände und Programmbearbeitungsebenen.

Rev. 00/27 2-9

Teil 2 Hardwarebeschreibung

Serielle Schnittstellen

Übersicht

Handbuch VIPA CPU 928 - Band 1

Die CPU 928-Baugruppen besitzen 2 serielle Schnittstellen (SI 1 und SI 2), wobei SI 2 über ein steckbares Hybridmodul von VIPA beliebig konfiguriert werden kann als

20mA-Schnittstelle

RS232C-Schnittstelle

RS422-Schnittstelle

PG-Schnittstelle

SI 1

(fest)

Die Schnittstelle SI 1 dient zur Kommunikation mit Ihrem PG und ist als

20mA-Schnittstelle ausgelegt.

Die Schnittstelle hat folgende Pinbelegung:

Pin Signal

1 MEXT (externe Masse, Schirm)

2 TTY IN - (Strom-Ausgang)

3 +5V

4 +24V

5 Masse (interne Masse)

6 TTY OUT + (Strom-Eingang)

7 TTY OUT - (Strom-Ausgang)

8 MEXT (externe Masse)

9 TTY IN + (Strom-Eingang)

10 Masse für 24V

11 20mA-Stromquelle des Senders

12 Masse (interne Masse)

13 20mA-Stromquelle des Empfängers

14 +5V

15 Masse (interne Masse)

2-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 2 Hardwarebeschreibung

20mA-Schnittstelle

SI 2

(Standard)

Merkmale 20mA auf der CPU 928

Logisch Zustände als Strompegel

Datenübertragung je nach Baudrate bis zu 1000m Entfernung

Datenübertragungsrate bis 38,4kBaud (nur SI 2) bei (3964/RK 512)

Punkt zu Punkt-Verbindung

Optionen der Betriebsart 20mA

CPU 928 ist aktiver Teilnehmer und liefert den Linienstrom

CPU ist passiver Teilnehmer, Gegenstelle übernimmt die Linienstromversorgung.

SI 2 ist zweiter PG-Kanal (Standard)

Achtung!

Für den aktiven Betrieb stehen auf den S-Signalen Stromquellen zur Verfügung, die entsprechend in die Datenleitungen geschaltet werden müssen.

In diesem Fall ist eine 24V-Spannungsversorgung der Baugruppe erforderlich.

Pinbelegung

Pin Signal

1 MEXT (externe Masse, Schirm)

2 TTY IN - (Strom-Ausgang)

3 +5V

4 n. c.

5 n. c.

6 TTY OUT + (Strom-Eingang)

7 TTY OUT - (Strom-Ausgang)

8 n. c.

9 TTY IN + (Strom-Eingang)

10 Masse für 24V

11 20mA-Stromquelle des Senders

12 Masse (interne Masse)

13 20mA-Stromquelle des Empfängers

14 +5V

15 Masse (interne Masse)

Im Gegensatz zur 20mA-Schnittstelle SI 1 für die PG-Kopplung finden Sie hier auf Pin 4 keine 24V. Ansonsten hat die Schnittstelle die gleiche Pinbelegung wie die 20mA Schnittstelle SI 1.

Rev. 00/27 2-11

Teil 2 Hardwarebeschreibung

Aktive 20mA-

Schnittstelle

Stromquelle +20 mA

(current source +20mA)

+RxD

Empfänger

(receiver) -RxD

13

9

2

Stromquelle -20 mA

(current source -20mA)

12

Stromquelle +20 mA

(current source +20mA)

Sender

(transmitter)

11

+TxD 6

-TxD 7

Stromquelle -20 mA

(current source -20mA)

15 shield

Handbuch VIPA CPU 928 - Band 1

Sender

(transmitter)

Empfänger

(receiver)

Passive 20mA-

Schnittstelle

Empfänger

(receiver)

+RxD

9

2

-RxD

Sender

(transmitter)

+TxD

-TxD

6

7

+TxD

-TxD

+20mA

-20mA

+20mA

+RxD

-RxD

-20mA

Sender

(transmitter)

Empfänger

(receiver) shield

2-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

RS232C-

Schnittstellen

Merkmale RS232C auf der CPU:

Teil 2 Hardwarebeschreibung

Logische Zustände als Spannungspegel

Punkt-zu-Punkt-Kopplung mit serieller Vollduplexübertragung in 2-Draht-

Technik

Datenübertragung bis 15m Entfernung

Datenübertragungsrate bis 38,4kBaud

Pinbelegung

15

14

13

12

11

10

9

4

3

2

1

8

7

6

5

Pin

1 Schirm

2 RxD

3 n. c.

4 reserviert

5 RTS

6 reserviert

7 reserviert

8 Masse

9 reserviert

10 n. c.

11 CTS

12 n. c.

13 TxD

14 n. c.

15 n.c.

Signal

Handshake Auf der Schnittstelle liegen die Handshake-Signale auf (RTS/CTS). Sie werden aber nicht genutzt.

Kabelbelegung

RS232C

CPU 928

RxD

2

TxD

13

GND

RTS

CTS shield

8

5

11

Peripheriegerät

TxD

RxD

GND

Rev. 00/27 2-13

Teil 2 Hardwarebeschreibung

RS422

Schnittstelle

Kabelbelegung

RS422

Merkmale RS422 auf der CPU:

Handbuch VIPA CPU 928 - Band 1

Logische Zustände als Spannungsdifferenz zwischen zwei verdrillten Adern

Serielle Punkt-zu-Punkt-Vollduplexübertragung in 4-Draht-Technik

Multidrop-Verbindung

Datenübertragung bis 1000m Entfernung

Datenübertragungsrate bis 115kBaud

Pinbelegung

8

7

6

5

4

3

2

1

13

12

11

10

9

15

14

VIPA - CPU 928

TxD+

TxD-

RxD+

RxD-

GND

2

9

4

11

8

1 shield

GND

Pin

1 Schirm

2 TxD+

3 n. c.

4 RxD+

5 reserviert

6 reserviert

7 reserviert

8 Masse

9 TxD-

10 n. c.

11 RxD-

12 n. c.

13 reserviert

14 n. c.

15 n. c.

Signal

Peripheriegerät

RxD+

RxD-

TxD+

TxD-

Achtung!

Die Massen der Schnittstellen der beiden Geräte müssen verbunden sein.

2-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Speicher-Module

Allgemeines

Teil 2 Hardwarebeschreibung

Code- und Datenbausteine werden durch das Systemprogramm vom

Speicher-Modul in den Anwenderspeicher kopiert. Das Systemprogramm setzt außerdem eine Schreibschutzkennung.

Dies bedeutet, dass alle kopierten Bausteine nicht nachgeladen, verändert oder gelöscht werden können.

Um Daten in Datenbausteinen ändern zu können, müssen Sie dafür sorgen, dass die Datenbausteine ins DB-RAM gelangen.

Datenbausteine, die in im Speicher-Modul programmiert sind, können Sie mit Hilfe der OBs 254/255 (nur CPU 928B) in das DB-RAM kopieren.

Sobald die Datenbausteine im DB-RAM liegen, können Sie nachgeladen, geändert oder gelöscht werden.

Änderungen an diesen Datenbausteinen werden jedoch nicht in das

Speicher-Modul übernommen. Vor dem nächsten Urlöschen müssen Sie den Inhalt des Speicher-Moduls retten.

Nach dem Urlöschen können Sie das Speicher-Modul ziehen, die Daten stehen im Anwenderspeicher bereit.

Übersicht Folgende Speicher-Module können in den CPU-928-Baugruppen von VIPA eingesetzt werden:

VIPA-CPU

928B (928-3UB12)

928B (928-3UB21)

928C (928-UC11)

928B (928-3UB21)

928C (928-UC11)

Modul-Beschreibung

EPROM 16 KB, kurz

EPROM 32 KB, kurz

EPROM 64 KB, kurz

Flash-ROM 256 KB

Flash-ROM 512 KB

Bestell-Nr.

VIPA 376-0AA11

VIPA 376-0AA21

VIPA 376-0AA31

VIPA 374-2FH21

VIPA 374-2FJ21

Hinweis!

Die Memory Card kann nur am PG programmiert werden. Dazu können Sie die PG-Software ab Version 6 verwenden.

Beim Programmieren müssen Sie am PG die Betriebsart "WORD" wählen.

Rev. 00/27 2-15

Teil 2 Hardwarebeschreibung

Inbetriebnahme

Handbuch VIPA CPU 928 - Band 1

Achtung!

Schalten Sie die Stromversorgung aus, bevor Sie die Baugruppe ziehen oder stecken.

Stecken

Ziehen

Gehen Sie beim Stecken der CPU in das Zentralgerät folgendermaßen vor:

Schritt

1

2

3

4

5

Handlung

Entfernen Sie die Abdeckleiste der oberen Verriegelungsschiene indem Sie die 2 Befestigungsschrauben lösen.

Drehen Sie den Verriegelungsbolzen an der Front unten waagrecht.

Wählen Sie den richtigen Steckplatz aus (VIPA Rack-135U:

Steckplatz 2 und 4).

Setzen Sie CPUs im AG-135U von Siemens ab Steckplatz 11 ein.

Halten Sie die einzubauende Baugruppe an der Frontplatte,

Stecken Sie die Baugruppe in die untere und obere

Führungsschiene ein und schieben Sie die Baugruppe nach hinten. Die rückwärtigen Stecker der Baugruppe rasten in die

Buchse am Rückwandbus ein und der Ausrasthebel an Ihrer

Baugruppe wird waagrecht gestellt.

Drücken Sie den Verriegelungsbolzen auf der Unterseite der

Baugruppe ein und drehen Sie ihn um 90°.

Montieren Sie wieder die Abdeckleiste der oberen Verriegelungsschiene und ziehen Sie die Befestigungsschrauben an.

Gehen Sie beim Ziehen der CPU folgendermaßen vor:

Schritt

1

2

3

Handlung

Lösen Sie die obere Verriegelungsschiene des Zentralgerätes.

Lösen Sie den Verriegelungsbolzen der Baugruppe.

Drücken Sie den Ausrasthebel nach unten und ziehen Sie die

Baugruppe dann nach vorne aus dem Zentralgerät heraus.

2-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Anlaufverhalten

Teil 2 Hardwarebeschreibung

Die Baugruppen müssen auf den richtigen Steckplätzen im Zentralgerät stecken. Die Pufferbatterie muss eingebaut und in Ordnung sein, damit die

CPU in Betrieb gehen kann.

Erstes Urlöschen

Stellen Sie den Betriebsartenschalter auf "STOP"

Schalten Sie die Netzspannung ein.

Folgende LEDs müssen auf der CPU leuchten:

Rote LED "STOP" (schnell blinkend)

Rote LED "BASP".

Halten Sie den Betriebsartentaster in Stellung "OVERALL RESET" fest, und stellen Sie gleichzeitig den Betriebsartenschalter von "STOP" nach

"RUN".

Die rote LED "STOP" zeigt nun Dauerlicht.

Neustart

Stellen Sie den Betriebsartenschalter auf "STOP".

Halten Sie den Betriebsartentaster in Stellung "RESET" fest, und stellen

Sie gleichzeitig den Betriebsartenschalter von "STOP" nach "RUN".

Rote LED "STOP" erlischt,

Grüne LED "RUN" leuchtet

Rote LED "BASP" erlischt.

Die CPU ist jetzt im Betriebszustand "RUN", aber noch ohne Anwenderprogramm.

Wiederanlauf Mit dem Betriebsartenschalter können Sie weiterhin einen manuellen Wiederanlauf der CPU 928 ausführen.

Stellen Sie den Betriebsartenschalter von "STOP" nach "RUN".

Rote LED "STOP" erlischt

Grüne LED "RUN" leuchtet

Rote LED "BASP" erlischt.

Für Wartungszwecke oder im Fehlerfall kann mit der beschriebenen Inbetriebnahme ohne Anwenderprogramm festgestellt werden, ob die CPU fehlerfrei arbeitet.

Rev. 00/27 2-17

Teil 2 Hardwarebeschreibung

Technische Daten

Handbuch VIPA CPU 928 - Band 1

Mikroprozessoren

Speicherplatz

RAM intern (nur DBs)

RAM intern (alle Bausteine)

Speichermedium

Bearbeitungszeit für

1 K Binäranweisung

1 K Wortanweisung

Zykluszeitüberwachung

Merker

S-Merker

Zeitglieder

Anzahl

Zeitbereich

Zähler

Anzahl

Zählbereich

Eingänge digital zusätzlich analog

Ausgänge digital zusätzlich analog

Programmbearbeitung

68EC040 (32bit)

68340 (16bit)

46 kByte , 110kByte (928C)

64 kByte , 128kByte (928C)

EPROM , max. 64kByte (928B-3UB12)

Flash-ROM max. 64kByte (928B-3UB21)

1 ms

1 ms per Programm einstellbar, Voreinstellung:

200ms

2048

8192

256

0.01 ... 9990s

256

0 ... 999 max 1024 mit Prozessabbild max. 3072 ohne Prozessabbild max. 192

Stromaufnahme (bei 5V)

CPU 928B

Speichermodul

Verlustleistung

Platzbedarf max 1024 mit Prozessabbild max. 3072 ohne Prozessabbild max. 192

Zyklus (OB1, FB0) alarmgesteuert zeitgesteuert in 9 Takten uhrzeitgesteuert typ. 1,8 A typ. 0,1 A max 10 W

1 Steckplatz

2-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Teil 3 Anwenderprogramm

Überblick

Teil 3 Anwenderprogramm

Im nachfolgenden Kapitel erfahren Sie, aus welchen Komponenten sich ein

Anwenderprogramm für die CPU 928 zusammensetzt und wie es strukturiert werden kann.

Inhalt

Nachfolgend sind beschrieben:

Strukturierte Programmierung

Operationen

Zahlendarstellung

Organisationsbausteine für Anwenderschnittstellen

Sonderfunktions-Organisationsbausteine

Aufbau und Programmierung von Funktionsbausteinen

Erstellung und Aufschlagen von Datenbausteinen

Spezielle Datenbausteine

Thema Seite

Teil 3 Anwenderprogramm ....................................................................3-1

Programmiersprache ............................................................................3-2

Programm-, Organisations- und Schrittbausteine ...............................3-13

Funktionsbausteine.............................................................................3-19

Datenbausteine...................................................................................3-29

Rev. 00/27 3-1

Teil 3 Anwenderprogramm

Programmiersprache

Handbuch VIPA CPU 928 - Band 1

Mit der Programmiersprache STEP

®

5 von Siemens setzen Sie die Ihnen vorliegenden Automatisierungsaufgaben in Programme um, die in Ihren

Automatisierungsgeräten ablaufen.

In dieser Programmiersprache können Sie sowohl einfache binäre Funktionen als auch komplexe digitale Funktionen und arithmetische Operationen einschließlich Gleitpunktarithmetik programmieren.

Der Befehlsumfang der Programmiersprache gliedert sich in

Grundoperationen:

− in allen Code-Bausteinen anwendbar,

Darstellungsarten Kontaktplan (KOP), Funktionsplan (FUP), Anweisungsliste (AWL).

Ergänzende Operationen und Systemoperationen:

− nur in Funktionsbausteinen anwendbar,

Darstellungsart nur Anweisungsliste (AWL),

Systemoperationen: nur für Anwender mit sehr guten Systemkenntnissen.

Darstellungsarten

KOP, FUP, AWL

Beim Programmieren können Sie für jeden einzelnen Code-Baustein zwischen den drei Darstellungsarten Kontaktplan (KOP), Funktionsplan

(FUP) und Anweisungsliste (AWL) wählen, so dass die Programmiermethode dem jeweiligen Anwendungsfall angepasst werden kann.

Der von den Programmiergeräten (PG) erzeugte Maschinencode MC 5 ist bei den drei Darstellungsarten identisch.

Wenn Sie beim Programmieren bestimmte Regeln berücksichtigen, kann das PG Ihr Anwenderprogramm von einer Darstellungsart in jede andere

übersetzen!

3-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Graphische Darstellungen oder Liste mit Anweisungen

Während Sie mit den Darstellungsarten FUP und KOP die Möglichkeit haben, Ihr Programm graphisch darzustellen, werden in der Anweisungsliste die einzelnen Befehle aufgelistet.

Kontaktplan Anweisungsliste Funktionsplan

Programmieren mit grafischen

Symbolen wie Stromlaufplan entspricht

DIN 19239

Programmieren mit mnemotechnischen Abkürzungen der

Funktionsbezeichnungen entspricht

DIN 19239

Programmieren mit graphischen Symbolen entspricht

IEC 117-15

DIN 40700

DIN 40719

DIN 19239

Grafische Darstellung von Ablaufsteuerungen

GRAPH 5/6 von Siemens ist eine Programmiersprache zur graphischen

Darstellung von Ablaufsteuerungen. Sie ist den Darstellungsarten KOP,

FUP und AWL übergeordnet. Dieses geschriebene Programm in grafischer

Darstellung wird vom PG automatisch in ein SPS-Programm umgesetzt.

Rev. 00/27 3-3

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Strukturierte

Programmierung

Mit STEP

®

5 von Siemens kann das Anwenderprogramm strukturiert werden. Es wird dabei in einzelne, in sich geschlossene Programmabschnitte (Bausteine) aufgeteilt.

Die Gliederung Ihres Anwenderprogramms verdeutlicht somit auf den ersten Blick die wesentlichen Programmstrukturen oder hebt programmtechnisch zusammenhängende Anlagenteile hervor.

Vorteile

Dieses Verfahren des "strukturierten Programmierens" bietet Ihnen folgende Vorteile:

• einfache und übersichtliche Programmierung auch umfangreicher Programme

Möglichkeit zum Standardisieren von Programmteilen

• einfache Programmorganisation

• leichte Änderungsmöglichkeiten

• einfacher, abschnittsweiser Programmtest

• einfache Inbetriebnahme

Was ist ein Baustein?

Ein Baustein ist ein durch Funktion, Struktur oder Verwendungszweck abgegrenzter Teil des Anwenderprogramms.

Man unterscheidet Bausteine, die Anweisungen (Code) enthalten (Organisationsbausteine, Programmbausteine, Funktionsbausteine, Schrittbausteine) und Bausteine, die Daten enthalten (Datenbausteine).

Operationen

Eine Operation ist die kleinste selbständige Einheit des Anwenderprogramms. Sie ist die Arbeitsvorschrift für die CPU. Eine Operation setzt sich zusammen aus einem Operationsteil und einem Operandenteil.

Beispiel

3-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Absolute und symbolische Operanden

Den Operandenteil können Sie entweder absolut oder symbolisch (über die

Zuordnungsliste) eingeben.

Beispiel für die absolute Darstellung: :U E1.4

Beispiel für die symbolische Darstellung: :U -Motor1

Beachten Sie zur absoluten und symbolischen Programmierung die

Bedienungsanleitung zu Ihrem PG.

Anwendung der Operationen

Der Operationsumfang ermöglicht Ihnen

• binäre Werte miteinander zu verknüpfen, zu setzen oder rückzusetzen,

Werte zu laden und zu transferieren,

Werte miteinander zu vergleichen und arithmetisch zu bearbeiten,

Zeit- und Zählwerte vorzugeben,

Zahlendarstellungen umzuwandeln,

Bausteine aufzurufen und Sprünge innerhalb eines Bausteins auszuführen

• die Programmbearbeitung zu beeinflussen.

Verknüpfungsergebnis VKE

Das zentrale Bit für die Programmsteuerung ist das Verknüpfungsergebnis

VKE. Es wird durch binäre Verknüpfungen gebildet sowie von einigen

Operationen beeinflusst.

Der gesamte Operationsvorrat sowie Einzelheiten zur VKE-Bildung werden ausführlich in Teil "Programmbearbeitung" beschrieben. Sie finden dort

Programmierbeispiele zu den einzelnen Befehlen.

Rev. 00/27 3-5

Teil 3 Anwenderprogramm

Zahlendarstellung

Handbuch VIPA CPU 928 - Band 1

Damit die CPU Zahlenwerte miteinander verknüpfen, verändern oder vergleichen kann, müssen diese in einer binärcodierten Darstellung in die

Akkumulatoren (Arbeitsregister der CPU) geladen werden.

Abhängig von der auszuführenden Operation sind folgende Zahlendarstellungen zulässig:

Dualzahlen:

Dezimalzahlen:

16-Bit-Festpunktzahlen,

32-Bit-Festpunktzahlen,

Gleitpunktzahlen mit 16- oder 32-Bit-Mantisse.

BCD-codierte Zahlen (Vorzeichen und drei

Dezimalstellen)

Zahleneingabe am PG

Bei der Ein- und Ausgabe von Zahlenwerten stellen Sie am Programmiergerät das Datenformat (z.B. KF für Festpunkt) ein, in dem Sie den

Zahlenwert eingeben bzw. angezeigt haben möchten. Auf diese Weise

übernimmt das PG die Umrechnung aus der intern verwendeten Zahlendarstellung in die von Ihnen gewünschte Darstellungsart.

Zulässige Operatoren

Mit den 16-Bit-Festpunktzahlen und Gleitpunktzahlen können Sie alle arithmetischen Operationen wie Vergleichen, Addieren, Subtrahieren,

Multiplizieren und Dividieren ausführen.

Mit den 32-Bit-Festpunktzahlen werden Vergleichsoperationen durchgeführt. Außerdem werden sie bei der Umwandlung von BCD-codierten

Zahlen in Gleitpunktzahlen als Zwischenstufe benötigt. Mit den Befehlen

+D und -D können sie auch für Additionen und Subtraktionen verwendet werden.

Die Sprache enthält Umwandlungsoperationen, mit denen Sie Zahlen direkt in die wichtigsten Zahlendarstellungen umwandeln können.

Hinweis!

BCD-codierte Zahlen dürfen nicht für arithmetische Operationen verwendet werden, da sie zu falschen Ergebnissen führen

3-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

16- und 32-Bit-

Festpunktzahlen

Festpunktzahlen sind ganze, mit einem Vorzeichen versehene Dualzahlen.

Codierung der Festpunktzahlen

Sie sind in binärcodierter Darstellung 16 Bit (=1 Wort) bzw. 32 Bit (=2

Wörter) breit, wobei Bit-Nr.15 bzw. Bit-Nr.31 das Vorzeichen enthält:

'0'= positive Zahl,

'1'= negative Zahl.

Negative Zahlen werden im 2er-Komplement dargestellt.

PG-Eingabe

16-Bit-Festpunktzahlen:

32-Bit-Festpunktzahlen:

KF

KF

Zulässiger Zahlenbereich

16-Bit-Festpunktzahl:

32-Bit-Festpunktzahl:

-32768 bis +32767

-2147483648 bis +2147483647

Anwendung der Festpunktzahlen

Festpunktzahlen werden bei einfachen Rechenaufgaben und beim Vergleich von Zahlenwerten verwendet. Da Festpunktzahlen immer ganze

Zahlen sind, beachten Sie bitte, dass das Ergebnis einer Division von zwei

Festpunktzahlen ebenfalls eine Festpunktzahl ohne Dezimalstellen ist.

Gleitpunktzahlen Gleitpunktzahlen sind positive und negative gebrochene Zahlen. Sie belegen immer ein Doppelwort (32 Bit). Eine Gleitpunktzahl wird als Exponentialzahl dargestellt.

Die CPU 928 rechnet beim Addieren, Subtrahieren, Multiplizieren und

Dividieren mit einer 24bit breiten Mantisse (Bit 0 bis 23).

Der Exponent ist 8 Bit lang. Der Exponent gibt die Größenordnung der

Gleitpunktzahl an. Am Vorzeichen des Exponenten erkennen Sie, ob der

Betrag der Gleitpunktzahl größer oder kleiner als 0,1 ist.

Anwendung der Gleitpunktzahlen

Verwenden Sie Gleitpunktzahlen für die Lösung umfangreicherer Rechenaufgaben, insbesondere bei Multiplikationen und Divisionen, und dann, wenn Sie mit sehr großen oder sehr kleinen Zahlen arbeiten.

Rev. 00/27 3-7

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Genauigkeit

Die Mantisse gibt die Genauigkeit der Gleitpunktzahl an:

Genauigkeit bei einer 24-Bit-Mantisse:

2

-24

= 0,000000059604 (entspricht 7 Nachkommastellen)

Ist das Vorzeichen der Mantisse '0', ist die Zahl positiv; bei Vorzeichen '1' ist es eine negative Zahl in 2er-Komplement-Darstellung.

Der Gleitpunktwert '0' wird als dualer Wert 80000000H (32 Bit, siehe

"Codierung der Gleitpunktzahlen") dargestellt.

Codierung der Gleitpunktzahlen

Eine Gleitpunktzahl wird folgendermaßen codiert:

31 30

V 2

6

...

Exponent

24 23 22

...2

0

V 2

-1

...

Mantisse

Angabe des Datenformats für Gleitpunktzahlen am PG:KG

...2

0

-23

Zulässiger Zahlenbereich

±

0,1469368 x 10

-38 bis

±

0,1701412 x 10

39

Ein-/Ausgabe am PG a) im Codebaustein:

Es soll die Zahl Z = 12,34567 als Gleitpunktkonstante geladen werden.

Eingabe:

:LKG1234567+2

Ausgabe durch PG nach Übernahme der Zeile:

:L KG+ 1234567 + 02

Mantisse mit Vorzeichen Exponent (Basis 10) mit Vorzeichen

Wert der eingegebenen Zahl:+0,1234567 x 10

+2

= 12,34567

b) im

Datenbaustein:

Es soll die Zahl Z = 0,005 als Gleitpunktkonstante definiert werden.

Eingabe:

6: KG = 5000000 - 02

Ausgabe durch PG nach Übernahme der Zeile:

6: KG = 5000000 - 02

Mantisse mit Vorzeichen

Wert der eingegebenen Zahl:

Exponent (Basis 10) mit Vorzeichen

0,5 x 10

-2

= 0,005

3-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

BCD

(Binär-codierte

Dezimalzahl)

15

V V V V

Dezimalzahlen werden als BCD-Zahlen dargestellt. Mit Vorzeichen und 3

Ziffern belegen sie im Akkumulator 16 Bit (1 Wort):

12 11

Hunderter

8 7

Zehner

4 3

Einer

0

Die einzelnen Ziffern sind positive 4-Bit-Dualzahlen zwischen 0000 und

1001 (0 und 9 dezimal).

Die linken Bit sind für das Vorzeichen reserviert.

Vorzeichen bei einer positiven Zahl: 0000

Vorzeichen bei einer negativen Zahl: 1111

Zulässiger Zahlenbereich

-999 bis +999

Rev. 00/27 3-9

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Bausteine und deren Ablage im

Speicher

Kennzeichnung

Ein Baustein ist gekennzeichnet durch:

• den Bausteintyp (OB,PB,SB,FB,FX,DB,DX)

• die Bausteinnummer (Zahl zwischen 0 und 255).

Baustein-Typen Die Programmiersprache unterscheidet folgende Bausteintypen:

Organisationsbausteine (OB):

Die Organisationsbausteine sind die Schnittstelle zwischen dem Systemprogramm und dem Anwenderprogramm. Sie können in zwei Gruppen unterteilt werden:

Mit den OB 1 bis 39 können Sie die Programmbearbeitung, das Anlaufverhalten der CPU und das Verhalten im Fehlerfall steuern, indem Sie diese

Bausteine entsprechend programmieren. Diese OB werden vom Systemprogramm aufgerufen.

Die OB 40 bis 255 enthalten Sonderfunktionen des Systemprogramms. Sie werden bei Bedarf vom Anwenderprogramm aufgerufen.

Programmbausteine (PB):

Programmbausteine werden zur Strukturierung des Anwenderprogramms verwendet und enthalten die nach technologischen oder funktionellen

Gesichtspunkten gegliederten Teilprogramme. Die PB bilden den Kern des

Anwenderprogramms.

Schrittbausteine (SB):

Schrittbausteine waren ursprünglich spezielle Programmbausteine zur schrittweisen Bearbeitung von Ablaufketten. Ablaufketten können jedoch inzwischen über GRAPH 5/6 (von Siemens) programmiert werden. Daher haben Schrittbausteine nicht mehr ihre ursprüngliche Bedeutung. Schrittbausteine sind jetzt eine zahlenmäßige Erweiterung der Programmbausteine. Sie können wie diese eingesetzt werden.

Funktionsbausteine(FB/FX):

Funktionsbausteine dienen zum Programmieren von häufig wiederkehrenden oder auch von komplexen Funktionen (z.B. digitale Funktionen,

Ablaufsteuerungen, Regelungen, Meldefunktionen).Ein Funktionsbaustein kann von übergeordneten Bausteinen mehrfach aufgerufen werden und bei jedem Aufruf mit neuen Operanden versorgt ("parametriert") werden.

Durch die Verwendung der Bausteinart FX wird die Zahl der maximal möglichen Funktionsbausteine von 256 auf 512 erhöht.

Datenbausteine (DB/DX):

In Datenbausteinen stehen die (festen oder veränderbaren) Daten, mit denen das Anwenderprogramm arbeitet. Diese Bausteinart enthält keine

Anweisungen und unterscheidet sich in ihrer Funktion grundsätzlich von den übrigen Bausteinen. Durch die Verwendung der Bausteinart DX wird die Zahl der maximal möglichen Datenbausteine verdoppelt.

3-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Aufbau der

Bausteine

Teil 3 Anwenderprogramm

Alle Bausteintypen bestehen aus

Bausteinkopf

Bausteinrumpf.

Bausteinkopf

Der Bausteinkopf hat immer eine Länge von 5 Wörtern und enthält

Informationen für die Bausteinverwaltung im PG und Daten für das

Systemprogramm.

Bausteinrumpf

Im Bausteinrumpf sind -abhängig vom Bausteintyp- enthalten:

Befehle (bei OB, PB, SB, FB, FX),

• variable oder konstante Daten (bei DB, DX)

Formaloperandenliste (bei FB, FX).

Bausteinvorkopf

Zu den Bausteinen vom Typ DB, DX, FB und FX erzeugt das Programmiergerät zusätzlich einen Bausteinvorkopf (DV, DXV, FV, FXV). Diese

Bausteinvorköpfe enthalten Informationen über das Datenformat (bei DB und DX) bzw. über die Sprungmarken (bei FB und FX), die nur das

Programmiergerät auswerten kann. Die Bausteinvorköpfe werden deshalb nicht in den CPU-Speicher übertragen.

Als Anwender haben Sie auf den Inhalt eines Bausteinvorkopfes direkt keinen Einfluss.

Maximale Länge

Ein Baustein darf maximal 4096 Wörter (1 Wort entspricht 16 Bit) im

Programmspeicher der CPU belegen.

FX

PB

SB

DB

Verfügbare Bausteine

Von den einzelnen Bausteintypen stehen Ihnen zum Programmieren zur

Verfügung:

OB 1 bis 39

FB 0 bis 255 insgesamt 512

0

0

0

3 bis bis bis bis

255

255

255

255 insgesamt 506

DX 3 bis 255

Die Datenbausteine DB 0, DB 1, DB 2, DX 0, DX 1 und DX 2 enthalten

Parameter. Sie sind für bestimmte Funktionen reserviert und deshalb nicht beliebig verwendbar.

Rev. 00/27 3-11

Teil 3 Anwenderprogramm

Ablage der

Bausteine

Handbuch VIPA CPU 928 - Band 1

Alle programmierbaren Bausteine werden vom PG in der Reihenfolge ihres

Transfers im Programmspeicher hinterlegt. Mit der PG-Funktion "Übertragen Bausteine B" werden zunächst die Code- und dann die Datenbausteine zum AG übertragen. Bei RAM-Betrieb wird zunächst der Anwenderspeicher nach Übertragung der Codebausteine mit Datenbausteinen aufgefüllt, und danach werden die restlichen Datenbausteine in das DB-RAM geschrieben. Bei der 928C werden Datenbausteine nur im DB-RAM hinterlegt.

Die Anfangsadressen der gespeicherten Bausteine werden im Datenbaustein DB 0 hinterlegt.

Adresse 0

PB1

FB1

.

.

PB2

.

.

DB1

.

SB10

.

OB1

Lage der Bausteine im Anwenderspeicher

Alternatives Laden (nur bei Version 3UB12)

Durch Setzen von Bit 0 des Systemdatums BS 144 können Sie Datenbausteine vorrangig (d.h. solange Platz vorhanden ist) in das DB-RAM laden ("alternatives Laden" /BS 144). Erst wenn das DB-RAM gefüllt ist, werden Datenbausteine in den Anwenderspeicher übertragen.

Korrigieren und

Löschen von

Bausteinen

Beim Korrigieren von Bausteinen im "RAM-Betrieb" wird der "alte" Baustein im Speicher für ungültig erklärt und ein neuer Baustein im Speicher eingetragen.

Ebenso werden beim Löschen von Bausteinen die Bausteine nicht wirklich gelöscht, sondern nur für ungültig erklärt. Gelöschte und korrigierte Bausteine belegen also weiterhin Speicherplatz.

3-12

Hinweis!

Mit der Online-Funktion SPEICHER KOMPRIMIEREN schaffen Sie Speicherplatz für neue Bausteine: Die Funktion optimiert die Speicherplatzbelegung, indem sie ungültig markierte Bausteine löscht und die gültigen

Bausteine zusammenschiebt. Das Zusammenschieben erfolgt getrennt nach Anwenderspeicher und DB-RAM.

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Programm-, Organisations- und Schrittbausteine

Programmbausteine (PB), Organisationsbausteine (OB) und Schrittbausteine (SB) unterscheiden sich hinsichtlich Programmierung und Aufruf nicht. Alle drei können Sie wahlweise in den Darstellungsarten KOP, FUP und AWL programmieren.

Programmieren Gehen Sie beim Programmieren von Programm-, Organisations- und

Schrittbausteinen folgendermaßen vor:

1. Geben Sie zuerst den Bausteintyp, dann die Nummer des Bausteins an, den Sie programmieren wollen.

folgende Nummern stehen Ihnen jeweils zur Verfügung:

Programmbausteine 0

Organisationsbausteine 1

Schrittbausteine 0 bis bis bis

255

39

255

2. Geben Sie Ihr Anwenderprogramm in ein.

Beim Programmieren von PB, OB und SB dürfen Sie nur die Grundoperationen verwenden!

Ein Baustein sollte immer einen in sich abgeschlossenen Programmabschnitt enthalten. Logische Verknüpfungen müssen innerhalb eines

Bausteins abgeschlossen sein.

3. Schließen Sie die Programmeingabe mit der Anweisung "BE" (Bausteinende) ab.

Aufrufen Bausteine (-außer OB 1 bis OB 39-) müssen zum Bearbeiten aufgerufen werden. Dies geschieht durch spezielle Operationen, die Bausteinaufrufe.

Diese Bausteinaufrufe können innerhalb eines Organisations-, Programm-,

Funktions- oder Schrittbausteins programmiert werden. Sie sind vergleichbar mit Sprüngen in ein Unterprogramm. Jeder Sprung verursacht einen

Bausteinwechsel. Die Rücksprungadresse im aufrufenden Baustein wird vom System zwischengespeichert.

Aufrufe können sowohl unbedingt als auch bedingt ausgeführt werden:

Rev. 00/27 3-13

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Unbedingter Aufruf

Die Anweisung SPA gehört zu den unbedingten Operationen. Sie hat selbst keinen Einfluss auf das VKE. Dieses wird beim Sprung in den neuen

Baustein mitgenommen. Dort kann es zwar ausgewertet, jedoch nicht mehr weiter verknüpft werden.

Der angesprochene Baustein wird unabhängig vom Verknüpfungsergebnis bearbeitet.

Beispiel: SPA PB 100

Bedingter Aufruf

Die Anweisung SPB gehört zu den bedingten Operationen, d.h., der angesprochene Baustein wird nur bearbeitet, wenn das Verknüpfungsergebnis VKE = 1 ist. Bei VKE = 0 wird die Sprunganweisung nicht ausgeführt.

Beispiel: SPB PB 100

Hinweis!

Nach Ausführen der bedingten Sprungoperation ist das VKE auf '1' gesetzt, unabhängig davon, ob der Sprung in den aufgerufenen Baustein ausgeführt wird oder nicht.

3-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Was die BE-Anweisung bewirkt

Nach der Anweisung BE (Bausteinende) setzt die CPU das Anwenderprogramm in dem Baustein fort, in dem der Bausteinaufruf programmiert wurde: Die Programmbearbeitung wird bei der auf den Bausteinaufruf folgenden Anweisung fortgesetzt.

Die Anweisung BE wird unabhängig vom Verknüpfungsergebnis bearbeitet.

Nach BE kann das Verknüpfungsergebnis nicht mehr weiter verknüpft werden. Das bei Ausführung des BE-Befehls vorhandene Verknüpfungs-

/Rechenergebnis wird jedoch an den aufrufenden Baustein übergeben und kann dort ausgewertet werden. Bei der Rückkehr aus dem aufgerufenen

Baustein werden die Inhalte von AKKU 1, AKKU 2, AKKU 3 und AKKU 4, die Anzeigen ANZ 0 und ANZ 1 und das Verknüpfungsergebnis VKE nicht verändert (nähere Erläuterungen zu den AKKUs, ANZ 0/ANZ 1 und VKE siehe Abschnitt "Programmbearbeitung").

Organisationsbausteine für

Anwenderschnittstellen

Schnittstelle zwischen dem Systemprogramm und dem Anwenderprogramm sind die Organisationsbausteine. Die Organisationsbausteine

OB 1 bis OB 39 sind Teile des Anwenderprogramms, die Sie genauso wie

Programmbausteine programmieren. Durch Programmierung dieser OBs können Sie das Verhalten der CPU beim Anlauf, während der Programmbearbeitung und im Fehlerfall beeinflussen. Die Organisationsbausteine sind wirksam, sobald sie in den AG-Speicher geladen werden. Dies ist auch im laufenden Betrieb möglich.

Nachdem das Systemprogramm den betreffenden Organisationsbaustein aufgerufen hat, wird das darin enthaltene Anwenderprogramm bearbeitet.

Hinweis!

Die Organisationsbausteine OB 1 bis OB 39 für Anwenderschnittstellen werden vom Anwender programmiert und vom Systemprogramm als

Reaktion auf bestimmte Ereignisse automatisch aufgerufen.

Zu Testzwecken können diese Organisationsbausteine auch vom Anwenderprogramm aufgerufen werden (SPA/SPB OB xxx). Es ist jedoch nicht möglich, z.B. durch Aufruf von OB 20 einen NEUSTART auszulösen

Die nachfolgenden Tabellen geben Ihnen eine Übersicht über die Anwenderschnittstellen (OBs).

Rev. 00/27 3-15

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

OBs zur Steuerung der Programmbearbeitung

Baustein

OB 1

OB 2

OB 3 bis 5

OB 7, OB 8

OB 9

OB 10

OB 11

OB 12

OB 13

OB 14

OB 15

OB 16

OB 17

OB 18

Funktion und Aufrufkriterium

Organisation der zyklischen Programmbearbeitung: erster Aufruf nach Ende einer Anlaufart, dann zyklischer Aufruf

Organisation der alarmgesteuerten

Programmbearbeitung; Aufruf durch Interrupt-Signal des Rückwandbus (Prozessalarm) bei CPU 928 nicht vorhanden bei CPU 928 nicht vorhanden

Uhrzeitgesteuerter Weckalarm

Weckalarm mit festen Zeitrastern

Aufruf alle 10 ms

Aufruf alle 20 ms

Aufruf alle 50 ms

Aufruf alle 100 ms

Aufruf alle 200 ms

Aufruf alle 500 ms

Aufruf alle 1 s

Aufruf alle 2 s

Aufruf alle 5 s

OBs zur Steuerung des Anlaufverhaltens

Baustein

OB 20

OB 21

OB 22

Funktion und Aufrufkriterium

Aufruf bei NEUSTART (manuell und automatisch)

Aufruf bei MANUELLEM WIEDERANLAUF

Aufruf bei AUTOMATISCHEM WIEDERANLAUF

3-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

OBs für Reaktionen auf Geräte oder Programmfehler

Ist im Fehlerfall der OB nicht geladen, so geht die CPU in den

Stoppzustand.

AUSNAHME: Bei nicht vorhandenem OB 23, OB 24 wird QVZ-LED kurz gesetzt.

1)

Baustein

OB 19

OB 23

OB 24

Funktion und Aufrufkriterium

Laufzeitfehler (LZF): Aufruf eines nicht geladenen

Bausteins

Quittungsverzug (QVZ) im Anwenderprogramm (bei

Direktzugriff auf Peripheriebaugrupppen oder andere

Rückwand-Bus-Adressen)

Quittungsverzug (QVZ) beim Aktualisieren des

Prozessabbildes

Adressierfehler (ADF)

Zykluszeitüberschreitung (ZYK)

OB 25

OB 26

OB 27

OB 28

OB 29

OB 30

Befehlscodefehler (BCF): Operationscode nicht zulässig

STOP durch PG-Funktion/Stoppschalter/Rückwand-

Bus

1)

Befehlscodefehler (BCF): Operationscode nicht zulässig

Befehlscodefehler (BCF): Parameter nicht zulässig

OB 31

OB 32

OB 33

OB 34 sonstige Laufzeitfehler (LZF)

Laufzeitfehler (LZF): Lade- und Transferfehler bei

Datenbausteinen

Weckfehler (WECK-FE)

Fehler bei Reglerbearbeitung (REG-FE)

OB 35 Kommunikationsfehler auf der zweiten seriellen

Schnittstelle

OB 36 bis 39 bei CPU 928 nicht vorhanden

Der OB 28 wird vor Übergang in den Stoppzustand aufgerufen. Der Stoppzustand erfolgt immer, gleichgültig ob und wie der OB 28 programmiert ist.

AUSNAHME: Bei NETZ AUS wird der OB 28 nicht aufgerufen.

Rev. 00/27 3-17

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Sonderfunktions

Organisationsbausteine

Die folgenden Organisationsbausteine enthalten Sonderfunktionen des

Systemprogramms. Sie können von Ihnen nicht programmiert (dies gilt für alle OBs mit Nummern zwischen 40 und 255), sondern lediglich aufgerufen werden. Sie enthalten kein Programm.

Sonderfunktions-OBs können in allen Code-Bausteinen aufgerufen werden.

Integrierte OBs mit Sonderfunktionen

Baustein

OB 110

OB 111

OB 112

OB 113

OB 120

OB 121

OB 122

OB 123

Bausteinfunktion

Zugriff auf Anzeigenbyte

AKKU 1, 2, 3 und 4 löschen

AKKU Roll Up

AKKU Roll Down

"Alarme gemeinsam sperren" ein-/ausschalten

"Weckalarme einzeln sperren" ein-/ausschalten

"Alarme gemeinsam verzögern" ein-/ausschalten

"Alarme gemeinsam verzögern" ein-/ausschalten

OB 134

OB 135

OB 136

OB 139

OB 150

OB 151

*D

/D

MOD

PUSH

Systemzeit stellen/lesen

Uhrzeitgesteuerte Weckalarmzeit stellen/lesen

OB 152 Zyklusstatistik

OB 160 bis 163 Zählschleifen

OB 170

OB 180

OB 181

OB 182

Bausteinstack (BSTACK) lesen variabler Datenbaustein-Zugriff

Datenbausteine DB/DX testen

Datenbereich kopieren

OB 186

OB 190, 192

OB 191, 193

Komprimieren per Anwenderprogramm

Merker in Datenbaustein übertragen

Datenblöcke in Merkerbereich übertragen

OB 216 bis 218 Zugriffe auf "Kachel" (CPs und einige IPs)

OB 220

OB 221

OB 222

OB 228

Vorzeichenerweiterung

Zyklusüberwachungszeit einstellen

Zyklusüberwachungszeit neu starten

Statusinformation einer Programmbearbeitungsebene lesen

OB 230 bis 237 Funktionen für Standard-Funktionsbausteine

(Hantierungsbausteine)

OB 250

OB 251

Regelung: PID-Algorithmus initialisieren

PID-Algorithmus bearbeiten

OB 254, 255 Datenbaustein ins DB-RAM übertragen (nicht 928C)

Die ausführliche Beschreibung dieser Sonderfunktionen finden Sie im Teil

"Integrierte Sonderfunktionen".

3-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Funktionsbausteine

Teil 3 Anwenderprogramm

Funktionsbausteine (FB/FX) sind ebenso Teile des Anwenderprogramms wie z.B. Programmbausteine. FX-Funktionsbausteine haben den gleichen

Aufbau wie FB-Funktionsbausteine und werden ebenso programmiert.

Mit Funktionsbausteinen werden häufig wiederkehrende oder sehr komplexe Funktionen realisiert. Jeder Funktionsbaustein stellt innerhalb des

Anwenderprogramms eine abgeschlossene Funktion dar. Sie können

Funktionsbausteine

• als Softwareprodukt von VIPA beziehen mit diesen Standard-Funktionsbausteinen können Sie Ihre Programme für Steuern, Melden, Regeln und Protokollieren schnell und sicher erstellen.

oder

• selbst programmieren.

Unterschiede zu den anderen Codebausteinen

Funktionsbausteine weisen gegenüber den Organisations-, Programm- und

Schrittbausteinen vier wesentliche Unterschiede auf:

1.

2.

3.

4.

OB, PB, SB nur Grundoperationen

FB/FX

Operationsumfang

Grundoperationen

Ergänzende Operationen

Systemoperationen

Darstellungsart

Programmieren und Aufrufen in

AWL, KOP, FUP

Programmieren nur in AWL

Namen

Namensgebung nicht möglich

(nur Nummer) zusätzlich zur Nummer wird ein

Name mit max. 8 Zeichen zugewiesen keine

Operanden

Formaloperanden

(Bausteinparameter).

Beim Aufruf werden den

Formaloperanden

Aktualoperanden zugewiesen.

Rev. 00/27 3-19

Teil 3 Anwenderprogramm

Aufbau von

Funktionsbausteinen

Handbuch VIPA CPU 928 - Band 1

Bausteinkopf

Der Bausteinkopf (5 Wörter) eines Funktionsbausteins ist gleich aufgebaut wie die Bausteinköpfe der übrigen Bausteine.

Bausteinrumpf

Der Bausteinrumpf hingegen unterscheidet sich in seinem Aufbau von dem der anderen Bausteinarten. Die auszuführende Funktion ist darin in Form einer Anweisungsliste in der Programmiersprache geschrieben. Zwischen dem Bausteinkopf und den Anweisungen benötigt ein Funktionsbaustein weiteren Speicherplatz für die Angabe seines Namens und für die Liste der

Formaloperanden. Da diese Liste keine Anweisungen für die CPU enthält, wird sie mit einem unbedingten Sprung übersprungen, den das PG automatisch erzeugt. Diese Sprunganweisung wird bei der Ausgabe am

PG nicht angezeigt! Bei einem Aufruf des Funktionsbausteins wird nur der

Bausteinrumpf bearbeitet.

Absolute oder symbolische Operanden

Operanden können in einem Funktionsbaustein absolut (z.B. M 2.5) oder symbolisch (z.B. Motor1) eingegeben werden. Die Zuordnung der symbolischen Operanden müssen Sie zuvor in einer Zuordnungsliste ablegen.

Funktionsbaustein im AG-Speicher

So sieht ein Funktionsbaustein im AG-Speicher aus:

Sprung über

Formaloperandenliste

Name des FB/FX

Formaloperand 1

Formaloperand 2

SPA

5 Wörter

1 Wort

4 Wörter

Bausteinkopf

3 Wörter

3 Wörter

Liste der

Formaloperanden

Bausteinrumpf

3 Wörter Formaloperand n

1. Anwender-Operation

Anwenderprogramm

BE

Im Speicher stehen somit alle Angaben, die das Programmiergerät benötigt, um den Funktionsbaustein beim Aufruf grafisch darstellen zu können und um die Operanden bei der Parametrierung und Programmierung des Funktionsbausteines zu überprüfen. Eine fehlerhafte

Eingabe wird vom Programmiergerät abgelehnt.

3-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Unterschied: "Programmieren" - "Aufrufen und Parametrieren"

Unterscheiden Sie bei der Behandlung von Funktionsbausteinen zwischen:

FB/FX programmieren

FB/FX aufrufen und anschließend parametrieren.

Programmieren

Beim Programmieren legen Sie die Funktion des Bausteins fest. Hierbei müssen Sie überlegen, welche Eingangsoperanden die Funktion benötigt und welche Ausgangsergebnisse sie an das aufrufende Programm übergeben soll. Alle Eingangsoperanden und Ausgangsergebnisse definieren

Sie dann als Formaloperanden. Diese üben eine Platzhalterfunktion aus.

Aufrufen und Parametrieren

Beim Aufrufen eines Bausteins durch einen übergeordneten Baustein (OB,

PB, SB, FB, FX) werden die Formaloperanden (Bausteinparameter) durch

Aktualoperanden ersetzt: der Funktionsbaustein wird parametriert.

Vorgehen beim Programmieren

WENN...

Sie einen Funktionsbaustein

"direkt", d.h. ohne

Formaloperanden programmieren wollen,

Sie in einem Funktionsbaustein

Formaloperanden verwenden wollen,

DANN...

führen Sie dies durch wie bei

Programm- oder Schrittbausteinen.

gehen Sie so vor, wie auf den nächsten Seiten beschrieben.

Beachten Sie dabei die erforderliche Reihenfolge: den FB/FX mit den

Formaloperanden programmieren und im PG (offline) oder im CPU-

Speicher (online) halten, den/die aufrufenden Baustein(e) mit den Aktualoperanden programmieren.

Rev. 00/27 3-21

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Programmieren von Funktionsbausteinen

Einen Funktionsbaustein können Sie nur in der Darstellungsart "Anweisungsliste" programmieren. Bei der Eingabe eines Funktionsbausteines am

PG gehen Sie so vor:

1. Geben Sie den Bausteintyp (FB/FX) und Nummer des Funktionsbausteins ein.

Anwender-Funktionsbausteine sollten von FB 255 an fallend numeriert werden, um nicht mit den Standard-Funktionsbausteinen zu kollidieren, die von FB 1 bis FB 199 numeriert sind.

2. Geben Sie den Namen des Funktionsbausteins ein.

Der Name kann bis zu 8 Zeichen lang sein und muss mit einem Buchstaben beginnen.

3. Wenn der Funktionsbaustein Formaloperanden bearbeiten soll:

Geben Sie als Bausteinparameter die Formaloperanden ein, die Sie im

Baustein verwenden.

Für jeden Formaloperanden müssen Sie angeben: den Namen des Bausteinparameters (maximal 4 Zeichen), die Art des Bausteinparameters und evtl. den Typ des Bausteinparameters.

Sie können maximal 40 Formaloperanden definieren.

4. Geben Sie Ihr Programm in der Darstellungsart AWL ein. Die Formaloperanden werden dabei durch ein vorangestelltes Gleichheitszeichen gekennzeichnet (z.B. U=X1). Sie können auch mehrmals an verschiedenen Stellen im Funktionsbaustein angesprochen werden.

5. Schließen Sie die Programmeingabe mit "BE" (Bausteinende) ab.

Hinweis!

Wenn Sie die Reihenfolge oder die Anzahl der Formaloperanden in der

Formaloperandenliste ändern, müssen alle Anweisungen im Funktionsbaustein, die einen Formaloperanden ansprechen, und die Bausteinparameterliste im aufrufenden Baustein entsprechend nachgeführt werden!

Programmieren und ändern Sie Funktionsbausteine grundsätzlich auf Diskette oder Festplatte und übertragen Sie sie anschließend in die CPU!

3-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Formaloperanden

Als Formaloperanden eines Funktionsbausteins (auch Bausteinparameter genannt) sind folgende Art- und Typbezeichnungen zugelassen.

Parameterart

E = Eingang

A = Ausgang

D = Datum

B = Befehl

T = Zeit (Timer)

Z = Zähler

Parametertyp

BI/BY/W/D

KM/KH/KY/KC/KF/KT/KZ/KG keine

(Typangabe unzulässig)

E, D, B, T oder Z sind Parameterarten, die bei der graphischen Darstellung eines FB-Aufrufs auf der linken Seite des Funktionssymbols gezeichnet werden.

Mit A gekennzeichnete Parameter werden bei der graphischen Darstellung eines FB-Aufrufs auf der rechten Seite des Funktionssymbols gezeichnet.

Der Parametertyp gibt an, ob es sich bei E- und A-Parametern um Bit-,

Byte-, Wort- oder Doppelwortgrößen handelt und welches Datenformat

(z.B. Bitmuster oder Hexadezimalmuster) für D-Parameter gilt.

Rev. 00/27 3-23

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Aufruf und

Parametrierung von Funktionsbausteinen

Jeder Funktionsbaustein kann beliebig oft und an beliebigen Stellen im

Anwenderprogramm aufgerufen werden. Aufrufe von Funktionsbausteinen können sowohl in einer Anweisungsliste als auch in einer graphischen

Darstellung erfolgen (FUP oder KOP).

Gehen Sie beim Aufrufen und Parametrieren folgendermaßen vor:

1. Stellen Sie sicher, dass der aufgerufene Funktionsbaustein entweder im

PG-Speicher (offline) oder im CPU-Speicher (online) vorhanden ist.

2. Geben Sie im aufrufenden Baustein die Aufrufanweisung für den Funktionsbaustein ein.

Der Aufruf eines Funktionsbausteins kann innerhalb eines Organisations-, Programm- oder Schrittbausteins oder innerhalb eines anderen

Funktionsbaustein programmiert werden.

Reaktion am PG:

Nachdem Sie die Aufrufanweisung (z.B. SPA FB 200) eingegeben haben, erscheinen automatisch der Name und die Formaloperandenliste des betreffenden Funktionsbausteins.

3. Ordnen Sie jedem einzelnen Formaloperanden den für diesen Aufruf gültigen Aktual-Operanden zu. (Sie parametrieren dadurch den Funktionsbaustein).

Die Aktualoperanden können bei den einzelnen Aufrufen unterschiedlich sein: beim ersten Aufruf des FB 200 z.B. Ein- und Ausgänge, beim zweiten Aufruf Merker.

Entsprechend der Formaloperandenliste müssen Sie bei jedem Aufruf eines Funktionsbausteins die erforderlichen Aktualoperanden zuordnen.

Aufruf unbedingt/bedingt unbedingter Aufruf

"SPA FBn" für Funktionsbausteine

FB oder "BA FXn" für erweiterte

Funktionsbausteine FX: bedingter Aufruf

"SPB FBn" für Funktionsbausteine

FB oder "BAB FXn" für erweiterte

Funktionsbausteine FX:

Der angesprochene

Funktionsbaustein wird unabhängig vom Verknüpfungsergebnis (VKE) bearbeitet.

Der angesprochene

Funktionsbaustein wird nur dann bearbeitet, wenn das

Verknüpfungsergebnis VKE=1 ist.

Bei VKE=0 wird die

Sprunganweisung nicht ausgeführt.

Unabhängig davon, ob der

Bausteinaufruf ausgeführt wird oder nicht, wird das VKE immer auf '1' gesetzt.

Nach dem unbedingten und bedingten Aufruf kann das

Verknüpfungsergebnis nicht weiter verknüpft werden. Es bleibt beim

Sprung in den FB erhalten und kann dort ausgewertet werden.

3-24 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Zulässige Aktualoperanden

Welche Operanden Sie einem Funktionsbaustein zuordnen dürfen, entnehmen Sie bitte der nachfolgenden Tabelle:

Hinweis!

S-Merker sind als Aktualoperanden für Funktionsbausteine nicht zugelassen.

Art des

Parameters

E, A BI

D

BY

W

D

KM

KY

KH

Typ des Parameters für einen Operanden mit

Bitadresse für einen Operanden mit

Byteadresse für einen Operanden mit

Wortadresse für einen Operanden mit

Doppelwortadresse für ein Binärmuster (16

Stellen) für zwei byteweise

Betragszahlen im Bereich von jeweils 0 bis

255 für ein Hexadezimalmuster bis 4 Stellen

ED

AD n n

MD

DD n n

Konstante

E

A

M

EB

AB

MB

DL

DR

PY

QB

EW

AW

MW

DW

PW

QW

Zugelassene Aktualoperanden n n n n n n n n.m

n.m

n.m

n n n n n n

Eingang

Ausgang

Merker

Eingangsbyte

Ausgangsbyte

Merkerbyte

Datenbyte links

Datenbyte rechts

Peripheriebyte

Byte der erweiterten

Peripherie

Eingangswort

Ausgangswort

Merkerwort

Datenwort

Peripheriewort

Wort der erweiterten

Peripherie

Eingangs-Doppelwort

Ausgangs-

Doppelwort

Merker-Doppelwort

Daten-Doppelwort

Fortsetzung ...

Rev. 00/27 3-25

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

... Fortsetzung

D

Art des

Parameters

B

T

Z

Typ des Parameters Zugelassene Aktualoperanden

KC

KT für zwei alphanumerische

Zeichen für einen Zeitwert (BCDcodiert) mit Zeitraster .0 bis

.3 und Zeitwert 0 bis 999

Konstante

KZ

KF für einen Zählwert 0 bis 999 für eine Festpunktzahl

-32768 bis +32767

KG für eine Gleitpunktzahl

±

0,1469368 x 10

-38

±

0,1701412 x 10

39 bis keine Typangabe zulässig DB keine Typangabe zulässig keine Typangabe zulässig

FB

OB

PB n n n n

Datenbaustein; ausgeführt wird der

Befehl A DB n

Funktionsbaustein

(nur ohne Parameter zulässig) wird unbedingt (SPA ..n) aufgerufen

Organisationsbaustein; wird unbedingt

(SPA ..n) aufgerufen

Programmbaustein; wird unbedingt (SPA

..n) aufgerufen

SB n

T 0 bis 255 Zeit

Z 0 bis 255 Zähler

Schrittbaustein; wird unbedingt (SPA ..n) aufgerufen

Nach dem Sprung in den Funktionsbaustein werden bei der Bearbeitung des Funktionsbaustein-Programms anstelle der Formaloperanden die Aktualoperanden aus dem aufrufenden Baustein verwendet.

Aufgrund dieser Eigenschaft der parametrierbaren Funktionsbausteine können Sie diese in Ihrem Anwenderprogramm vielseitig verwenden.

3-26 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Beispiele Beispiel 1

Folgendes (unvollständiges) Beispiel soll Ihnen sowohl das Programmieren als auch das Aufrufen und Parametrieren eines Funktionsbausteins verdeutlichen. Sie können es selbst leicht nachvollziehen.

Der Funktionsbaustein FB 202 wird programmiert:

FB 202

NETZWERK 1

NAME

BEZ

BEZ

BEZ

BEISPIEL

MONI E/A/D/B/T/Z:

:U=

BERT E/A/D/B/T/Z:

HANS E/A/D/B/T/Z:

MONI

:U=

:==

:

: BE

BERT

HANS

E

E

A

E/A/D/B/T/Z:BI

E/A/D/B/T/Z:BI

E/A/D/B/T/Z:BI

Formaloperandenliste

Anweisungen

Formaloperanden Parameterart Parametertyp

Der Funktionsbaustein FB 202 wird im Programmbaustein PB 25 aufgerufen und parametriert:

Darstellungsart KOP/FUP Darstellungsart AWL

PB 25

NETZWERK 1

NAME

MONI

BERT

HANS

:SPA FB 202

:BEISPIEL

:E 13.5

:M 17.7

:A 23.0

:BE

E 13.5

M 17.7

FB 202

BEISPIEL

A 23.0

:BE

Formaloperanden

Aktualoperanden

Folgende Operationen werden nach Sprung in den FB 202 ausgeführt:

:U E 13.5

:U M

:= A

:BE

17.7

23.0

Rev. 00/27 3-27

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Beispiel 2

Aufruf und Parametrierung eines Funktionsbausteins mit den Darstellungsarten AWL und KOP/FUP in einem Programmbaustein.

Darstellungsart AWL

FB 25

NETZWERK 1

RME :

:A

:SPA

NAME:E-ANTR

ZU-E : DW

E

DB

FB

5

201

1

3.5

ESB :

UEZ :

ZEIT :

ZU-A :

BEA :

LSL :

:BE

M

T

KT

DW

A

A

2.5

2

010.1

2

2.3

6.0

Formaloperanden

Aktualoperanden

Darstellungsart KOP/FUP

PB 25

NETZWERK 1

Standard-

Funktionsbausteine

3-28

Neben den Funktionsbausteinen, die Sie selbst programmieren, bietet

Ihnen die VIPA Standard-Funktionsbausteine als fertiges Softwareprodukt

(Best.-Nr.: VIPA-SW928).

Standard-Funktionsbausteine belegen die

Nummern FB 120 bis FB 127.

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Datenbausteine

Teil 3 Anwenderprogramm

In einem Datenbaustein (DB) oder einem erweiterten Datenbaustein (DX) sind die festen oder variablen Daten abgelegt, mit denen Ihr Anwenderprogramm arbeitet. In Datenbausteinen werden keine Operationen bearbeitet.

Die Daten eines Datenbausteins können sein:

• beliebige Bitmuster, z.B. für Anlagenzustände

Zahlen (hexadezimal, dual, dezimal) für Zeitwerte, Rechenergebnisse

• alphanumerische Zeichen, z.B. für Meldetexte

Aufbau eines

Datenbausteins

Ein Datenbaustein (DB/DX) besteht aus den Teilen

Bausteinvorkopf (DV, DXV)

Bausteinkopf

Bausteinrumpf.

Bausteinvorkopf

Der Bausteinvorkopf wird automatisch auf der Festplatte oder der Diskette des PG angelegt und nicht in die CPU übertragen. Er enthält die Datenformate der im Bausteinrumpf eingegebenen Datenwörter.

Als Anwender haben Sie keinen Einfluss auf das Anlegen des Bausteinvorkopfes.

Achtung!

Wenn Sie einen Datenbaustein aus der CPU auf Diskette oder auf Festplatte übertragen, wird der dazugehörige Bausteinvorkopf gelöscht. Aus diesem Grund dürfen Sie einen Datenbaustein mit unterschiedlichen

Datenformaten nie in der CPU ändern und ihn anschließend zurück übertragen, sonst wird allen Datenwörtern dieses DB automatisch das Datenformat zugeordnet, das Sie in der Voreinstellungsmaske gewählt haben.

Bausteinkopf

Der Bausteinkopf belegt 5 Wörter im Speicher und enthält

• die Bausteinkennung,

• die Kennung des Programmiergerätes,

• den Bausteintyp und die Bausteinnummer,

• die Bibliotheksnummer

• die Bausteinlänge (inkl. Länge des Bausteinkopfes).

Rev. 00/27 3-29

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Bausteinrumpf

Der Bausteinrumpf enthält in aufsteigender Reihenfolge, beginnend mit

Datenwort DW 0, die Datenwörter, mit denen das Anwenderprogramm arbeitet. Jedes Datenwort belegt im Speicher 1 Wort (16 Bit).

Maximale Länge

Datenbausteine dürfen insgesamt bis zu 4096 Wörter (inkl. Kopf) im

Speicher der CPU belegen. Berücksichtigen Sie beim Eingeben und Übertragen von Datenbausteinen mit dem PG den Speicherausbau Ihrer CPU!

Erstellen von

Datenbausteinen

So erstellen Sie einen Datenbaustein:

1. Geben Sie den Bausteintyp (DB/DX) und eine Datenbaustein-Nummer zwischen 3 und 255 ein.

2. Geben Sie die einzelnen Datenwörter im gewünschten Datenformat ein.

(Die Eingabe der Datenwörter wird nicht mit einer BE-Anweisung abgeschlossen.)

Zulässige

Datenformate

Achtung!

Die Datenbausteine DB 0, DB 1, DB 2, DX 0, DX 1 und DX 2 sind für bestimmte Funktionen reserviert und damit nicht frei verwendbar.

In einem Datenbaustein können Sie die in der folgenden Tabelle aufgeführten Datenformate verwenden.

Bezeichnung

KM

KH

KY

KF

KG

KC

KT

KZ

Datenformat

Bitmuster

Hexadezimalzahl

Beispiel

00100110 00111111

263F

Byte

Festpunktzahl

Gleitpunktzahl

Zeichen

038,063

09791

+1356123+12

?!ABCD123-+.,%

Zeitwert eines Zeitglieds 055.2

Zählerwert 234

3-30 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Aufschlagen von

Datenbausteinen

Ein Datenbaustein (DB/DX) kann nur unbedingt aufgeschlagen werden.

Dies ist möglich innerhalb eines Organisations-, Programm-, Schritt- oder

Funktionsbaustein. Ein bestimmter Datenbaustein kann mehrfach im Programm aufgeschlagen werden.

So schlagen Sie Datenbausteine auf:

WENN...

Sie einen DB-Datenbaustein aufschlagen wollen,

Sie einen DX-Datenbaustein aufschlagen wollen,

DANN...

geben Sie die Operation "A DB.." ein.

geben Sie die Operation "AX DX.." ein.

Gültigkeitsbereich

Nach Aufschlagen eines Datenbausteins beziehen sich alle folgenden Anweisungen mit dem Operandenbereich 'D' auf den aufgeschlagenen Baustein.

Der aufgeschlagene Datenbaustein bleibt auch dann gültig, wenn durch einen Bausteinaufruf die Programmbearbeitung in einem anderen Baustein fortgesetzt wird.

Wenn in diesem Baustein nun ein anderer Datenbaustein aufgeschlagen wird, ist dieser nur im aufgerufenen Baustein gültig. Nach Rücksprung in den aufrufenden Baustein gilt wieder der alte Datenbaustein.

Zugriff

Der Zugriff auf die in dem aufgeschlagenen Datenbaustein gespeicherten

Daten erfolgt bei der Programmbearbeitung durch die Lade- und Transferoperationen.

Mit einer binären Verknüpfung wird das adressierte Datenwort-Bit zur

Bildung des VKE herangezogen. Der Inhalt des Datenwortes wird nicht verändert.

Bei einer Speicheroperation wird dem adressierten Datenwort-Bit der Wert des VKE zugewiesen. Der Inhalt des Datenwortes kann dabei verändert werden.

Mit einer Ladeoperation wird der Inhalt des adressierten Datenwortes in den AKKU 1 übertragen. Der Inhalt eines Datenwortes wird nicht verändert.

Mit einer Transferoperation werden die Daten aus dem AKKU 1 in das adressierte Datenwort übertragen. Der alte Inhalt eines Datenwortes wird

überschrieben.

Rev. 00/27 3-31

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Hinweis!

Vor dem Zugriff auf ein Datenwort müssen Sie im Anwenderprogramm den gewünschten Datenbaustein aufschlagen, da die CPU nur so das richtige

Datenwort findet.

Das adressierte Datenwort muss im aufgeschlagenen Baustein enthalten sein, sonst erkennt das Systemprogramm bei einem Zugriff einen Ladebzw. Transferfehler.

Mit Lade- und Transferoperationen können Sie nur bis zu Datenwortnummer 255 zugreifen!

Ein aufgeschlagener Datenbaustein bleibt gültig, bis

• ein anderer Datenbaustein aufgeschlagen wird oder

• ein aufgerufener Baustein mit 'BE' oder 'BEB' beendet wird.

Beispiele Beispiel 1: Transferieren von Datenwörtern

Es soll der Inhalt des Datenwortes DW 1 vom Datenbaustein DB 10 in das

Datenwort DW 1 des Datenbausteins DB 20 transferiert werden.

Dazu geben Sie folgende Anweisungen ein:

:

:

:T

:A

:L

:

:A

DB

DW

DB

DW

10

1

20

1

(DB 10 aufschlagen)

(Inhalt DW 1 in den

AKKU 1 übertragen)

(DB 20 aufschlagen)

(Inhalt AKKU 1 nach

DW 1 übertragen)

3-32 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 3 Anwenderprogramm

Beispiel 2: Gültigkeitsbereich bei Datenbausteinen

Im Programmbaustein PB 7 wird der Datenbaustein DB 10 aufgeschlagen

(A DB 10). In der folgenden Programmbearbeitung werden die Daten dieses Datenbausteins bearbeitet.

Nach dem Aufruf (SPA PB 20) wird der Programmbaustein PB 20 bearbeitet. Der Datenbaustein DB 10 ist jedoch nach wie vor gültig. Erst mit dem Aufschlagen des Datenbausteins DB 11 (A DB 11) wird der Datenbereich gewechselt. Bis zum Ende des Programmbausteins PB 20 (BE) ist nun der Datenbaustein DB 11 gültig.

Nach der Rückkehr in den Programmbaustein PB 7 ist wieder der Datenbaustein DB 10 gültig.

Rev. 00/27 3-33

Teil 3 Anwenderprogramm Handbuch VIPA CPU 928 - Band 1

Spezielle

Datenbausteine

Die Datenbausteine DB 0, DB 1, DX 0, DX 1 und DX 2 sind bei der CPU

928 für bestimmte Funktionen reserviert. Sie werden vom Systemprogramm verwaltet und sind für den Anwender nicht beliebig verwendbar.

DB 0

(siehe Teil "Speicherbelegung und Organisation"):

Der Datenbaustein DB 0 enthält die Adressliste mit den Anfangsadressen aller Bausteine, die sich im Anwenderspeicher oder im Datenbaustein-RAM der CPU befinden. Diese Adressliste wird vom Systemprogramm bei der

Initialisierung (nach URLÖSCHEN) erzeugt und bei der Eingabe oder

Änderung von Bausteinen mit dem PG automatisch aktualisiert.

DB 1

Der Datenbaustein DB 1 enthält die Liste der digitalen Ein- und Ausgänge

(P-Peripherie mit relativen Byteadressen von 0 bis 127), die der CPU zugeordnet sind, und gegebenenfalls eine Zeitenblocklänge.

DB 1 kann parametriert und geladen werden:

Um die Zykluszeit im Einzelprozessorbetrieb zu verringern, da nur die im

DB 1 eingetragenen Ein- und Ausgänge oder Zeiten aktualisiert werden.

DX 0

(siehe Teil "Erweiterter Datenbaustein DX 0"):

Durch Parametrieren und Laden des Datenbausteins DX 0 können Sie die

Voreinstellungen bestimmter Systemprogrammfunktionen (z.B. bei der Bearbeitung des Anlaufs) ändern und damit die Leistungen des Systemprogramms Ihren Erfordernissen anpassen.

DX 1

Reserviert.

DX 2

Der Datenbaustein DX 2 wird dazu verwendet, um für die Kommunikation

über die 2. serielle Schnittstelle den Kopplungstyp festzulegen.

3-34 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Teil 4 Programmbearbeitung

Überblick

Teil 4 Programmbearbeitung

Hier finden Sie eine Einführung in die Programmiersprache. Es werden im

Weiteren die Operationen anhand von Beispielen erläutert.

Nachfolgend sind beschrieben:

Programmbearbeitung und Programmorganisation

Speicherung von Programm- und Datenbausteinen

Bearbeitung und Begriffsdefinition des Anwenderprogramms

Grundoperationen

Beispiele in AWL, KOP, und FUP

Ergänzende Operationen

Organisatorische Operationen

Semaphor-Operationen

Inhalt Thema Seite

Teil 4 Programmbearbeitung.................................................................4-1

Prinzip der Programmbearbeitung ........................................................4-2

Programmorganisation .........................................................................4-3

Speicherung von Programm- und Datenbausteinen .............................4-8

Bearbeitung des Anwenderprogramms...............................................4-10

Operationen mit Beispielen .................................................................4-13

Rev. 00/27 4-1

Teil 4 Programmbearbeitung

Prinzip der Programmbearbeitung

Handbuch VIPA CPU 928 - Band 1

Das Anwenderprogramm kann auf verschiedene Art und Weise bearbeitet werden.

Typischerweise herrscht bei speicherprogrammierbaren Steuerungen

(SPS) die zyklische Programmbearbeitung vor:

Das Systemprogramm läuft in einer Programmschleife (dem Zyklus) und ruft dabei in jeder Schleife einmal den Organisationsbaustein OB 1 auf .

Systemprogramm vom Anlauf

Zyklusüberwachungszeit triggern

OB 1

Anwenderprogramm

PB 20

Prozeßabbild der

Eingänge (PAE) versorgen

Aufruf des OB 1

Prozeßabbild der

Ausgänge (PAA) ausgeben

Aufruf des PB 20

BE

BE

4-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Programmorganisation

Einleitung

Teil 4 Programmbearbeitung

Mit der Programmorganisation legen Sie fest, nach welchen Bedingungen und in welcher Reihenfolge die von Ihnen erstellten Bausteine bearbeitet werden sollen.

Dazu programmieren Sie in den Organisationsbausteinen bedingte oder unbedingte Aufrufe der gewünschten Bausteine.

In den Programmteilen der einzelnen Organisations-, Programm-, Funktions- und Schrittbausteine können weitere Programm-, Funktions- und

Schrittbausteine in beliebiger Kombination (nacheinander oder ineinander verschachtelt) aufgerufen werden.

Das Anwenderprogramm sollte zweckmäßigerweise so organisiert sein, dass es die wesentlichen Programmstrukturen oder programmtechnisch zusammenhängende Anlagenteile hervorhebt.

Die folgenden Abbildungen und zeigen Ihnen zwei Beispiele einer Programmstruktur.

Rev. 00/27 4-3

Teil 4 Programmbearbeitung

Programmorganisation nach

Programmstruktur

Handbuch VIPA CPU 928 - Band 1

4-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Programmorganisation nach

Anlagenstruktur

Teil 4 Programmbearbeitung

Rev. 00/27 4-5

Teil 4 Programmbearbeitung

Bausteinschachtelung

Handbuch VIPA CPU 928 - Band 1

Das Bild zeigt Ihnen das Prinzip der verschachtelten Bausteinaufrufe.

OB 1 PB 5 PB 20

1. Operation

A DB 20

1. Operation

A DB 30

...

SPA PB 5

U M200.5

SPA PB 20

= A 60.6 * SPA FB 30

NAME: KURV

U E 55.0 *

...

BE BE BE

* Operation zu der zurückgesprungen wird

Bausteinadressen

Die Lage eines Bausteins im Anwenderspeicher (oder DB-RAM) ist festgelegt durch seine Baustein-Anfangsadresse: Dies ist bei Code-Bausteinen die Adresse derjenigen Zelle im Speicher, in der sich die erste

Operation des Bausteins befindet (bei FB und FX der SPA-Befehl über die

Formaloperandenliste); bei Datenbausteinen ist es die Adresse des ersten

Datenwortes.

Damit die CPU bei einem Bausteinaufruf den aufgerufenen Baustein im

Speicher findet, sind die Anfangsadressen aller gültigen Bausteine in der

Bausteinadressliste im Datenbaustein DB 0 eingetragen. Der DB 0 wird vom Systemprogramm verwaltet, als Anwender können Sie ihn nicht aufschlagen!

Um nach Abarbeitung des aufgerufenen Bausteins den Rückweg in den aufrufenden Baustein zu finden, speichert die CPU bei jedem Aufruf eines neuen Bausteins die Rücksprungadresse: Die Rücksprungadresse ist die

Adresse derjenigen Zelle im Speicher, in der die dem Bausteinaufruf folgende Anweisung steht. Außerdem wird von der CPU die Anfangsadresse und Länge des Datenbausteins gespeichert, der an dieser Stelle gültig ist.

Schachteltiefe

Sie können maximal 62 Bausteine ineinander schachteln. Werden mehr als

62 Bausteine aufgerufen, meldet die CPU einen Fehler und geht in den

Stoppzustand.

4-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Beispiel

Teil 4 Programmbearbeitung

Rev. 00/27

So ermitteln Sie die Schachtelungstiefe Ihres Programms:

Addieren Sie alle von Ihnen programmierten Organisationsbausteine

(im Beispiel: 4 OBs).

Addieren Sie die Schachtelungstiefen der einzelnen OBs

(im Beispiel: 2 + 2 +1+ 0 = 5)

(PB 1, FB 1) (PB 131, FB 131) (FB 21)

Beide Beträge zusammen ergeben die Programm-Schachtelungstiefe im Beispiel: 4 + 5 = 9 Schachtelungstiefe.

(OBs) (PBs und FBs)

Hinweis!

Die Schachtelungstiefe darf den Wert 62 nicht überschreiten.

4-7

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Speicherung von Programm- und Datenbausteinen

Damit die CPU das Anwenderprogramm bearbeiten kann, muss dieses einschließlich vorhandener Datenbausteine - in den Programmspeicher geladen werden. Als Programmspeicher stehen Ihnen Anwenderspeicher und das DB-RAM zur Verfügung.

Um Code- und Datenbausteine in den Programmspeicher zu laden, können Sie folgende Methoden benutzen:

RAM-Betrieb Wenn beim URLÖSCHEN der CPU keine Memory Card (Flash EPROM) gesteckt ist, geht die CPU in den "RAM-Betrieb":

Code- und Datenbausteine werden vom PG in den Arbeitsspeicher bzw. in das DB-RAM der CPU geladen. Sie können jederzeit vom PG nachgeladen

(ersetzt), verändert oder gelöscht werden, d.h. der Schreibschutz ist ausgeschaltet.

EPROM-Betrieb Code- und Datenbausteine werden durch das Systemprogramm von der

Memory Card in den Anwenderspeicher kopiert. Das Systemprogramm setzt außerdem eine Schreibschutzkennung.

Dies bedeutet, dass alle kopierten Bausteine nicht nachgeladen, verändert oder gelöscht werden können.

Um Daten in Datenbausteinen ändern zu können, müssen Sie dafür sorgen, dass die Datenbausteine ins DB-RAM gelangen.

Datenbausteine, die in der Memory Card programmiert sind, können Sie mit Hilfe der OBs 254/255 ins DB-RAM kopieren oder verschieben (z.B. im

Anlauf-OB). Andere Datenbausteine können Sie vom PG aus ins DB-RAM laden. Die CPU 928C legt den DB automatisch im DB-RAM ab.

Sobald die Datenbausteine im DB-RAM liegen, können Sie nachgeladen, geändert oder gelöscht werden.

Änderungen an diesen Datenbausteinen werden jedoch nicht in die

Memory Card übernommen. Vor dem nächsten Urlöschen müssen Sie den

Inhalt der Memory Card retten.

Nach dem Urlöschen können Sie die Memory Card ziehen, die Daten stehen im Anwenderspeicher bereit.

4-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Ein-/Ausschalten des Schreibschutzes

Falls Sie im EPROM-Betrieb Änderungen an Bausteinen vornehmen müssen, so können Sie den Schreibschutz durch Löschen der Schreibschutzkennung wieder aufheben.

Sie können Bausteine wieder mit einem Schreibschutz versehen, wenn Sie die Schreibschutzkennung setzen.

Sie können ebenso eine CPU ohne Memory Card mit einem Schreibschutz versehen, wenn Sie die Schreibschutzkennung setzen.

Anzeige des Speicherausbaus

Wenn Sie sich im EPROM-Betrieb mit der PG-Funktion "Speicherausbau"

Informationen über den Speicher ausgeben lassen, so wird als Länge des

Speichers der Wert '0' und als Endadresse des Anwenderspeichers der

Wert '0EEEEh' angezeigt.

DB-RAM

Hinweis!

Die Memory Card kann nur am PG programmiert werden. Dazu können Sie die PG-Software ab Version 6 verwenden.

Beim Programmieren müssen Sie am PG die Betriebsart "WORD" wählen.

In das DB-RAM werden Datenbausteine DB/DX durch Erzeugen oder

Kopieren geschrieben. Beim Übertragen von Datenbausteinen vom PG in die CPU werden diese im DB-RAM abgelegt, falls der Anwenderspeicher gefüllt ist oder im "RAM-Betrieb" "Alternatives Laden eingestellt ist.

Rev. 00/27 4-9

Teil 4 Programmbearbeitung

Bearbeitung des Anwenderprogramms

Handbuch VIPA CPU 928 - Band 1

Die gesamte Software auf der CPU (bestehend aus Systemprogramm und

Anwenderprogramm) hat folgende Aufgaben zu bearbeiten:

ANLAUF der CPU,

Steuerung eines Automatisierungsprozesses durch ständig sich wiederholende Operationsfolgen (ZYKLUS).

Steuerung eines Automatisierungsprozesses durch Reaktion auf

Ereignisse, die sporadisch oder zu bestimmten Zeiten eintreffen

(Alarme) sowie Reaktion auf Fehler.

Bei allen drei Aufgaben haben Sie die Möglichkeit, über Anwenderschnittstellen (Organisationsbausteine OB 1 bis OB 35) spezielle Teile Ihres

Anwenderprogramms auf der CPU ablaufen zu lassen.

Anlauf

Bevor die CPU in die zyklische Bearbeitung eintreten kann, ist es u.U.

erforderlich, eine Initialisierung durchzuführen, um einen definierten Ausgangszustand für die zyklische Bearbeitung herzustellen und z.B. Zeitraster für die Ausführung bestimmter Funktionen vorzugeben. Welche

Initialisierung dies ist, hängt von dem Ereignis ab, das zu einem Anlauf führt, sowie von Einstellungen, die Sie an Ihrer CPU vornehmen.

Sie können das Verhalten der CPU bei einem Anlauf beeinflussen durch

Programmieren der Organisationsbausteine OB 20, OB 21 und OB 22 oder durch Parametrieren des Datenbausteins DX 0.

Zyklus

Nachdem ein Anlauf durchgeführt worden ist, tritt das Systemprogramm in die zyklische Bearbeitung ein. Es übernimmt dabei Hintergrundfunktionen, die für Automatisierungsaufgaben erforderlich sind (siehe Abb. am Kapitelanfang).

Nach Ausführung der Systemfunktionen zu Beginn eines Zyklus wird vom

Systemprogramm als zyklisches Anwenderprogramm der Organisationsbaustein OB 1 oder der Funktionsbaustein FB 0 aufgerufen. In einem dieser Bausteine programmieren Sie die Operationen für die zyklische

Bearbeitung.

4-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Reaktionen bei Alarmen und Fehlern

Um auf einen Alarm oder Fehler speziell reagieren zu können, stehen

Ihnen auf der CPU 928 spezielle Organisationsbausteine (OB 2und OB 9 bis OB 18 für Alarmbearbeitung, OB 19 und OB 23 bis OB 35 für Reaktionen im Fehlerfall) zur Verfügung, in denen Sie das entsprechende Programm hinterlegen können.

Bei der Alarm- oder Fehlerbearbeitung wird vom Systemprogramm der zugehörige Organisationsbaustein in die zyklische Bearbeitung "eingeschachtelt". Dies bedeutet, dass die zyklische Bearbeitung durch die Bearbeitung eines Alarms oder Fehlers unterbrochen wird.

Die Einschachtelung der entsprechenden Organisationsbausteine erfolgt nach einem festen Prioritätenschema.

Außer durch die genannten Organisationsbausteine können Sie das

Verhalten der CPU bei der Alarmbearbeitung und im Fehlerfall durch

Parametrieren des Datenbausteins DX 0 beeinflussen.

Die Organisationsbausteine OB 1 bis OB 39 können vom Systemprogramm aufgerufen werden, sobald sie in den Programmspeicher geladen worden sind (auch im laufenden Betrieb).

Werden sie nicht geladen, so erfolgt entweder keine Reaktion der CPU oder - in den meisten Fehlerfällen - sie geht in den Stoppzustand.

Wie die Organisationsbausteine lässt sich auch der Datenbaustein DX 0 im laufenden Betrieb in den Programmspeicher laden. Er wird jedoch erst mit dem nächsten Neustart wirksam. Wird der DX 0 nicht geladen, gelten die

Standardeinstellungen.

Begriffsdefinitionen

Zykluszeit

Der Zyklus beginnt mit der Triggerung der sogenannten Zykluszeitüberwachung und endet bei der nächsten Triggerung. Die Zeit, die die

CPU für die Programmbearbeitung zwischen zwei Triggerungen benötigt, wird Zykluszeit genannt. Sie setzt sich aus der Laufzeit des Systemprogramms und der Laufzeit des Anwenderprogramms zusammen.

In die Zykluszeit geht somit ein:

• die Bearbeitungszeit des zyklischen Programms (System- und Anwenderprogramm),

• die Bearbeitungszeit von Alarmen (z.B. zeitgesteuerter Alarm),

• die Bearbeitungszeit von Unterbrechungen (Fehlern).

Rev. 00/27 4-11

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Zykluszeitüberwachung

Die Zykluszeit wird von der CPU auf einen Maximalwert überwacht.

Standardmäßig ist dieser Maximalwert auf 150 ms eingestellt. Als Anwender haben Sie die Möglichkeit, die Zykluszeitüberwachung selbst einzustellen bzw. sie während der Anwenderprogrammbearbeitung neu zu starten.

Prozessabbild der Ein- und Ausgänge (PAE und PAA)

Vor Beginn der zyklischen Anwenderprogrammbearbeitung liest das

Systemprogramm die Signalzustände der Eingabe-Peripheriebaugruppen in das Prozessabbild der Eingänge ein. Das Anwenderprogramm wertet die

Signalzustände im Prozessabbild der Eingänge aus und setzt in Abhängigkeit dieser Auswertung die Signalzustände für die Ausgänge im Prozessabbild der Ausgänge. Nach Bearbeitung des Anwenderprogramms überträgt das Systemprogramm die Signalzustände des Prozessabbilds der

Ausgänge zu den Ausgabe-Peripheriebaugruppen.

Durch die Zwischenspeicherung der Peripheriesignale im Prozessabbild der Ein- und Ausgänge wird vermieden, dass ein Ändern des logischen

Zustandes eines Bits innerhalb eines Programmzyklus zum "Flattern" des zugehörigen Peripherieausgangs führt.

Das Prozessabbild ist somit ein Speicherbereich, dessen Inhalt nur einmal pro Zyklus an die Peripherie ausgegeben bzw. von der Peripherie eingelesen wird.

Hinweis!

Ein Prozessabbild existiert nur für Ein- und Ausgabebytes der P-Peripherie mit Byteadressen von 0 bis 127.

Unterbrechungsereignisse

Die zyklische Programmbearbeitung kann unterbrochen werden durch

• eine prozessalarmgesteuerte Programmbearbeitung,

• eine zeitgesteuerte Programmbearbeitung,

• einen Verzögerungsalarm,

• einen uhrzeitgesteuerten Weckalarm.

Sie kann unterbrochen bzw. ganz abgebrochen werden

• beim Auftreten eines Geräte- oder Programmfehlers,

• durch Bedienung (PG-Funktion, Stoppschalter, MP-STP),

• durch eine Stoppoperation.

4-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Operationen mit Beispielen

Teil 4 Programmbearbeitung

Eine Operation setzt sich zusammen aus einem Operationsteil und einem

Operanden. Im Operationsteil wird festgelegt, was durch die CPU getan werden soll (Operation). Der Operandenteil gibt an, womit eine Operation durchgeführt werden soll.

Die Operationen lassen sich in verschiedene Gruppen einteilen:

Grundoperationen

(in allen Codebausteinen anwendbar),

Ergänzende Operationen

(nur in Funktionsbausteinen FB/FX anwendbar),

Organisatorische Operationen

(nur in Funktionsbausteinen FB/FX anwendbar),

Semaphor-Operationen

(nur in Funktionsbausteinen FB/FX anwendbar).

Akkumulatoren als Arbeitsregister

Die CPU 928 besitzt vier Akkumulatoren, AKKU 1 bis AKKU 4. Ein überwiegender Teil der Operationen verwendet als Quelle für die Operanden und als Ziel für die Ergebnisse zwei Register (32 bit): AKKU 1 und AKKU2.

AKKU 1

1)

1)

High-Word

High-Byte

31

24

AKKU-1-H-H

AKKU-1-H

Low-Byte

23

16

AKKU-1-H-L

High-Byte

15

8

Low-Word

AKKU-1-L-H

AKKU-1-L die Aufteilung bei AKKU 2 bis AKKU 4 ist analog

Low-Byte

7

AKKU-1-L-L

0

Die Akkumulatoren werden abhängig von der auszuführenden Operation beeinflusst, z.B.:

• bei den Ladeoperationen wird als Ziel immer der AKKU 1 verwendet; der alte Inhalt von AKKU 1 wird in den AKKU 2 (Stack Lift) geschoben; die

Akkumulatoren 3 und 4 werden bei allen Ladeoperationen nicht verändert;

• arithmetische Operationen verknüpfen den Inhalt von AKKU 1 und

AKKU 2, schreiben das Ergebnis in den AKKU 1 und übertragen den

Inhalt des AKKU 3 nach AKKU 2 und den Inhalt des AKKU 4 nach

AKKU 3 (Stack Drop); bei 16-bit-Festpunktarithmetik werden nur das

Low-Word von AKKU 3 in das Low-Word von AKKU 2 und das Low-

Word von AKKU 4 in das Low-Word von AKKU 3 übertragen;

• beim Addieren einer Konstanten (ADD BF/KF/DH) zum Inhalt des AKKU

1 werden die Akkumulatoren 2, 3 und 4 nicht verändert.

Rev. 00/27 4-13

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Ergebnisanzeigen

Operationen sind entweder anzeigenbildend oder anzeigenabfragend. Die

Anzeigen werden in einem Anzeigenbyte hinterlegt. Bei den Anzeigen sind zwei Gruppen zu unterscheiden: Anzeigen von digitalen Operationen

(Wortanzeigen - Bit 4 bis 7 im Anzeigenbyte) und Anzeigen von binären und organisatorischen Operationen (Bit-Anzeigen - Bit 0 bis 3 im

Anzeigenbyte). Wie die verschiedenen Anzeigen durch Operationen beeinflusst bzw. ausgewertet werden können, entnehmen Sie bitte der

Operationsliste.

Das Anzeigenbyte wird bei der PG-Online-Funktion "Status Baustein" angezeigt und hat folgenden Aufbau:

ANZ1

Bit 7

Wort-Anzeigen

ANZ0

6

OV

5

OS

4

OR

3

STA

2

Bit-Anzeigen

VKE

1

ERAB

0

Bit-Anzeigen

ERAB Erstabfrage

Eine logische Verknüpfungskette mit binären Verknüpfungen beginnt immer mit einer sogenannten Erstabfrage, bei der das VKE neu gebildet wird. Mit Ihr wird die Bit-Anzeige ERAB = 1 gesetzt. Im Laufe weiterer logischer Verknüpfungen in der begonnenen Kette bleibt ERAB = 1, und das VKE kann durch diese logischen Verknüpfungen verändert werden.

Die begonnene Verknüpfungskette wird beendet durch eine binäre

Speicheroperation (z.B. S A 5.0). Mit der Speicheroperation wird ERAB = 0 gesetzt; das VKE kann jetzt nur noch ausgewertet (z.B. durch VKEabhängige Befehle), aber nicht mehr weiter verknüpft werden. Die nächste binäre logische Verknüpfung nach einer binären Speicheroperation ist wieder eine "Erstabfrage".

Beispiel zu ERAB

:

:S

:

:U

:

:O

:

:UN

:

:S

:

SPB

A

E

E

E

A

7.7

1.0

6.3

2.1

2.4

FB 150 letzte Operation der vorhergehenden

Verknüpfungskette

ERAB wird auf '1'gesetzt, VKE wird durch

UND-Verknüpfung neu gebildet

VKE wird durch ODER-Verknüpfung beeinflusst

VKE wird durch UND-NICHT-Verknüpfung beeinflusst

ERAB wird auf '0'gesetzt, Verknüpfungskette ist beendet

Funktionsbaustein in Abhängigkeit vom VKE aufrufen

4-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung weitere Bit-Anzeigen

VKE Verknüpfungsergebnis

Ergebnis binärer Verknüpfungen, Wahrheitsaussage bei den Vergleichsbefehlen.

STA Status

Gibt bei Bit-Befehlen den logischen Zustand des gerade abgefragten oder gesetzten Bits an. Der Status wird bei binären Verknüpfungsoperationen - ausgenommen U(, O(, ),O - und bei Speicheroperationen aktualisiert.

OR Oder

Interne Anzeige der CPU für die Behandlung von "UND-vor-ODER-

Verknüpfungen".

Wortanzeigen

OV Overflow

Gibt an, ob bei der eben abgeschlossenen arithmetischen Operation der zulässige Zahlenbereich überschritten worden ist.

OS Overflow speichernd

OS dient dazu, im Verlaufe mehrerer arithmetischer Operationen zu erkennen, ob irgendwann ein Überlauf (Overflow) aufgetreten ist.

ANZ 1 und ANZ 0

Codierte Ergebnisanzeigen, deren Interpretation aus der Tabelle unten ersichtlich wird.

Zur unmittelbaren Auswertung der Anzeigen stehen Vergleichs- und

Sprungoperationen zur Verfügung

Wortanzeigen

ANZ1 ANZ0

0

0

1

1

0

1

0

1

Arithmetische

Operationen

Ergebnis = 0

Ergebnis < 0

Ergebnis > 0

Division durch

0

Digitale Verknüpfungs-

Vergleichsoperationen operationen

Ergebnis =

0

-

Ergebnis

0

-

AKKU 2 =

AKKU 1

AKKU 2

<

AKKU 1

AKKU 2

>

AKKU 1

-

Schiebeoperationen geschobenes Bit = 0

-

Semaphor ist gesetzt

SPM

SPN geschoben es

Bit = 1

-

Bei SES,

SEF

Semaphor wird gesetzt bzw.

freigegeben

-

Ausgeführte

Sprungoperation

SPZ

SPP

SPN

SPN

Hinweis!

Bei einem Ebenenwechsel, z.B. bei der Behandlung eines Weckalarms, werden alle Akkumulatoren sowie die Bit- und Wortanzeigen (VKE usw.) gerettet und bei Fortsetzung der unterbrochenen Ebene wieder geladen

Rev. 00/27 4-15

Teil 4 Programmbearbeitung

Grundoperationen

Handbuch VIPA CPU 928 - Band 1

Die Grundoperationen können Sie in allen Codebausteinen und in allen

Darstellungsarten (KOP, FUP und AWL ) benutzen.

Binäre

Verknüpfungsoperationen

Operation

U

O

UN

ON

O

U(

O(

)

Operand

D

T

Z

E

A

M

S

0.0 bis

0.0 bis

0.0 bis

0.0 bis

0.0 bis

0 bis

0 bis

127.7

127.7

255.7

1023.7

215.15

255

255

-

-

D

T

Z

E

A

M

S

0.0 bis

0.0 bis

0.0 bis

0.0 bis

0.0 bis

0 bis

0 bis

127.7

127.7

255.7

1023.7

215.15

255

255

Funktion

UND-Verknüpfung mit Abfrage auf Signalzustand "1"

ODER-Verknüpfung mit Abfrage auf Signalzustand "1" eines Eingangs im PAE eines Ausgangs im PAA eines Merkerbits eines S-Merkerbits eines Datenwortbits einer Zeit eines Zählers

UND-Verknüpfung mit Abfrage auf Signalzustand "0"

ODER-Verknüpfung mit Abfrage auf Signalzustand "0" eines Eingangs im PAE eines Ausgangs im PAA eines Merkerbits eines S-Merkerbits eines Datenworts einer Zeit eines Zählers

ODER-Verknüpfung von UND-Funktionen

UND-Verknüpfung von Klammerausdrücken

ODER-Verknüpfungen von Klammerausdrücken

Klammer zu (Abschluss eines Klammerausdrucks)

Es sind maximal 8 Ebenen zulässig, d.h. 7 geöffnete

Klammern

4-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

U

U

=

:

Programm

=

U

A 0.0

E 1.0

E 1.1

E 1.2

A 0.1

VKE-Bildung

Die binären Verknüpfungsoperationen erzeugen das Verknüpfungsergebnis (VKE).

Am Anfang einer Verknüpfungskette hängt die Bildung des VKE

(Erstabfrage) nur vom abgefragten Signalzustand (Status) ab, jedoch nicht von der Verknüpfungsart (O = ODER, U = UND).

Innerhalb einer Verknüpfungskette wird das VKE aus Verknüpfungsart, bisherigen VKE und dem abgefragten Signalzustand gebildet.

Eine Verknüpfungskette wird durch einen VKE-begrenzenden (ERAB = 0)

Befehl (z.B. Speicheroperation) abgeschlossen. Danach kann das VKE zwar ausgewertet, jedoch nicht mehr weiter verknüpft werden.

Beispiel zur VKE-Bildung

STA

1

0

0

1

0

VKE

1

0

0

1

0

ERAB

1

1

0

1

0

VKE-begrenzt

Erstabfrage

VKE-begrenzt, Ende der Verknüpfungskette

Speicheroperationen

Operation Operand

R

S

E

A

M

S

D

=

Funktion

Bei Zustand '1' des VKE: Zurücksetzen

Bei Zustand '1'des VKE: Setzen

0.0 bis

0.0 bis

0.0 bis

0.0 bis

0.0 bis

127.7

127.7

255.7

1023.7

215.15

eines Eingangs im PAE eines Ausgangs im PAA eines Merkers eines S-Merkers eines Bits im Datenwort

Zuweisung des VKE zu einem

E

A

M

S

D

0.0 bis

0.0 bis

0.0 bis

0.0 bis

0.0 bis

127.7

127.7

255.7

1023.7

215.15

Eingang im PAE

Ausgang im PAA

Merker

S-Merker

Bit im Datenwort

Rev. 00/27 4-17

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Lade- und

Transferoperationen

Operation

L

T

EB

EW

ED

AB

AW

AD

MB

MW

MD

SY

SW

SD

DR

DL

DW

DD

PY

PW

QB

QW

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

0 bis

Operand

0 bis

127

126

124

127

126

124

255

254

252

Laden

Transferieren eines Eingabebytes vom/zum PAE eines Eingabewortes vom/zum PAE eines Eingabe-Doppelwortes vom/zum PAE eines Ausgabebytes vom/zum PAA eines Ausgabewortes vom/zum PAA eines Ausgabe-Doppelwortes vom/zum PAA eines Merkerbytes eines Merkerwortes

Funktion eines Merker-Doppelwortes

255

255

255

254

255

1023

1022

1020 eines S-Merkerbytes eines S-Merkerwortes eines S-Merker-Doppelwortes des rechten Bytes eines DW aus bzw. nach DB,DX des linken Bytes eines DW aus bzw. nach DB,DX eines Datenwortes aus bzw. nach DB,DX eines Daten-Doppelwortes aus bzw. nach DB,DX

254 eines Peripheriebytes der Analog- oder Digitaleingaben bzw. -ausgaben (P-Bereich) eines Peripheriewortes der Analog- oder Digitaleingaben bzw. -ausgaben (P-Bereich)

0 bis

0 bis

255

254 eines Bytes der erweiterten Peripherie (Q-Bereich) eines Wortes der erweiterten Peripherie (Q-Bereich)

Fortsetzung...

4-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

...Fortsetzung

Operation

L

KB

KC

Operand

0 bis 255

2 ASCII-

Zeichen

Laden

Funktion einer Konstanten, Bytewert einer Konstanten als 2 ASCII-Zeichen

KF -32768 bis

+32767

1) einer Konstanten als Festpunktzahl

KG

KH 0 bis FFFF einer Konstanten als Gleitpunktzahl einer Konstanten als Hexadezimalzahl

DH

KM

KY

0 - FFFF FFFF

16-bit-Muster

0 bis 255 für jedes Byte

0.0 bis 999.3

0 bis 999 einer Doppelwort-Konstanten als Hexadezimalzahl

Seiner Konstanten als Bitmuster einer Konstanten als 2-Byte-Zahl

KT

KZ einer Konstanten als Zeitwert (BCD-codiert) einer Konstanten als Zählwert

LC

T

Z

T

Z

0 bis 255

0 bis 255

0 bis 255

0 bis 255

1) ±

0,1469368 x 10

-38 bis

±

0,1701412 x 10

39 eines Zeitwertes, dual-codiert eines Zählwertes, dual-codiert

Laden eines

Zeitwertes

Zählwertes im gepackten BCD-Code

Ladeoperationen

Ladeoperationen schreiben den adressierten Wert in den AKKU 1, dessen vorheriger Inhalt in den AKKU 2 gerettet wird (Stack Lift):

Transferoperationen

Transferoperationen schreiben den Inhalt des AKKU 1 in die adressierte

Speicherzelle.

Rev. 00/27 4-19

Teil 4 Programmbearbeitung

Beispiele

Lade- und

Transferoperationen

Beispiel 1:

Handbuch VIPA CPU 928 - Band 1

Das Bild zeigt das Laden/Transferieren eines Bytes, Wortes oder

Doppelwortes aus einem/in einen byteweise organisierten Speicherbereich

(PAE, PAA, Merker, Peripherie):

:L EB

:L EW

:L MD j i k geladen wird Byte i des PAE in den

AKKU-1-LL geladen wird Byte j und j+1 des PAE in den

AKKU-1-L geladen werden die Merkerbytes k bis k+3 in den AKKU 1

4-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Beispiel 2:

Das Bild zeigt das Laden/Transferieren eines Bytes, Wortes oder

Doppelwortes aus einem/in einen wortweise organisierten Speicherbereich.

:L DR

:L DL

:L DW

:L DD j i k m geladen wird das rechte Byte aus dem

Datenwort i in den AKKU-1-LL geladen wird das linke Byte aus dem

Datenwort j in den AKKU-1-LL geladen wird das Datenwort k in den

AKKU-1-L geladen werden die Datenwörter m und m+1 in den AKKU 1

Rev. 00/27 4-21

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Hinweis!

Ladeoperationen beeinflussen die Anzeigen nicht.

Transferoperationen löschen das OS-Bit.

Beim Laden eines Bytes oder Wortes werden die höherwertigen Bytes im

AKKU 1 gelöscht.

Ansprechen der Peripherie

Die Peripherie kann durch Lade- und Transferoperationen angesprochen werden:

• direkt: mit L../T....PY, ..PW, ..QB, ..QW

oder

über das Prozessabbild: mit L../T....EB, ..EW, ..ED, .AB, ..AW, ..AD

und mit Verknüpfungsoperationen.

Hinweis!

Bei den Transferoperationen T PY 0 bis 127 und T PW 0 bis 126 wird parallel das Prozessabbild der Ausgänge nachgeführt.

Beachten Sie zur Peripherie folgende Punkte.

Ein Prozessabbild der Ein- und Ausgänge existiert für je 128 Ein- und

Ausgabebytes der P-Peripherie mit Byteadressen von 0 bis 127.

Für den Bereich der P-Peripherie mit den relativen Byteadressen von

128 bis 255 und den gesamten Bereich der Q-Peripherie existiert kein

Prozessabbild!

Ein-/Ausgabebaugruppen mit Adressen der Q-Peripherie können nur in

Erweiterungsgeräten stecken (nicht im Zentralgerät).

In einem Erweiterungsgerät kann man entweder nur P-Peripherie oder nur Q-Peripherie verwenden.

Hinweis!

Falls in einem Erweiterungsgerät Relativadressen der Q-Peripherie verwendet werden, sind diese Adressen für Peripheriebaugruppen (P-

Bereich) im Zentralgerät nicht mehr zulässig (Doppeladressierung!).

4-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Zeit- und

Zähloperationen

Um eine Zeit durch eine Startoperation oder einen Zähler durch eine

Setzoperation zu laden, muss der Wert vorher in den AKKU 1 geladen werden.

Zu bevorzugen sind folgende Ladeoperationen:

Für Zeiten:

Für Zähler:

L KT, L EW, L AW, L MW, L DW, L SW.

L KZ, L EW, L AW, L MW, L DW, L SW.

Damit eine Zeit mit dem vorgegebenen Zeitwert gestartet wird, ist ein

Flankenwechsel des VKE notwendig.

Ein Zähler wird mit dem vorgegebenen Zählwert gesetzt oder gezählt, wenn eine positive Flanke des VKE erkannt wird.

In der nachfolgenden Tabelle sind die Flankenwechsel in der Spalte VKE mit entsprechenden Pfeilen gekennzeichnet.

1)

Operation

SI

SV

SE

SS

SA

R

S

R

ZV

ZR

Operand

T

T

T

T

T

T

Z

Z

Z

Z

0 bis 255

0 bis 255

0 bis 255

0 bis 255

0 bis 255

0 bis 255

0 bis 255

0 bis 255

0 bis 255

0 bis 255

VKE

1)

1

1

Funktion

Starten einer Zeit als Impuls

Starten einer Zeit als verlängerter Impuls

Starten einer Zeit als Einschaltverzögerung

Starten einer Zeit als speichernde Einschaltverz.

Starten einer Zeit als Ausschaltverzögerung

Rücksetzen einer Zeit

Setzen eines Zählers (BCD-Wert von 0 bis 999)

Rücksetzen eines Zählers

Vorwärtszählen eines Zählers

Rückwärtszählen eines Zählers positive Flanke (

): Signalzustandsänderung von Zustand '0' nach Zustand '1' negative Flanke (

): Signalzustandsänderung von Zustand '1' nach Zustand '0'

Bei der Ausführung der Zeit- bzw. Zähloperation SI, SE, SV, SS, SA und S wird der im AKKU 1 stehende Wert in die Zeit- bzw. Zählstelle gebracht und die entsprechende Operation veranlasst.

Rev. 00/27 4-23

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Zeitwert

Ein Zeitwert kann mit der Operation L KT direkt oder mit entsprechenden

Ladeoperationen aus einem Merker- oder Datenwort indirekt in den AKKU

1 geladen werden. Er muss folgenden Aufbau haben. Das Zeitraster wird bei L KT hinter dem Punkt im Operanden angegeben:

Es soll eine Zeitdauer von 127 s vorgegeben werden:

Belegung der Bits:

4-24

Hinweis!

Jedes Starten einer Zeit ist mit einer Ungenauigkeit von 1 Zeitraster verbunden. Wählen Sie deshalb bei Verwendung von Zeitzellen ein möglichst kleines Zeitraster.

Beispiel:

Zeitdauer 4 s nicht: 1 s x 4 sondern: 0,01 s x 400

Ungenauigkeit: 1 s

Ungenauigkeit: 0,01 s

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Zählwerte

Ein Zählwert kann mit dem Befehl L KZ direkt oder mit entsprechenden

Ladeoperationen aus einem Merker- oder Datenwort indirekt in den AKKU

1 geladen werden. Er muss folgenden Aufbau haben:

Beispiel Es soll ein Zählwert von 127 vorgeben werden:

Belegung der Bits:

Rev. 00/27

In der Zeit- bzw. Zählstelle selbst liegt der Zeit- bzw. Zählwert dualcodiert vor. Zur Abfrage der Zeit bzw. des Zählers kann der Wert der Zeit- bzw.

Zählstelle direkt oder BCD-codiert in den AKKU 1 geladen werden.

4-25

Teil 4 Programmbearbeitung

Weitere Beispiele zu Zeit- und

Zählwerten

Direktes Laden von Zeitwerten:

Handbuch VIPA CPU 928 - Band 1

"L T 10": den AKKU 1

Direktes Laden des dualen Zeitwertes der Zeit T 10 in

Das Zeitraster wird nicht mitgeladen.

Direktes Laden von Zählwerten:

"L Z 10": in den AKKU 1

Direktes Laden des dualen Zählwertes des Zählers Z 10

Codiertes Laden von Zeitwerten:

4-26

"LC T 10": Codiertes Laden des Zeitwertes und des Zeitrasters der

Zeit T 10 in den AKKU 1

Das Zeitraster wird mitgeladen.

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Codiertes Laden von Zählwerten:

Teil 4 Programmbearbeitung

"LC Z 10":

AKKU 1

Codiertes Laden des Zählwertes des Zählers Z 10 in den

Beim codierten Laden werden die Zustandsbits 14 und 15 der Zeitzellen bzw. 12 bis 15 der Zählzellen nicht geladen. An ihrer Stelle steht 0 in AKKU

1. Der nun im Akku stehende Wert kann weiterverarbeitet werden.

Rev. 00/27 4-27

Teil 4 Programmbearbeitung

Arithmetische

Operationen

Handbuch VIPA CPU 928 - Band 1

Die arithmetische Operationen verknüpfen den Inhalt von AKKU 1 und

AKKU 2 (z.B. "AKKU 2-AKKU 1"). Das Ergebnis steht anschließend im

AKKU 1.

Operation

+ F

- F x F

: F

+ G

- G x G

: G

Operand

-

Funktion

Addition zweier Festpunktzahlen (16 bit)

Subtraktion zweier Festpunktzahlen (16 bit)

Multiplikation zweier Festpunktzahlen (16 bit)

Division zweier Festpunktzahlen (16 bit)

Quotient in AKKU-1-L, Rest im AKKU-1-H

Addition zweier Gleitpunktzahlen (32 bit)

Subtraktion zweier Gleitpunktzahlen (32 bit)

Multiplikation zweier Gleitpunktzahlen (32 bit)

Division zweier Gleitpunktzahlen (32 bit)

Die Rechenregister werden durch eine arithmetische Operation wie folgt verändert (bei Festpunkt-Operationen nur das Low-Word): vorher: nachher:

AKKU 1

<AKKU 1>

<Ergebn.>

AKKU 2

<AKKU 2>

<AKKU 3>

AKKU 3

<AKKU 3>

<AKKU 4>

AKKU 4

<AKKU 4>

<AKKU 4>

Hinweis!

Innerhalb der Ergänzenden Operationen stehen Ihnen Operationen zur

Subtraktion und Addition von Doppelwort-Festpunktzahlen zur Verfügung.

Ferner können Sie von den Ergänzenden Operationen die Operation ENT für das Laden von AKKU 3 und AKKU 4 benutzen.

4-28 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

!=

><

>

>=

<

<=

Vergleichsoperationen

Operation

F

D

G

Operand

-

Teil 4 Programmbearbeitung

Funktion

Vergleich auf gleich

Vergleich auf ungleich

Vergleich auf größer

Vergleich auf größer/gleich

Vergleich auf kleiner

Vergleich auf kleiner/gleich

...F: Vergleich zweier Festpunktzahlen (16 bit)

...D: Vergleich zweier Festpunktzahlen (32 bit)

...G: Vergleich zweier Gleitpunktzahlen (32 bit)

Bausteinoperationen

Operation

SPA

SPB

BA

BAB

BE

BEB

BEA

A

AX

E

EX

1) nur für Testzwecke

OB 1

OB 110

PB 0

FB 0

SB 0

FX 0

DB 3

DX 3

DB 3

DX 3

Operand bis 39

1) bis 255 bis 255 bis 255 bis 255 bis 255

bis 255 bis 255 bis 255 bis 255

Funktion

Sprung unbedingt

Sprung bedingt (nur wenn VKE = 1) zu einem Organisationsbaustein zu einer Sonderfunktion zu einem Programmbaustein zu einem FB-Funktionsbaustein zu einem Schrittbaustein

Sprung unbedingt

Sprung bedingt (nur wenn VKE = 1) zu einem FX-Funktionsbaustein

Bausteinende

Bausteinende bedingt (nur wenn VKE = 1)

Bausteinende absolut

Aufschlagen eines DB-Datenbausteins

Aufschlagen eines DX-Datenbausteins

Datenbaustein DB erzeugen

Datenbaustein DX erzeugen

(AKKU 1 muss die Anzahl der Datenwörter maximal 4091- enthalten, die der neue Baustein haben soll.)

Rev. 00/27 4-29

Teil 4 Programmbearbeitung

E DB/EX DX

Handbuch VIPA CPU 928 - Band 1

Erzeuge Datenbaustein:

Die Operation E DB x erzeugt einen DB-Datenbaustein mit der Nummer x im Datenbaustein-RAM der CPU. Es gilt: (3

≤ x

255)

Der Inhalt des Datenbausteins wird dabei nicht mit Null besetzt, d.h. die

Datenwörter haben beliebige Inhalte.

Vor dem Programmieren der Anweisung müssen Sie die Anzahl der

Datenwörter, die der neue DB haben soll, im AKKU-1-L hinterlegen. Der dazugehörige Bausteinkopf wird von der Operation "E DB" bzw. "EX DX" erzeugt. Ein so erzeugter Datenbaustein darf ohne Bausteinkopf maximal

4091 Wörter lang sein.

Falls der entsprechende Datenbaustein schon existiert, die Länge des DB unzulässig ist oder der Platz im DB-RAM nicht ausreicht, ruft das

Systemprogramm den OB 31 auf. Wenn dieser nicht geladen ist, geht die

CPU aufgrund eines Laufzeitfehlers in den Stoppzustand.

Die Operation EX DX erzeugt im DB-RAM einen DX-Datenbaustein und arbeitet wie E DB.

Null-/Bildaufbau-

/Stopp-

Operationen

Operation

NOP0

NOP1

BLD

STP

Operand

-

0 bis 255

-

Funktion

Nulloperation

Nulloperation

Bildaufbau für das PG: wird von der CPU wie eine Nulloperation behandelt

CPU geht in den STOP

4-30 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Programmierbeispiele in

AWL, KOP und

FUP

Verknüpfungsoperationen

UND-Verknüpfung

Aufgabenstellung Darstellung

Anweisungsliste

U E 1.1

U E 1.3

U E 1.7

= A 3.5

Kontaktplan

Teil 4 Programmbearbeitung

Funktionsplan

ODER-Verknüpfung

Aufgabenstellung

Am Ausgang A 3.5 erscheint Signalzustand "1", wenn alle Eingänge gleichzeitig den Signalzustand "1" aufweisen.

Am Ausgang A 3.5 erscheint Signalzustand "0", wenn mindestens einer der

Eingänge den Signalzustand "1" aufweist.

Anzahl der Abfragen und die Reihenfolge der Programmierung ist beliebig.

Darstellung

Anweisungs

-liste

O E 1.2

O E 1.7

O E 1.5

= A 3.2

Kontaktplan Funktionsplan

Rev. 00/27

Am Ausgang A 3.2 erscheint Signalzustand "1", wenn mindestens einer der

Eingänge den Signalzustand "1" aufweist.

Am Ausgang A 3.2 erscheint Signalzustand "0", wenn alle Eingänge gleichzeitig den Signalzustand "0" aufweisen.

Anzahl der Abfragen und die Reihenfolge der Programmierung ist beliebig.

4-31

Teil 4 Programmbearbeitung

UND-vor-ODER-Verknüpfung

Aufgabenstellung Darstellung

Anweisungs

-liste

U E 1.5

U E 1.6

O

U E 1.4

U E 1.3

= A 3.1

Kontaktplan

Handbuch VIPA CPU 928 - Band 1

Funktionsplan

Am Ausgang A 3.1 erscheint Signalzustand "1", wenn mindestens eine

UND-Verknüpfung erfüllt ist.

Am Ausgang A 3.1 erscheint Signalzustand "0", wenn keine UND-

Verknüpfung erfüllt ist.

ODER-vor-UND-Verknüpfung

Aufgabenstellung

1. Beispiel

Darstellung

Anweisungs

-liste

U E 6.0

O

U E 6.1

U(

O E 6.2

O E 6.3

)

= A 2.1

Kontaktplan Funktionsplan

Am Ausgang A 2.1 erscheint Signalzustand "1", wenn Eingang E 6.0 oder

Eingang E 6.1 und einer der Eingänge E 6.2 bzw. E 6.3 Signal "1" führen.

Am Ausgang A 2.1 erscheint Signalzustand "0", wenn Eingang E 6.0 Signal

"0" führt und die UND-Verknüpfung nicht erfüllt ist.

4-32 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

ODER-vor-UND-Verknüpfung

Aufgabenstellung

2.Beispiel

Darstellung

Anweisungs

-liste

U(

O E 1.4

O E 1.5

)

U(

O E 2.0

O E 2.1

)

= A 3.0

Kontaktplan Funktionsplan

Am Ausgang A 3.0 erscheint Signalzustand "1", wenn beide ODER-

Verknüpfungen erfüllt sind.

Am Ausgang A 3.0 erscheint Signalzustand "0", wenn mindestens eine

ODER-Verknüpfung nicht erfüllt ist.

Abfrage auf Signalzustand "0"

Aufgabenstellung Darstellung

Anweisungs

-liste

U E 1.5

UN E 1.6

= A 3.0

Kontaktplan Funktionsplan

Am Ausgang A 3.0 erscheint Signalzustand "1" nur dann, wenn Eingang E

1.5 den Signalzustand "1" (Schließer betätigt) und der Eingang E 1.6 den

Signalzustand "0" (Öffner nicht betätigt) führt.

Rev. 00/27 4-33

Teil 4 Programmbearbeitung

Speicheroperationen

RS-Speicherglied für speichernde Signalausgabe

Aufgabenstellung Darstellung

Anweisungs

-liste

U E 2.7

S A 3.5

U E 1.4

R A 3.5

Kontaktplan

Handbuch VIPA CPU 928 - Band 1

Funktionsplan

Signalzustand "1" am Eingang E 2.7

bewirkt das Setzen des

Speichergliedes (Signalzustand "1" am Ausgang A 3.5).

Wechselt der Signalzustand am Eingang E 2.7 nach "0", so bleibt dieser

Zustand erhalten, d.h., das Signal wird gespeichert.

Signalzustand "1" am Eingang E 1.4 bewirkt das Rücksetzen des Speichergliedes (Signalzustand "0" am Ausgang A 3.5).

Wechselt der Signalzustand am Eingang E 1.4 nach "0", so bleibt dieser

Zustand erhalten.

Bei gleichzeitigem Anliegen des Setzsignals (Eingang E 2.7) und des

Rücksetzsignals (Eingang E 1.4) ist die zuletzt programmierte Abfrage

(hier U E 1.4) während der Bearbeitung des übrigen Programms wirksam.

Das Rücksetzen ist vorrangig.

4-34 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

RS-Speicherglied mit Merkern

Aufgabenstellung Darstellung

Anweisungs

-liste

U E 2.6

S M 1.7

U E 1.3

R M 1.7

Kontaktplan

Teil 4 Programmbearbeitung

Funktionsplan

Signalzustand "1" am Eingang E 2.6 bewirkt das Setzen des Speichergliedes.

Wechselt der Signalzustand am Eingang E 2.6 nach "0", so bleibt dieser

Zustand erhalten, d.h. das Signal wird gespeichert.

Signalzustand "1" am Eingang E 1.3 bewirkt das Rücksetzen des Speichergliedes.

Wechselt der Signalzustand am Eingang E 1.3 nach "0", so bleibt dieser

Zustand erhalten.

Bei gleichzeitigem Anliegen des Setzsignals (Eingang E 2.6) und des

Rücksetzsignals (Eingang E 1.3) ist die zuletzt programmierte Abfrage

(hier U E 1.3) während der Bearbeitung des übrigen Programms wirksam

Das Rücksetzen ist vorrangig.

Rev. 00/27 4-35

Teil 4 Programmbearbeitung

Nachbildung eines Wischrelais

Aufgabenstellung

Handbuch VIPA CPU 928 - Band 1

Darstellung

Anweisungs

-liste

Kontaktplan

U

UN

=

U

S

UN

R

E 1.7

M 4.0

M 2.0

M 2.0

M 4.0

E 1.7

M 4.0

Funktionsplan

Bei jeder ansteigenden Flanke des Eingangs E 1.7 ist die UND-

Verknüpfung (U E 1.7 und UN M 4.0) erfüllt und mit VKE = "1" werden die

Merker M 4.0 ("Flankenmerker") und M 2.0 ("Impulsmerker") gesetzt.

Beim nächsten Bearbeitungszyklus ist die UND-Verknüpfung U E 1.7 und

UN M 4.0 nicht erfüllt, da der Merker M 4.0 gesetzt worden ist.

Der Merker M 2.0 wird rückgesetzt.

Der Merker M 2.0 führt also während eines einzigen Programmdurchlaufs

Signalzustand "1".

4-36 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Binärumsetzer (T-Kippglied)

Aufgabenstellung Darstellung

Anweisungsliste

S

U

R

U

=

U

UN

UN

U

UN

=

U

S

UN

R

U

A 3.0

M 2.0

M 1.1

A 3.0

M 2.0

A 3.0

M 2.0

A 3.0

E 1.0

M 1.0

M 1.1

M 1.1

M 1.0

E 1.0

M 1.0

M 1.1

Kontaktplan

Teil 4 Programmbearbeitung

Funktionsplan

Der Binärumsetzer (Ausgang A 3.0) wechselt bei jedem Signalzustandswechsel von "0" nach "1" (ansteigende Flanke) des Eingangs

E 1.0 seinen Zustand. Am Ausgang des Speichergliedes erscheint deshalb die halbe Eingangsfrequenz.

Rev. 00/27 4-37

Teil 4 Programmbearbeitung

Zeitoperationen

Impuls

Aufgabenstellung

Handbuch VIPA CPU 928 - Band 1

Darstellung

Anweisungs

-liste

U

L

SI

UN

R

L

T

LC

T

U

=

E 3.0

KT 10.2

T 1

E 3.0

T 1

T 1

AW 0

T 1

AW 2

T 1

A 4.0

Kontaktplan Funktionsplan

Bei Signalzustandswechsel von "0" nach "1" am Eingang E 3.0 wird das

Zeitglied gestartet. Bei wiederholter Bearbeitung mit Verknüpfungsergebnis

"1" bleibt das Zeitglied unbeeinflusst.

Bei Signalzustand "0" am Eingang E 3.0 wird das Zeitglied auf Null gesetzt

(gelöscht).

Die Abfragen U T bzw. O T liefern Signalzustand "1", solange die Zeit läuft.

KT 10.2

Das Zeitglied wird mit dem angegebenen Wert (10) geladen.

Die Zahl rechts vom Punkt gibt das Zeitraster an:

0 = 001 s

1 = 0.1 s

2 = 1 s

3 = 10 s

DU und DE sind digitale Ausgänge der Zeitzelle. Am Ausgang DU steht der

Zeitwert dualcodiert, am Ausgang DE BCD-codiert mit Zeitraster an.

4-38 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Verlängerter Impuls

Aufgabenstellung Darstellung

Anweisungsliste

U

L

SV

U

=

E 3.1

EW 15

T 2

T 2

A 4.1

Kontaktplan

Teil 4 Programmbearbeitung

Funktionsplan

Bei Verknüpfungsergebnis "1" und erstmaliger Bearbeitung wird das

Zeitglied gestartet.

Bei Verknüpfungsergebnis "0" bleibt das Zeitglied unbeeinflusst.

Die Abfragen U T bzw. O T liefern Signalzustand "1", solange die Zeit läuft.

EW 15:

Setzen des Zeitwerts mit dem im BCD-Code vorliegenden Wert der

Operanden E, A, M oder D (im Beispiel Eingangswort 15).

Rev. 00/27 4-39

Teil 4 Programmbearbeitung

Einschaltverzögerung

Aufgabenstellung Darstellung

Anweisungs

-liste

U

L

SE

UN

R

U

=

E 3.5

KT 9.2

T 3

E 3.5

T 3

T 3

A 4.2

Kontaktplan

Handbuch VIPA CPU 928 - Band 1

Funktionsplan

Bei Verknüpfungsergebnis "1" und erstmaliger Bearbeitung wird das Zeitglied gestartet. Bei wiederholter Bearbeitung mit Verknüpfungsergebnis "1" bleibt das Zeitglied unbeeinflusst.

Bei Signalzustand "0" am Eingang E 3.5 wird das Zeitglied auf Null gesetzt

(gelöscht).

Die Abfragen U T bzw. O T liefern Signalzustand "1", wenn die Zeit abgelaufen ist und der Signalzustand "1" am Eingang E 3.5 noch ansteht.

KT 9.2 :

Das Zeitglied wird mit dem angegeben Wert (9) geladen.

Die Zahl rechts vom Punkt gibt das Zeitraster an.

0 = 0.01 s

1 = 0.1 s

2 = 1 s

3 = 10 s

4-40 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Speichernde Einschaltverzögerung

Aufgabenstellung Darstellung

Anweisungs

-liste

U

R

U

=

U

L

SS

E 3.3

KT20.2

T 4

E 3.2

T 4

T 4

A 4.3

Kontaktplan

Teil 4 Programmbearbeitung

Funktionsplan

Bei Verknüpfungsergebnis "1" und erstmaliger Bearbeitung wird das

Zeitglied bearbeitet.

Bei Verknüpfungsergebnis "0" bleibt das Zeitglied unbeeinflusst.

Die Abfragen U T bzw. O T liefern Signalzustand "1", wenn die Zeit abgelaufen ist.

Der Signalzustand wird erst dann "0", wenn das Zeitglied mit der Funktion

RT zurückgesetzt worden ist.

Rev. 00/27 4-41

Teil 4 Programmbearbeitung

Ausschaltverzögerung

Aufgabenstellung

Handbuch VIPA CPU 928 - Band 1

Darstellung

Anweisungs

-liste

U

L

SA

U

=

E 3.4

KT 10.1

T 5

T 5

A 4.4

Kontaktplan Funktionsplan

Wenn das Verknüpfungsergebnis am Starteingang von "1" nach "0" wechselt, wird die Zeit gestartet. Sie läuft mit der programmierten Zeitdauer ab.

Bei Verknüpfungsergebnis "1" wird das Zeitglied auf Null gesetzt

(gelöscht).

Die Abfragen U T bzw. O T liefern Signalzustand "1", wenn die Zeit läuft oder das Verknüpfungsergebnis am Eingang "1" ist.

4-42 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Zähloperationen

Zähler setzen

Aufgabenstellung Darstellung

Anweisungsliste

L

S

U

ZV

U

E 4.0

Z 1

E 4.1

KZ 150

Z 1

Kontaktplan

Teil 4 Programmbearbeitung

Funktionsplan

Zähler rücksetzen

Aufgabenstellung

Wenn das Verknüpfungsergebnis am Starteingang (E 4.1) von "0" nach "1" wechselt, wird der Zähler mit dem angegebenen Wert (150) geladen.

Der für die Flankenauswertung des Setzeingangs erforderliche Merker ist im Zählwort mitgeführt.

DU und DE sind digitale Ausgänge der Zählerzelle. Am Ausgang DU steht der Zählwert dualcodiert, am Ausgang DE BCD-codiert an.

Darstellung

Anweisungs

-liste

R

U

=

U

ZR

U

E 4.0

Z 2

E 4.2

Z 2

Z 2

A 2.4

Kontaktplan Funktionsplan

Bei Verknüpfungsergebnis "1" (E 4.2) wird der Zähler auf Null gesetzt

(rückgesetzt).

Bei Verknüpfungsergebnis "0" bleibt der Zähler unbeeinflusst.

Rev. 00/27 4-43

Teil 4 Programmbearbeitung

Vorwärts zählen

Aufgabenstellung

Handbuch VIPA CPU 928 - Band 1

Darstellung

Anweisungs

-liste

U

ZV

E 4.1

Z 1

Kontaktplan Funktionsplan

Rückwärts zählen

Aufgabenstellung

Der Wert des adressierten Zählers wird um 1 erhöht, maximal bis zum

Zählwert 999. Die Funktion ZV wird nur bei einer positiven Flanke (von "0" nach "1") der vor ZV programmierten Verknüpfung ausgeführt. Die für die

Flankenauswertung der Zähleingänge erforderlichen Merker sind im

Zählwort mitgeführt.

Durch die zwei getrennten Flankenmerker für ZV und ZR kann ein Zähler mit zwei verschiedenen Eingängen als Vorwärts-/Rückwärtszähler verwendet werden.

Darstellung

Anweisungs

-liste

U

ZR

E 4.0

Z 1

Kontaktplan Funktionsplan

4-44

Der Wert des adressierten Zählers wird um 1 erniedrigt, minimal bis zum

Zählwert 0. Die Funktion wird nur bei einer positiven Flanke (von "0" nach

"1") der vor ZR programmierten Verknüpfung ausgeführt. Die für die

Flankenauswertung der Zähleingänge erforderlichen Merker sind im

Zählwort mitgeführt.

Durch die zwei getrennten Flankenmerker für ZV und ZR kann ein Zähler mit zwei verschiedenen Eingängen als Vorwärts-/Rückwärtszähler verwendet werden.

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Vergleichsoperationen

Vergleich auf gleich

Aufgabenstellung Darstellung

!

=

L

L

Anweisungsliste

EB 19

EB 20

= F

A 3.0

Kontaktplan

Teil 4 Programmbearbeitung

Funktionsplan

Der zuerst angegebene Operand wird mit dem nachfolgenden Operanden entsprechend der Vergleichsfunktion verglichen.

Der Vergleich ergibt ein binäres Verknüpfungsergebnis.

VKE = "1": Vergleich ist erfüllt, wenn AKKU-1-L gleich AKKU-2-L

VKE = "0": Vergleich ist nicht erfüllt, wenn AKKU-1-L ungleich AKKU-2-L

Die Anzeigen ANZ 1 und ANZ 0 werden, wie in der Operationsliste beschrieben, gesetzt.

AKKU-2-H und AKKU-1-H bleiben beim 16-bit-Festpunktvergleich an der

Operation unbeteiligt.

Beim 32-bit-Festpunktvergleich (!=D) und Gleitpunktvergleich (!=G) werden die gesamten Inhalte von AKKU 1 und AKKU 2 (32 bit) miteinander verglichen.

Beim Vergleich wird die Zahlendarstellung der Operanden berücksichtigt, d.h., der Inhalt von AKKU-1-L und AKKU-2-L wird hier als Festpunktzahl interpretiert.

Rev. 00/27 4-45

Teil 4 Programmbearbeitung

Vergleich auf ungleich

Aufgabenstellung Darstellung

Anweisungs

-liste

L

L

> <

=

EB 21

DW 3

F

A 3.1

Kontaktplan

Handbuch VIPA CPU 928 - Band 1

Funktionsplan

Der zuerst angegebene Operand wird mit dem nachfolgenden Operanden entsprechend der Vergleichsfunktion verglichen.

Der Vergleich ergibt ein binäres Verknüpfungsergebnis.

VKE = "1": Vergleich ist erfüllt, wenn AKKU-1-L ungleich AKKU-2-L

VKE = "0": Vergleich ist nicht erfüllt, wenn AKKU-1-L gleich AKKU-2-L

Die Anzeigen ANZ 1 und ANZ 0 werden, wie in der Operationsliste beschrieben, gesetzt.

AKKU-2-H und AKKU-1-H bleiben beim 16-bit-Festpunktvergleich an der

Operation unbeteiligt.

Beim 32-bit-Festpunktvergleich und Gleitpunktvergleich sind auch AKKU-2-

H und AKKU-1-H beim Vergleich beteiligt. Entsprechendes gilt für die

Vergleiche auf größer, größer gleich und kleiner gleich.

Beim Vergleich wird die Zahlendarstellung der Operanden berücksichtigt, d.h., der Inhalt von AKKU-1-L und AKKU-2-L wird hier als Festpunktzahl interpretiert.

4-46 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Ergänzende

Operationen

Teil 4 Programmbearbeitung

Den ergänzenden Operationsvorrat können Sie nur für Funktionsbausteine

(FB und FX) verwenden. Der Gesamtoperationsvorrat für Funktionsbausteine besteht aus den Grundoperationen und den ergänzenden

Operationen.

Zu den ergänzenden Funktionen gehören auch Systemoperationen: Mit den Systemoperationen können Sie z.B. den Speicher an beliebiger Stelle

überschreiben oder den Inhalt der Arbeitsregister der CPU verändern.

Beachten Sie zum Thema "Systemoperationen" das Kapitel "Speicherzugriffe über absolute Adressen".

Hinweis!

Systemoperationen sollten nur von erfahrenen Programmierern und

Systemkennern und nur mit Vorsicht angewendet werden

Bei den Funktionsbausteinen werden die Operationen nur in AWL dargestellt. Die Programme der Funktionsbausteine können also nicht in grafischer Form (KOP oder FUP) programmiert werden.

Im folgenden werden die ergänzenden Operationen beschrieben.

Zusätzlich sind die Kombinationsmöglichkeiten der Substitutionsbefehle mit den Aktualoperanden angegeben.

Binäre

Verknüpfungen

Operation

U =

Operand

UN

O

ON

=

=

=

Funktion

UND-Funktion, Abfrage eines Formaloperanden auf

Signalzustand '1'

UND-Funktion, Abfrage eines Formaloperanden auf

Signalzustand '0'

ODER-Funktion, Abfrage eines Formaloperanden auf

Signalzustand '1'

ODER-Funktion, Abfrage eines Formaloperanden auf

Signalzustand '0'

Formaloperand einsetzen

Als Aktualoperanden sind binär adressierte Eingänge, Daten und

Merker (Parameterart: E, A; Parametertyp: BI) sowie Zeiten und

Zähler (Parametertyp: T, Z) zugelassen.

Rev. 00/27 4-47

Teil 4 Programmbearbeitung

Digitalverknüpfungen

Operation

UW

OW

XOW

Operand

Handbuch VIPA CPU 928 - Band 1

Funktion

UND-Verknüpfung von AKKU-1-L und AKKU-2-L

ODER-Verknüpfung von AKKU-1-L und AKKU-2-L

Exklusiv-Oder-Verknüpfung von AKKU-1-L und AKKU-2-L

Die AKKUs 2,3 und 4 werden nicht beeinflusst, jedoch die Anzeigen ANZ 1 und ANZ 0.

Speicheroperationen

Operation

S =

RB

RD

=

=

= =

Operand Funktion

Setzen (binär) eines Formaloperanden

Rücksetzen (binär) eines Formaloperanden

Rücksetzen (digital) eines Formaloperanden für Zeiten und

Zähler

Zuweisen des Verknüpfungsergebnisses an einen Formaloperanden

Formaloperand einsetzen

Als Aktualoperanden sind binär adressierte Eingänge,

Ausgänge und M-Merker zugelassen (Parameterart: E, A;

Parametertyp: BI):

4-48 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Zeit- und

Zähloperationen

Operation

SI

SE

SVZ

SSV

=

=

=

=

Operand Funktion

Eine Zeit (Formaloperand) als Impuls starten. Der Zeitwert muss in

AKKU-1-L hinterlegt sein (Parameterart T).

Eine Zeit (Formaloperand) einschaltverzögernd starten. Der

Zeitwert muss in AKKU-1-L hinterlegt sein (Parameterart T).

Eine Zeit (Formaloperand) als verlängerten Impuls starten mit dem im AKKU-1-L hinterlegten Zeitwert/einen Zähler (Formaloperand) setzen mit dem im AKKU-1-L hinterlegten Zählwert (Parameterart:

T, Z).

Eine Zeit (Formaloperand) als speichernde Einschaltverzögerung starten mit dem im AKKU-1-L hinterlegten Wert bzw.

Vorwärtszählen eines Zählers (Formaloperand); (Parameterart: T,

Z)

SAR =

FR

FR

=

T

Z

Eine Zeit (Formaloperand) als Ausschaltverzögerung starten mit dem im AKKU-1-L hinterlegten Wert bzw. Rückwärtszählen eines

Zählers (Formaloperand); (Parameterart: T, Z).

0 bis 255

0 bis 255

Formaloperanden (Zeit/Zähler) für den Neustart freigeben (siehe

"FR T, "FR Z"); (Parameterart: T, Z).

Formaloperand einsetzen

Eine Zeit für den Neustart freigeben:

Die Operation wird nur bei steigender Flanke des VKE ausgeführt

(Wechsel von '0' auf '1'). Die Zeit wird neu gestartet, wenn bei der

Startoperation das VKE = '1' ist (siehe Skizze mit Zeitdiagramm unter der Tabelle).

Einen Zähler für das Setzen bzw. Zählen freigeben:

Die Operation wird nur bei steigender Flanke des VKE ausgeführt

(Wechsel von '0' auf '1'). Der Zähler wird neu bearbeitet, wenn bei der Zähloperation das VKE = '1' ist.

Rev. 00/27 4-49

Teil 4 Programmbearbeitung

Beispiele

Handbuch VIPA CPU 928 - Band 1

Funktionsaufruf a)

NAME

ANNA

BERT

HANS b)

NAME

MAXI

IRMA

EVA

DORA

EMMA c)

NAME

KURT

KARL

EGON

MAUS

:

:

:

:SPA FB 203

:BEISP1

E 10.3

T 17

A 18.4

:U

:L

:SSV

:U

:=

:

:

:

:

:

:SPA FB 204

:BEISP2

E 10.5

E 10.6

E 10.7

Z 15

M 58.3

:

:

:

:

:SPA FB 205

:BEISP3

E 10.4

T 18

:U

:L

EW 20 :SVZ

M 100.7

:U

:=

:U

:SSV

:U

:SAR

:U

:L

:SVZ

:UN

:=

Programm im

Funktionsbaustein

=ANNA

KT 010.2

=BERT

=BERT

=HANS

=MAXI

=DORA

=IRMA

=DORA

=EVA

KZ 100

=DORA

=DORA

=EMMA

=KURT

=EGON

=KARL

=KARL

=MAUS

:U

:L

:SS

:U

:=

:U

:L

:SV

:U

:=

:U

:ZV

:U

:ZR

:U

:L

:S

:UN

:= ausgeführtes Programm

E 10.3

KT 010.2

T 17

T 17

A 18.4

E 10.5

Z 15

E 10.6

Z 15

E 10.7

KZ 100

Z 15

Z 15

M 58.3

E 10.4

EW 20

T 18

T 18

M 100.7

4-50 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Lade- und

Transferoperationen

Als Aktualoperanden sind die den Grundoperationen entsprechenden

Operanden mit Ausnahme der S-Merker zugelassen.

Mit Formaloperanden

Operation

L =

Operand

LC

LW

LD

T

=

=

=

=

Funktion

Laden eines Formaloperanden:

Der Wert des als Formaloperand vorgegebenen Operanden wird in den AKKU geladen (Parameterart: E, T, Z, A;

Parametertyp: BY, W, D).

Codiertes Laden eines Formaloperanden:

Der Wert der als Formaloperand vorgegebenen Zeit- oder

Zählzelle wird BCD-codiert in den AKKU geladen

(Parametertyp: T, Z).

Laden des Bitmusters eines Formaloperanden:

Das Bitmuster des Formaloperanden wird in den AKKU geladen (Parameterart: D; Parametertyp: KF, KH, KM, KY, KC,

KT, KZ).

Laden des Bitmusters eines Formaloperanden:

Das Bitmuster des Formaloperanden wird in den AKKU geladen (Parameterart: D; Parametertyp: KG).

Transferieren zu einem Formaloperanden:

Der Akkumulatorinhalt wird zu dem als Formaloperand vorgegebenen Operanden transferiert (Parameterart: E,A;

Parametertyp: BY, W, D).

Formaloperand einsetzen

Bei 'LW=' sind ein Datum in Form eines Binär- (KM) oder eines

Hexadezimalmusters (KH), 2 byteweise Betragszahlen (KY), Zeichen (KC),

Festpunktzahl (KF), Zeitwert (KT) und Zählwert (KZ) zugelassen.

Bei 'LD=' ist eine Gleitpunktzahl als Datum zugelassen.

Rev. 00/27 4-51

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1 mit speziellen Operanden

Operation

L BA

Operand

0 bis 255

L

T

T

BB

BS

BT

BA

BB

BS

0 bis 255

0 bis 255

0 bis 255

0 bis 255

0 bis 255

60 bis 63

BT 0 bis 255

Funktion

Laden eines Wortes in den AKKU 1 aus dem Bereich

"Anschaltung" (BA-Bereich)

Laden eines Wortes in den AKKU 1 aus dem erweiterten

Bereich "Anschaltung" (BB-Bereich)

Laden eines Wortes in den AKKU 1 aus dem Bereich

"Systemdaten" (BS-Bereich)

Laden eines Wortes in den AKKU 1 aus dem erweiterten

Bereich "Systemdaten" (BT-Bereich)

Transferieren des Inhalts von AKKU 1 zu einem Wort des

Bereichs "Anschaltung" (BA-Bereich)

Transferieren des Inhalts von AKKU 1 zu einem Wort des erweiterten Bereichs "Anschaltung" (BB-Bereich)

Transferieren des Inhalts von AKKU 1 zu einem Wort des

Bereichs "Systemdaten" (BS-Bereich)

Transferieren des Inhalts von AKKU 1 zu einem Wort des erweiterten Bereichs "Systemdaten" (BT-Bereich)

Im Gegensatz zu den Bereichen BA, BB und BT dürfen vom BS-Bereich nur die Wörter BS 60 bis BS 63 für Anwenderzwecke frei genutzt werden.

Siehe auch das Kapitel "Speicherbelegung und Speicherorgnisation"

Den BT-Bereich können Sie in seiner gesamten Länge (BT 0 bis BT 255) benutzen, vorausgesetzt, Sie verwenden keine Standard-Funktionsbausteine.

Rechenoperationen

Operation

ENT -

Operand Funktion

Es findet ein Stack-Lift in die AKKUs 3 und 4 statt:

<AKKU 4> := <AKKU 3>

<AKKU 3> := <AKKU 2>

<AKKU 2> := <AKKU 2>

<AKKU 1> := <AKKU 1>

Die AKKUs 1 und 2 werden nicht verändert. Der alte Inhalt des AKKUs 4 geht verloren.

4-52 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Beispiel Folgender Bruch soll ausgerechnet werden: (30 + 3 * 4) / 6 = 7

AKKU 1 a

AKKU 2 b

AKKU 3 c

AKKU 4 d Vorbelegung der Akkus vor der arithmetischen

Operationskette

L KF +30

L KF +3

ENT

L KF +4 x F

+ F

L KF +6

:F

30

3

3

4

12

42

6

7 a

30

30

3

30 c

42 c c c

30

30 c c c c d d c c c c c c

Systemoperationen

Systemoperationen sind in der ersten Spalte der Tabellen mit gekennzeichnet.

S ergänzende arithmetische Operationen

S

Operation

ADD

Operand

BF -128 bis

+128

Funktion

Addieren einer Byte-Konstanten (Festpunkt) zum AKKU-1-

L (vorzeichenexpandiert); die Anzeigen in ANZ 0, ANZ 1,

S ADD KF -32 768 bis

+32 767

OV und OS werden nicht beeinflusst. - AKKU-1-H sowie die AKKUs 2 bis 4 bleiben unverändert.

Addieren einer Festpunktkonstanten (Wort) zum AKKU-1-

L; die Anzeigen in ANZ 0, ANZ 1, OV und OS werden nicht beeinflusst. - AKKU-1-H sowie die AKKUs 2 bis 4 bleiben unverändert.

S ADD

1)

DH 0000 0000 bis

FFFF FFFF

Addieren einer Doppelwort-Hexkonstanten zum AKKU 1; die Anzeigen in ANZ 0, ANZ 1, OV und OS werden nicht beeinflusst. - Die AKKUs 2 bis 4 bleiben unverändert.

S

S

+ D

- D

1)

1)

Addieren zweier Doppelwort-Festpunktzahlen (AKKU 2 +

AKKU 1); das Ergebnis ist über ANZ 0/ANZ 1 auswertbar.

Subtrahieren zweier Doppelwort-Festpunktzahlen (AKKU 2

- AKKU 1); das Ergebnis ist über ANZ 0/ANZ 1 auswertbar.

1)

S TAK Tauschen der Inhalte von AKKU 1 und AKKU 2

Die Programmierung ist abhängig vom PG-Typ und vom Ausgabestand der PG-Systemsoftware.

Rev. 00/27 4-53

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Organisatorische

Operationen

Zu den organisatorischen Operationen gehören auch Systemoperationen.

Hinweis!

Systemoperationen sollten nur von erfahrenen Programmierern und

Systemkennern und nur mit Vorsicht angewendet werden.

Systemoperationen sind in der ersten Spalte der Tabellen mit gekennzeichnet.

S

Sprungoperationen

Das Sprungziel für unbedingte und bedingte Sprünge wird symbolisch angegeben (maximal 4 Zeichen, beginnend mit einem Buchstaben). Dabei ist der Symbolparameter des Sprungbefehls identisch mit der Symboladresse der anzuspringenden Anweisung.

Bei der Programmierung muss berücksichtigt werden, dass die absolute

Sprungdistanz nicht mehr als 127 Wörter umfasst und eine Anweisung aus mehr als einem Wort bestehen kann.

Sprünge dürfen nur innerhalb eines Bausteins durchgeführt werden;

Sprünge über "Netzwerke" hinweg sind unzulässig.

Hinweis!

Sprunganweisung und Sprungziel (Symboladresse) müssen im gleichen

Netzwerk liegen. Pro Netzwerk darf der Name einer Symboladresse nur einmal vergeben werden.

Ausnahme: Dies gilt nicht für den Sprung SPR, bei dem als Parameter eine absolute Sprungdistanz angegeben wird.

4-54 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Sprungoperationen

Operation

S

SPA =

SPB =

SPZ = adr

Operand

(adr =

Symboladresse mit maximal

4 Zeichen)

SPN = adr

SPP =

SPM =

(adr =

Symboladresse mit maximal

4 Zeichen)

SPO =

SPS =

SPR -32768 bis

+32767

Funktion

Sprung unbedingt:

Der unbedingte Sprung wird unabhängig von Bedingungen ausgeführt.

Sprung bedingt:

Der bedingte Sprung wird ausgeführt, wenn VKE = 1. Bei VKE = 0 wird die Anweisung nicht ausgeführt und das Verknüpfungsergebnis auf VKE = 1 gesetzt.

Sprung bei Ergebnis '0':

Der Sprung wird nur dann ausgeführt, wenn ANZ 1 = 0 und ANZ 0 =

0 ist. Das Verknüpfungsergebnis wird nicht verändert.

Sprung bei Ergebnis

'0':

Der Sprung wird nur dann ausgeführt, wenn ANZ 1

0 oder ANZ 0

0 ist. Das Verknüpfungsergebnis wird nicht verändert.

Sprung bei Ergebnis > '0':

Der Sprung wird nur dann ausgeführt, wenn ANZ 1 = 1 und ANZ 0 =

0 ist. Das Verknüpfungsergebnis wird nicht verändert.

Sprung bei Ergebnis < '0':

Der Sprung wird nur dann ausgeführt, wenn ANZ 1 = 0 und ANZ 0 =

1 ist. Das Verknüpfungsergebnis wird nicht verändert.

Sprung bei Überlauf (Overflow):

Der Sprung wird ausgeführt, wenn die Anzeige OV = 1 ist.

Wenn kein Überlauf vorliegt (OV = 0), wird der Sprung nicht ausgeführt. Das Verknüpfungsergebnis wird nicht verändert. Ein Überlauf entsteht, wenn bei gegebener Zahlendarstellung der zulässige

Bereich durch eine arithmetische Operation überschritten wird.

Sprung, wenn die Anzeige OS (Overflow speichernd) gesetzt ist:

Der Sprung wird ausgeführt, wenn die Anzeige OS = 1 ist.

Wenn kein Überlauf vorliegt (OS = 0), wird der Sprung nicht ausgeführt. Das Verknüpfungsergebnis wird nicht verändert.

Ein Überlauf entsteht, wenn bei gegebener Zahlendarstellung der zulässige Bereich im Verlauf mehrerer arithmetischer Operationen

überschritten wird.

Beliebiger relativer Sprung innerhalb des Anwenderspeichers bzw.

innerhalb eines Funktionsbausteins (z.B. um in ein anderes Netzwerk zu gelangen). Die Operation wird immer ausgeführt, unabhängig von

Bedingungen. Als Operand muss die Adressen-Differenz "Sprungziel

- aktuelle Operation" (Anzahl Wörter) angegeben werden. Dabei wird der Sprung zu einer höheren (positiver Operand) oder einer niedrigeren (negativer Operand) Adresse als die der aktuellen

Operation ausgeführt.

Hinweis!

Bei unsachgemäßer Anwendung der Operation SPR können undefinierte

Zustände der Anlage auftreten! Sie sollte daher nur von sehr erfahrenen

Programmierern und Systemkennern benutzt werden.

Rev. 00/27 4-55

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Schiebeoperationen

Operation

SLW

SRW

SLD

SVW

SVD

RLD

RRD

Bei den Schiebeoperationen ist nur der AKKU 1 an der Ausführung beteiligt.

Der Parameterteil dieser Operation gibt an, um wieviele Stellen der AKKU-

Inhalt geschoben bzw. rotiert wird.

Operand

0 bis 15

0 bis 15

0 bis 31

0 bis 15

0 bis 31

Funktion

Schieben nach links (von rechts werden Nullen nachgezogen)

Schieben nach rechts (von links werden Nullen nachgezogen)

Schieben eines Doppelwortes nach links (von rechts werden

Nullen nachgezogen)

Schieben mit Vorzeichen nach rechts (von links wird Bit 15 nachgezogen)

Schieben eines Doppelwortes mit Vorzeichen nach rechts (von links wird Bit 31 nachgezogen)

Rotieren nach links

Rotieren nach rechts

0 bis 31

0 bis 31

Bei SLW, SRW und SVW ist nur das niederwertige Wort an den Schiebeoperationen beteiligt, bei SLD, SVD, RLD und RRD der gesamte Inhalt des

AKKU 1 (32 bit).

Die Schiebeoperationen werden unabhängig von Bedingungen ausgeführt.

Der Wert des zuletzt hinausgeschobenen Bits kann über ANZ 1/Anz 0 mit

Sprungoperationen abgefragt werden:

Schieben: letztes geschobenes Bit

0

1

ANZ 1

0

1

ANZ 0

0

0

Sprungoperation

SPZ=

SPN=

SPP=

4-56 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Beispiele

Teil 4 Programmbearbeitung

1. Der Inhalt des Datenwortes DW 52 soll gelesen, um 4 Bitstellen nach links verschoben und dann im Datenwort DW 53 abgelegt werden.

Programm:

:L

:SLW

:T

DW 52

4

DW 53

:L

:SLW

:SRW

:SLD

:SVW

:SVD

:RLD

:RRD

ED 0

4

4

4

4

4

4

4

Inhalt der Datenwörter:

KH = 14AF

KH = 4AF0

2. Das Eingangs-Doppelwort ED 0 soll gelesen und der Inhalt von AKKU 1 so verschoben werden, dass die fettgedruckten Bitstellen des Eingangs-

Doppelwortes (z.T. verschoben) erhalten bleiben und die übrigen

Bitstellen mit definierten Werten (0 h bzw. 0F h) besetzt werden.

Programm: Inhalt von AKKU 1 (hexadezimal):

AKKU-1-H: AKKU-1-L:

2348

2348

ABCD

BCD0

2348

3480

3480

0348

3480

0348

0BCD

BCD0

FBCD

0FBC

FBC0

0FBC

3. Multiplikation mit 2er-Potenz, z.B. neuer Wert = alter Wert x 8

:L

:SLW

:T

MW 10

3

MW 10 Achtung: Positive Bereichsgrenze nicht überschreiten!

4. Division durch 2er-Potenz, z.B. neuer Wert = alter Wert : 4

:A

:L

:SRW

:T

DB 5

DW 0

2

DW 0

Rev. 00/27 4-57

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Umwandlungsoperationen

Operation

KEW

KZW

KZD

DEF

DUF

DED

DUD

FDG

GFD

Funktion

Bildung des 1er-Komplements von AKKU-1-L (16 bit)

Bildung des 2er-Komplements von AKKU-1-L (16 bit)

Bildung des 2er-Komplements von AKKU 1 (32 bit)

Festpunktwandlung (16 bit) von BCD in dual

Festpunktwandlung (16 bit) von dual in BCD

Doppelwortwandlung (32 bit) von BCD in dual

Doppelwortwandlung (32 bit) von dual in BCD

Wandlung einer Festpunktzahl (32 bit) in eine Gleitpunktzahl (32 bit); siehe OB 220: Vorzeichenerweiterung

Wandlung einer Gleitpunktzahl in eine Festpunktzahl (32 bit)

15 14

V 2

14

....

15

VVVV

DEF

Der im AKKU-1-L (Bit 0 bis Bit 15) stehende Wert wird als BCD-Zahl

(Binär-codierte-Dezimalzahl) interpretiert. Nach der Umwandlung steht im

AKKU-1-L eine 16-bit-Festpunktzahl.

DUF

Der im AKKU-1-L (Bit 0 bis Bit 15) stehende Wert wird als 16-bit-Festpunktzahl interpretiert. Nach der Umwandlung steht im AKKU-1-L eine

BCD-Zahl.

0

....2

0

10²

DUF

V (Vorzeichen)

DEF

10

1

0 = positiv

1 = negativ

0

10

0

Hinweis!

Bitte beachten Sie, dass Ihr Wert in AKKU-1-L vor der Ausführung zwischen -999 und +999 liegt. Ansonsten arbeitet die DUF-Operation fehlerhaft!

4-58 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

31 30

V 2

30

....

15

VVVV 10

6

DED

Der im AKKU 1 (Bit 0 bis Bit 31) stehende Wert wird als BCD-Zahl interpretiert. Nach der Umwandlung steht im AKKU 1 eine 32-bit-

Festpunktzahl.

DUD

Der im AKKU 1 (Bit 0 bis Bit 31) stehende Wert wird als 32-bit-

Festpunktzahl interpretiert. Nach der Umwandlung steht im AKKU 1 eine

BCD-Zahl.

0

....2

0

DUD

10

5

V (Vorzeichen)

10

4

DED

10

3

0 = positiv

1 = negativ

10²

0

10

1

10

0

Hinweis!

Bitte beachten Sie, dass Ihr Wert in AKKU-1 vor der Ausführung zwischen

-9999999 und +9999999 liegt, ansonsten arbeitet die DUD-Operation fehlerhaft!

FDG

Der im AKKU 1 (Bit 0 bis Bit 31) stehende Wert wird als 32-bit-

Festpunktzahl interpretiert. Nach der Umwandlung steht im AKKU 1 eine

Gleitpunktzahl (Exponent und Mantisse).

Rev. 00/27 4-59

Teil 4 Programmbearbeitung

31

V

31

V

30

2

30

....

30...

2

6

....

Handbuch VIPA CPU 928 - Band 1

GFD

Der im AKKU 1 (Bit 0 bis Bit 31) stehende Wert wird als Gleitpunktzahl interpretiert. Nach der Umwandlung steht im AKKU 1 eine 32- bit-

Festpunktzahl.

0

....2

0

FDG

...24

23 0

....2

0

V 2

-1

....

Exponent

GFD

...2

-23

Mantisse

Die Umwandlung geschieht durch Multiplikation der (dualen) Mantisse mit dem Wert des (dualen) Exponenten, indem der Mantissenwert über einen gedachten Dezimalpunkt um den Wert des Exponenten (zur Basis '2') zu höherwertigen Bitstellen verschoben wird. Nach der Multiplikation bleiben

Reste der ursprünglichen Mantisse rechts vom gedachten Dezimalpunkt

übrig. Diese Bitstellen werden vom ganzzahligen Ergebnis abgeschnitten.

Durch diesen Umwandlungsalgorithmus ergeben sich folgende

Ergebnisklassen:

Gleitpunktzahlen

0 oder

-1 ergeben die nächst kleinere ganze Zahl.

Gleitpunktzahlen < 0 und > -1 ergeben den Wert '0'.

Umwandlungsbeispiele

Gleitpunktzahl

+5,7

-2,3

-0,6

+0,9

GFD

32-bit-Festpunktzahl

5

-3

0

0

4-60 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Beispiele zu

KEW, KZW

Teil 4 Programmbearbeitung

1. Der Inhalt des Datenwortes 64 soll Bit für Bit invertiert ("umgekehrt") und in Datenwort 78 abgelegt werden.

Programm:

:L DW 16

Inhalt der Datenwörter:

KM = 0011111001011011

:KEW

:T DW 78 KM = 1100000110100100

2. Der Inhalt des Datenwortes 207 ist als Festpunktzahl zu interpretieren und mit umgekehrten Vorzeichen im Datenwort 51 abzulegen.

Programm: Inhalt der Datenwörter:

DW 207 KF = +51 :L

:KZW

:T DW 51 KF = -51

Dekrementieren/-

Inkrementieren

Operation

D

Operand

0 bis 255

Funktion

Dekrementieren des Low-Bytes (Bits 0 bis 7) von AKKU-1-

L um den Operandenwert

1)

I 0 bis 255 Inkrementieren des Low-Bytes (Bits 0 bis 7) von AKKU-1-L um den Operandenwert

1)

1)

Der Inhalt des Low-Bytes von AKKU-1-L wird um die als Operand angegebene Zahl ohne Übertrag dekrementiert

(erniedrigt) bzw. inkrementiert (erhöht). Die Operationsausführung ist unabhängig von Bedingungen.

Beispiel Programm:

:L

:I

:T

:D

:T

DW 7

16

DW 8

33

DW 9

Inhalt der Datenwörter:

KH = 1010

KH = 1020

KH = 10FF

Rev. 00/27 4-61

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Bearbeitungsoperationen

Operation Operand

B DW 0 bis 255

Funktion

Bearbeite Datenwort:

Die nachfolgend angegebene Operation wird mit dem im adressierten Datenwort angegebenen Parameter kombiniert und ausgeführt.

MW 0 bis 254 Bearbeite Merkerwort:

Die nachfolgend angegebene Operation wird mit dem im adressierten M-Merker angegebenen Parameter kombiniert und ausgeführt.

B= Bearbeite Formaloperanden (Parameterart: B):

Nur A DB, SPA PB, SPA OB, SPA FB, SPA SB können substituiert werden.

S BI

1)

Formaloperand einsetzen

Indirekte Bearbeitung eines Formaloperanden:

Eine Operation ausführen, deren Operationscode in einem

Formaloperanden abgelegt ist. Die Nummer des auszuführenden

Formaloperanden steht in AKKU 1.

1)

S B BS 60 bis 63

1)

Eine Operation, die im Bereich Systemdaten (BS) steht, soll ausgeführt werden (freie Systemdaten: BS 60 bis 63). Bei 2-Wort-

Operationen muss das 2. Wort nach BS n+1 geladen werden.

Der Wert, der im Systemdatum oder im Formaloperanden steht, wird als Operationscode einer

Operation interpretiert, die dann ausgeführt wird.

Hinweis!

Mit B DW, B MW, BI oder B BS dürfen nur folgende Operationen kombiniert werden:

., UN.., O.., ON.., S.., R.., = .. mit den Bereichen E, A, M, S,

FR T, R T, SA T, SE T, SI T, SS T, SV T;

FR Z, R Z, S Z, ZR Z, ZV Z,

L, T mit den Bereichen P, Q, E, A, M, S, D, BA, BB, BS, BT,

L T, L Z,

SPA=, SPB=, SPZ=, SPN=, SPP=, SPM=, SPO=,

SLW, SRW,

I, SES, SEF,

A DB, SPA.., SPB.., E DB, EX DX, AX DX, BAB FX, BA FX.

Das PG prüft die Zulässigkeit der Kombinationen nicht!

4-62 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Beispiele B DW/B MW

Operanden-Substitution

Mit den Anweisungen "B DW" und "B MW" können Sie, z.B. in einer Programmschleife, substituiert auf Daten zugreifen. Der substituierte Zugriff setzt sich zusammen aus der Anweisung B DW/B MW und einer unmittelbar nachfolgenden Operation aus dem o.g. Operationsspektrum.

"Substituiert" bedeutet, dass der Operand für die Operation nicht statisch beim Programmieren vorgegeben, sondern erst beim Anlauf Ihres

Programms festgelegt wird.

Den Operationstyp wählen Sie beim Programmieren aus dem für die

Operation zulässigen Spektrum aus, z.B. PB für die Operation "SPA PB nn".

Den Operandenwert (nn im Beispiel "SPA PB nn") müssen Sie vor einem substituierten Zugriff mit B DW/B MW in ein Daten- oder M-Merkerwort

(Parameterwort) laden.

:L

:T

:B

:L

KF +120

MW 14

MW 14

EB 0

1. Prinzip der Substitution:

MW 14 mit dem Wert "KF +120" laden vor der Ausführung der Operation "L EB" wird der

Operationswert '0' durch den Wert '120' ersetzt;

Ausführung: L EB 120

:L

:T

M001 :L

:B

:T

:L

KF +20

DW 1

KF +0

DW 1

DW 0

DW 1

KF +1 :L

:+F

:T

:L

:<=F

DW 1

KF +100

:SPB =M001

...

2. Datenwort als Indexregister:

Es sollen die Inhalte der Datenwörter DW 20 bis DW 100 auf den

Signalzustand '0' gesetzt werden. Das Indexregister für den Parameter der

Datenwörter ist DW 1.

Versorgung des Indexregisters

Rücksetzen

Erhöhen des Indexregisters

Sprung, wenn Index im Bereich liegt weiteres Programm

Rev. 00/27 4-63

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

+

Sprungdistanz

M001

M002

M003

3. Sprungverteiler für Unterprogrammtechnik:

:B MW 5

:SPA M001

:SPA M002

:SPA M003

:SPA M004

:SPA M005

: .

: .

: .

: .

:BEA

: .

: .

:BEA

: .

: .

:BEA

Inhalt Merkerwort MW 5:

Sprungdistanz

(maximal

Vorteil:

±

127)

Alle Teilprogramme stehen in einem Baustein

4. Sprungverteiler für Bausteinaufrufe:

:B

:SPA PB 0

MW 10

PB 0

PB 1

PB 2

.

PB 3

.

PB x

Inhalt Merkerwort MW 10:

Baustein-Nr. x

Operanden-Substitution mit binären Operationen

Bei Operanden-Substitutionen mit binären Operationen können Sie folgende Operandentypen verwenden: Eingänge, Ausgänge, M-Merker, S-

Merker, Zeiten und Zähler.

Der Aufbau des M-Merker- oder Datenwortes (Parameterwort) hängt bei dieser Substitution davon ab, welchen Operandentyp Sie verwenden.

4-64 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Parameterwort für Ein- und Ausgänge

Bit-Nr.

15 11 ohne Bedeutung

10

7

8

Bit-Adresse von 0 bis

7

0

Teil 4 Programmbearbeitung

6 0

Byteadresse von 0 bis 127

Parameterwort für M-Merker

Bit-Nr.

15 11 ohne Bedeutung

10 8

Bit-Adresse von 0 bis

7

7 0

Byteadresse von 0 bis 255

Parameterwort für S-Merker

Bit-Nr.

15 14 12

Bit-Adresse von

0 bis 7

11 0

Byteadresse von 0 bis 1023

Parameterwort für Zeiten und Zähler

Bit-Nr.

15 ohne Bedeutung

8 7 0

Nummer von der Zeit- oder Zählerzelle von 0 bis 255

Prinzip der

Substitution mit einer binären

Operation:

Rev. 00/27 4-65

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

Beispiel zur BI-

Operation:

Im Funktionsbaustein FB 1 werden Operationen ausgeführt, deren Operationscodes als Formaloperanden MW 10, MW 12 und MW 14 von einem aufrufenden Baustein übergeben werden.

Welcher der Operationscodes ausgeführt werden soll, wird vom aufrufenden Baustein als lfd. Nummer im Merkerwort MW 16 hinterlegt.

Das Ergebnis der ausgeführten Operation befindet sich anschließend in

AKKU 1 und wird in das Merkerwort MW 18 transferiert.

FB 1:

NAME

BEZ

BEZ

BEZ

FB 2:

AUFR

NAME

MW10

MW12

MW14

:

:L

:T

:SPA

:

:

:SPA

:

:TEST

:

:T

:BE

:TEST

:MW10

:MW12

:MW14

:

:L

:BI

:T

:BE

E/A/D/B/Z: D

E/A/D/B/Z: D

KM/KH/KY/KC/KF/KT/KZ/KG:KH

KM/KH/KY/KC/KF/KT/KZ/KG:KH

E/A/D/B/Z: D

MW 16

KM/KH/KY/KC/KF/KT/KZ/KG:KH lfd. Nr. des Formaloperanden mit dem gewünschten

Operationscode

MW 16

übergebener Operationscode wird ausgeführt

Ergebnis in AKKU 1

KF +1

MW 16

=AUFR

FB 1

KH 4A5A

KH xxxx

KH yyyy

MW 18 lfd. Nr. des Formaloperanden mit Operationscode

FB TEST aufrufen

Operationscode "L EB 90", Formal-Operand 1 anderer Operationscode, Formal-Operand 2 anderer Operationscode, Formal-Operand 3

4-66 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 4 Programmbearbeitung

Prozessalarme sperren/freigeben

"Prozessalarme sperren/freigeben" kann angewendet werden, wenn die prozessalarmgesteuerte Bearbeitung unterdrückt werden soll. In dem

Programmteil, der zwischen den Anweisungen AS und AF steht, ist dann die prozessalarmgesteuerte Bearbeitung nicht mehr möglich. Beachten Sie hierzu die Sonderfunktion OB 120 "Alarme gemeinsam sperren".

Operation

AS

AF

Operand Funktion

Prozessalarmbearbeitung sperren

Prozessalarmbearbeitung freigeben

Rev. 00/27 4-67

Teil 4 Programmbearbeitung Handbuch VIPA CPU 928 - Band 1

4-68 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Teil 5 Betriebszustände

Überblick

Teil 5 Betriebszustände

In diesem Kapitel werden die Betriebszustände STOP, ANLAUF und RUN beschrieben.

Es informiert Sie ausführlich über verschiedene Anlaufarten und damit verbundene Organisationsbausteine, in denen Sie Ihr spezifisches Programm für verschiedene Anlauffälle programmieren können.

Sie erfahren ferner, wodurch sich die Programmbearbeitungen "Zyklische

Bearbeitung", "Zeitgesteuerte Bearbeitung" und "Alarmgesteuerte Bearbeitung" auszeichnen und welche Bausteine für Ihr Anwenderprogramm hierbei zur Verfügung stehen.

Nachfolgend sind beschrieben:

Einführung, Übersicht und Anzeige der Betriebszustände

Merkmale der Programmbearbeitungsebenen

Betriebszustand RUN und Urlöschen

Betriebszustand ANLAUF (Anwenderschnittstelle und Unterbrechungen)

Betriebszustand RUN - Zyklische Programmbearbeitung

Betriebszustand RUN - Zeitgesteuerte Programmbearbeitung

Betriebszustand RUN - Alarmgesteuerte Programmbearbeitung

Inhalt Thema Seite

Teil 5 Betriebszustände .........................................................................5-1

Einführung und Übersicht .....................................................................5-2

Programmbearbeitungsebenen ............................................................5-5

Betriebszustand STOP .........................................................................5-8

Betriebszustand ANLAUF ...................................................................5-11

Betriebszustand RUN .........................................................................5-15

Rev. 00/27 5-1

Teil 5 Betriebszustände

Einführung und Übersicht

Handbuch VIPA CPU 928 - Band 1

Betriebszustände Die CPU 928 kennt drei Betriebszustände:

Betriebszustand STOP

Betriebszustand ANLAUF

Betriebszustand RUN

In den Betriebszuständen ANLAUF und RUN können bestimmte Ereignisse auftreten, auf die das Systemprogramm reagieren muss. In vielen Fällen wird dabei ein für das Ereignis vorgesehener Organisationsbaustein (einer von OB 1 bis OB 35) als Anwenderschnittstelle aufgerufen.

Die Betriebszustände werden über LEDs auf der Frontplatte der CPU angezeigt.

Einige der Betriebszustände müssen Sie per Bedienung aktivieren. Dazu können Sie u.a. die Bedienungselemente auf der Frontplatte der CPU benutzen.

LED-Anzeige der

Betriebszustände und Fehler

Betriebszustände

Auf der CPU-Frontplatte signalisieren Ihnen verschiedene LEDs den aktuellen Betriebszustand der CPU. Nachfolgende Tabelle zeigt den Zusammenhang zwischen den Anzeigen der STOP- und RUN-LED und dem zugehörigen Betriebszustand.

Diese Anzeigen werden ergänzt durch weitere LED-Anzeigen (BASP, ADF,

QVZ, ZYK).

Die Bedeutung der LEDs "RUN" und "STOP" finden Sie in der Tabelle auf der Folgeseite.

Systemfehler Während des Betriebs erfolgt eine ständige Überwachung von besonders wichtigen und internen Funktionen. Eine Abweichung dieser internen

Funktionen vom Normalbetrieb wird erkannt und als Systemfehler behandelt.

Die genauere Spezifikation der Ursache für einen Systemfehler können Sie sowohl dem Bild der LEDs auf der Front entnehmen, als auch dem Systemdatenwort.

Die Bedeutung der LEDs "QVZ", "ADF" und "ZYK" finden Sie in der Tabelle auf der Folgeseite.

5-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 5 Betriebszustände

Betriebszustände

RUN an aus

STOP aus aus an aus aus blinkt langsam

Betriebszustand

Die CPU ist im Betriebszustand RUN

Die CPU ist im Betriebszustand STOP

Die CPU ist im Betriebszustand ANLAUF oder

CPU ist in ANLAUF/RUN, die Bearbeitungskontrolle ist aktiviert und ein

Haltepunkt ist erreicht, oder

CPU ist in ANLAUF/RUN, die Bearbeitungskontrolle ist aktiviert und ein

Haltepunkt wurde vor dem Erreichen wieder ausgetragen (Wartezustand)

Die CPU ist im Betriebszustand STOP

Die CPU hat einen Übergang in die Betriebsart STOP) verursacht.

Ursachen sind z. B.:

ADF, QVZ, LZF, BCF, Reglerfehler, Weckfehler, Zyklusfehler, BSTACK-

Überlauf, STP-Befehl.

Wenn Sie den Betriebsartenschalter auf STOP umlegen, geht das Blinken in Dauerlicht über.

aus blinkt schnell Die CPU ist im Betriebszustand STOP

Urlöschen wurde angefordert. Diese Anforderung kann von der CPU selbst oder auch per Bedienung erzeugt werden.

an an Schwerer Systemfehler

Fehlerbehebung:

CPU urlöschen; wenn Fehler noch vorhanden, Spannung am AG aus- und wieder einschalten und CPU urlöschen; wenn Fehler noch vorhanden, Spannung am AG ausschalten, CPU ziehen, wieder stecken und urlöschen; wenn Fehler noch vorhanden, kontaktieren Sie die VIPA-Hotline.

Systemfehler

QVZ aus aus aus blinkt schnell

ADF aus

ZYK blinkt schnell aus

Fehlerursache

Fehler durch Hardware-Watchdog erkannt

Fehler in der internen SP-KP-Kommunikation blinkt schnell blinkt schnell aus blinkt schnell aus

Fehler durch die Überwachung des SPS-Prozessors

Fehler durch die Tasküberwachung des Kommunikationsprozessors

Rev. 00/27 5-3

Teil 5 Betriebszustände Handbuch VIPA CPU 928 - Band 1

LED "BASP"

Sie zeigt an, ob das Bus-Signal BASP (Befehlsausgabe sperren) aktiv ist:

BASP wird von der CPU beim Eintritt in den Zustand RUN inaktiv und beim

Übergang in den Zustand STOP aktiv geschaltet.

Im Anlauf und im STOP sowie im ersten Zyklus nach WIEDERANLAUF ist

BASP aktiv gesetzt.

Hinweis!

Ist BASP aktiv, so sind alle digitalen Ausgänge gesperrt.

Ist vor dem Übergang in den Betriebszustand RUN ein AUTOMATISCHER oder MANUELLER WIEDERANLAUF durchgeführt worden, erlischt die

BASP-LED erst dann, wenn der Restzyklus abgearbeitet worden ist.

LED "PCMCIA"

Die CPU liest Daten von den PCMCIA-Speichermodul. (nur bei Varianten mit PCMCIA-Modulschacht).

5-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Programmbearbeitungsebenen

Teil 5 Betriebszustände

Nachfolgend finden Sie eine Übersicht der Betriebszustände und Bearbeitungsebenen der CPU 928.

RUN-LED

STOP-LED

BASP-LED

Aus

An

An

Betriebszustand:

STOP

RUN-LED

STOP-LED

BASP-LED

Aus

Aus

An

Betriebszustand:

ANLAUF

RUN-LED

STOP-LED

BASP-LED

An

Aus

Aus

Betriebszustand:

RUN

NAU

STP

PEU

BAU

DOPP

STUEU

STUEB

Manueller

Neustart/

Wiederanlauf

Automatischer

Neustart/

Wiederanlauf

BCF

LZF

ADF

QVZ

SSF

NAU

STP

PEU

BAU

DOPP

STUEU

STUEB

Zyklus

Zeitauftrag

Weckalarm

Regleralarm

Verzögerungsalarm

Prozeßalarm

WECK-FE

REG-FE

ZYK

BCF

LZF

ADF

QVZ

SSF

Netz Aus

Netz Aus

NAU

ABBR (OB28)

Betriebsartenschalter,

PG-STP

Erläuterung zu den Abkürzungen:

STP = Stop-Anweisung

PEU = Ausfall Versorgungsspg.

vom Erweiterungsgerät -

Peripherie unklar

BAU =

DOPP

Batterie unklar, Batterie leer oder fehlt

=Doppelfehler ( Eine noch aktive

Fehlerprogrammbearbeitungsebene wird ein zweites Mal aktiviert - Neustart erforderlich)

STUEU

STUEB

NAU =

PG-STP

=USTACK - Überlauf

=BSTACK - Überlauf

Netzausfall

=Stop Anwahl am PG

Rev. 00/27 5-5

Teil 5 Betriebszustände

Programmbearbeitungsebenen im

ANLAUF

Manueller Neustart

Manueller Wiederanlauf

Automatischer Neustart

Automatischer Wiederanlauf

BCF (Befehlscodefehler)

LZF (Laufzeitfehler)

ADF (Adressierungsfehler)

QVZ (Quittungsverzug)

SSF (Schnittstellenfehler)

Handbuch VIPA CPU 928 - Band 1

Programmbearbeitungsebenen im RUN

Zyklus

Zeitauftrag

Weckalarm

Weckalarm

Weckalarm

Weckalarm

Weckalarm

Weckalarm

Weckalarm

Weckalarm

Weckalarm

Regleralarm

Verzögerungsalarm

Prozessalarm

5s

2s

1s

500ms

200ms

100ms

50ms

20ms

10ms

WECK-FE

REG-FE

ZYK

BCF

LZF

ADF

QVZ

SSF

ABBR

(zeitgesteuert)

(zeitgesteuert)

(zeitgesteuert)

(zeitgesteuert)

(zeitgesteuert)

(zeitgesteuert)

(zeitgesteuert)

(zeitgesteuert)

(zeitgesteuert)

(zeitgesteuert)

(zeitgesteuert)

(alarmgesteuert)

(Weckfehler)

(Reglerfehler)

(Zyklusfehler)

(Befehlscodefehler)

(Laufzeitfehler)

(Adressierungsfehler)

(Quittungsverzugfehler)

(Schnittstellenfehler)

(Abbruch)

Anlaufebene

Fehlerebene

Grundebene

Fehlerebene

5-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 5 Betriebszustände

Merkmale einer

Programmbearbeitungsebene

Eine Programmbearbeitungsebene ist durch bestimmte Merkmale charakterisiert, die hier kurz zusammengefasst sind.

Einschachtelung von anderen Ebenen

Bei einem Ereignis, das eine höherpriore Bearbeitung erfordert, wird die aktuelle Ebene vom Systemprogramm unterbrochen und die höherpriore

Ebene eingeschachtelt.

Spezifisches Systemprogramm

Jede Programmbearbeitungsebene hat ihr eigenes Systemprogramm.

USTACK

Nach dem Aufruf eines OBs werden die Anweisungen ausgeführt. Hierbei wird der aktuelle Registersatz in den USTACK gerettet und ein neuer

Registersatz angelegt.

Ein Registersatz besteht aus: AKKU 1...4, Bausteinstack-Pointer, Baustein-

Adressregister, Datenbaustein-Anfangsadresse/-Länge, Adresszähler und

Basisadressregister.

Priorität

Die Programmbearbeitungsebenen besitzen eine feste Priorität. Abhängig von der Priorität können sich diese gegenseitig unterbrechen bzw. ineinander verschachtelt werden.

Grundebenen können sich nur an Bausteingrenzen einschachteln, Anlauf und Fehlerebenen werden, sobald das Ereignis aufgetreten ist, an der nächsten Befehlsgrenze eingeschachtelt.

Bei Fehlern hat der zuletzt aufgetretene immer höchste Priorität.

Reaktion bei einem Doppelfehler

Eine einmal aktivierte Fehlerebene, die noch nicht vollständig abgearbeitet ist, kann nicht nochmals aktiviert werden. In diesem Fall geht die CPU in unmittelbaren STOP. Eine Ausnahme bilden hier die Weckfehler.

Im USTACK mit Tiefe "01" ist die Kennung DOPP und die aufgerufene

Fehlerebene angekreuzt.

Rev. 00/27 5-7

Teil 5 Betriebszustände

Betriebszustand STOP

Kennzeichen

Handbuch VIPA CPU 928 - Band 1

Der Betriebszustand STOP ist durch folgende Merkmale charakterisiert:

Anwenderprogramm

Das Anwenderprogramm wird nicht bearbeitet.

Erhalt von Daten

Hat zuvor eine Programmbearbeitung stattgefunden, dann bleiben die

Werte von Zählern, Zeiten, Merkern und des Prozessabbilds beim Übergang in den STOP-Zustand erhalten.

BASP-Signal

Die Befehlsausgabe ist gesperrt d.h. alle digitalen Ausgaben sind gesperrt.

USTACK

Hat zuvor eine Programmbearbeitung stattgefunden, so finden Sie im

USTACK einen Informationsblock mit der Unterbrechungsursache.

LED-Anzeigen RUN-LED

BASP-LED

Aus

An (außer im Testbetrieb)

STOP-LED An

Betriebszustand STOP wurde ausgelöst durch:

RUN/STOP-Schalter auf STOP

PG-Funktion AG-STOP

PG-Funktion "Bearbeitungskontrolle Ende"

Gerätefehler (BAU, PEU)

Urlöschen

STOP-LED langsames Blinken

Betriebszustand STOP wurde ausgelöst durch:

Stoppbefehl in Anwenderprogramm

Fehlerbedienung (DB1-Fehler, Anlaufartfehler)

Programmier bzw. Gerätefehler (zusätzlich leuchten ADF, QVZ, ZYK)

PG-Funktion "Bearbeitungskontrolle Ende"

STOP-LED schnelles Blinken (2Hz)

Ein schnelles Blinken signalisiert, dass URLÖSCHEN angefordert ist.

5-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Urlöschen

Teil 5 Betriebszustände

Das Urlöschen bringt die CPU wieder in den Auslieferungszustand.

Programm, Daten, Register und Zeiger werden gelöscht und falls ein

EPROM bzw. eine Flash-Card gesteckt ist, werden nach dem Löschen die

Daten in die CPU übertragen. Bevor das Urlöschen ausgeführt werden kann, muss es angefordert werden. Bei Betrieb mit EPROM ist ein Neustart mit Rücksetzen möglich.

Urlöschen anfordern

Urlöschen kann vom System oder vom Anwender angefordert werden.

Anforderung vom Systemprogramm

Nach jedem Einschalten der Netzspannung und nach dem Urlöschen wird eine Initialisierungsroutine durchlaufen. Wird hierbei ein Fehler bemerkt, so geht die CPU in den STOP-Zustand mit schnellem Blinken über.

Die Störursache ist dann in jedem Fall zu beseitigen. Sollte dies nicht möglich sein, dann wenden Sie sich an die VIPA-Hotline.

Anforderung vom Anwender

Durch folgende Bedienschritte fordern Sie das Urlöschen an:

Bringen Sie den RUN/STOP-Schalter in Stellung STOP (STOP-LED zeigt

Dauerlicht)

Halten Sie den RESET-Taster in Stellung "Overall" gedrückt und schalten

Sie den RUN/STOP-Schalter von STOP auf RUN und wieder zurück auf

STOP. Daraufhin zeigt die STOP-LED schnelles Blinken. Das Urlöschen ist jetzt angefordert. Sie können nun den RESET-Taster loslassen.

Hinweis!

Wenn Sie nun doch nicht löschen möchten, dann führen Sie einen Neustart oder Wiederanlauf durch.

Rev. 00/27 5-9

Teil 5 Betriebszustände

Urlöschen durchführen

Handbuch VIPA CPU 928 - Band 1

Das Urlöschen kann nur von Ihnen durchgeführt werden.

Zum Urlöschen der CPU halten Sie den RESET-Taster in Stellung

"Overall" gedrückt und schalten Sie den RUN/STOP-Schalter von STOP auf RUN und wieder zurück auf STOP. Daraufhin zeigt die STOP-LED

Dauerlicht. Das Urlöschen ist jetzt durchgeführt. Sie können nun den

RESET-Taster loslassen.

Sie können die CPU auch vom PG aus löschen. Verwenden Sie hierzu die

PG-Funktion URLÖSCHEN. Die manuelle Löschanforderung kann entfallen. Die Stellung des Betriebsartenschalters ist hierbei irrelevant.

Hinweis!

Nach dem Urlöschen ist nur die Anlaufart NEUSTART zulässig.

Prüfsumme Beim Urlöschen wird eine Prüfsumme über das Systemprogramm gebildet und mit dem Eintrag im EPROM verglichen. Stimmen beide nicht überein, liegt ein schwerer Systemfehler vor.

Laden der Memory

Card

Ist beim Durchführen des Urlöschens eine Memory Card gesteckt, so werden alle dort vorhandenen Code- und Datenbausteine in den Anwenderspeicher der CPU geladen. Danach befindet sich die CPU im

"EPROM-Betrieb", d.h. Codebausteine können nicht nachgeladen, ver-

ändert oder gelöscht werden, ein Nachladen, Verändern und Löschen von

Datenbausteinen im DB-RAM ist dagegen möglich.

5-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Betriebszustand ANLAUF

Kennzeichen

Teil 5 Betriebszustände

Folgende Eigenschaften sind kennzeichnend für die Betriebsart Anlauf:

Organisationsbausteine (OBs)

Die Länge der Organisationsbausteine ist nicht beschränkt. Auch wird der

Ablauf zeitlich nicht überwacht. In den Anlauf OBs können weitere Bausteine aufgerufen werden.

Folgende Organisationsbausteine werden aufgerufen:

Manueller oder automatischer Neustart: OB 20,

Manueller Wiederanlauf

Automatischer Wiederanlauf

OB 21,

OB 22.

Datenbehandlung

Die Werte von Zählern, Zeiten, Merkern und Prozessabbildern werden in den einzelnen Anlaufarten unterschiedlich behandelt.

BASP-Signal

Beim Anlauf sind alle digitalen Ausgaben gesperrt d.h. die Befehlsausgabesperre ist aktiv.

LEDs auf der Frontplatte

RUN-LED aus

STOP-LED

BASP-LED aus an

Anlaufarten

In der Betriebsart Anlauf gibt es folgende zwei grundsätzlichen Arten des

Anlaufs, die wiederum untergliedert sind:

Neustart,

Wiederanlauf.

Rev. 00/27 5-11

Teil 5 Betriebszustände

Neustart

Handbuch VIPA CPU 928 - Band 1

Alle Merker, Zeiten, Zähler und das Prozessabbild werden gelöscht. Die

Bearbeitung des Anwenderprogramms beginnt von vorn.

Ein Neustart ist immer zulässig, sofern vom Systemprogramm nicht Urlöschen angefordert wird.

Neustart mit Rücksetzen von Hand (manueller Neustart)

Für den manuellen Neustart halten Sie den RESET-Taster in Stellung

RESET und bringen Sie den RUN/STOP-Schalter in Stellung RUN. Die

CPU führt daraufhin einen manuellen Neustart durch und zeigt mit der

RUN-LED den RUN-Zustand an. Sie können nun den RESET-Taster loslassen.

Automatischer Neustart

Nach Wiederkehr der Versorgungsspannung geht die CPU selbständig wieder in den Betriebszustand. Alle Merker, Zeiten, Zähler und das

Prozessabbild werden gelöscht. Die Bearbeitung des Anwenderprogramms beginnt von vorn.

Nur wenn dies im DX 0 parametriert wurde.

Wiederanlauf

5-12

Die Zustände der Merker, Zeiten, Zähler und das Prozessabbild bleiben während der Stillstandszeit erhalten. Die Bearbeitung des Anwenderprogramms wird an der Unterbrechungsstelle fortgesetzt.

Wiederanlauf ist nicht zulässig, wenn Urlöschen angefordert ist oder eins der folgenden Ereignisse eingetreten ist:

Doppelaufruf einer Programmbearbeitungsebene,

Urlöschen (Steuerbits: URGELOE),

Anlaufabbruch (Steuerbits: ANL_ABB),

STOP nach PG-Funktion BEARBEITUNGSKONTROLLE ENDE,

Komprimieren im STOP,

Stacküberlauf,

Änderung des Anwenderprogramms im STOP.

Wiederanlauf von Hand (manuell)

Für den manuellen Wiederanlauf bringen Sie (ohne den RESET-Taster zu betätigen) den RUN/STOP-Schalter in Stellung RUN. Sie können auch die

PG-Funktion AG-START (WIEDERANLAUF) verwenden.

Wiederanlauf automatisch (Standard)

Nach Wiederkehr der Versorgungsspannung geht das Gerät selbständig wieder in den Betriebszustand RUN über, sofern der DX0 entsprechend parametriert ist.

Voraussetzung für den automatischen Wiederanlauf:

RUN/STOP-Schalter befindet sich noch immer in Stellung RUN

CPU befindet sich vor dem Spannungsausfall im RUN

Bei der Initialisierung sind keine Fehler aufgetreten

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 5 Betriebszustände

Anwenderschnittstellen für den Anlauf

Als Anwenderschnittstellen für die verschiedenen Anlaufarten dienen die

Organisationsbausteine OB 20, OB 21 und OB 22. In diesen Bausteinen können Sie Ihr Programm für die verschiedenen Anlaufarten hinterlegen. In den Anlauf-OBs können Sie z.B.

Merker setzen, Zeiten starten,

Datenverkehr CPU mit Peripherie vorbereiten und die Synchronisation von mehreren CPs durchführen.

Die OBs haben folgende Funktionen:

OB 20 - Neustart

Sobald die CPU einen automatischen oder manuellen Neustart durchführt, wird vom Systemprogramm einmal der OB 20 aufgerufen. Legen Sie in OB

20 ein Programm ab, das vorbereitende Schritte für einen Neustart der zyklischen Bearbeitung durchführt.

Nach der Bearbeitung des OB 20 beginnt die zyklische Programmbearbeitung durch Aufruf von OB 1 bzw. FB 0.

OB 21 - Manueller Wiederanlauf

Sobald die CPU einen manuellen Wiederanlauf durchführt, ruft das Systemprogramm OB 21 auf. Legen Sie in OB 21 ein Programm ab, das den

Wiederanlauf eines zuvor im RUN befindlichen Programms regelt. Nach dem OB 21 wird die zyklische Programmbearbeitung an der Abbruchstelle aufgerufen und mit der nächsten Anweisung fortgesetzt.

Hierbei gilt:

Das BASP-Signal bleibt während der Bearbeitung des Restzyklus aktiv und wird erst deaktiviert, wenn ein neuer Zyklus beginnt.

Das Prozessabbild bleibt am Ende des Restzyklus zurückgesetzt.

Hinweis!

Auch im STOP registriert die CPU einen Netzspannungsausfall. Wenn Sie danach einen manuellen Wiederanlauf auslösen, so ruft die CPU vor dem

OB 21 den OB 22 auf. Bei manuellem Neustart ignoriert die CPU das vorangegangene und ruft direkt den OB 20 auf.

OB 22 - Automatischer Wiederanlauf

Bei automatischem Wiederanlauf ruft das Systemprogramm den OB 22 auf. Legen Sie in OB 22 ein Programm ab, das den Wiederanlauf eines zuvor im RUN befindlichen Programms regelt. Nach dem OB 22 wird die zyklische Programmbearbeitung an der Abbruchstelle aufgerufen und mit der nächsten Anweisung fortgesetzt.

Hierbei gilt wie beim manuellen Wiederanlauf:

Das BASP-Signal bleibt während der Bearbeitung des Restzyklus aktiv und wird erst deaktiviert, wenn ein neuer Zyklus beginnt.

Das Prozessabbild bleibt am Ende des Restzyklus zurückgesetzt.

Rev. 00/27 5-13

Teil 5 Betriebszustände Handbuch VIPA CPU 928 - Band 1

Unterbrechungen im Anlauf

Ein Anlaufprogramm kann unterbrochen werden durch

Netzspannungsausfall im Zentralgerät oder im Erweiterungsgerät

STOP (Schalter, Befehl)

Programm- und Gerätefehler

Netzspannungsausfall im Anlauf

Bei Netzspannungsausfall im Anlauf sind abhängig von der gewählten

Betriebsart mehrere Fälle zu unterscheiden:

Netzspannungsausfall bei ...

Neustart (OB 20)

Betriebsart Automatischer

Wiederanlauf

OB 22 wird an Unterbrechungsstelle im OB 20 eingeschachtelt

Manuellem Wiederanlauf (OB 21) OB 22 wird an Unterbrechungsstelle im OB 21 eingeschachtelt

Automatischem Wiederanlauf (OB 22) OB 22 wird abgebrochen und neu aufgerufen

Betriebsart Automatischer

Neustart

OB 20 wird abgebrochen und neu aufgerufen

OB 21 wird abgebrochen und neu aufgerufen

OB 22 wird abgebrochen und neu aufgerufen

5-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Betriebszustand RUN

Merkmale

Teil 5 Betriebszustände

Wenn die CPU einen Anlauf fertig bearbeitet hat, geht Sie in den

Betriebszustand RUN über. Folgende Merkmale charakterisieren diesen

Zustand:

Bearbeitung des Anwenderprogramms

Das Anwenderprogramm im OB 1 bzw. im FB 0 wird zyklisch bearbeitet, wobei zusätzlich alarmgesteuert weitere Programmteile eingeschachtelt werden können.

Zeiten, Zähler, Prozessabbild

Alle im Programm gestarteten Zeiten und Zähler laufen und das Prozessabbild wird zyklisch aktualisiert.

BASP-Signal

Das BASP-Signal (Befehlsausgabesperre) wird deaktiviert d.h.

alle digitalen Ausgänge sind freigegeben.

LEDs auf der Frontplatte

RUN-LED an

STOP-LED

BASP-LED aus aus

Hinweis!

Ist vor dem Übergang in den Betriebszustand RUN ein automatischer oder manueller Wiederanlauf durchgeführt worden, erlischt die BASP-LED erst dann, wenn der Restzyklus abgearbeitet und das Prozessabbild aktualisiert worden ist.

Sie können den Betriebszustand RUN nur über ANLAUF erreichen.

Rev. 00/27 5-15

Teil 5 Betriebszustände Handbuch VIPA CPU 928 - Band 1

Programmbearbeitungsebenen

Die Programmbearbeitungsebenen werden durch unterschiedliche

Ereignisse ausgelöst. Für jede Bearbeitungsebene stehen Ihnen als

Anwenderschnittstelle eigene OBs und FBs zur Verfügung. In der CPU 928 können alle Grundprogrammbearbeitungsebenen gleichzeitig programmiert sein.

Abhängig von der Priorität erfolgt der Aufruf der entsprechenden Ebene aus dem Systemprogramm heraus.

Im Betriebszustand RUN bietet Ihnen die CPU folgende Grundprogrammbearbeitungsebenen:

Zyklus

Das Anwenderprogramm wird zyklisch bearbeitet.

Zeitauftrag

In einem definierbaren Zeitintervall wird Ihr Anwenderprogramm bearbeitet. Sie können aber auch einen festen Zeitpunkt vorgeben, zu dem das Anwenderprogramm einmalig bearbeitet werden soll.

9 Weckalarme

Das Anwenderprogramm wird in festen, vom System angebotenen Zeitintervallen bearbeitet.

Prozessalarm

Das Anwenderprogramm wird alarmgesteuert bearbeitet.

5-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Zyklische

Programmbearbeitung

Teil 5 Betriebszustände

Im Allgemeinen wird bei der SPS die zyklische Programmbearbeitung eingesetzt (Programmbearbeitungsebene ZYKLUS). Es handelt sich hierbei um einen freien Zyklus. Nach Erreichen des Zyklusendes beginnt sofort die nächste zyklische Bearbeitung.

Auslösung

Hat die CPU das Anlaufprogramm fehlerfrei abgearbeitet, so beginnt sie mit der zyklischen Programmbearbeitung.

Prinzip

Das Prinzip der zyklischen Programmbearbeitung soll folgende Abbildung verdeutlichen: vom Anlauf

Zyklusüberwachungszeit triggern

Prozeßabbild der Eingänge

(PAE) versorgen

Zyklisches Anwenderprogramm

(OB1 oder FB0) aufrufen

Anwenderprogramm einschließlich Einschachtelungen der übrigen Programmbearbeitungsebenen

Prozeßabbild der Ausgänge

(PAA) ausgeben

Vom PG ausgelöste Vorgänge, wie z.B. Laden, Löschen oder

Komprimieren von Bausteinen usw. ausführen.

Rev. 00/27 5-17

Teil 5 Betriebszustände Handbuch VIPA CPU 928 - Band 1

Anwenderschnittstelle OB1 bzw. FB0

Bei der zyklischen Programmbearbeitung wird als Anwenderschnittstelle regelmäßig der OB 1 oder der FB 0 aufgerufen.

Das Anwenderprogramm im OB 1 bzw. FB 0 wird von Anfang an über die darin von Ihnen programmierten Bausteinaufrufe hinweg durchgehend bearbeitet.

Unterbrechungsstellen

Die zyklische Programmbearbeitung kann an den Bausteingrenzen unterbrochen werden durch:

• prozessalarmgesteuerte Programmbearbeitung,

Reglerbearbeitung,

• zeitgesteuerte Programmbearbeitung.

Hinweis!

Durch Parametrierung des DX0 können diese Unterbrechungen auch an

Befehlsgrenzen erfolgen.

Die zyklische Programmbearbeitung kann an den Befehlsgrenzen unterbrochen bzw. ganz abgebrochen werden durch:

Auftreten eines Geräte- oder Programmfehlers,

Bedienung (PG-Funktion, STOP-Schalter),

STOP-Befehl.

AKKUs als Datenspeicher

Sie können bei der CPU 928 die Rechenregister AKKU 1 bis 4 über Zyklusgrenzen hinweg (Ende Programmzyklus bis zum Beginn des nächsten) als

Datenspeicher verwenden.

5-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 5 Betriebszustände

Zeitgesteuerte

Programmbearbeitung

Bei einer zeitgesteuerten Programmbearbeitung wird die CPU von einem internen Takt oder von einem Zeitsignal veranlasst, die aktuelle Programmbearbeitung zu unterbrechen und ein spezifisches Programm zu bearbeiten. Nach der Bearbeitung kehrt die CPU wieder zurück an die

Unterbrechungsstelle. Auf diese Weise können Sie zeitgesteuert Programmabschnitte einschieben.

Bei der zeitgesteuerten Programmbearbeitung stehen Ihnen unterschiedliche Arten der Auslösung zur Verfügung:

Urzeitgesteuerter Weckalarm

Eine Auslösung erfolgt nach einem frei gewählten Zeitraster oder einmalig zu einem absoluten Zeitpunkt. Sobald der eingestellte

Zeitpunkt erreicht wird, wird OB 9 aufgerufen.

Weckalarme

Auslösung in 9 verschiedenen Zeitrastern 10ms ... 5s durch Weckalarme. Jedem Weckalarm ist ein OB zugeordnet (OB 10 ... OB 18).

Hierbei handelt es sich um feste Zyklen, d.h. die Zeitdauer zwischen zwei Programmstarts ist fest.

Achtung!

Bei der zeit- oder alarmgesteuerten Bearbeitung besteht die Gefahr, dass

Merker überschrieben werden. Sie können die Merker zu Beginn einer alarm- bzw. zeitgesteuerten Bearbeitung retten und später wieder zurückschreiben oder S-Merker verwenden, die in genügender Anzahl verfügbar sind.

Rev. 00/27 5-19

Teil 5 Betriebszustände Handbuch VIPA CPU 928 - Band 1

Urzeitgesteuerter

Weckalarm

Die auf der CPU 928 befindliche Hardwareuhr können Sie per Programm setzen und auslesen. Über diese Uhr können Sie Programmteile zeitgesteuert bearbeiten. Dieser Alarm eignet sich besonders zur Bearbeitung von einmaligen Vorgängen oder Vorgängen, die in großen Zeitabständen zyklisch auftreten.

Auslösung

Sie erzeugen einen uhrzeitgesteuerten Weckalarm durch Aufruf des

Sonder-OBs OB 151. Ist die eingestellte Zeit oder das Datum erreicht, so wird der Zeitauftrag bearbeitet. Dies kann einmalig geschehen (Absolutzeit) oder sich wiederholen (Zeitraster). Sobald ein eingestellter Zeitpunkt erreicht wird, wird der OB 9 aufgerufen. Nach der Bearbeitung des OB 9 erfolgt wieder ein Rücksprung an die Unterbrechungsstelle und das

Anwenderprogramm wird wieder fortgesetzt.

Beispiel: Sie möchten z.B. jede Minute beim Sekundenwert 40 einen Weckalarm auslösen.

Einstellungen über den OB 151:

SEKUNDEN:

AUFTRAGSART:

40

1 (minütlich)

Anwenderschnittstelle OB 9

Als Anwenderschnittstelle wird bei einem uhrzeitgesteuerten Weckalarm der OB 9 aufgerufen. Im OB 9 hinterlegen Sie Ihr Programm, das dann abgearbeitet werden soll. Ist kein OB 9 vorhanden, dann wird das Anwenderprogramm nicht unterbrochen.

Besonderheiten

Ein uhrzeitgesteuerter Weckalarm wird nur im RUN bearbeitet. Uhrzeitgesteuerte Weckalarme, die nicht im RUN auftreten, werden verworfen.

Ein nach Urlöschen und Neustart erzeugter uhrzeitgesteuerter Weckalarm bleibt bei einem WIEDERANLAUF und über NETZ AUS / NETZ EIN erhalten.

Es ist immer nur ein uhrzeitgesteuerter Weckalarm gültig.

Wenn Sie einen neuen uhrzeitgesteuerten Weckalarm erzeugen, wird ein zuvor definierter uhrzeitgesteuerter Weckalarm storniert.

Tritt ein uhrzeitgesteuerter Weckalarm auf, ohne dass der vorangegangene vollständig bearbeitet ist, so wird der neue Weckalarm verworfen.

5-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Weckalarme

Teil 5 Betriebszustände

In der CPU 928 können Sie bis zu 9 verschiedene Programme zeitgesteuert bearbeiten lassen, von denen jedes in einem anderen

Zeitraster aufgerufen wird.

Auslösung

Ein Weckalarm wird automatisch in seinem Zeitraster ausgelöst, wenn der entsprechende OB geladen ist.

Anwenderschnittstellen OB 10 ... OB 18

Als Anwenderschnittstelle wird bei Auftreten eines bestimmten Weckalarms an der nächsten Bausteingrenze (bzw. Befehlsgrenze) der zugehörige OB eingeschachtelt.

Folgende Tabelle zeigt die Zuordnung der Weckalarmzeiten zu den OBs:

Zeitraster

10ms

20ms

50ms

100ms

200ms

500ms

1s

2s

5s aufgerufener OB

OB 10

OB 11

OB 12

OB 13

OB 14

OB 15

OB 16

OB 17

OB 18

Fallende Priorität

Sie möchten z.B., dass alle 500ms ein Programm in die zyklische

Programmbearbeitung eingeschoben werden soll. Legen Sie hierzu Ihr einzuschiebendes Programm im OB 15 ab.

Hinweis!

OBs mit kürzeren Zeitrastern sind höherprior und können OBs mit längeren

Zeitrastern unterbrechen!

Zeit seit letzter Alarmbearbeitung

Bei jedem Aufruf eines Weckalarm-OBs hinterlegt die CPU im AKKU 1, wieviele Zeitraster seit dem letzten Aufruf des Weckalarm-OBs aufgetreten sind.

Hierbei gilt: AKKU 1 := Anzahl Zeitraster

Steht bei Aufruf des OB 11 beispielsweise die Zahl "3" in AKKU 1, bedeutet dies, dass seit dem letzten Aufruf des OB 11 3 Zeitraster (3 x 20ms) vergangen sind. Solange kein Weckfehler vorliegt, wird an AKKU 1 eine "0"

übergeben.

Rev. 00/27 5-21

Teil 5 Betriebszustände

Weckfehler

(WECK-FE)

Handbuch VIPA CPU 928 - Band 1

Sobald während der Bearbeitung eines Weckalarm-OBs der gleiche Alarm nochmals bearbeitet werden soll, liegt ein Weckfehler vor. Ein Weckfehler liegt auch vor, wenn ein Weckalarm-OB noch nicht bearbeitet werden konnte und dieser Alarm erneut auftritt. Dies ist nur mit der Einstellung

"Weckalarme unterbrechen an Bausteingrenzen" möglich. Je schneller eine zeitgesteuerte Programmbearbeitungsebene ist, um so größer ist die

Gefahr von Weckfehlern.

Bei einem Weckfehler ruft das Systemprogramm den OB 33 (WECK-FE) auf. Im OB 33 können Sie mit einem Programm auf den Weckfehler reagieren. Ist der OB 33 nicht geladen, geht die CPU in den STOP-

Zustand und im USTACK ist WECK-FE angekreuzt und die entsprechende

Ebene angegeben.

Beim Aufruf des OB 33 hinterlegt das Systemprogramm in AKKU 1 und

AKKU 2 zusätzlich Informationen, die den ersten aufgetretenen Fehler näher erläutern:

Fehlerkennung

AKKU-1-L

1001h

1001h

1001h

1001h

1001h

1001h

1001h

1001h

1001h

AKKU-2-L

0016h

0014h

0012h

0010h

000Eh

000Ch

000Ah

0008h

0006h

Erläuterung

Weckfehler bei OB 10 (10ms)

Weckfehler bei OB 11 (20ms)

Weckfehler bei OB 12 (50ms)

Weckfehler bei OB 13 (100ms)

Weckfehler bei OB 14 (200ms)

Weckfehler bei OB 15 (500ms)

Weckfehler bei OB 16 (1s)

Weckfehler bei OB 17 (2s)

Weckfehler bei OB 18 (5s)

Die Kennung im AKKU-2-L ist die Ebenenkennung des fehlererzeugenden

Weckalarms.

Programmbearbeitung fortsetzen

Soll die Programmbearbeitung bei einem aufgetretenen Weckfehler fortgesetzt werden, programmieren Sie einfach im OB 33 die Anweisung "BE".

Nach der Bearbeitung des OB 33 wird die Programmbearbeitung fortgesetzt.

Sie können aber auch im DX0 die Voreinstellung ändern, dass bei einem aufgetretenen Weckfehler die Programmbearbeitung fortgesetzt wird.

Hinweis!

Bitte beachten Sie die Sonderfunktionen OB 120 ... OB 123 mit denen Sie die Bearbeitung von Weckalarmen für einen bestimmten Programmteil sperren bzw. verzögern können.

5-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 5 Betriebszustände

Alarmgesteuerte

Programmbearbeitung

(Prozessalarm)

Eine alarmgesteuerte Programmbearbeitung liegt vor, wenn ein Bus-Signal einer interruptfähigen Baugruppe die CPU veranlasst, die Programmbearbeitung zu unterbrechen und ein spezifisches Programm zu bearbeiten. Nach der Bearbeitung des spezifischen Programms kehrt das

Systemprogramm wieder zurück an die Unterbrechungsstelle und setzt dort die Bearbeitung fort.

Die Auswertung des Prozessalarms kann pegel- oder flankengetriggert erfolgen. Sie können die Auswertung sperren, verzögern oder freigeben.

Auslösung

Ein Prozessalarm wird durch einen Interrupt ausgelöst.

Anwenderschnittstelle OB 2

Das Systemprogramm ruft bei Auftreten eines Prozessalarms den OB 2 auf. Programmieren Sie hier ein spezifisches Programm, das bei einem

Prozessalarm zu bearbeiten ist. Wenn der OB 2 nicht geladen ist, wird die

Programmbearbeitung nicht unterbrochen.

Unterbrechungen

Ein Prozessalarmgesteuerte Programmbearbeitung kann nur unterbrochen werden durch:

• einen Programm- oder Gerätefehler (an Befehlsgrenzen)

Bedienung (PG-Funktion, STOP-Schalter)

STOP-Befehl.

Hinweis!

Bitte beachten Sie, dass eine alarmgesteuerte nicht durch eine zeitgesteuerte Programmbearbeitung oder eine erneute alarmgesteuerte Programmbearbeitung unterbrochen werden kann!

Mehrfachalarme

Treten während der alarmgesteuerten Programmbearbeitung erneut Prozessalarme auf, werden diese solange ignoriert, bis der OB 2 vollständig bearbeitet ist. Daraufhin kehrt das Systemprogramm wieder zurück zur

Unterbrechungsstelle und bearbeitet das Programm bis zur Bausteingrenze. Erst dann wird ein Prozessalarm wieder angenommen, wenn nichts anderes im DX0 definiert ist. Der OB 2 wird auch dann bearbeitet, wenn die Interruptleitung bei Erreichen der Befehlsgrenze bereits wieder passiv ist.

Rev. 00/27 5-23

Teil 5 Betriebszustände Handbuch VIPA CPU 928 - Band 1

Pegelgetriggerte Prozessalarme

In der Voreinstellung (DX0) ist das Prozessalarmsignal bei der CPU 928 pegelgetriggert, d.h. der aktive Zustand der Interruptleitung setzt eine

Anforderung, die an der nächsten Baustein- oder Befehlsgrenze zur Bearbeitung des OB 2 führt.

Ein Prozessalarm wird auch dann erkannt und bearbeitet, wenn das

Interrupt-Signal an der Bausteingrenze nicht mehr aktiv ist.

Ein Interrupt, der während des Bearbeitung des OB 2 auftritt, wird nicht erkannt.

Flankengetriggerte Prozessalarme

Die Einstellung erreichen Sie durch die Parametrierung des DX0. Nach der

Abarbeitung von OB 2 kann ein neuer Prozessalarm nur durch einen

Signalzustandswechsel von inaktiv nach aktiv ausgelöst werden.

Ein Prozessalarm wird auch dann erkannt und bearbeitet, wenn das Interrupt-Signal an der Bausteingrenze nicht mehr aktiv ist.

Sperren der Prozessalarmbearbeitung

Ein alarmgesteuertes Programm wird an einer Bausteingrenze oder einer

Befehlsgrenze in das zyklische Programm eingeschoben.

Hier kann es Probleme geben, wenn ein zyklischer Programmteil in einer bestimmten Zeit bearbeitet werden muss.

Sie haben folgende Möglichkeiten eine Alarmunterbrechung zu unterbinden:

Programmieren Sie diesen Programmteil so, dass er keine Bausteinwechsel enthält und behalten Sie die Voreinstellung im DX0

(Prozessalarme an Bausteingrenzen) bei.

Verwenden Sie den Befehl "AS" (Prozessalarme sperren) zu Beginn

Ihres Programmteils und den Befehl "AF" (Prozessalarm freigeben) am

Ende Ihres Programmteils, das nicht unterbrochen werden darf.

Zwischen diesen beiden Befehlen erfolgt keine alarmgesteuerte

Programmbearbeitung.

Verwenden Sie die Sonderfunktionen OB 120 und OB 122. Hiermit können Sie die Bearbeitung von auftretenden Prozessalarmen für einen bestimmten Programmteil sperren oder verzögern.

Hinweis!

Die Befehle "AF" und "AS" können nur in Funktionsbausteinen programmiert werden!

5-24 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 5 Betriebszustände

Verschachtelte alarm- und zeitgesteuerte

Programmbearbeitung

Priorisierung von alarm- und zeitgesteuerter Programmbearbeitung

Wenn während einer zeitgesteuerten Alarmbearbeitung ein Prozessalarm auftritt, wird das Programm an der nächsten Unterbrechungsstelle unterbrochen und der Prozessalarm bearbeitet. Danach wird die zeitgesteuerte

Programmbearbeitung zu Ende geführt.

Tritt ein Weckalarm auf, wird zuerst die alarmgesteuerte Programmbearbeitung abgeschlossen und dann die zeitgesteuerte Programmbearbeitung aufgenommen.

Bei gleichzeitigem Auftreten von Weckalarm und Prozessalarm wird zuerst der Prozessalarm und dann der noch anstehende Weckalarm bearbeitet.

Reaktionszeit

Die Reaktionszeit auf eine Weckanforderung entspricht der Bearbeitungszeit eines Bausteins bzw. eines Befehls (je nach gewählter

Voreinstellung). Sollten aber zum Zeitpunkt der Unterbrechung der zyklischen Bearbeitung Prozessalarme anstehen, wird das Programm erst dann wieder bearbeitet wenn alle anstehenden Prozessalarme abgearbeitet sind.

Die maximale Reaktionszeit zwischen dem Auftreten und der Bearbeitung eines Weckalarms wächst in diesem Falle um die Bearbeitungszeit der

Prozessalarme.

Möchten Sie für einen bestimmten Weckalarm-OB einen Weckfehler weitgehend ausschließen, beachten Sie folgende Regeln:

Es gilt: wobei:

A+B+C < D.

A = Summe der Bearbeitungszeiten aller höherprioren

Programmbearbeitungsebenen (Prozess-, Regler-,

Weckalarm-OBs),

B= Bearbeitungszeit des Weckalarm-OB xy,

C= Laufzeit des längsten Bausteins aller niederprioren

Bearbeitungsebenen,

D= Zeitraster des Weckalarm-OB xy.

Hinweis!

Wenn Sie Ihr Anwenderprogramm nicht nur zyklisch, sondern auch zeitbzw. alarmgesteuert bearbeiten lassen, besteht die Gefahr, dass Merker

überschrieben werden, wenn die gleichen Merker im zyklischen und eingeschachtelten Programm verwendet werden und das zyklische durch das eingeschachtelte Programm unterbrochen wird.

Merker retten

Mit den OBs 190, 191, 192 und 193 können Sie die Signalzustände ihrer

Merker zu Beginn einer zeit- oder alarmgesteuerten Bearbeiten retten und danach wieder zurückschreiben. Näheres hierzu finden sie im Kapitel

"Integrierte Sonderfunktionen" .

Rev. 00/27 5-25

Teil 5 Betriebszustände Handbuch VIPA CPU 928 - Band 1

5-26 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Teil 6 Unterbrechungs- und Fehlerbehandlung

Überblick In diesem Kapitel werden die Fehlereinträge beschrieben. Sie erfahren wie

Sie Fehler beim Planen und Programmieren Ihrer Programme vermeiden können. Weiterhin werden Sie informiert, welche Hilfen Ihnen das Systemprogramm zur Fehlerdiagnose und evtl. Fehlerreaktion zur Verfügung stellt und in welchen Bausteinen Sie Reaktionen auf bestimmte Fehler programmieren können.

Inhalt

Nachfolgend sind beschrieben:

Fehlerauswertung

Steuerbits und USTACK

Fehler im OB, RUN (DB-Fehler) und im ANLAUF

Thema Seite

Teil 6 Unterbrechungs- und Fehlerbehandlung ...................................6-1

Häufige Fehler im Anwenderprogramm ................................................6-2

Fehlerinformationen..............................................................................6-3

Steuerbits und Unterbrechungsstack ....................................................6-7

Fehlerbehandlung über Organisationsbausteine.................................6-21

Fehler im ANLAUF..............................................................................6-24

Fehler im RUN und im ANLAUF .........................................................6-30

Rev. 00/27 6-1

Teil 6 Unterbrechungs- und Fehlerbehandlung

Häufige Fehler im Anwenderprogramm

Handbuch VIPA CPU 928 - Band 1

Das Systemprogramm kann fehlerhaftes Arbeiten der CPU, Fehler in der

Systemprogrammbearbeitung oder Auswirkungen einer fehlerhaften Programmierung durch den Anwender feststellen.

Fehlerübersicht Die folgende Liste enthält eine Aufzählung von Fehlern, die bei der

Inbetriebnahme des Anwenderprogramms am häufigsten auftreten, die Sie jedoch schon beim Erstellen Ihres Programmes leicht vermeiden können.

Beachten Sie aus diesem Grund beim Entwurf, bei der Implementierung und bei der Inbetriebnahme Ihres Programms bitte folgende Punkte:

Bei der Angabe von Byte-Adressen für Ein- und Ausgänge müssen entsprechend adressierte Baugruppen im Zentralgerät oder Erweiterungsgerät stecken.

Achten Sie darauf, dass alle Operanden mit den korrekten Parametern versorgt werden.

Vorsicht beim nachträglichen Ändern von Funktionsbausteinen.

Kontrollieren Sie, ob die FB/FX mit den richtigen Operanden parametriert sind und ob alle Aktualoperanden angegeben sind.

Ausgänge, Merker, Zeiten und Zähler sollten nicht an mehreren Stellen im Programm mit entgegengesetzt wirkenden Operationen bearbeitet werden.

Zeiten sollten nur einmal im Zyklus abgefragt werden (z.B. U T1).

Sorgen Sie dafür, dass alle im Programm aufgerufenen Datenbausteine vorhanden und ausreichend lang sind.

Überprüfen Sie, ob alle aufgerufenen Bausteine auch tatsächlich im

Speicher vorhanden sind.

Schmiermerker sollten von alarm- und zeitgesteuerten Programmen gerettet und am Schluss der Bearbeitung wieder geladen werden, wenn diese von anderen Bausteinen (z.B. Standard-FB) benötigt werden.

6-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Fehlerinformationen

Übersicht

Teil 6 Unterbrechungs- und Fehlerbehandlung

Wenn im Anlauf oder bei der zyklischen Bearbeitung des Anwenderprogramms ein Fehler auftritt, stehen Ihnen folgende Fehler-Informationsquellen zur Verfügung:

LEDs auf der Frontplatte der CPU,

Unterbrechungsstack USTACK und Steuerbits,

Systemdatum BS 3, BS 4 und BS 80,

Fehlerkennungen in AKKU 1 und AKKU 2,

Bausteinstack BSTACK.

In den nachfolgenden Abschnitten können Sie nachlesen, welche Hilfsmittel es zur Auswertung dieser Informationsquellen gibt und wie Sie die

Fehlerinformation für die Analyse einer Störung verwenden können.

LEDs auf der Frontplatte der CPU

Orientieren Sie sich im Falle eines unerwünschten Stoppzustandes an den

Leuchtdioden. Sie können Ihnen Hinweise auf die Fehlerursache geben:

LED-Anzeige

STOP-LED zeigt Dauerlicht

STOP-LED blinkt langsam

STOP-LED blinkt schnell

Bedeutung

Die unterschiedlichen Anzeigen der

STOP-LED deuten auf bestimmte Unterbrechungs- und Fehlerursachen hin.

Beachten Sie hierzu die Ausführungen im

Teil "Betriebszustände".

ADF-LED zeigt Dauerlicht

QVZ-LED zeigt Dauerlicht

ZYK-LED zeigt Dauerlicht

Adressierfehler

Quittungsverzug

Zykluszeitfehler

Rev. 00/27 6-3

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Online-Funktion

AUSGABE

USTACK

Die PG-Online-Funktion AUSGABE USTACK gibt Ihnen Auskunft über die

Zustände CPU-interner Steuerbits und den Inhalt des Unterbrechungsstacks (USTACK).

In den USTACK trägt das Systemprogramm beim Übergang in den

Stoppzustand alle Informationen ein, die es für einen Wiederanlauf benötigt. Diese Informationen sind:

Registerinhalte,

Akkuinhalte,

STEP-Adresszähler SAZ

Ergebnisanzeigen.

Diese Einträge sind bei der Fehlerdiagnose eine wertvolle Hilfe.

Vor der Ausgabe des USTACK-Inhalts werden zunächst die Zustände der

Steuerbits angezeigt. Diese markieren den aktuellen Betriebszustand, bestimmte Eigenschaften der CPU und des Anwenderprogramms und geben zusätzliche Hinweise auf die Fehlerursache.

Sie können die Funktion "Ausgabe USTACK" in den Betriebszuständen

STOP, ANLAUF und RUN benutzen; allerdings erhalten Sie im ANLAUF und im RUN nur Auskunft über die Steuerbits und nicht über den Inhalt des

USTACKS.

Die Bedeutung der Steuerbits und der Aufbau des Unterbrechungsstacks sind im folgenden Kapitel beschrieben.

BS 3, BS4 Systemdaten BS 3 und BS 4

Wenn Ihre CPU schon beim ANLAUF infolge eines Fehlers zurück in den

Stoppzustand geht, so wird in den Systemdatenwörtern BS3 und BS 4 die

Fehlerursache genauer definiert. In diesem Fall handelt es sich um Fehler, auf die das Systemprogramm beim Aufbau der Adresslisten im DB 0 oder bei der Auswertung des DB1, DB 2, DX 0 oder DX 2 stößt.

Die beiden Datenwörter sind unter folgenden absoluten Speicheradressen hinterlegt:

Systemdatenwort BS 3:

Systemdatenwort BS 4:

KH = EA03

KH = EA04

Über die Fehlerkennung im Systemdatenwort BS 3 können Sie feststellen, was für ein Fehler aufgetreten ist.

Das Systemdatenwort BS 4 gibt Ihnen Auskunft darüber, wo der Fehler aufgetreten ist.

Die Fehlerkennungen sind im Datenformat KH eingetragen.

Auswerten von BS 3 und BS 4 mit dem Programmiergerät

Mit der Online-Funktion AUSKUNFT ADRESSE (KH = EA03 bzw. EA04) können Sie den Inhalt der beiden Systemdatenwörter direkt auslesen und so die Fehlerursache ermitteln.

6-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Systemdatum

BS 80

Teil 6 Unterbrechungs- und Fehlerbehandlung

Wenn vom Systemprogramm ein schwerer Systemfehler festgestellt wird, so setzt es das Steuerbit INF im Unterbrechungsstack und hinterlegt im

Systemdatenwort BS 80 eine zusätzliche Fehlerkennung im Datenformat

KH.

Das Systemdatenwort BS 80 hat die absolute Speicheradresse

KH = EA50. Sie können es in derselben Weise auslesen wie die

Systemdaten BS 3 und BS 4.

Fehlerkennungen in AKKU 1 und AKKU 2

Treten bei der Programmbearbeitung im ANLAUF oder im ZYKLUS Fehler auf, für die als Anwenderschnittstelle ein bestimmter Organisationsbaustein vorhanden ist, so hinterlegt das Systemprogramm automatisch beim Aufruf des jeweiligen Organisationsbausteins in den Akkumulatoren AKKU 1 und

AKKU 2 zusätzliche Fehlerinformationen, die die Fehlerursache näher erläutern (siehe Abschnitt 5.6).

Über die Fehlerkennung im AKKU 1 können Sie feststellen, was für ein

Fehler aufgetreten ist.

Eine Fehlerkennung im AKKU 2 (falls eingetragen) gibt Ihnen Auskunft darüber, wo der Fehler aufgetreten ist.

Fehlerkennungen sind im Datenformat KH eingetragen.

Auswerten von AKKU 1 und AKKU 2 mit dem Programmiergerät

Mit der Online-Funktion AUSGABE USTACK können Sie den Inhalt der beiden Akkumulatoren direkt aus dem USTACK lesen und so die genaue

Fehlerursache ermitteln.

von AKKU 1 und AKKU 2 mit STEP

®

5 von Siemens

Da die Fehlerkennungen automatisch beim Aufruf eines Fehler-

Organisationsbausteins im AKKU 1 und 2 abgelegt werden, können Sie diese Kennungen bei der Programmierung Ihres Fehler-OBs berücksichtigen.

Es ist somit möglich, in einem Organisationsbaustein unterschiedliche

Reaktionen auf verschiedene Fehler vorzusehen, in Abhängigkeit von der dort übergebenen Fehlerkennung.

Online-Funktion

AUSGABE

BSTACK

Die PG-Online-Funktion AUSGABE BSTACK gibt Ihnen Auskunft im STOP

über den Inhalt des Bausteinstacks.

Im BSTACK sind, ausgehend vom OB1 bzw. FB0, alle Bausteine aufgeführt, die nacheinander bis zum Übergang in den Stoppzustand aufgerufen und noch nicht zu Ende bearbeitet worden sind. Da der BSTACK von unten gefüllt wird, steht in der obersten Zeile der BSTACK-Ausgabe derjenige

Baustein, der als letzter bearbeitet wurde und in dem der Fehler aufgetreten ist.

Rev. 00/27 6-5

Teil 6 Unterbrechungs- und Fehlerbehandlung

BSTACK-

Informationen

Handbuch VIPA CPU 928 - Band 1

Bei der Auswertung der obersten Zeile erhalten Sie folgende Informationen:

Information

BAUST.-NR.

Bedeutung

Bausteinart und -Nummer des Bausteins, der den fehlerhaften Baustein aufgerufen hat.

BAUST.-ADR.

Absolute Anfangsadresse dieses Bausteins im

Anwenderspeicher

RÜCKSPR.-ADR. Absolutadresse der nächsten zu bearbeitenden

Operation dieses Bausteins im Anwenderspeicher

REL.-ADR.

Relativadresse (=Differenz "RÜCKSPR.-ADR."-

"BAUST.-ADR.") der nächsten zu bearbeitenden

Operation in diesem Baustein (Relativadressen können vom PG in Betriebsart

"Eingabesperre"/Schlüsselschalter und mit S5-DOS von Siemens ab Stufe IV über Funktionstaste

"Adressen" angezeigt werden.)

DB-NR.

DB-ADR.

Nummer des in diesem Baustein aufgeschlagenen

Datenbausteins absolute Anfangsadresse dieses Datenbausteins

(Adresse des Datenwortes DW 0) im Programmspeicher

Beispiel Ausgabe BSTACK auswerten:

BAUST.-NR.

BAUST.-ADR.

RÜCKSPR.-ADR.

REL.-ADR.

OB23

FB5

FB6

OB1

0063

006A

008A

009D

0064

0072

0091

009E

0001

0008

0007

0001

DB.-NR.

13

13

100

DB.-ADR.

0078

0078

0098

In diesem Beispiel ist der Stoppzustand im OB23 bei der Bearbeitung derjenigen Anweisung aufgetreten, die im Speicher unter der

Absolutadresse "0064 - 1 = 0063" abgelegt ist.

Der OB23 (QVZ-Fehler-OB) ist im FB5 an der relativen Adresse "0008 - 1

= 0007" aufgerufen worden.

Im FB6 ist der Datenbaustein DB 100 aufgeschlagen worden. Beim

Übergang der CPU in den Stoppzustand war der Datenbaustein DB 13 gültig.

Der Datenbaustein DB 13 wurde im FB5 aufgeschlagen.

6-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Steuerbits und Unterbrechungsstack

Einleitung Über die Online-Funktionen AG-INFO und AUSGABE USTACK können Sie mit dem Programmiergerät sowohl Betriebszustand, Eigenschaften der

CPU und des Anwenderprogramms als auch eventuelle Fehler- und Unterbrechungsursachen analysieren.

Übersicht

Hinweis!

Die Ausgabe der Steuerbits erhalten Sie in jedem Betriebszustand, die

Ausgabe des USTACK-Inhalts nur im STOP.

Die Diagnosedaten werden über folgende Bildschirmausgaben dargestellt:

Steuerbits

Steuerbits geben den aktuellen bzw. vorausgegangenen Betriebszustand und die Störungsursache an.

Sind mehrere Fehler aufgetreten, werden in den Steuerbits alle aufgetretenen Fehler dargestellt.

USTACK

Im USTACK wird die jeweilige Unterbrechungsstelle (Adressen) mit den dort aktuellen Anzeigen und Akkuinhalten sowie die Störungsursache angegeben.

Sind mehrere Unterbrechungen aufgetreten, so wird ein mehrstufiger

Unterbrechungsstack aufgebaut:

Tiefe 01 = letzte Unterbrechungsursache,

Tiefe 02 = vorletzte Unterbrechungsursache usw.

Bei USTACK-Überlauf (nach mehr als 13 Einträgen) erfolgt ein sofortiger Übergang in den Stoppzustand. Anschließend ist NETZ

AUS/NETZ EIN und ein NEUSTART erforderlich.

Die Bedeutung der einzelnen Abkürzungen in den Steuerbits und im

Unterbrechungsstack wird nachfolgend erläutert.

Hinweis!

Der Text am Bildschirm Ihres Programmiergerätes ist abhängig von der benutzten PG-Software. Daher kann er von der hier abgedruckten Darstellung abweichen. Trotzdem ist die Beschreibung der Bildschirminformation in dieser Programmieranleitung gültig

Rev. 00/27 6-7

Teil 6 Unterbrechungs- und Fehlerbehandlung

Steuerbits

Handbuch VIPA CPU 928 - Band 1

Bei der PG-Ausgabe des USTACK werden auf der 1. Bildschirmseite die

Zustände der Steuerbits angezeigt .

STEUERBITS

>>STP<<

>>ANL<<

STP-6

ANL-6

>>RUN<<

X

RUN-6

FE-STP BARBEND PG-STP

A W A

STP-

SCH

ANL-2 NEUSTA

X

EINPROZ

X

M W A

BARB OB1GEL FB0GEL

X

STP-BEF MP-STP

NEUZU

X

OBPROZ

A

MWA-ZUL

X

OBWECKA

32KWRAM

X

URGELOE

16KWRAM

URL-IA

8KWRAM

STP-VER

EPROM

ANL-ABB

KM-AUS

UA-PG

KM-EIN

UA-SYS

DIG-EIN

X

UA_PRFE

DIG-AUS

X

UA-SCH

DX-0-FE FE-22

N A U

B C F

P E U

FE-6

MOD-FE RAM-FE DB0-FE DB1-FE DB2-FE

B A U

FE-5

STUE-FE

FE-3

Z Y K

FE-3

Q V Z

L Z F

A D F

REG-FE

KOR-FE

WECK-FE

DOPP-FE

Die Steuerbits (>>STP<<, >>ANL<< und >>RUN<<) und die in den ersten drei Zeilen der 1. Bildschirmseite folgenden Bits markieren den aktuellen bzw. vorausgegangenen Betriebszustand der CPU und geben Auskunft

über bestimmte Eigenschaften der CPU und des Anwenderprogramms.

Die Steuerbits lassen sich in allen Betriebszuständen ausgeben. So können Sie sich z.B. jederzeit vergewissern, ob der Organisationsbaustein

OB2 geladen und somit eine alarmgesteuerte Programmbearbeitung möglich ist.

6-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Bedeutung der Steuerbits

Steuerbit

>>STP<<

STP-6

FE-STP

Zeile >>STP<< (STEUERBITS)

Bedeutung

CPU ist im Betriebszustand STOP nicht belegt

Fehler-Stop: Stoppzustand nach NAU (Netzausfall), PEU (Peripherie unklar),

BAU (Batterie unklar), STUEB (BSTACK-Überlauf), STUEU (USTACK-

Überlauf), DOPP (Doppelfehler) oder CPU-Fehler.

BARBEND Bearbeitungskontrolle-Ende: Stoppzustand nach Online-Funktion

BEARBEITUNGSKONTROLLE ENDE (NEUSTART erforderlich).

PG-STP

Wird nicht gesetzt, wenn die Funktion BEARBEITUNGSKONTROLLE ENDE im Stoppzustand der CPU durchgeführt wurde.

PG-STOP: Stoppzustand durch Befehl vom PG

STP-SCH

STP-BEF

STOP-Schalter: Stoppzustand durch Betriebsartenschalter in Stellung STOP

Stopp-Befehl:

Stoppzustand nach Bearbeitung der Operation `STP`,

Stoppzustand nach Stoppbefehl vom Systemprogramm, wenn Fehler-

Organisationsbaustein nicht programmiert ist.

Steuerbit

>>ANL<<

ANL-6

+

M W A

ANL-6

+

A W A

NEUSTA

M W A

A W A

Zeile >>ANL<< (STEUERBITS)

Bedeutung

CPU ist im Betriebszustand ANLAUF

MANUELLER NEUSTART

AUTOMATISCHER NEUSTART

MANUELLER NEUSTART ist angefordert (STOP) oder wurde als letzter

ANLAUF durchgeführt (ANLAUF/RUN).

MANUELLER WIEDERANLAUF ist angefordert (STOP) oder wurde als letzter

ANLAUF durchgeführt (ANLAUF/RUN).

AUTOMATISCHER WIEDERANLAUF nach Netzspannungsausfall ist angefordert (STOP) oder wurde als letzter ANLAUF durchgeführt

(ANLAUF/RUN).

Fortsetzung ...

Rev. 00/27 6-9

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

.... Fortsetzung

Steuerbit

M W A

+

A W A

ANL-2

NEUZU

MWA-ZUL

Zeile >>ANL<< (STEUERBITS)

Bedeutung

AUTOMATISCHER NEUSTART wurde angefordert (STOP) oder als letzte

Anlaufart wurde AUTOMATISCHER NEUSTART durchgeführt (ANLAUF/

RUN)

Doppelfunktion: wird gesetzt nach Aufruf von BEARBEITUNGSKONTROLLE ENDE (wird im

Unterschied zu BARBEND in der ersten Maskenzeile auch dann gesetzt, wenn

BEARBEITUNGSKONTROLLE ENDE im STOP aufgerufen wird; verhindert

WIEDERANLAUF); wird gesetzt nach "Komprimieren im STOP"; verhindert WIEDERANLAUF.

NEUSTART zulässig (STOP) oder beim letzten ANLAUF war NEUSTART zulässig (ANLAUF/RUN)

MANUELLER WIEDERANLAUF zulässig (STOP) oder beim letzten Anlauf war

NEUSTART zulässig (ANLAUF/RUN)

Zeile >>RUN<< (STEUERBITS)

Steuerbit Bedeutung

>>RUN<<

RUN-6

EINPROZ

BARB

OB1GEL

CPU ist im Zustand RUN (zykl. Bearbeitung aktiv) nicht belegt

Einzelprozessorbetrieb

Online-Funktion BEARBEITUNGSKONTROLLE aktiv

FB0GEL

Organisationsbaustein OB1 ist in den Anwenderspeicher geladen worden. Die zyklische Programmbearbeitung wird durch den OB1 bestimmt.

Funktionsbaustein FB0 ist in den Anwenderspeicher geladen worden. Die zyklische Programmbearbeitung wird durch den FB0 bestimmt, wenn kein OB1 geladen ist. Wenn FB0 und OB1 geladen sind, gilt der OB1 für die zyklische

Programmbearbeitung.

OBPROZA Prozessalarm-Organisationsbaustein OB2 geladen, d.h.

prozessalarmgesteuerte Programmbearbeitung ist möglich.

OBWECKA Weckalarm-Organisationsbaustein geladen, d.h. zeitgesteuerte

Programmbearbeitung ist möglich.

Fortsetzung ...

6-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

... Fortsetzung

Zeilen 4 und 5 (STEUERBITS)

Steuerbit Bedeutung

32 KWRAM Baugruppe ist im RAM-Betrieb (32 x 2

10

Wörter)

16 KWRAM bei Version -3UB21 ohne Bedeutung

8KWRAM

EPROM bei Version -3UB21 ohne Bedeutung

Baugruppe ist im EPROM-Betrieb (32 x 2

10

Wörter)

DIG-EIN

DIG-AUS

Adressliste für digitale Eingänge vorhanden.

Adressliste für digitale Ausgänge vorhanden.

URGELOE CPU wurde urgelöscht (NEUSTART erforderlich).

URL-IA CPU wird momentan urgelöscht.

STP-VER

ANL-ABB

CPU hat Stoppzustand des AG verursacht.

ANLAUF wurde abgebrochen (NEUSTART erforderlich).

UA-PG

UA-SYS

UA-PRFE

UA-SCH

PG hat URLÖSCHEN angefordert.

Systemprogramm hat URLÖSCHEN angefordert (kein ANLAUF möglich);

URLÖSCHEN muss durchgeführt werden.

Urlöschanforderung wegen CPU-Fehler

Urlöschvoranforderung durch Schalterbedienung:

URLÖSCHEN durchführen bzw. Wahl einer Anlaufart, wenn angefordertes

URLÖSCHEN nicht durchgeführt werden soll.

Die Steuerbits der Zeilen 6 bis 8 (siehe nachfolgende Tabelle) markieren

Fehler, die in den Betriebszuständen ANLAUF (z.B. beim ersten NEU-

START) und RUN (z.B. bei der zeitgesteuerten Programmbearbeitung) auftreten können.

Sind mehrere Fehler aufgetreten, werden in den letzten drei Zeilen der

Steuerbits alle bisher aufgetretenen (und noch nicht bearbeiteten!)

Unterbrechungsursachen angezeigt. Beachten Sie hierzu das Systemdatum BS 2: Es enthält das UAMK (Unterbrechungsanzeigen-Sammelwort,

16 Bit), in dem ebenfalls alle aufgetretenen und noch nicht bearbeiteten

Fehler eingetragen sind (siehe "Speicherbelegung und -organisation").

Rev. 00/27 6-11

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Bedeutung der Steuerbits

Steuerbit

DX0-FE

FE-22

MOD-FE

RAM-FE

DB0-FE

DB1-FE

DB2-FE

KOR-FE

N A U

P E U

B A U

STUE-FE

Z Y K

Q V Z

A D F

WECK-FE

B C F

FE-6

FE-5

Zeilen 6 bis 8 (STEUERBITS)

Bedeutung

Parametrierfehler im DX 0 oder DX 2 nicht belegt

Inhalt der Memory Card ist fehlerhaft (URLÖSCHEN erforderlich).

Inhalt des Anwenderspeichers oder des DB-RAMs ist fehlerhaft

(URLÖSCHEN erforderlich).

Aufbau der Baustein-Adresslisten im DB 0 ist fehlerhaft.

Aufbau der Adresslisten in DB 1 für Prozessabbild-Aktualisierung ist fehlerhaft:

DB 1 bei Koordinator nicht programmiert,

Aufbau oder Inhalt des DB 1 ist fehlerhaft.

Fehler bei der Auswertung des Parametrierungs-Datenbausteins DB 2 der

Reglerstruktur R64

Fehler bei Datenaustausch mit dem Koordinator (zur Zeit kein Mehrprozessor-

Betrieb möglich)

Netzspannungsausfall im Zentralgerät

Peripherie unklar = Spannungsausfall im Erweiterungsgerät

Batterie ist fehlerhaft = Ausfall der Pufferbatterie im Zentralgerät

Unterbrechungs- oder Bausteinstack übergelaufen (Schachtelungstiefe zu groß; NEUSTART erforderlich)

Zyklusüberwachungszeit überschritten

Quittungsverzug beim Datenaustausch mit Peripherie

Adressierfehler bei Eingängen oder Ausgängen:

Fehler hervorgerufen durch Zugriff auf das Prozessabbild, wobei

Peripheriebaugruppen angesprochen wurden, die beim letzten NEUSTART nicht gesteckt, defekt oder nicht im DB 1 angegeben waren.

Weckfehler:

Vor oder während der Bearbeitung eines bestimmten Weckalarm-OBs ist ein weiterer Weckalarm für diesen OB ausgelöst worden.

Befehlscodefehler:

Substitutionsfehler: Bearbeiteter Befehl ist nicht substituierbar,

Operationscodefehler: Bearbeiteter Befehl ist falsch,

Parameterfehler: Parameter des bearbeiteten Befehls ist falsch.

nicht belegt

Hinweis auf schweren Systemfehler, Zusatzinformation in BS 80

Steuerbit

FE-4

FE-3

L Z F

REG-FE

DOP-FE

Zeilen 6 bis 8 (STEUERBITS)

Bedeutung

Power-down-Fehler:

Bearbeitung eines vorausgegangenen Netzausfalls (NAU) durch das

Systemprogramm ist fehlerhaft abgelaufen; der WIEDERANLAUF ist deswegen gesperrt.

Schnittstellenfehler (SSF)

Laufzeitfehler:

Aufgerufener Baustein nicht geladen, Lade-/Transferfehler bei

Datenbausteinen, Sonstige Laufzeitfehler.

Fehler bei der Bearbeitung der Reglerstruktur R64 im ZYKLUS

Doppelfehler:

Eine noch aktive Fehlerprogrammbearbeitungsebene (ADF, BCF, LZF, QVZ,

REG, ZYK) wird ein zweites Mal aktiviert (NEUSTART erforderlich).

6-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

USTACK-Inhalt

Befindet sich die CPU im Stoppzustand, so erscheint nach Ausgabe der

Steuerbits und Betätigen der Übernahmetaste auf dem Bildschirm des PGs der Inhalt des USTACKS: Das Sytemprogramm trägt beim Übergang in den Stoppzustand alle Informationen in den USTACK ein, die es für einen

Wiederanlauf benötigt.

Aus den USTACK-Informationen können Sie bei der Fehlerdiagnose entnehmen, was für ein Fehler aufgetreten ist und an welcher Stelle im

Programm er sich ausgewirkt hat.

Hat ein einziger Fehler den Stoppzustand verursacht, so wird nur eine

Ebene mit USTACK-Informationen ausgegeben. Sind mehrere Fehler aufgetreten, so werden entsprechend viele Ebenen mit USTACK-

Informationen angezeigt (Tiefe 01, Tiefe 02 usw.). In allen Ebenen ist unter

STOERUNGSURSACHE ein einziger Fehler angekreuzt.

Bei mehreren Fehlern ist in der Ebene TIEFE 01 der Fehler markiert, der unmittelbar vor dem Übergang in den Stoppzustand festgestellt wurde.

Darstellung am

Bildschirm

Ein Beispiel für die PG-Ausgabe des USTACK-Inhalts sehen Sie in folgender Tabelle.

UNTERBRECHUNGSSTACK

TIEFE

BEF-REG:

BST-STP:

EBENE:

02

C70A SAZ:

0002 FB-Nr.:

REL-SAZ:

0004 UAMK:

00F3 DB-ADR.:

226 DB-Nr.:

0006 DBL-REG:

0200 UALW:

0000 BA-ADR.:

OB-Nr.:

0000

0000

0000

AKKU1: 0000 C464 AKKU2: 0000 00FF AKKU3: 0000 0000 AKKU4: 000

0

KLAMMERN: KE1 111 KE2 100 KE3 111

0000

OVFLS ODER ERAB

:

ERGEBNISANZEIGE:

STOERUNGSURSACHE

ANZ1 ANZ0

X

STATUS VKE

X X

NAU PEU

ADF

X

STUEB

STP

OVFL

BAU

BCF

STUEU WECK

MPSTP

S-6

DOPP

ZYK

LZF

QVZ

REG-FE

Rev. 00/27 6-13

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Erläuterung der

USTACK-Anzeigen

Tiefe

Stufe der Informationsebene des USTACK-Inhalts bei Fehlerschachtelung:

TIEFE 01 = zuletzt aufgetretene Störungsursache,

TIEFE 02 = vorletzte aufgetretene Störungsursache,

. . . .

TIEFE 13 = . . . . (maximale Tiefe)

Angaben über die Fehlerstelle:

Die folgende Tabelle enthält Angaben (USTACK-Kennungen) über die

Fehlerstelle, mit denen im Anwenderprogramm die Anweisung gefunden werden kann, bei deren Bearbeitung die CPU in STOP gegangen ist.

USTACK-Kennung

BEF-REG

BST-STP

EBENE Z

Angaben zur Fehlerstelle

Bedeutung

Befehlsregister:

Es enthält den Maschinencode (1.Wort) des zuletzt bearbeiteten Befehls einer unterbrochenen Programmbearbeitungsebene (siehe

Operationsliste, Auflistung des Maschinencodes).

Bausteinstack-Pointer:

Er enthält die Anzahl der im Bausteinstack (BSTACK) eingetragenen

Elemente zum Zeitpunkt der Unterbrechung dieser Programmbearbeitungsebene.

Gibt die Ebene der Programmbearbeitung an, die unterbrochen worden ist:

Z: 0002: NEUSTART

0004:

0006:

0008:

000A:

000C:

000E:

0010:

0012:

0014:

0016:

0018:

001A:

001C:

001E:

0020:

0022:

0024:

0026:

0028:

002A:

002C:

ZYKLUS

WECKAL./5 s

WECKAL./2 s

WECKAL./1 s

WECKAL./500 ms

WECKAL./200 ms

WECKAL./100 ms

WECKAL./50 ms

WECKAL./20 ms

WECKAL./10 ms

ZEITAUFTRAG nicht belegt

REGLERALARM nicht belegt

VERZÖGERUNGSALARM nicht belegt

PROZESSALARM nicht belegt

MANUELLER NEUSTART

AUTOMATISCHER NEUSTART

Stoppschalter oder PG-STOP

(OB18)

(OB17)

(OB16)

(OB15)

(OB14)

(OB13)

(OB12)

(OB11)

(OB10)

002E: Schnittstellenfehler

Fortsetzung ...

6-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

... Fortsetzung

USTACK-Kennung

SAZ

...NR.

REL-SAZ

UAMK

UALW

DB-ADR

DB-NR

DBL-REG

BA-ADR

...NR

AKKU1 bis

AKKU4

KLAMMERN

0030:

0032:

0034:

0036:

Angaben zur Fehlerstelle

Bedeutung

Weckfehler

Reglerfehler

Zyklusfehler nicht belegt

0038:

003A:

003C:

003E:

0040:

0042:

0044:

0046:

Befehlscodefehler

Laufzeitfehler

Adressierfehler

Quittungsverzug nicht belegt nicht belegt

MANUELLER WIEDERANLAUF

AUTOMATISCHER WIEDERANLAUF

STEP-Adresszähler:

Enthält die Absolutadresse des zuletzt bearbeiteten Befehls einer unterbrochenen Programmbearbeitungsebene im Programmspeicher.

Bei Fehler zeigt der SAZ genau auf den fehlerverursachenden Befehl!

Vor Ausführung des ersten Befehls einer Bearbeitungsebene steht der

SAZ auf ’0’.

Bausteinart und -nummer des zuletzt bearbeiteten Bausteins

Relativer STEP-Adresszähler: Enthält die Relativadresse (bezogen auf die Bausteinanfangsadresse) des zuletzt bearbeiteten Befehls im zuletzt bearbeiteten Baustein (Relativadressen können vom PG in Betriebsart

"Eingabesperre"/ Schlüsselschalter oder mit S5-DOS von Siemens ab

Stufe IV über Funktionstaste angezeigt werden oder bei der Ausgabe des

Bausteins auf den Drucker).

Unterbrechungsanzeigen-Sammelwort:

Im UAMK sind alle bisher aufgetretenen und noch nicht zu Ende bearbeiteten Unterbrechungsursachen angezeigt (siehe Teil 8).

Unterbrechungsanzeigen-Löschwort (siehe Teil "Speicherbelegung und

-organisation).

absolute Anfangsadresse (DW 0) des zuletzt aufgeschlagenen Datenbausteins im Programmspeicher (=0000, wenn kein Datenbaustein aufgeschlagen wurde).

Nummer des zuletzt aufgeschlagenen Datenbausteins.

Länge des zuletzt aufgeschlagenen Datenbausteins.

Absolutadresse im Programmspeicher für den nächsten zu bearbeitenden

Befehl im zuletzt aufrufenden Baustein.

Bausteinart und -nummer des zuletzt aufrufenden Bausteins.

Inhalt der Rechenregister zum Unterbrechungszeitpunkt:

In bestimmten Fehlerfällen werden vom Systemprogramm in AKKU 1 und

AKKU 2 Fehlerkennungen hinterlegt, die die Unterbrechungsursache näher erläutern.

Anzahl der Klammerebenen:

"KEx abc" mit x = 1 bis 7 Ebenen, a = ‘OR’ (ODER, siehe Bitanzeigen), b = ‘VKE’ (Verknüpfungsergebnis, siehe Bitanzeigen), c = 1: ‘U(‘, c = 0: ‘O(‘.

Rev. 00/27 6-15

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Ergebnisanzeige siehe Teil "Programmbearbeitung"

Störungsursache

Die folgenden Abkürzungen (USTACK-Kennungen) stellen die wichtigsten

Störungsursachen dar.

Es sind nur diejenigen Unterbrechungsursachen angekreuzt, die in der gerade angezeigten Programmbearbeitungsebene (siehe EBENE) aufgetreten sind.

Bei den Angaben der Störungsursachen handelt es sich um die Wiedergabe des Unterbrechungsanzeigensammelwortes (UAMK, 16 Bit; siehe

Teil "Speicherbelegung"). Teilweise sind die Angaben hier mit denen der

Steuerbits identisch.

Ustack

Störungsursache

USTACK-Kennung

N A U

P E U

B A U

MPSTP

ZYK

QVZ

ADF

STOERUNGSURSACHE

Bedeutung (aufgerufener Fehler-OB)

Netzspannungsausfall im Zentralgerät

Peripherie unklar = Spannungsausfall im Erweiterungsgerät

Batterie unklar = Ausfall der Pufferbatterie (Zentralgerät)

Wahlschalter am KOR in Stellung STOP. (Zur Zeit wird der

Mehrprozessorbetrieb nicht unterstützt.)

Zyklusüberwachungszeit überschritten

Quittungsverzug beim Datenaustausch mit der Peripherie

Adressierfehler bei digitalen Eingängen und Ausgängen mit

Prozessabbild

Fortsetzung...

6-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

... Fortsetzung

USTACK-Kennung

STP

BCF

S-6

LZF

REG-FE

STUEB

STUEU

WECK

DOPP

STOERUNGSURSACHE

Bedeutung (aufgerufener Fehler-OB)

Stoppzustand durch Stoppschalter in Stellung STOP,

Stoppzustand durch Befehl vom PG,

Stoppzustand nach Bearbeitung der Operation STP,

Stoppzustand nach Stoppbefehl vom Systemprogramm, wenn Fehler-

Organisationsbaustein nicht programmiert ist.

Befehlscodefehler: Fehler, die während der Befehlsdecodierung erkannt werden:

Substitutionsfehler: Bearbeiteter Befehl ist nicht substituierbar,

Operationscodefehler: Bearbeiteter Befehl ist falsch,

Parameterfehler: Parameter des bearbeiteten Befehls ist unzulässig.

Schnittstellenfehler

Laufzeitfehler: Fehler, die während der Befehlsausführung erkannt werden: aufgerufener Baustein nicht geladen,

Lade-Transferfehler bei Datenbausteinen, sonstige Laufzeitfehler.

Fehler bei der Bearbeitung der Reglerstruktur R64 im ZYKLUS

Der Bausteinstack ist übergelaufen:

Die Schachtelungstiefe ist zu groß; erforderliche Maßnahme: NEUSTART

Der Unterbrechungstack ist übergelaufen:

Die Schachtelungstiefe ist zu groß; erforderliche Maßnahmen:

NEUSTART

Weckfehler:

Vor oder während der Bearbeitung eines bestimmten Weckalarm-OBs ist ein weiterer Weckalarm für diesen OB ausgelöst worden.

Doppelfehler:

Eine noch aktive Fehlerprogrammbearbeitungsebene (ADF, BCF, LZF,

QVZ, REG-FE, ZYK) wird ein zweites Mal aktiviert (NEUSTART erforderlich).

Rev. 00/27 6-17

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Beispiele zur

Fehlerdiagnose

über USTACK

Beispiel 1:

Folgende Abbildung zeigt Ihnen den Aufbau des USTACK im Zusammenhang mit den aufgetretenen Unterbrechungen.

Die Programmbearbeitungsebene ZYKLUS (OB1) wird unterbrochen durch das Auftreten eines Interrupts.

Daraufhin wird die Programmbearbeitungsebene WECKALARM aktiviert und der OB13 bearbeitet.

Durch das Auftreten eines Prozessalarms wird die Ebene WECKALARM verlassen, die Ebene PROZESSALARM aktiviert und der OB2 bearbeitet.

Ein falscher Adressierbefehl führt dazu, dass die Ebene ADF aktiviert und dort der OB25 bearbeitet wird. In seinem Fehlerbehandlungsprogramm hat der Anwender einen Stoppbefehl (STP) programmiert: Die

CPU bricht die Programmbearbeitung ab.

6-18

Vor dem endgültigen Übergang in den Stoppzustand sind insgesamt vier verschiedene Programmbearbeitungsebenen unterbrochen worden. Wenn

Sie sich nun am PG den USTACK ausgeben lassen, bekommen Sie einen vierstufigen USTACK, zuoberst der USTACK mit der TIEFE 01, in dem die

Kennung der zuletzt unterbrochenen Programmbearbeitungsebene (=ADF) vermerkt ist. Sie können den USTACK nun "hinunterschalten" bis zum

USTACK mit der Tiefe 04, der die Programmbearbeitungsebene ZYKLUS repräsentiert, die als erste unterbrochen wurde.

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Beispiel 2:

In diesem Beispiel erkennt die CPU bei der Ausführung der Operation

U Ex.y im OB1 einen Adressierfehler. Dies führt zur Bearbeitung des

OB25. Aufgrund einer STP-Operation im PB 5 geht die CPU in den

Stoppzustand.

Rev. 00/27

Fortsetzung...

6-19

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

... Fortsetzung Zwei unterbrochene Programmbearbeitungsebenen führen zum Aufbau eines zweistufigen USTACKS:

UNTERBRECHUNGSSTACK

TIEFE 01

BEF-REG:

BST-STP:

STP SAZ:

0003 PB-Nr.:

EBENE:

REL-SAZ:

003C UAMK:

AKKU1:

ERGEBNISANZEIGE: . . .

1007

5

DB-ADR.:

DB-Nr.:

0007 DBL-REG:

0300 UALW:

16

0000

BA-ADR.:

OB-Nr.:

0106

26

:

STOERUNGSURSACHE

STP

X

UNTERBRECHUNGSSTACK

TIEFE

BEF-REG:

BST-STP:

02

U Ex.y SAZ:

EBENE:

0001 OB-Nr.:

REL-SAZ:

0004 UAMK:

AKKU1:

ERGEBNISANZEIGE: . . .

001A DB-ADR.:

1 DB-Nr.:

000A DBL-REG:

0200 UALW:

16

0000

BA-ADR.:

OB-Nr.:

:

STOERUNGSURSACHE

ADF

X

6-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Fehlerbehandlung über Organisationsbausteine

Einleitung Wenn das Systemprogramm einen bestimmten Fehler erkannt hat, ruft es den für diesen Fall vorgesehenen Organisationsbaustein auf.

Durch entsprechende Programmierung dieses Organisationsbausteins können Sie nun das weitere Verhalten der CPU festlegen.

Abhängig davon, wie Sie den Organisationsbaustein programmieren, können Sie:

• die normale Programmbearbeitung fortsetzen lassen,

• die CPU in STOP bringen, und / oder

• ein spezielles "Fehlerprogramm" bearbeiten lassen.

Bei Fehlern aufgerufene OBs

Fehlerursache

Aufruf eines nicht geladenen Bausteins (LZF)

Quittungsverzug im Anwenderprogramm bei Zugriff auf

Peripheriebaugruppen (QZV)

Quittungsverzug beim Aktualisieren des Prozessabbildes

Adressierfehler (ADF)

Zykluszeitüberschreitung (ZYK)

Substitutionsfehler (BCF)

Betriebsartenschalter auf STOP, PG-Funktion AG-STOP

Operationscodefehler (BCF)

Parameterfehler (BCF)

Sonstige Laufzeitfehler (LZF)

Lade-/Transferfehler bei Datenbausteinen (TRAF)

Weckfehler (WECK-FE)

Fehler bei der Bearbeitung der Reglerstruktur R64 (REG-

FE)

1)

Kommunikationsfehler auf der zweiten seriellen

Schnittstellen (FE-3)

DX-0-Voreinstellung

Aufruf von

OB19

OB23

OB24

OB25

OB26

OB27

OB28

OB29

OB30

OB31

OB32

OB33

OB34

OB35

Reaktionen bei nicht geladenem OB

1)

STOP keine keine

STOP

STOP

STOP

STOP

STOP

STOP

STOP

STOP

STOP

STOP keine

Rev. 00/27 6-21

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Reaktion bei nicht geladenem OBs

Die Reaktion bei nicht geladenem Organisationsbaustein ist fehlerabhängig:

Keine Unterbrechung der zyklischen Programmbearbeitung

Tritt ein Quittungsverzug auf und OB23, OB24 oder OB35 sind nicht geladen, so wird die zyklische Programmbearbeitung nicht unterbrochen.

Es erfolgt keine Reaktion der CPU.

Soll die CPU bei QVZ in den Stoppzustand übergehen, so muss der

Organisationsbaustein eine Stopp-Anweisung enthalten und mit BE abgeschlossen oder der DX 0 entsprechend parametriert werden.

:

Programm für STOP:

:

:STP

:BE

Stoppzustand

In allen übrigen Fehlerfällen geht die CPU sofort in den Stoppzustand, wenn die zugehörigen Organisationsbausteine vom Anwender nicht programmiert worden sind.

Soll in Ausnahmefällen (z.B. während der Inbetriebsetzung) der eine oder andere Fehler die zyklische Programmbearbeitung nicht unterbrechen, so genügt eine Bausteinende-Anweisung im jeweiligen Organisationsbaustein oder eine entsprechende Parametrierung des DX 0.

Programm für Betrieb ohne Unterbrechung:

:

:

:BE

Hinweis!

Eine Ausnahme bildet der Organisationsbaustein OB28: Hier erfolgt immer ein Übergang in den Stoppzustand, unabhängig davon, ob der OB28 geladen ist und wie er programmiert ist.

Wenn Sie den betreffenden Organisationsbaustein nicht programmieren wollen, haben Sie die Möglichkeit, durch entsprechende Parametrierung des Datenbausteins DX 0 den Übergang der CPU in den Stoppzustand zu verhindern.

6-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Unterbrechungen bei der Bearbeitung der Fehler-OBs

Nachdem das Systemprogramm den betreffenden Organisationsbaustein aufgerufen hat, wird das darin enthaltene Anwenderprogramm bearbeitet.

Tritt während der Bearbeitung eines Organisationsbausteins erneut ein

Fehler auf, wird wie in der zyklischen Programmbearbeitung das Programm an der nächsten Befehlsgrenze unterbrochen und der entsprechend andere Organisationsbaustein aufgerufen.

Die Organisationsbausteine werden in der Reihenfolge bearbeitet, in der sie aufgerufen werden. Wieviele Fehler-Organisationsbausteine ineinandergeschachtelt werden können, ist abhängig von:

Art der Fehler

Anzahl der Programmbearbeitungsebenen im Fehlerfall

Anzahl der aufgerufenen Bausteine im Fehlerfall

Art der aufgetretenen Fehler:

Es können keine Organisationsbausteine ineinander geschachtelt werden, die derselben Programmbearbeitungsebene angehören. (Zur Zuordnung der Fehler-OB zu den Programmbearbeitungsebenen siehe folgendes

Kapitel).

Bei der Bearbeitung des OB27 (Programmbearbeitungsebene BCF) kann beispielsweise ein OB32 (Programmbearbeitungsebene LZF), nicht jedoch ein OB29 oder OB30 (ebenfalls BCF) eingeschachtelt werden.

Bei Doppelaufruf einer Programmbearbeitungsebene geht die CPU unmittelbar in STOP.

Anzahl der zu diesem Zeitpunkt aktivierten Programmbearbeitungsebenen:

Für jede aktivierte Programmbearbeitungsebene benötigt das Systemprogramm bei Unterbrechungen besonderen Speicherplatz zum Anlegen des USTACKs. Reicht dieser Speicherplatz nicht mehr aus, so kommt es zu einem USTACK-Überlauf.

Bei USTACK-Überlauf geht die CPU unmittelbar in STOP:

Anzahl der zu diesem Zeitpunkt aufgerufenen Bausteine:

Bei BSTACK-Überlauf geht die CPU unmittelbar in STOP.

Rev. 00/27 6-23

Teil 6 Unterbrechungs- und Fehlerbehandlung

Fehler im ANLAUF

Einleitung

Handbuch VIPA CPU 928 - Band 1

Bei der Initialisierung und im Anlauf auftretende Störungs- und Fehlerursachen können dazu führen, dass das Anlaufprogramm abgebrochen wird und die CPU in den Stoppzustand übergeht.

Im Anlaufprogramm (Organisationsbausteine OB20, 21 und 22) auftretende Unterbrechungsursachen werden wie im Zyklus behandelt.

Ausnahme: Bei einem STOP im Anlauf wird kein Organisationsbaustein

OB28 aufgerufen.

Unterbrechungsund

Fehlerursachen im Anlauf

Auf die in der folgenden Tabelle genannten Unterbrechungs- und Fehlerursachen gibt es keine Reaktionsmöglichkeit durch eine Anwenderschnittstelle (Fehler-OB).

Steuerbit oder

Kennung im

USTACK

STP

BAU

NAU

PEU

STUEU

STUEB

DOPP-FE

RAM-FE

MOD-FE

DB0-FE

DB1-FE

DB2-FE

DX0-FE

1)

1)

1)

1)

Erläuterung

Stoppbefehl vom Systemprogramm (bei FE-STP) oder im

Anwenderprogramm

Ausfall der Pufferbatterie im Zentralgerät

Ausfall der Versorgungsspannung im Zentralgerät

Ausfall der Versorgungsspannung in einem Erweiterungsgerät

Stacküberlauf beim Unterbrechungsstack (USTACK)

Stacküberlauf beim Bausteinstack (BSTACK)

Doppelaufruf einer Fehlerprogrammbearbeitungsebene

Fehler bei der Initialisierung: Inhalt des Betriebssystem-RAMs oder des DB-

RAMs defekt

Fehler bei der Initialisierung: Inhalt der Memory Card nicht korrekt

Fehler beim Aufbau der Bausteinadressliste (DB0)

Fehler bei der Auswertung des DB 1 zum Aufbau der Adressliste für die

Prozessabbildaktualisierung

Fehler bei der Auswertung des DB 2 der Reglerstruktur R64

Fehler bei der Auswertung des Datenbausteins DX 0 oder Fehler bei der

Auswertung des Datenbausteins DX 2

1)

Diese Fehler werden nachfolgend näher erläutert.

6-24 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

DB0-FE

(DB-0-Fehler)

Teil 6 Unterbrechungs- und Fehlerbehandlung

Fehler beim Aufbau der Bausteinadressliste (Datenbaustein DB 0).

Der DB 0 wird vom Systemprogramm nach URLÖSCHEN aufgebaut. Bei einem DB-0-Fehler finden Sie in den Systemdatenwörtern BS 3 und BS 4

Fehlerkennungen, die den aufgetretenen Fehler näher definieren.

Kennungen für DB-0-Fehler

Fehlerkennung

BS 3 BS 4

Erläuterung

8001h yyyyh Falsche Bausteinlänge yyyy = Adresse des Bausteins mit falscher Länge

8002h yyyyh Berechnete Endadresse des Bausteins im Speicher falsch yyyy = Bausteinadresse

8003h yyyyh Ungültige Bausteinkennung yyyy = Adresse des Bausteins mit falscher Kennung

8004h yyyyh Zu große Organisationsbausteinnummer (erlaubt: OB 1 bis OB 39) yyyy = Adresse des Bausteins mit falscher Nummer

8005h yyyyh Datenbausteinnummer 0 (erlaubt: DB 1 bis DB 255) yyyy = Adresse des Bausteins mit falscher Nummer

Rev. 00/27 6-25

Teil 6 Unterbrechungs- und Fehlerbehandlung

DB1-FE

(DB-1-Fehler)

Handbuch VIPA CPU 928 - Band 1

Fehler bei der Auswertung des DB 1 zum Aufbau der Adressliste für die

Prozessabbildaktualisierung

• fehlerhafte DB-1-Adressliste bei NEUSTART.

Hinweis!

Die Auswertung der DB-1-Parameter erfolgt jedoch nur bei NEUSTART!

Kennungen für DB-1-Fehler

Fehlerkennung

BS 3 BS 4

Erläuterung

0410h yyyyh Unzulässige Kennung:

Kopfkennung fehlt oder fehlerhaft (korrekt KC ’MASK01’)

Kennung unzulässig (zulässig KH DE00, DA00, CE00, CA00, BB00)

Endekennung fehlt oder fehlerhaft (korrekt KH EEEE) yyyy = unzulässige Kennung

0411h yyyyh "Digitale Eingänge", Anzahl Adressen unzulässig (zulässig: 0...128) yyyy = unzulässige Anzahl Adressen

0412h yyyyh "Digitale Ausgänge", Anzahl Adressen unzulässig (zulässig: 0...128) yyyy = unzulässige Anzahl Adressen

0415h yyyyh Ungültige Anzahl Zeitzellen (zulässig: 0...256) yyyy = unzulässige Anzahl Zeitzellen

0419h yyyyh Quittungsverzug bei digitalen Eingängen yyyy = Adresse des nicht quittierten Eingangsbytes

041Ah yyyyh Quittungsverzug bei digitalen Ausgängen yyyy = Adresse des nicht quittierten Ausgangsbytes

041Bh yyyyh Ouittungsverzug bei Koppelmerker-Eingang yyyy = Adresse des nicht quittierten Koppelmerkerbytes

041Ch yyyyh Quittungsverzug bei Koppelmerker-Ausgang yyyy = Adresse des nicht quittierten Koppelmerkerbytes

6-26 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

DX0-FE

(DX-0- oder

DX-2-Fehler)

Teil 6 Unterbrechungs- und Fehlerbehandlung

Hinweis!

DX-0-Fehler und DX-2-Fehler haben ein gemeinsames Steuerbit (DX0-FE) in der Steuerbit-Maske.

Fehler bei der Auswertung des Datenbausteins DX 0

Bei einem DX-0-Fehler finden Sie in den Systemdatenwörtern BS 3 und

BS 4 Fehlerkennungen, die den aufgetretenen Fehler näher definieren.

Kennungen für DX-0-Fehler

Fehlerkennung

BS 3 BS 4

Erläuterung

0431h yyyyh Unzulässige Kennung:

Kopfkennung fehlt oder fehlerhaft (korrekt KC `MASKX0’)

Blockkennung unzulässig

Endekennung fehlt oder fehlerhaft (korrekt KH EEEE) yyyy = unzulässige Kennung

0432h yyyyh Unzulässiger Parameter yyyy = unzulässiger Parameter

0433h yyyyh Nicht erlaubte Anzahl Zeitzellen (erlaubt: 0...256) yyyy = falsche Anzahl Zeitzellen

0434h yyyyh Unerlaubte Zyklusüberwachungszeit (erlaubt: 1 ms bis 13000ms) yyyy = falsche Zeitgröße

Rev. 00/27 6-27

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Fehler bei der Auswertung des Datenbausteins DX 2

Parametrierung der 2. seriellen Schnittstelle:

Der Datenbaustein DX 2 wird vom Systemprogramm bei NEUSTART geprüft. Bei einem DX-2-Fehler finden Sie in den Systemdatenwörtern BS 3 und BS 4 Fehlerkennungen, die den aufgetretenen Fehler näher definieren.

Kennungen DX-2-Fehler

Fehlerkennung

BS 3 BS 4

0451h -

0452h yyyy

Erläuterung

DX-2-Länge (ohne Bausteinkopf) < 4 Wörter unzulässig

0453h yyyy

DX-2-Länge (ohne Bausteinkopf) ist für Kopplungstyp zu kurz yyyy = Länge DX 2

Kopplungstyp unzulässig yyyy = Kopplungstyp

0454h xx00h Datenkennung für statischen Parametersatz ungültig (ungleich 44H, 58H) xx = Datenkennung

0455h xxyyh Baustein für statischen Parametersatz unzulässig xx = Kennung / yy = DB-Nummer

0456h xxyyh Statischer Parametersatz nicht vorhanden xx = Kennung / yy = DB-Nummer

0457h yyyyh Statischer Parametersatz zu kurz yyyy = Nummer des nicht vorhandenen DW

0458h xx00h Datenkennung für dyn. Parametersatz ungültig (ungleich 44H, 58H, 00H) xx = Datenkennung

0459h xxyyh Baustein für dyn. Parametersatz unzulässig xx = Kennung/ yy = DB-Nummer

045Ah xx00h Datenkennung für Sendefach/Auftragsfach ungültig (ungleich 44H, 58H, 00H) xx = Datenkennung

045Bh xxyyh Baustein für Sendefach/Auftragsfach unzulässig xx = Kennung / yy = DB-Nummer

045Ch xx00h Datenkennung für Empfangsfach ungültig (ungleich 44H, 58H, 00H) xx = Datenkennung

045Dh xxyyh Baustein für Empfangsfach unzulässig xx = Kennung / yy = DB-Nummer

045Eh xx00h Datenkennung für Koordinierungsbytes ungültig (ungleich 44H, 58H, 4DH) xx = Datenkennung

045Fh xxyyh Baustein für Koordinierungsbytes unzulässig xx = Kennung / yy = DB-Nummer

0460h xxyyh Baustein für Koordinierungsbytes nicht vorhanden xx = Kennung / yy = DB-Nummer

0461h yyyyh Datenwort für Koordinierungsbytes nicht vorhanden yyyy = Nr. des nicht vorhandenen DW

6-28 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

MOD-FE

(Memory-Card-

Fehler)

Beim Auswerten einer Memory Card und beim Kopieren der Bausteine von der Memory Card werden verschiedene Prüfungen durchgeführt. Im Fehlerfall wird das Steuerbit MOD-FE in der Steuerbit-Maske sowie eine zusätzliche Kennung in das Systemdatenwort BS 3 eingetragen.

Fehlerkennungen in BS 3

Wenn die oben genannten Prüfungen zu einem Fehler führen, finden Sie im Systemdatenwort BS 3 eine Fehlerkennung, die den aufgetretenen

Fehler näher definiert (der Inhalt von BS 4 ist irrelevant).

Kennungen für Memory-Card-Fehler und Fehler beim Kopieren der Bausteine

Fehlerkennung

BS 3 BS 4

Erläuterung

620Eh -

6210h -

6211h -

6212h -

Memory Card: Falsche Zugriffszeitklasse

Memory Card: Falsche Datenbreite

Memory Card: Falsche Applikation (nicht STEP

®

5 von Siemens)

Memory Card: Falsche MLFB-Nummer

6213h -

6214h -

6215h -

6216h -

6217h -

6218h -

6219h -

621Ah -

621Bh -

Memory Card: Falsche Klasse (kein Flash)

Ungültiger Baustein

Unzulässige Bausteinnummer

Unzulässiger Bausteintyp

Unzulässige Bausteinlänge

Zu viele Bausteine

Zu viele Bausteine eines Typs

Kein Platz im Anwenderspeicher

Inhalt der Memory Card inkonsistent

Rev. 00/27 6-29

Teil 6 Unterbrechungs- und Fehlerbehandlung

Fehler im RUN und im ANLAUF

Einleitung

Handbuch VIPA CPU 928 - Band 1

Im Betriebszustand RUN kann eine zyklische, eine zeit- oder alarmgesteuerte Programmbearbeitung oder eine Reglerbearbeitung an Befehlsgrenzen unterbrochen werden durch das Auftreten von Störungen wie z.B.

Ausfall der Versorgungsspannung am Zentralgerät oder Überlauf des

Bausteinstacks.

Bei der Initialisierung und im Betriebszustand ANLAUF auftretende Unterbrechungsursachen führen ebenfalls dazu, dass das Anlaufprogramm abgebrochen wird und die CPU in den Stoppzustand übergeht bzw. den für diesen Fehlerfall vorgesehenen Organisationsbaustein aufruft. Im Anlaufprogramm auftretende Unterbrechungsursachen werden wie im ZYKLUS behandelt.

Man unterscheidet zwischen Störungen, die die CPU direkt in den Betriebszustand STOP überführen (z.B. STUEU) und Störungen, bei deren

Auftreten das Systemprogramm anstelle eines Übergangs in den

Stoppzustand bestimmte Organisationsbausteine aufruft (z.B. ADF), die der Anwender programmieren kann.

Auf die in den folgenden beiden Tabellen genannten Unterbrechungs- und

Fehlerursachen gibt es keine Reaktionsmöglichkeit durch eine

Anwenderschnittstelle (Fehler-OB).

Fehler, die direkt in den STOP führen

Bei diesen Fehlern wird ein USTACK aufgebaut, in dem die aufgetretene

Störung angezeigt wird.

Steuerbit oder

Kennung im

USTACK

STP

BAU

NAU

PEU

STUEU

STUEB

DOPP-FE

Erläuterung

STOP durch das Systemprogramm (bei Maschinenfehler), wenn ein Fehler-

OB nicht geladen ist, oder Stoppbefehl im Anwenderprogramm

Ausfall der Pufferbatterie am Zentralgerät

Ausfall der Versorgungsspannung im Zentralgerät

Ausfall der Versorgungsspannung in einem Erweiterungsgerät

Stacküberlauf beim Unterbrechungsstack bei zu großer Schachtelungstiefe

(USTACK)

Stacküberlauf beim Bausteinstack bei zu großer Schachtelungstiefe

(BSTACK)

Doppelaufruf einer Fehlerprogrammbearbeitungsebene

6-30 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Fehler, bei denen ein Fehler-OB aufgerufen wird

Fehler- und Unterbrechungsursachen im ANLAUF und RUN

Bei diesen

Steuerbit oder

Kennung im

USTACK

Erläuterung

BCF

LZF

Befehlscodefehler:

Substitutionsfehler

Operationscodefehler

Parameterfehler

Laufzeitfehler:

Aufruf eines nicht geladenen Bausteins

Transferfehler bei DBs

Sonstige Laufzeitfehler

ADF

QVZ

ZYK

WECK-FE

REG-FE

ABBR

S-6

Adressierfehler:

Bei Zugriff auf Prozessabbild

Quittungsverzug:

Im Anwenderprogramm bei Zugriff auf Peripheriebaugruppen

Bei der Prozessabbildaktualisierung

Zyklusfehler:

Überschreitung der Zyklusüberwachungszeit

Weckfehler:

Fehler bei Bearbeitung eines Weckalarms

Reglerfehler:

Fehler bei Bearbeitung eines Regleralarms

Abbruch: siehe "ABBR" in diesem Abschnitt

Kommunikationsfehler:

Bei Datenverkehr über die zweite serielle Schnittstelle aufgerufener

OB

OB27

OB29

OB30

OB19

OB32

OB31

OB25

OB23

OB24

OB26

OB33

OB34

OB28

OB35

Auf den nachfolgenden Seiten ist jede dieser Fehlerursachen genauer beschrieben:

Rev. 00/27 6-31

Teil 6 Unterbrechungs- und Fehlerbehandlung

BCF

(Befehlscodefehler)

Handbuch VIPA CPU 928 - Band 1

Ein Befehlscodefehler tritt dadurch auf, dass die CPU einen Befehl des

Anwenderprogramms nicht interpretieren oder ausführen kann. Alle zulässigen Befehlscodes sind in der Operationsliste aufgelistet.

Der Befehl, der den entsprechenden Befehlscodefehler verursacht, wird nicht ausgeführt. Falls der entsprechende BCF-Organisationsbaustein geladen ist, wird dieser aufgerufen, bearbeitet und anschließend mit dem nächsten Befehl im unterbrochenen Anwenderprogramm fortgefahren. Bei nicht geladenem BCF-OB geht die CPU in den Stoppzustand.

Es werden folgende Befehlscodefehler unterschieden, bei denen jeweils der genannte Fehler-OB aufgerufen wird.

Substitutionsfehler (OB27)

Wenn in einem Funktionsbaustein eine Operation mit einem Formaloperanden ausgeführt werden soll, so ersetzt die CPU bei der Bearbeitung des Anwenderprogramms diesen Formaloperanden durch den im Aufruf des Funktionsbausteins stehenden Aktualoperanden.

Erkennt die CPU eine unzulässige Substitution, so unterbricht das Systemprogramm daraufhin die Bearbeitung des Anwenderprogramms und ruft den Organisationsbaustein OB27 auf, wenn dieser geladen ist.

AKKU 1 enthält zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:

BCF - Substitutionsfehler

Fehlerkennung

AKKU-1-L AKKU-2-L

1801h -

Erläuterung

Substitutionsfehler beim Befehl B BS

Substitutionsfehler bei den Befehlen B DW, B MW 1802h -

1803h -

1804h -

Substitutionsfehler bei den Befehlen B=, BI

Substitutionsfehler bei den Befehlen L=, T=

1805h -

1806h -

Substitutionsfehler bei den Befehlen U=, UN=, O=, ON=, ==, S=, RB=

Substitutionsfehler bei den Befehlen RD=, LC=, FR=, SAR=, SE=,

SSV=, SVZ=

6-32 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Operationscodefehler (OB29)

Ein Operationscodefehler wird von der CPU bei der Bearbeitung eines

Programmes festgestellt, wenn ein Befehl programmiert worden ist, der nicht zum Befehlsumfang der CPU 928 gehört. Es können z.B. RU- und

SU-Befehle mit dem PG programmiert, jedoch von den CPUs 928 nicht interpretiert werden.

Beim Erkennen eines unzulässigen Operationscodes wird an dieser Stelle die Bearbeitung des Anwenderprogramms unterbrochen und der Organisationsbaustein OB29 aufgerufen, wenn er geladen ist.

Bei Aufruf des OB29 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:

BCF - Operationscodefehler

Fehlerkennung

AKKU-1-L AKKU-2-L

1811h -

1812h -

1813h

1814h

1815h

-

-

-

Erläuterung

Befehl mit unzulässigem Opcode

Unzulässiger Opcode bei einem Befehl, bei dem das High-Byte des 1.

Befehlswortes den Wert 68h enthält.

Unzulässiger Opcode bei einem Befehl, bei dem das High-Byte des 1.

Befehlswortes den Wert 78h enthält.

Unzulässiger Opcode bei einem Befehl, bei dem das High-Byte des 1.

Befehlswortes den Wert 70h enthält.

Unzulässiger Opcode bei einem Befehl, bei dem das High-Byte des 1.

Befehlswortes den Wert 60h enthält.

Achtung!

Ein Operationscodefehler sollte nicht quittiert werden: Die CPU erkennt nicht, ob es sich bei dem fehlerhaften Befehl um einen Einwort- oder

Mehrwortbefehl handelt. Hat die CPU den OB29 bearbeitet, so versucht sie, das Programm mit dem nächsten Befehlswort fortzusetzen. Falls es sich dabei um das zweite Wort eines Mehrwortbefehls handelt, erkennt sie entweder einen weiteren Befehlscodefehler oder führt dieses Wort als gültigen Befehl aus, was zu beliebigen Programmfehlern führen kann.

Rev. 00/27 6-33

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Parameterfehler

(OB30)

Ein unzulässiger Parameter tritt auf, wenn ein Befehl mit einem Parameter, der für die entsprechende CPU unzulässig ist, programmiert worden ist

(z.B. Aufruf eines reservierten Datenbausteins) oder wenn eine nicht vorhandene Sonderfunktion aufgerufen wird.

Wenn ein unzulässiger Parameter von der CPU erkannt wird, unterbricht das Systemprogramm die Bearbeitung des Anwenderprogramms und ruft den Organisationsbaustein OB30 auf, wenn dieser geladen ist.

Beim Aufruf des OB30 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:

BCF-Parameterfehler

Fehlerkennung

AKKU-1-L AKKU-2-L

1821h -

182Bh -

182Ch -

182Dh -

182Eh -

182Fh -

1830h -

1831h -

1832h -

1833h -

1834h -

1835h -

1836h

1837h

183Bh

183Ch

-

1838h -

-

1839h -

183Ah -

-

-

Erläuterung

A DB 0, 1, 2

SPA(B) OB0

SPA(B) OB > 39: Sonderfunktion nicht vorhanden

AX DX 0, AX DX 1, AX DX 2

L MW/T MW/L PW/T PW/L QW/T QW/L DD/T DD/ B MW 255

L EW/T EW/L AW/T AW 127

L MD/T MD 253, 254, 255

L ED/T ED/L AD/T AD 125, 126, 127

RLD/RRD/SVD/SLD 33-255

SLW/SRW/LIR/TIR 16-255

SES/SEF 32-255

U=/UN=/O=/ON=/S=/RB=/==/RD=/FR=/SI=/SE=/

SVZ=/SSV=/SAR=/L=/LC=/LW=/T= 0, 127-255

B=/LD= 0, 126-255

U S/O S/S S/= S/UN S/ON S/R S Bytenummer > 1023

U S/O S/S S/= S/UN S/ON S/R S Bitnummer > 7

L SY/T SY Parameter > 1023

L SW/T SW Parameter > 1022

L SD/T SD Parameter > 1020

E DB/EX DX Parameter 0, 1 oder 2

(DB bzw. DX 0, 1, 2 nicht erzeugbar)

6-34 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

LZF

(Laufzeitfehler)

Ein Laufzeitfehler tritt dadurch auf, dass die CPU während der Bearbeitung eines Befehls einen Fehler erkennt.

Der Befehl, der den entsprechenden Laufzeitfehler verursacht, wird nicht ausgeführt. Ist ein LZF-Organisationsbaustein vorhanden, so wird dieser aufgerufen. Anschließend wird das unterbrochene Anwenderprogramm mit dem nächsten Befehl, der dem fehlerverursachenden Befehl folgt, fortgesetzt. Ist kein LZF-OB geladen, so geht die CPU in den STOP.

Es werden folgende Laufzeitfehler unterschieden, bei denen jeweils der genannte Fehler-OB aufgerufen wird.

Aufruf eines nicht geladenen

Bausteins (OB19)

Wenn im Anwenderprogramm ein Baustein aufgerufen oder aufgeschlagen wird, der nicht vorhanden ist, erkennt das Systemprogramm einen Fehler.

Dies gilt für alle Bausteinarten und sowohl für bedingte als auch für die unbedingte Aufruf-Anweisung.

Wenn der Aufruf oder das Aufschlagen eines nicht geladenen Bausteins erkannt wird, ruft das Systemprogramm den Organisationsbaustein OB19 auf, wenn er geladen ist. Im OB19 können Sie das weitere Verhalten der

CPU festlegen.

Falls ein OB19 programmiert ist, wird dieser aufgerufen und anschließend die Bearbeitung des unterbrochenen Programms mit dem nächsten Befehl fortgesetzt außer, wenn der OB19 mit einem Stoppbefehl programmiert ist.

Ist hingegen der OB19 nicht programmiert, so geht die CPU beim Aufruf oder Aufschlagen eines nicht geladenen Bausteins in den Stoppzustand.

Bei Aufruf des OB19 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:

LZF - Aufruf eines nicht geladenen Bausteins

Fehlerkennung

AKKU-1-L AKKU-2-L

1A01h -

Erläuterung

Nicht geladener Datenbaustein bei A DB

Nicht geladener Datenbaustein bei AX DX 1A02h -

1A03h -

1A04h -

1A05h -

Nicht geladener Baustein bei SPA(B) FB, OB1 bis OB39, PB, SB

Nicht geladener Baustein bei BA(B) FX

Nicht geladener Datenbaustein bei OB254 bzw. OB255

1A06h -

1A07h -

Nicht geladener Datenbaustein bei OB182

Nicht geladener Datenbaustein bei OB150/OB151/OB153

Hinweis!

Beim Versuch, einen nicht geladenen Datenbaustein aufzuschlagen, wird das DBA-Register beeinflusst. In diesem Fall muss vor Zugriffen auf

DB/DX-Daten erneut ein geladener Datenbaustein aufgeschlagen werden.

Rev. 00/27 6-35

Teil 6 Unterbrechungs- und Fehlerbehandlung

Lade-/

Transferfehler

(OB32)

Handbuch VIPA CPU 928 - Band 1

Beim Transferieren von Daten in Datenbausteine (DB, DX) vergleicht die

CPU die Länge des aufgeschlagenen DBs mit dem im Transfer-Befehl stehenden Operanden. Wird durch den angegebenen Parameter die

Datenbausteinlänge überschritten, so wird die Transfer-Anweisung nicht ausgeführt, um ein irrtümliches Überschreiben von Daten im Speicher zu verhindern.

Ein Lade-/Transferfehler wird auch festgestellt, wenn ein einzelnes Bit innerhalb eines nicht vorhandenen Datenwortes abgefragt oder verändert werden soll.

Ein Lade-/Transferfehler wird ebenfalls erkannt, wenn ein Zugriff auf ein

Datenwort stattfinden soll, bevor ein Datenbaustein aufgeschlagen ist (mit

A DBn bzw. AX DXn).

Beim Erkennen eines Lade-/Transferfehlers ruft das Systemprogramm den

Organisationsbaustein OB32 auf, wenn dieser geladen ist. Der Befehl, der den Transferfehler verursacht hat, wird nicht mehr bearbeitet. Bei Aufruf von OB32 stehen im AKKU 1 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern:

LZF -Lade-/Transferfehler (TRAF)

Fehlerkennung

AKKU-1-L AKKU-2-L

1A11h -

1A12h -

1A13h -

Erläuterung

Zugriff mit U/UN D, O/ON D, S/R D, =D auf ein nicht definiertes

Datenwort

Transferfehler bei TDR auf ein nicht definiertes Datenwort

1A14h

1A15h

1A16h

-

-

-

Transferfehler bei TDL auf ein nicht definiertes Datenwort

Transferfehler bei TDW auf ein nicht definiertes Datenwort

Transferfehler bei TDD auf ein nicht definiertes Datenwort

Ladefehler bei LDR auf ein nicht definiertes Datenwort

1A17h -

1A18h -

1A19h -

1A1Ah -

Ladefehler bei LDL auf ein nicht definiertes Datenwort

Ladefehler bei LDW auf ein nicht definiertes Datenwort

Ladefehler bei LDD auf ein nicht definiertes Datenwort

Zugriff mit BDW auf ein nicht definiertes Datenwort

6-36 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Sonstige

Laufzeitfehler

(OB31)

Teil 6 Unterbrechungs- und Fehlerbehandlung

Hierzu gehören alle Laufzeitfehler, die nicht einer der vorherigen Laufzeitfehlerarten (Transferfehler oder Aufruf eines nicht geladenen Bausteins) zugeordnet werden können.

Beim Erkennen eines dieser Laufzeitfehler ruft das Systemprogramm den

Organisationsbaustein OB31 auf. Der den Fehler verursachende Befehl

(bzw. die Sonderfunktion) wird nicht weiter bearbeitet. Wenn der OB31 nicht geladen ist, geht die CPU in den Stoppzustand.

Soll die Programmbearbeitung bei Auftreten eines der nachfolgend aufgeführten Fehler weiterlaufen, genügt die Bausteinende-Anweisung BE im

OB31.

Bei Aufruf des OB31 stehen in AKKU 1 und AKKU 2 zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern.

Fehleranzeigen von verschiedenen Operationen, OB254/255 und OB250

Fehlerkennung

AKKU-1-L AKKU-2-L

1A21h E DB,EX DX:

Erläuterung

Datenbaustein existiert bereits

1A22h

1A23h

1A25h

1A29h

1A2Ah

-

-

-

-

-

E DB, EX DX:

E DB, EX DX:

BI: unzulässige Anzahl Datenwörter (<1 oder > 4091)

Speicherplatz im RAM reicht nicht aus unzulässiger Parameter im AKKU 1

(<1 oder > 125)

Klammerstackunter- oder -überlauf nach ‘U(‘; ‘O(‘; ‘)’

1A2Bh

1A2Ch

1A31h

1A32h

1A33h

-

-

-

-

-

A DB,AX DX: Bausteinlänge im Datenbausteinkopf ist zu klein

(Länge < 5 Wörter)

Funktionsbaustein ist mit falscher PG-Software geladen

ACR: Kachelnummer in AKKU-1-L ist unzulässig (>255)

OB254 bzw. OB255 (Verschieben) oder DB 250:

Ziel-Datenbaustein ist bereits im DB-RAM vorhanden

OB254 bzw. OB255 (Duplizieren):

Ziel-Datenbaustein ist bereits im DB-RAM vorhanden

OB254 bzw. OB255 oder OB250:

Speicherplatz im DB-RAM reicht nicht aus

Rev. 00/27 6-37

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Fehleranzeigen von OB182

Fehlerkennung

AKKU-1-L AKKU-2-L

1A34h 0001h

Erläuterung

Beschreibung des Datenfeldes ist unzulässig

1A34h 0100h

1A34h 0101h

1A34h 0102h

Adressbereichs-Typ ist unzulässig

Datenbaustein-Nr. ist unzulässig

"Nummer des ersten Parameterwortes" ist unzulässig

1A34h 0200h

1A34h 0201h

1A34h 0202h

1A34h 0203h

"Quelldatenbaustein-Typ" ist unzulässig

"Quelldatenbaustein-Nummer" ist unzulässig

"Nummer des ersten zu übertragenden Datenwortes in der Quelle" ist unzulässig

Als Länge des Quelldatenbausteins ist im Bausteinkopf ein Wert < 5

Wörter eingetragen

1A34h 0210h

1A34h 0211h

1A34h 0212h

1A34h

1A34h

1A34h

1A34h

1A34h

0213h

0220h

0221h

0222h

0223h

"Zieldatenbaustein-Typ" ist unzulässig

"Zieldatenbaustein-Nummer" ist unzulässig

"Nummer des ersten zu übertragenden Datenwortes im Ziel" ist unzulässig

Als Länge des Zieldatenbausteins ist im Bausteinkopf ein Wert < 5

Wörter eingetragen

"Anzahl zu übertragender Datenworte" ist unzulässig

Quelldatenbaustein ist zu kurz

Zieldatenbaustein ist zu kurz

Zieldatenbaustein ist im EPROM gespeichert

6-38 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Fehleranzeigen verschiedener Sonderfunktions-OBs

Fehlerkennung

AKKU-1-L AKKU-2-L

1A35h -

1A36h -

OB250:

OB250:

Erläuterung

Nummer des Übergabebausteins ist unzulässig unterschiedliche Länge bei DB x und DB x + 1 bzw. DX x und DX x + 1

1A3Ah -

1A41h

1A42h -

1A43h -

1A44h -

1A45h

1A46h

-

-

-

OB221: unzulässiger Wert für die neue Zykluszeit

(Zykluszeit <1 ms oder > 13000 ms)

OB240, OB241 oder OB242:

Schieberegister- oder Datenbaustein-Nummer ist unzulässig (Nr. <192 oder > 255)

OB241: Schieberegister ist nicht initialisiert

OB240:

OB240:

OB240:

OB240:

Speicherplatz im DB-RAM reicht nicht aus

Datenwort DW 0 des Datenbausteins hat nicht den Inhalt ‘0’

Schieberegisterlänge in DW 1 ist unzulässig (nicht zwischen 2 und 256)

Zeigerposition ist unzulässig oder Zeigeranzahl ist

> 5

1A47h -

1A48h -

1A49h -

1A4Ah -

1A4Bh -

OB120:

OB122:

OB110:

OB121:

OB123:

Wert in AKKU 1 oder AKKU-2-L-ist unzulässig

Wert in AKKU 1 oder AKKU-2-L-ist unzulässig

Wert in AKKU 1 oder AKKU-2-L-ist unzulässig

Wert in AKKU 1 oder AKKU-2-L-ist unzulässig

Wert in AKKU 1 ist unzulässig

Rev. 00/27 6-39

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

Fehleranzeigen von OB150

Fehlerkennung

AKKU-1-L AKKU-2-L

1A4Ch 0001h

Erläuterung

Funktionsnummer ist unzulässig (=0 oder >2)

1A4Ch

1A4Ch

1A4Ch

1A4Ch

1A4Ch

1A4Ch

1A4Ch

1A4Ch

1A4Ch

0100h

0101h

0102h

0103h

0201h

0202h

0203h

0204h

0205h

Adressbereichs-Typ ist unzulässig

Datenbaustein-Nr. ist unzulässig

"Nummer des ersten Datenfeldwortes" ist unzulässig als Länge des Datenbausteins ist im Bausteinkopf ein Wert <5 Wörter eingetragen

Jahresangabe im Datenfeld ist unzulässig

Monatsangabe im Datenfeld ist unzulässig

Monatstagangabe im Datenfeld ist unzulässig

Wochentagangabe im Datenfeld ist unzulässig

Stundenangabe im Datenfeld ist unzulässig

1A4Ch

1A4Ch

1A4Ch

1A4Ch

1A4Ch

0206h

0207h

0208h

0209h

020Ah

Minutenangabe im Datenfeld ist unzulässig

Sekundenangabe im Datenfeld ist unzulässig

Wert "1/100 Sekunde" im Datenfeld ist ungleich 0

Datenfeldwort 3/Bit 0 bis 3 ist ungleich 0

Stunden-Format ist ungleich der Einstellung bei OB151

Fehleranzeigen von OB151, Ob152,OB 153

Fehlerkennung

AKKU-1-L AKKU-2-L

Anzeigen von OB151

1A4Dh

1A4Dh

1A4Dh

1A4Dh

1A4Dh

0001h

0100h

0101h

0102h

0103h

Erläuterung

Funktionsnummer ist unzulässig (=0 oder >2)

Adressbereichs-Typ ist unzulässig

Datenbaustein-Nr. ist unzulässig

1A4Dh

1A4Dh

1A4Dh

0201h

0202h

0203h

"Nummer des ersten Datenfeldwortes" ist unzulässig als Länge des Datenbausteins ist im Bausteinkopf ein Wert <5 Wörter eingetragen

Jahresangabe im Datenfeld ist unzulässig

Monatsangabe im Datenfeld ist unzulässig

Monatstagangabe im Datenfeld ist unzulässig

Fortsetzung ...

6-40 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

... Fortsetzung

Fehlerkennung

AKKU-1-L AKKU-2-L

1A4Dh 0204h

1A4Dh

1A4Dh

1A4Dh

0205h

0206h

0207h

1A4Dh

1A4Dh

1A4Dh

0208h

0209h

020Ah

Anzeigen von OB152

1A4Eh 0001h

Anzeigen von OB153

1A4Fh

1A4Fh

0001h

0002h

Erläuterung

Wochentagangabe im Datenfeld ist unzulässig

Stundenangabe im Datenfeld ist unzulässig

Minutenangabe im Datenfeld ist unzulässig

Sekundenangabe im Datenfeld ist unzulässig

Wert "1/100 Sekunde" im Datenfeld ist ungleich 0

Auftragsart im Datenfeld ist unzulässig (> 7)

Stunden-Format ist ungleich der Einstellung bei OB150

Funktionsnummer ist unzulässig (ungleich 0 bis 3 oder ungleich 5 bis

9 oder ungleich 15)

Funktionsnummer ist unzulässig (=0 oder <0)

Verzögerungszeit unzulässig

Fehleranzeigen von verschied. Systemoperationen

Fehlerkennung

AKKU-1-L AKKU-2-L

1A50h -

1A51h -

Erläuterung

LRW, TRW:

Die errechnete Speicheradresse <BR + Konstante> liegt nicht im

Bereich "0 .. EDFFH"

1)

LRD, TRD:

Die errechnete Speicheradresse <BR + Konstante> liegt nicht im

Bereich "0 .. EDFEH"

1)

1A52h

1A53h

1A54h

-

-

-

Fortsetzung ...

Rev. 00/27 6-41

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

... Fortsetzung

Fehlerkennung

AKKU-1-L AKKU-2-L

1A55h -

Erläuterung

1A56h

1A57h

1A58h

1A59h

-

-

-

-

LB CB, LW CW, TB CB, TW CW:

Die errechnete Kacheladresse <BR + Konstante> liegt nicht im

Bereich "F400h .. 77FFh"

LB CW, LW CD, TB CW, TW CD:

Die errechnete Kacheladresse <BR + Konstante> liegt nicht im

Bereich "F400h .. F7FFh"

LB CD, TB CD:

Die errechnete Kacheladresse <BR + Konstante> liegt nicht im

Bereich "F400h .. F7FFh"

TNW, TNB:

Der Quellblock liegt nicht vollständig in einem dieser Bereiche:

0000 .. 7FFF Anwenderspeicher

1)

8000

DD80

E400

.. DD7F

.. E3FF

.. E7FF

Datenbaustein-RAM

DB 0

S-Merker

E800

EE00

F000

.. EDFF

.. EFFF

.. FFFF

Systemdaten (BA, BB, BS, BT, Z, T)

Merker, Prozessabbild

Peripherie

TNW; TNB:

Der Zielblock liegt nicht vollständig in einem dieser Bereiche:

0000 .. 7FFF Anwenderspeicher

1)

8000

DD80

E400

E800

EE00

.. DD7F

.. E3FF

.. E7FF

.. EDFF

.. EFFF

Datenbaustein-RAM

DB 0

S-Merker

Systemdaten (BA, BB, BS, BT, Z, T)

Merker, Prozessabbild

F000 .. FFFF Peripherie

1) siehe Kapitel "Speicherzugriffe über absolute Adressen"

6-42 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

ADF

(Adressierfehler)

Ein Adressierfehler tritt auf, wenn mit einer Operation ein Ein- oder

Ausgang im Prozessabbild angesprochen wird, dem zum Zeitpunkt des letzten NEUSTARTs keine Peripheriebaugruppe zugeordnet war (Baugruppe war nicht gesteckt, defekt oder nicht im Datenbaustein DB 1 der

CPU angegeben).

OB25 Das Systemprogramm unterbricht nun die Bearbeitung des Anwenderprogramms und ruft den Organisationsbaustein OB25 auf. Nach der

Bearbeitung des im OB25 enthaltenen Programms wird mit dem nächsten

Befehl des unterbrochenen Programms fortgefahren. Die Anweisung, die den ADF verursacht hat, wurde zuvor ausgeführt, jedoch mit einem undefinierten Ein- oder Ausgangswert!

Wenn der OB25 nicht programmiert ist, geht die CPU beim Auftreten eines

Adressierfehlers in den Stoppzustand, es sei denn, Sie haben für diesen

Fall eine Fortsetzung der Programmbearbeitung im Datenbaustein DX 0 festgelegt.

Die Adressierfehlerüberwachung kann durch entsprechende Programmierung des DX 0 auch ganz unterdrückt werden.

Fehleranzeigen Als Fehleranzeigen werden vom Systemprogramm übergeben:

Fehlerkennung

AKKU-1-L AKKU-2-L

1E40h yyyyyh Adressierfehler yyyy = ADF-Adresse

Erläuterung

QVZ

(Quittungsverzug)

Ein Quittungsverzug tritt auf, wenn sich eine Ein- und Ausgabebaugruppe nach einer Adressierung innerhalb einer bestimmten Zeit nicht mit dem

RDY-Signal (Ready) zurückmeldet. Die Ursache des Quittungsverzugs kann ein Defekt auf der Peripheriebaugruppe sein oder das Ziehen der

Baugruppe aus dem AG während des Betriebs.

Folgende Quittungsverzugsfehler unterbrechen die Anwenderprogrammbearbeitung und rufen einen entsprechenden Organisationsbaustein auf.

Hinweis!

Wenn die aufgerufenen Organisationsbausteine nicht programmiert sind, wird die Bearbeitung des Anwenderprogramms fortgesetzt.

Ist ein Quittungsverzug aufgetreten, liest die CPU "ersatzweise" den Wert

"00H" ein und arbeitet, falls der QVZ quittiert wird, mit diesem Wert weiter.

Durch einen Quittungsverzug wird die Laufzeit des Anwenderprogramms verlängert.

Rev. 00/27 6-43

Teil 6 Unterbrechungs- und Fehlerbehandlung

STOP bei QVZ

Handbuch VIPA CPU 928 - Band 1

Wenn der Quittungsverzug zum STOP der CPU führen soll, muss im aufgerufenen OB (OB23 bzw. OB24) der Stoppbefehl STP programmiert sein.

Durch entsprechende Programmierung des DX 0 können Sie im Falle eines QVZ auch bei nicht programmierten OB23/24 einen Systemstopp veranlassen.

QVZ bei

Direktzugriff über

Rückwand-Bus

Quittungsverzug im Anwenderprogramm bei Direktzugriff über den

Rückwand-Bus auf CP, IP oder auf eine Peripheriebaugruppe (z.B. mit

Lade- und Transferbefehlen L/T P...bzw. Q...).

OB23 Das Systemprogramm ruft den Organisationsbaustein OB23 auf, wenn dieser geladen ist.

Fehleranzeigen In den AKKUs 1 und 2 stehen dabei zusätzliche Informationen, die den auftretenden Fehler näher erläutern:

QVZ-Anzeigen bei Quittungsverzug

Fehlerkennung

AKKU-1-L AKKU-2-L

1E23h yyyyyh Quittungsverzug yyyy = QVZ-Adresse

Erläuterung

QVZ-Adresse Die QVZ-Adresse weist auf das Peripheriebyte, welches als erstes einen

QVZ erzeugt hat. In der Regel ist dies das Byte mit der niedrigsten

Adresse bei Peripheriebefehlen.

Eine Ausnahme hiervon sind QVZ-Adressen, die bei den Befehlen

TNB/TNW im Fall eines Quittungsverzuges geliefert werden:

Da diese Befehle dekrementierend arbeiten, zeigt in diesem Fall die QVZ-

Adresse auf das Byte mit der höchsten Adresse, das bei einem

Blocktransfer den QVZ ausgelöst hat.

6-44 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

QVZ bei PAE/PAA-

Aktualisierung

Quittungsverzug bei Zugriffen vom Systemprogramm zur Aktualisierung des Prozessabbildes.

OB24 Das Systemprogramm ruft den Organisationsbaustein OB24 auf, wenn dieser geladen ist.

Fehleranzeigen In den AKKUs 1 und 2 stehen zusätzliche Informationen, die den aufgetretenen Fehler näher erläutern.

QVZ-Anzeigen bei Aufruf des OB 24

Fehlerkennung

AKKU-1-L AKKU-2-L

1E25h yyyyyh

1E26h yyyyyh

Erläuterung

Quittungsverzug bei der Ausgabe des Prozessabbildes der digitalen

Ausgänge yyyy = Adresse des nicht quittierten Ausgangsbytes

Quittungsverzug beim Aktualisieren des Prozessabbildes der digitalen

Eingänge yyyy = Adresse des nicht quittierten Eingangsbytes

Rev. 00/27 6-45

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

ZYK

(Zykluszeitfehler)

Die Zykluszeit umfasst die gesamte Zeitdauer einer Bearbeitung des zyklischen Programms. Eine Überschreitung der in der CPU eingestellten

Zyklusüberwachungszeit kann ausgelöst werden z.B. durch fehlerhafte

Programmierung, durch eine Programmschleife in einem Funktionsbaustein, durch Ausfall des Taktgenerators oder durch Systemleistungen wie z.B. Prozessabbildaktualisierung in Verbindung mit langen Programmen.

OB26 Wenn eine Zykluszeitüberschreitung auftritt, unterbricht das Systemprogramm die Bearbeitung des Anwenderprogramms und ruft den

Organisationsbaustein OB26 auf, wenn dieser geladen ist. Die Überwachungszeit wird dabei neu gestartet (getriggert). Falls die Überwachungszeit erneut abläuft, bevor der OB26 zu Ende bearbeitet ist, geht die CPU mit Doppelfehler in den Stoppzustand.

Zyklusüberwachungszeit

Die Zyklusüberwachungszeit ist variabel (1 bis 13000 ms) und nachtriggerbar (siehe oben). Unabhängig von der Zykluszeit wird 100 ms nach

Ablauf der Zyklusüberwachungszeit BASP aktiv gesetzt, wenn der OB26 zu diesem Zeitpunkt noch nicht zu Ende bearbeitet ist.

Die Zyklusüberwachungszeit können Sie individuell vorgeben durch einen

Eintrag im DX 0 oder durch Aufruf des Sonderfunktions-Organisationsbausteins OB221.

Im zyklischen Programm kann die Zyklusüberwachungszeit durch einen

Aufruf des Sonderfunktionsbaustein OB222 "nachgetriggert" werden.

STOP bei nicht geladenem OB26

Wenn der OB26 nicht programmiert ist, geht die CPU in den Stoppzustand.

Soll dies nicht geschehen, so müssen Sie die Voreinstellung im DX 0 entsprechend ändern.

Fehleranzeigen Bei Auftreten eines Zykluszeitfehlers werden keine Fehlerkennungen in

AKKU 1 oder AKKU 2 übergehen.

6-46 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

WECK-FE

(Weckfehler)

Teil 6 Unterbrechungs- und Fehlerbehandlung

Wenn für einen bestimmten Weckalarm-OB eine erneute Anforderung auftritt, bevor seine letzte Anforderung vollständig bearbeitet ist, erkennt das Systemprogramm einen Weckfehler.

OB33 Wenn ein Weckfehler auftritt, ruft das Systemprogramm den

Organisationsbaustein OB33 auf, wenn dieser geladen ist, oder die CPU geht in den Stoppzustand. Beachten Sie hierzu auch die Aussagen unter

"Weckfehler" im Teil "Betriebszustände und Programmbearbeitungsebenen".

Fehleranzeigen In den AKKUs 1 und 2 hinterlegt das Systemprogramm zusätzliche

Informationen, die den aufgetretenen Fehler näher erläutern:

Fehlerkennung

AKKU-1-L AKKU-2-L

1001h 0016h

1001h

1001h

1001h

1001h

0014h

0012h

0010h

000Eh

1001h

1001h

1001h

1001h

000Ch

000Ah

0008h

0006h

Erläuterung

Weckfehler bei OB10

Weckfehler bei OB11

Weckfehler bei OB12

Weckfehler bei OB13

Weckfehler bei OB14

Weckfehler bei OB15

Weckfehler bei OB16

Weckfehler bei OB17

Weckfehler bei OB18

(10ms)

(20 ms)

(50 ms)

(100 ms)

(200 ms)

(500 ms)

(1 s)

(2 s)

(5 s)

Hinweis!

Die Kennung im AKKU 2 ist die Ebenenkennung des fehlererzeugenden

Weckalarms.

Ist der OB33 nicht programmiert, so geht die CPU in den Stoppzustand.

Durch entsprechende Programmierung im DX 0 können Sie bei aufgetretenem Weckfehler und nicht programmiertem OB33 die Programmbearbeitung jedoch weiterlaufen lassen.

Ein erneuter Aufruf der bereits aktivierten Fehlerprogrammbearbeitungsebene "Weckfehler" führt nicht zu einem Doppelfehler (DOPP)!

Rev. 00/27 6-47

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

ABBR (Abbruch)

Auslösung und Reaktion

Wenn im Betriebszustand RUN der Stoppzustand angefordert wird durch

Betätigen des Betriebsartenschalters an der CPU von RUN auf STOP,

PG-Online-Funktion AG-STOP,

Schalter am Koordinator auf STOP,

• so ruft das Systemprogramm den OB28 auf, wenn dieser geladen ist.

Nach der Bearbeitung des OB28 geht die CPU in den Stoppzustand.

Hinweis!

Der Übergang in den Stoppzustand erfolgt unabhängig davon, ob und wie der OB28 programmiert ist.

keine Fehlerkennungen

Es werden keine Fehlerkennungen in AKKU 1 oder AKKU 2 übergeben

Kommunikationsfehler (FE-3)

Treten auf der zweiten seriellen Schnittstelle bei Rechnerkopplung RK 512,

Datenübertragung mit Prozedur 3964/3964R, Störungen auf, liegt ein Kommunikationsfehler vor. Bei einem Kommunikationsfehler ruft das Systemprogramm den Organisationsbaustein OB35 auf und übergibt in AKKU 1 zusätzliche Informationen, die die aufgetretenen Störungen näher erläutern.

OB35 Haben Sie keinen OB35 programmiert, so erfolgt keine Reaktion des

Systemprogramms und die CPU geht nicht in den Stoppzustand. Das ist die Standardeinstellung.

Soll beim Auftreten eines Schnittstellenfehlers die CPU auch bei nicht vorhandenem OB35 in den Stoppzustand gehen, so müssen Sie die

Voreinstellung im DX 0 entsprechend ändern.

Fehlerinformation in AKKU 1

Alle 100 ms prüft das Systemprogramm, ob Kommunikationsfehler an der zweiten seriellen Schnittstelle aufgetreten sind. Ist dies der Fall, so hinterlegt das Systemprogramm im AKKU 1 Fehlerinformationen. Ist der

OB35 vorhanden, so wird er vom Systemprogramm aufgerufen und die

Fehlerinformation in AKKU 1 übergeben.

Es können Fehlernummern zu maximal drei Störungsursachen beim Aufruf des OB35 übergeben werden. Liegen gleichzeitig mehr als drei Störungsursachen vor, so wird dies durch eine spezielle Überlaufkennung angezeigt.

6-48 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 6 Unterbrechungs- und Fehlerbehandlung

Aufbau der

Fehlerinformation in AKKU 1

31 24 23 18

AKKU 1 0 0 0 0 F U B 0 Fehlernummer

1

15 8

Fehlernummer

2

7 8

Fehlernummer

3

F

U

B

= ‘0’, wenn kein Fehlereintrag im Fehlerbereich

= ‘1’, wenn Fehler in Fehlerbereich eingetragen

= ‘0’, wenn kein Fehlerüberlauf (maximal drei Einträge)

= ‘1’, wenn Fehlerüberlauf (mehr als drei Einträge)

= ‘0’, wenn kein BREAK auf der Schnittstelle

= ‘1’, wenn BREAK auf der Schnittstelle

BREAK Bei BREAK auf der Schnittstelle wird der OB35 nur zu Beginn des BREAK-

Zustandes aufgerufen.

Fehlernummer 1 bis 3

Hier werden maximal 3 Fehlernummern zu den auf der Schnittstelle erkannten Störungen eingetragen und zwar in der Reihenfolge, in der sie vom System erkannt werden.

Bedeutung der

Fehlernummern

Die Bedeutung der Fehlernummern sowie weitere Informationen zur Behandlung von Schnittstellenfehlern entnehmen Sie bitte dem Handbuch

Ihrer Kommunikationsbaugruppe.

Rev. 00/27 6-49

Teil 6 Unterbrechungs- und Fehlerbehandlung Handbuch VIPA CPU 928 - Band 1

6-50 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 7 Erweiterter Datenbaustein DX 0

Teil 7 Erweiterter Datenbaustein DX 0

Überblick In diesem Kapitel wird der Aufbau und die Einträge im erweiterten Datenbaustein DX 0 beschrieben.

Sie erfahren, wofür Sie den Datenbaustein DX 0 einsetzen können und wie er aufgebaut ist. Weiterhin werden Sie informiert welche Bedeutung die verschiedenen DX-0-Parameter haben. Sie lernen an Hand von Beispielen, wie Sie einen DX 0 erstellen bzw. über eine Maske parametrieren können.

Nachfolgend sind beschrieben:

Einstellungen im DX 0

Formaler Aufbau und Parameter

Beispiele

Inhalt Thema Seite

Teil 7 Erweiterter Datenbaustein DX 0..................................................7-1

Anwendung...........................................................................................7-2

Aufbau des DX 0 ..................................................................................7-3

Parameter für DX 0...............................................................................7-5

Parametrierbeispiele .............................................................................7-9

Rev. 00/27 7-1

Teil 7 Erweiterter Datenbaustein DX 0

Anwendung

Handbuch VIPA CPU 928 - Band 1

Als Anwender können Sie bestimmte Leistungen des Systemprogramms

Ihren Erfordernissen anpassen, wenn Sie im DX 0 alternativ zu den

Standard-Voreinstellungen durch Parametereingabe andere Einstellungen vornehmen.

Die Voreinstellungen des Systemprogramms (in der Parameter-Tabelle mit

"V" gekennzeichnet) werden automatisch bei jedem Neustart gesetzt.

Danach wird der DX 0 ausgewertet. Haben Sie den Baustein DX 0 nicht geladen, so gelten weiterhin die Voreinstellungen; ansonsten werden die

Einstellungen gültig, mit denen Sie den DX 0 parametriert haben.

Sie können die Einstellungen im DX 0 vornehmen, indem Sie die Werte wie bei anderen Datenbausteinen über Anweisungen programmieren oder - mit

PG-Systemsoftware S5-DOS von Siemens ab Version 3.0 - die Werte über eine spezielle Maske an Ihrem PG als Parameter eingeben.

Hinweis!

DX 0 wird nur bei Neustart ausgewertet.

Für alle nicht im DX 0 eingetragenen Parameter werden die Voreinstellungen des Systemprogramms übernommen.

7-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Aufbau des DX 0

Einleitung

Teil 7 Erweiterter Datenbaustein DX 0

Der DX 0 setzt sich aus drei Teilen zusammen:

• der Anfangskennung für den DX 0 (DW0, 1 und 2),

• mehreren Blöcken unterschiedlicher Länge (je nach Parameteranzahl),

• der Endekennung EEEEh.

Anfangskennung ASCII-Zeichen MASKX0 in DW0 bis DW2.

Block Ein Block im DX 0 besteht aus 1 bis n Datenwörtern. Diese enthalten:

• die Blockkennung,

• die Blocklänge

• und die Blockparameter.

Die Blockkennung gibt an, welche Bedeutung die folgenden Parameter haben. Jeder Block ist einem bestimmten Systemprogrammteil oder einer bestimmten Systemfunktion zugeordnet (z.B. leitet die Blockkennung '04' den Parameterblock für zyklische Programmbearbeitung ein).

Blocklänge

Parameter

Endekennung

Die Blocklänge gibt an, wieviele Datenwörter die nachfolgenden Parameter belegen.

Die möglichen Parameter finden Sie im Teil "Parameter des DX0. Die angegebenen Zahlenwerte sind im Hexadezimalformat (KH).

Sie kennzeichnet das Ende des DX 0 durch EEEEh im letzen Datenwort.

Rev. 00/27 7-3

Teil 7 Erweiterter Datenbaustein DX 0

Formaler Aufbau des DX 0

Handbuch VIPA CPU 928 - Band 1

Beispiel für die

Eingabe des DX 0

Anfangskennung DW 0: KH =

DW 1: KH =

Blockkennung/-länge

DW 2: KH =

DW 3: KH =

Parameter (belegt 1 DW) DW 4: KH =

Blockkennung/-länge DW 5: KH =

Parameter (belegt 2 DW) DW 6: KH =

Endekennung

DW 7: KH =

DW 10: KH =

4D41

534B

5830

0201

1001

0402

1000

0400

EEEE

Block 1

Block 2

Beachten Sie bei der Parametrierung des DX 0 folgende Punkte:

Die Reihenfolge, in der Sie die einzelnen Blöcke eingeben, ist beliebig.

Nicht benötigte Blöcke brauchen nicht angegeben zu werden.

Ist ein bestimmter Block mehrfach vorhanden, gilt der Block, den Sie zuletzt eingegeben haben.

Die Reihenfolge, in der Sie die einzelnen Parameter eingeben, ist beliebig.

Nicht benötigte Parameter brauchen nicht angegeben zu werden.

Ist ein bestimmter Parameter mehrfach genannt, gilt die letzte Angabe.

7-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Parameter für DX 0

Teil 7 Erweiterter Datenbaustein DX 0

Bedeutung der Parameter

Blockkennung/

-Länge

ANLAUF und RUN

02xx

1)

Parameter

1. Wort/2. Wort

1000

1001

Bedeutung: (V=Voreinstellung bei nicht geladenem DX 0 bzw.

fehlendem Block/Parameter)

V AUTOMATISCHER WIEDERANLAUF nach NETZ EIN

AUTOMATISCHER NEUSTART nach NETZ EIN

2000

2001

3000

3001

4000

V

V

V

Synchronisation ANLAUF

Keine Synchronisation ANLAUF

Adressierfehlerüberwachung

Keine Adressierfehlerüberwachung

WIEDERANLAUF

6000 V Gleitpunktarithmetik mit 16-bit-Mantisse

(CPU rechnet immer mit 24 bit)

6001

BB00 yyyy

Gleitpunktarithmetik mit 24-bit-Mantisse

Anzahl der zu aktualisierenden Zeitzellen

2)

Voreinstellung: yyyy = 256 Zeitzellen, d.h.

Zeitzelle 0 bis 255 zulässig: 0...255

F00X Identifikation des CPU-Typs

0 = CPU 928 3UB12

1 = CPU 928 3UB21

2 = CPU 928 3UC11

Wenn Eintrag vorhanden ist dann muss dieser mit CPU-Typ

übereinstimmen, ansonsten CPU-STOP mit DX0-Fehler!

Zyklische Programmbearbeitung

04xx

1)

1000 yyyy Länge der Zyklusüberwachungzeit in Millisekunden;

Voreinstellung: yyyy = 150 ms, zulässig: 1

≤ yyyy

32C8 (hex)

1 ms bis 13000 ms (dez)

4000

4001

Fehlerbehandlung

10xx

1)

1000

1001

V Aktualisierung des Prozessabbildes ohne Semaphorschutz

Aktualisierung des Prozessabbildes mit Semaphorschutz

Alarmbearbeitung: Weckalarme

06xx

1) 3)

Auswahl des Bearbeitungs-Modus

3)

2000

2001

V Prozessalarm-Signal, pegelgetriggert

Prozessalarm-Signal, flankengetriggert

Weckfehlerbehandlung:

V Systemstopp, wenn Ereignis eintritt und der OB33 nicht geladen ist.

Kein Systemstopp, wenn Ereignis eintritt und der OB33 nicht geladen ist.

Fortsetzung ...

Rev. 00/27 7-5

Teil 7 Erweiterter Datenbaustein DX 0 Handbuch VIPA CPU 928 - Band 1

... Fortsetzung

Blockkennung/

-Länge

10xx

1)

Parameter

1. Wort/2. Wort

Bedeutung: (V=Voreinstellung bei nicht geladenem DX 0 bzw.

fehlendem Block/Parameter)

1400

1401

1800

1801

1A00

Zyklusfehlerbehandlung:

V Systemstopp, wenn Ereignis eintritt und der OB26 nicht geladen ist.

Kein Systemstopp, wenn Ereignis eintritt und der OB26 nicht geladen ist.

Befehlscodefehlerbehandlung:

V Systemstopp, wenn Ereignis eintritt und der OB27/29/30 nicht geladen ist.

Kein Systemstopp, wenn Ereignis eintritt und der

OB27/29/30 nicht geladen ist.

Laufzeitfehlerbehandlung:

V Systemstopp, wenn Ereignis eintritt und der OB19/31/32

1A01

1C00

1C01

1E00

1E01

2000

2001 nicht geladen ist.

Kein Systemstopp, wenn Ereignis eintritt und der

OB19/31/32 nicht geladen ist.

Adressierfehlerbehandlung:

V Systemstopp, wenn Ereignis eintritt und der OB25 nicht geladen ist.

Kein Systemstopp, wenn Ereignis eintritt und der OB25 nicht geladen ist.

Quittungsverzugsfehlerbehandlung:

Systemstopp, wenn Ereignis eintritt und der OB23/24 nicht geladen ist.

V Kein Systemstopp, wenn Ereignis eintritt und der OB23/24 nicht geladen ist.

Schnittstellenfehlerbehandlung:

Systemstopp, wenn Ereignis eintritt und der OB35 nicht geladen ist.

V Kein Systemstopp, wenn Ereignis eintritt und der OB35 nicht geladen ist.

1)

EEEE Endekennung xx = Blocklänge (Anzahl der von den Parameter belegten Wörter)

2)

Zur Aktualisierung der Zeitzellen lesen Sie bitte die Erklärung auf der nächsten Seite

3)

Parameter und Bedeutung entnehmen Sie bitte der auf Seite 7-8 aufgeführten Tabelle

7-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 7 Erweiterter Datenbaustein DX 0

Parametereingabe Die aktuelle PG-Software (STEP

®

5/ST Vers. 6 bzw. STEP

®

5/MT Vers. 2 von Siemens) zum Generieren des DX 0 mit Hilfe einer Maske setzt die

Parameter für die Schnittstellenfehlerbehandlung (Blockkennung 10xx,

Parameter 2000 bzw. 2001) nicht ab.

Sie können diese Parameter z.B. mit der PG-Funktion "Ausgabe Baustein" eintragen (vergessen Sie dabei nicht, die Blocklänge zu ändern!). Ein so geänderter DX 0 ist mit der aktuellen PG-Software mit Hilfe der Funktion

"Ausgabe Maske" nicht mehr editierbar.

Aktualisierung der

Zeitzellen

Standardmäßig werden die Zeitzellen T 0 bis T 255 aktualisiert.

Wenn Sie im DX 0 die Anzahl '0' eintragen, werden keine Zeitzellen aktualisiert, auch dann nicht, wenn Sie im Programm enthalten sind. Es gibt dann auch keine Fehlermeldung.

Parameter für die Alarmbearbeitung

Aus der folgenden Tabelle können Sie für Ihre Alarmbearbeitung den passenden Parameter heraussuchen und den DX 0 damit programmieren.

Je nachdem, welchen Parameter Sie wählen, sind entsprechend den

Symbolen bestimmte (oder alle) Alarme an Bausteingrenzen, andere (oder alle) an Befehlsgrenzen wirksam.

Rev. 00/27 7-7

Teil 7 Erweiterter Datenbaustein DX 0 Handbuch VIPA CPU 928 - Band 1

1)

Die PG-Software zum Generieren des DX 0 setzt die "alten" Parameter ein. Soll ein DX 0, der

über STEP

®

5 von Siemens mit neuen Parametern erstellt wurde, am PG angezeigt werden, so führt dies zu einer Fehlermeldung.

Hinweis!

Falls die Alarmbearbeitung an Befehlsgrenzen eingeschaltet ist, werden bei Unterbrechungen u.U. auch die Operationen 'TNB' bzw. 'TNW' unterbrochen. Dies gilt ebenso für einige wenige Sonderfunktions-Organisationsbausteine, Standardfunktionsbausteine und Regler-Funktionsbausteine.

7-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Parametrierbeispiele

Programmierung

Beispiel

Teil 7 Erweiterter Datenbaustein DX 0

Mit der folgenden Parametrierung des DX 0 wird

− die Adressierfehler-Überwachung abgeschaltet,

− die Zeitzellenaktualisierung abgeschaltet,

− die Zykluszeit auf 4 s eingestellt.

DX 0 Anfangskennung "MASKX0" DW0: KH = 4D41

DW1: KH = 534B

1. Blockkennung/-länge

Parameter

Parameter

1)

2. Blockkennung/-länge

Parameter

1)

DW2: KH = 5830

DW3: KH = 0203

DW4: KH = 3001

DW5: KH = BB00

DW6: KH = 0000

DW7: KH = 0402

Endekennung

DW8: KH = 1000

DW9: KF = +4000

DW10: KH = EEEE

1)

Parameter, die zwei Datenwörter belegen, müssen bei der Angabe der

Blocklänge mit '2' berücksichtigt werden!

Diese Parametrierung des DX 0 hat folgende Auswirkungen auf die Programmbearbeitung:

Derjenige Teil des Prozessabbilds, dem keine Peripheriebaugruppen zugeordnet sind, kann als zusätzlicher "Merkerbereich" benutzt werden.

Die Laufzeit des Systemprogramms verkürzt sich, da keine Zeitzellen aktualisiert werden.

Ein Zyklusfehler wird erst dann erkannt, wenn die Laufzeit des

Anwenderprogramms und des Systemprogramms zusammen 4 s

übersteigt.

Rev. 00/27 7-9

Teil 7 Erweiterter Datenbaustein DX 0 Handbuch VIPA CPU 928 - Band 1

Parametrierung

über PG-Maske

Für die Parametrierung des DX 0 stehen Ihnen bei der PG-Systemsoftware S5-DOS von Siemens (ab Version 3) Masken zur Verfügung. Die

PG-Software generiert entsprechend den Parametervorbesetzungen und den von Ihnen eingegebenen Parametern automatisch den Datenbaustein

DX 0. Für die Parametrierung werden zwei Masken benötigt.

Die grundsätzlichen Bedienungen zur Anwahl und zum Ausfüllen von PG-

Masken entnehmen Sie bitte Ihrer PG-Beschreibung.

Hantierung beim Ausfüllen der DX 0-Masken

Die PG-Maske zum Ausfüllen des DX 0 besteht aus zwei Teilmasken:

1. Teilmaske DX 0

7-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

2. Teilmaske DX 0

Teil 7 Erweiterter Datenbaustein DX 0

Rev. 00/27

Das nachfolgende Ablaufdiagramm erläutert Ihnen, wie Sie die Teilmasken und Maskenfelder ausfüllen, die Parameter abspeichern und den erzeugten Datenbaustein DX 0 laden können.

7-11

Teil 7 Erweiterter Datenbaustein DX 0 Handbuch VIPA CPU 928 - Band 1

Ablaufdiagramm zum Ausfüllen der DX 0-Parameter

Sind in der 1.Teilmaske Parameter zu ändern?

NEIN JA

Wiederholen Sie folgenden Vorgang so oft, bis Sie alle notwendigen Änderungen in der Teilmaske durchgeführt haben:

-Eingabefeld anwählen:

Schreibmarke vor das Parameterfeld positionieren. Das Anzeigefeld F3 am unteren Bildschirmrand zeigt an, ob Sie zwischen Alternativen auswählen

(Anzeige "WAEHLEN") oder den Parameterwert verändern können (Anzeige

"EINGEBEN").

-WAEHLEN:

Betätigen Sie so oft die Taste F3, bis die gewünschte Alternative angezeigt wird.

-"EINGEBEN":

Betätigen Sie einmal die Taste F3: die Schreibmarke springt an den

Feldanfang. Sie können nun das Feld mit einem erlaubten Zahlenwert

überschreiben.

Sind in der 2.Teilmaske Parameter zu ändern?

JA NEIN

Betätigen Sie die Taste F6 ("WEITER"); es wird Ihnen die 2.Teilmaske angezeigt.

Verfahren Sie beim Ändern der Parameter so, wie oben für die 1.Teilmaske

geschildert.

Betätigen Sie nun die Übernahmetaste: Die PG-Software übernimmt alle Parametereinstellungen aus den beiden Teilmasken und generiert daraus den Datenbaustein DX 0.

Der DX 0 ist im PG abgespeichert. Sie können ihn mit dem PG in die CPU laden oder in einem

EPROM-Modul abspeichern.

7-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Beispiel zum

Ausfüllen der

DX 0-Maske

Teil 7 Erweiterter Datenbaustein DX 0

Sie wollen den DX 0 für folgendes Verhalten des Systemprogramms abweichend von den Vorbesetzungen parametrieren:

Die Zyklusüberwachungszeit soll 100 ms betragen.

Arithmetische Operationen sollen mit 24-Bit-Gleitpunktmantisse durchgeführt werden.

Bei Zyklusfehlern soll die CPU nicht in STOP gehen, wenn der OB26 nicht geladen ist.

Das Anwenderprogramm soll von allen Alarmen an Befehlsgrenzen unterbrochen werden.

Füllen Sie für diese Wünsche die Maske folgendermaßen aus:

Erste DX 0-Maske:

Wählen Sie bei Parameter MEHRPROZESSORANLAUF SYNCHRO-

NISIEREN mit der Funktionstaste F3 NEIN an.

Betätigen Sie beim Parameter ZYKLUSZEITUEBERWACHUNG zunächst die Funktionstaste F3 und geben Sie die Ziffer 10 (= 100 ms) ein.

Wählen Sie beim Parameter GENAUIGKEIT DER GLEITPUNKT-

ARITHMETIK mit der Funktionstaste F3 die "24-Bit-Mantisse" an.

Betätigen Sie die Funktionstaste F6 (WEITER). Es wird danach die zweite DX 0-Maske vorgelegt.

Zweite DX 0-Maske:

Wählen Sie bei Parameter ZYKLUSFEHLER mit der Funktionstaste F3

NEIN an.

Geben Sie in das Feld MODE bei Parameter UNTERBRECHBARKEIT

DES ANWENDERPROGRAMMS DURCH ALARME die Ziffer '2' (= alle

Alarme an Befehlsgrenzen) ein.

Bestätigen Sie mit der Übernahmetaste die gesamten Eingaben. Der

Datenbaustein DX 0 wird nun von der PG-Software generiert.

Übertragen Sie anschließend den DX 0 in den Speicher der CPU oder in ein EPROM-Speichermodul.

Rev. 00/27 7-13

Teil 7 Erweiterter Datenbaustein DX 0 Handbuch VIPA CPU 928 - Band 1

7-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 8 Speicherbelegung und -organisation

Teil 8 Speicherbelegung und -organisation

Überblick In diesem Kapitel wird die Stuktur des Speichers und die Organisation des

Anwenderspeichers der CPU 928 beschrieben.

Sie finden hier wichtige und für den Anwender zugängliche Informationen, die in einigen Systemdatenwörtern hinterlegt sind.

Inhalt

Nachfolgend sind beschrieben:

Adressraumaufteilung

Bausteinköpfe

Bausteinadresslisten im DB 0

BA/BB-Bereich

BS/BT-Bereich

Bitbelegung der Systemdatenwörter

Thema Seite

Teil 8 Speicherbelegung und -organisation .........................................8-1

Struktur des Speichers CPU 928 ..........................................................8-2

Adressbereiche für die Peripherie und deren Programmierung ............8-4

Organisation des Anwenderspeichers CPU 928 ...................................8-5

Rev. 00/27 8-1

Teil 8 Speicherbelegung und -organisation Handbuch VIPA CPU 928 - Band 1

Struktur des Speichers CPU 928

Unterschiede

CPU 928B und

CPU 928C

Bezüglich der Speicherstruktur unterscheidet sich die CPU 928B von der

CPU 928C in der Größe des DB-Speichers. Im Gegensatz zur CPU 928B ist der Anwenderspeicher bei der CPU 928C in eine zusätzliche Speicherbank ausgelagert. Dadurch vergrößert sich das DB-RAM bei der CPU

928C und beginnt schon bei 0000. Der Anwenderspeicher steht nun nicht mehr im direkten Zugriff.

Für den Zugriff auf der Anwenderspeicher in der CPU 928C sind die zwei

Befehle LDI und TDI erforderlich, die den LIR- und TIR-Befehl in diesem

Bereich ersetzen.

Das nachfolgende Bild soll nochmals die Unterschiede verdeutlichen:

CPU 928B CPU 928C

15 8 7 15 8 7

0000

Anwenderspeicher

32kWord

7FFF

8000

DB-RAM

23kWord

DD7F

DD80

DB 0 (Bausteinadresslisten)

E3FF

E400

S-Merker

E7FF

E800

EDFF

Systemtransferdaten (BA-/BB-Bereich)

Systemdaten (BS-/BT-Bereiche)

Zähler, Zeiten

EE00

Merker

EEFF

EF00

PA-Bereich

EFFF

F000

FFFF

Peripherie

(digital, analog

CP, IP)

0

0000

7FFF

8000

DB-RAM

55kWord

DD7F

DD80

DB 0 (Bausteinadresslisten)

E3FF

E400

S-Merker

E7FF

E800

EDFF

Systemtransferdaten (BA-/BB-Bereich)

Systemdaten (BS-/BT-Bereiche)

Zähler, Zeiten

EE00

Merker

EEFF

EF00

PA-Bereich

EFFF

F000

FFFF

Peripherie

(digital, analog

CP, IP)

0

0000

FFFF

15 8 7

Anwenderspeicher

64kWord

LDI TDI

LDI x

(nur CPU 928C)

TDI x

(nur CPU 928C)

Register für LDI und TDI

0

Das Register x mit dem Inhalt eines Anwenderspeicher-Worts laden, dessen Adresse sich in AKKU 1 befindet. Unterstützt werden x = 0 ... 3.

Den Registerinhalt von x in das Anwenderspeicherwort, dessen Adresse sich in AKKU 1 befindet, transferieren. Unterstützt werden x = 0 ... 3.

Register-Nr. x:

AKKU 2 AKKU 1 high low high low

2 3 0 1

8-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 8 Speicherbelegung und -organisation

Hinweis!

Der Zugriff auf eine Speicherzelle innerhalb eines Operandenbereichs wie z.B. Merker sollten nie direkt über die absolute Adresse dieser Speicherzelle erfolgen. Verwenden Sie indirekte Zugriffe relativ zur Basisadresse. Die Basisadresse aller Operandenbereiche finden Sie im BS-

Bereich.

Im Speicher der CPU 928 finden Sie folgende Bereiche:

Adressraum Speicherbereich

Datenbaustein,

Schieberegister

Länge Breite

CPU 928B

0000...7FFF

Anwenderspeicher für: OB, FB, FX, PB, SB, DB, DX 32 kWord 16 Bit

8000...DD7F

DB-RAM für: 23 kWord 16 Bit

CPU 928C Der Anwenderspeicher ist in Speicherbank ausgelagert. Das DB-RAM beginnt schon bei 0000. Für direkten Zugriff auf den Anwenderspeicher sind die mitgelieferten Befehle LDI und TDI erforderlich)

0000...FFFF

Anwenderspeicher für: OB, FB, FX, PB, SB, DB, DX 32 kWord 16 Bit

0000...DD7F

DB-RAM für: Datenbaustein,

Schieberegister

55 kWord 16 Bit

CPU 928B und CPU 928C

DD80...E3FF

DB 0

E400...E7FF

Merker:

Bereich Anschaltung:

E800...E8FF

Bausteinadresslisten

S

1664 Byte

1024 Byte

16 Bit

8 Bit

E900...E9FF

BA Bereich Anschaltung 256 Worte 16 Bit

BB Erweiterter Bereich Ansch.

256 Worte 16 Bit

Bereich System:

EA00...EAFF

EB00...EBFF

EC00...ECFF

Zähler:

ED00...EDFF

Zeiten:

EE00...EEFF

Merker:

BS Bereich Systemdaten 256 Worte 16 Bit

BT Erweiterter Ber. Systemdat. 256 Worte 16 Bit

Z

T

M

EF00...EFFF

Prozessabbild der E/A PAE, PAA

F000...FFFF

Peripheriebereich unterteilt in:

P-Peripherie

F000...F07F

F080...F0FF

Digitale Peripherie (mit PA)

Digitale oder analoge

Peripherie (ohne PA)

F100...F1FF

Q-Peripherie

F200...F2FF

256 Worte

256 Worte

256 Byte je 128 Byte

256 Byte

128 Byte

128 Byte

16 Bit

16 Bit

8 Bit

8 Bit

8 Bit

8Bit

8 Bit

F300...F3FF

F400...FBFF

FC00...FCFF

FD00...FDFF

FE00...FEFE

Kacheln

IM 3

IM 4

Dezentrale

FEFF

Peripherie belegt bei Einsatz von

Kachelbaugruppen

FF00...FFFF

reserviert

CP, IP, erweitertes Adressvolumen

256 Byte

256 Byte

256 Byte

8 Bit

8 Bit

8 Bit

2048 Byte 8 Bit

256 Byte 8 Bit

256 Byte

255 Byte

8 Bit

8 Bit

1 Byte

256 Byte

8 Bit

8 Bit

Rev. 00/27 8-3

Teil 8 Speicherbelegung und -organisation Handbuch VIPA CPU 928 - Band 1

Adressbereiche für die Peripherie und deren Programmierung

Bereich (absolute Adresse)

EF00...EF7F

EF80...EFFF

PAE

(Prozessabbild

Eingänge)

PAA

(Prozessabbild

Ausgänge) wird angesprochen mit Parameter

L EB / T EB 0...127

L EW / T EW

L ED / T ED

U E / UN E

O E / ON E

0...126

0...124

0.0...127.7

0.0...127.7

S E / R E / =E

L AB / T AB

L AW / T AW

L AD / T AD

U A / UN A

O A / ON A

S A / R A / =A

0.0...127.7

0...127

0...126

0...124

0.0...127.7

0.0...127.7

0.0...127.7

P-Peripherie mit Prozessabbild

Während der Operationsbearbeitung wird nur das Prozessabbild verändert. Erst am Ende des

Zyklus wird der Zustand des Prozessabbilds der Ausgänge an die Peripherie ausgegeben.

F000...F07F

Digitale Peripherie L PY / T PY 0...127

Eingänge/Ausgänge L PW / T PW 0...126

128...255

128...254

F080...F0FF

Digitale oder analoge

Peripherie

Eingänge/ Ausgänge

L PY / T PY

L PW / T PW

P-Peripherie

Die Ein- und Ausgänge werden byte- oder wortweise direkt angesprochen.

F100...F1FF

Erweiterte Peripherie

Eingänge/Ausgänge

L QB / T QB

L QW / T QW

0...255

0...254

Q-Peripherie

Die Ein- und Ausgänge werden byte oder wortweise direkt angesprochen.

Mit Operationen können Sie entweder direkt oder über das Prozessabbild auf die Peripherie zugreifen.

Hinweis!

Über Anschaltungen wie IM308 können Sie mit Ihrem Programm auf dezentrale Adressbereiche (gleichwertig zum Q-Bereich) zugreifen. Ein

Zugriff ist aber nur über absolute Adressierung möglich.

8-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 8 Speicherbelegung und -organisation

Organisation des Anwenderspeichers CPU 928

Der Anwenderspeicher umfasst, den Speicherbereich bei der CPU 928B

0000h...7FFFh (bei 928C 0000h...FFFFh). Beim Laden werden die einzelnen Bausteine in beliebiger Reihenfolge im Speicher abgelegt.

Die Position des Anwenderspeichers ist von der eingesetzten CPU abhängig. Bei der CPU 928C kommt eine zusätzliche Speicherbank zum

Einsatz, so dass das DB-RAM vergrößert wird und schon bei 0000 beginnt.

Hinweis!

Bitte beachten Sie, dass über LIR und TIR kein direkter Zugriff auf den

Anwenderspeicher möglich ist. Verwenden Sie hierzu die mitgelieferten

Befehle LDI und TDI.

"alternatives Laden" der Datenbausteine

Abhängig von den Einstellungen im Systemdatenwort BS144 erfolgt das

Laden der Datenbausteine DB/DX:

Die Datenbausteine werden zuerst in den Anwenderspeicher geladen.

Wenn dieser gefüllt ist, werden die Datenbausteine im internen DB-RAM abgelegt. Durch Setzen des Bit 0 in BS144 können Sie die Reihenfolge umkehren: "alternatives Laden".

CPU 928C

Diese Funktion ist bei der CPU 928C nicht erforderlich, da Datenbausteine nur im DB-RAM abgelegt werden.

Speicherauskunft

Mit der PG-Online-Funktion SPAUS (Speicherausbau) erhalten Sie die

Hex-Adresse der Speicherzelle die den Bausteinende-Befehl des letzten im

Speichermodul vorhandenen Bausteins und die Größe des RAM-Moduls enthält.

CPU 928C

SPAUS sollte beim Einsatz der CPU 928C aufgrund der getrennten

Speicherbereiche nicht verwendet werden. Verwenden Sie statt dessen

BS64 und BS65, die in diesem Kapitel noch näher beschrieben sind.

Verwaltung der Bausteine

Beim Korrigieren von Bausteinen wird der alte Baustein für ungültig erklärt und ein neuer Baustein in der Adressliste und im Speicher eingetragen.

Beim Löschen werden die gelöschten Bausteine für ungültig erklärt.

Speicher komprimieren

Mit der Online-Funktion SPEICHER KOMPRIMIEREN schaffen Sie

Speicherplatz für neue Bausteine. Ungültige Bausteine werden entfernt und gültige Bausteine zusammengeschoben.

Rev. 00/27 8-5

Teil 8 Speicherbelegung und -organisation Handbuch VIPA CPU 928 - Band 1

Bausteinköpfe im Anwenderspeicher

Jeder Baustein im Speicher beginnt mit einem 5 Worte langen Bausteinkopf.

8-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 8 Speicherbelegung und -organisation

Bausteinadresslisten im DB 0

Der Datenbaustein DB 0 enthält die Anfangsadressen aller Anwenderbausteine, die sich im Anwenderspeicher oder im DB-RAM der CPU befinden. Diese Adressliste wird nach NETZ EIN vom Systemprogramm bei NEUSTART aufgebaut, bei WIEDERANLAUF überprüft und bei jeder

Eingabe oder Änderung von Bausteinen mit einem PG automatisch aktualisiert.

Für jeden Bausteintyp gibt es im DB 0 eine eigens reservierte, 256 Worte lange Adressliste, d.h. für jeden Baustein ist 1 Wort reserviert. Nicht geladene und gelöschte Bausteine haben die Anfangsadresse 0.

Die Anfangsadressen der einzelnen Bausteinadresslisten finden Sie außerdem in den Systemdaten:

BS32: DX, BS33: FX, BS34: DB, BS35: SB, BS36: PB, BS37: FB, BS38:

OB (nur 48 Worte).

Bei Code-Bausteinen zeigen die Bausteinanfangsadressen jeweils auf die

1. Anweisung. Bei FBs auf den SPA-Befehl vor dem Namen und der

Parameterliste. Die Anfangsadressen der Datenbausteine zeigen jeweils auf das Datenwort DW0.

Hinweis!

Die Bausteinanfangsadressen in den Adresslisten zeigen immer auf das erste Wort nach dem Bausteinkopf.

Ablage der

Bausteinadressen im DB 0

Folgende Abbildung soll die Ablage der Bausteinadressen im DB 0 verdeutlichen. Hierbei steht n für die Anfangsadresse der PB-Adressliste.

Rev. 00/27

Ist als Adresse der Wert 0 eingetragen, ist der Baustein nicht geladen.

8-7

Teil 8 Speicherbelegung und -organisation Handbuch VIPA CPU 928 - Band 1

Beispiele für die

Ermittlung der

Bausteinadresse

Anfangsadresse des FB 40

Lösung a)

:L

:L

:+F

:LIR

Lösung b)

BS 37 Basisadresse FB-Adressliste

KB 40 +FB-Nummer

=Adresse der Speicherzelle, die

1 die Anfangsadresse des FB 40 enthält

Anfangsadresse des FB 40 in den

AKKU 1 laden

(Baustein ist nicht vorhanden wenn Anfangsadresse=0)

:L

:MAB

:LRW

BS 37 Basisadresse FB-Adressliste

BR-Register mit Basisadresse laden

+40 Inhalt von Speicherzelle

(Basisadresse+40) in den AKKU 1 laden

Anfangsadresse und Länge des Datenbausteins DB 50 ermitteln

Lösung a) über indirekten Speicherzugriff

:L

:L

:+F

:LIR

:L

:!=F

:SPB

:ENT

BS 34 Basisadresse der DB-Adressliste laden

KB 50 Die Adresse für den Eintrag für den

DB 50 errechnen und die Anfangsadresse

1

=NIVO in den AKKU 1 laden

KB 0 Bei nicht vorhandenem Baustein zur

Marke NIVO springen

Anfangsadresse des DB 50 in AKKU 3 und

:TAK

:L

:+F

:LIR

KF -1

1

: .

NIVO :..........

AKKU 1 laden

Anfangsadresse um 1 vermindern und

Bausteinlänge in den AKKU 1 laden

Reaktion, wenn Baustein nicht vorhanden

:L

:SPA

:SPB

:SPM

:SPZ

:SPP

:SPA

NIVO :

:BEA

PROM :

:BEA

ANWE :

:BEA

DBRA :

:BEA

FEHL :

:BEA

:BE

Lösung b) über OB 181, Datenbausteine DB/DX testen

KY1,50 Datenbaustein DB 50

OB 181 Datenbausteine DB/DX testen

=NIVO Sprung, wenn nicht vorhanden

=PROM Sprung, wenn im EPROM-Modul

=ANWE Sprung, wenn im RAM-Modul

=DBRA Sprung, wenn im DB-RAM

=Fehl Sprung auf Fehlerbearbeitung

Baustein nicht vorhanden

DB liegt in Anwenderspeicher (EPROM)

DB liegt im Anwenderspeicher (RAM)

DB liegt im DB-RAM

Fehlerbearbeitung

8-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 8 Speicherbelegung und -organisation

BA/BB-Bereich

BA-Bereich

Der BA-Bereich ist ein 256 Worte langer Bereich im internen System-RAM der CPU. Er belegt die Adressen E800h bis E8FFh.

BB-Bereich

Der BB-Bereich ist ein 256 Worte langer Bereich im internen System-RAM der CPU. Er belegt die Adressen E900h bis E9FFh.

Sie können den BA- und den BB-Bereich für eigene Zwecke nutzen.

Hinweis!

Bitte beachten Sie dass diese Bereiche beim Urlöschen mit 0 vorbesetzt werden!

BS/BT-Bereich

In diesen Bereichen finden Sie Informationen für den Systemprogrammierer und systeminterne Daten.

BS-Bereich

Der BS-Bereich ist ein 256 Worte langer Bereich im internen System-RAM der CPU. Er belegt die Adressen EA00h bis EAFFh.

Achtung!

Sie dürfen ausschließlich die Systemdatenwörter BS1, BS60...BS63,

BS133, BS140 und BS144 beschreiben!

Alle übrigen Systemdaten dürfen nur gelesen werden. Die Beschreibung dieser Systemdaten kann zu schweren Systemstörungen in Ihrem

Automatisierungssystem führen und Mensch und Maschine in Gefahr bringen!

BS60...BS63

BS1, BS133 stehen für Ihre eigenen Zwecke zur Verfügung haben eine festgelegte Bedeutung und beeinflussen die

Programmbearbeitung.

Sie dürfen nur mit gültiger Kennung beschrieben werden.

Rev. 00/27 8-9

Teil 8 Speicherbelegung und -organisation Handbuch VIPA CPU 928 - Band 1

BT-Bereich

Der BT-Bereich ist ein 256 Worte langer Bereich im internen System-RAM der CPU. Er belegt die Adressen EB00h bis EBFFh.

Den gesamten BT-Bereich (BT0 bis BT255) können Sie für Ihre eigenen

Zwecke nutzen.

Der BS-/BT-Bereich wird nur beim Urlöschen gelöscht.

Informationen zu Systemdaten erhalten Sie auch über die Online-Funktion

SYSTEM-PARAMETER.

Die nachfolgende Tabelle zeigt die Belegung des BS-Bereichs:

Belegung des BS-Bereichs

BS Bezeichnung

0 Unterbrechungsanzeigewort (STOER.URS)

1 Unterbrechungsanzeigenloeschwort (UALW)

2 Unterbrechungsanzeigensammelwort (UAMK)

3

Anlauf-Fehlererkennung-Anzeige

4

5 Stopp-Kennung

6 Zyklus-Kennung

7 Urlösch-Kennung

8 Fehler-Kennung (M)

9 reserviert

Anlauf-Kennung

Modul-Kennung

Fehler-Kennung (H)

Fehler-Kennung (L)

Akt. Ident.-Nr.

10 Basisadresse der Eingangssignalformer

11 Basisadresse der Ausgangssignalformer

12 Basisadresse Prozessabbild der Eingänge

13 Basisadresse Prozessabbild der Ausgänge

14 Basisadresse Merkerbereich

15 Basisadresse Zeitbereich

16 Basisadresse Zählerbereich

17 Basisadresse Bereich Anschaltung

18 reserviert AG-SW-Stand

19 Endadresse des Anwendermodulspeichers

20 Basisadresse Bereich System

21 Länge der DB-Adressliste

22 Länge der SB-Adressliste

23 Länge der PB-Adressliste

24 Länge der FB-Adressliste

25 Länge der OB-Adressliste

26 Länge der FX-Adressliste

27 Länge der DX-Adressliste

28 Länge des Adresslisten-DBs (DB 0)

29 Steckplatzkennung

30 Länge der Bausteinkopfinformation

31 CPU-Kennung 1

32 Basisadresse DX-Adressliste

33 Basisadresse FX-Adressliste

CPU-Kennung 2 (Typ)

SW-Stand PG-Ansch.

Adr

EA00

EA01

EA02

EA03

EA10

EA11

EA12

EA13

EA14

EA15

EA16

EA17

EA18

EA19

EA1A

EA1B

EA04

EA05

EA06

EA07

EA08

EA09

EA0A

EA0B

EA0C

EA0D

EA0E

EA0F

EA1C

EA1D

EA1E

EA1F

EA20

EA21

Fortsetzung ...

8-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 8 Speicherbelegung und -organisation

... Fortsetzung

34 Basisadresse DB-Adressliste

35 Basisadresse SB-Adressliste

36 Basisadresse PB-Adressliste

37 Basisadresse FB-Adressliste

38 Basisadresse OB-Adressliste

39 reserviert

54

55 Zähler für 1 Std. (bis 3599s hex)

56 reserviert für Hantierungsbaustein

59

60 reserviert für Anwenderzwecke

63

64 reserviert für Systemprogramm

79

80 zusätzliche Fehlererkennung, wenn Bit FE-5 in BS8 gesetzt

81 reserviert für Systemprogramm

127

128 reserviert

129 reserviert

130 Kennung Regelung

131 Anzeigenwort "Alarme gemeinsam sperren"

132 Anzeigenwort "Alarme gemeinsam verzögern"

133 Kennung Prozessabbildaktualisierung

134 reserviert

135 Anzeigenwort "Weckalarme einzeln sperren"

136 reserviert

137 Anzeigenwort "Weckalarme einzeln verzögern"

138 reserviert

139 reserviert

140 Anzeigewort "Bausteine schreiben und löschen"

141 reserviert

143

144 alternatives Laden von Datenbausteinen

145 reserviert

255

EA3F

EA40

EA4F

EA50

EA51

EA7F

EA80

EA81

EA82

EA83

EA84

EA85

EA86

EA87

EA88

EA89

EA8A

EA8B

EA8C

EA8D

EA8F

EA90

EA91

EAFF

EA22

EA23

EA24

EA25

EA26

EA27

EA36

EA37

EA38

EA3B

EA3C

Rev. 00/27 8-11

Teil 8 Speicherbelegung und -organisation Handbuch VIPA CPU 928 - Band 1

Bitbelegung der

Systemdatenwörter

Systemdatum

BS0

Unterbrechungsanzeigenwort (EA00h)

High-Byte

15 14 13 12 11 10 9

NAU PEU BAU MP-

STP

8 7 6 5

ZYK QVZ ADF STP BCF FE-3 LZF

Low-Byte

4 3 2 1 0

REG STUEB STUEU WECK DOPP

Das Systemdatum BS0 entspricht der STOERUNGSURSACHE im

USTACK. Tritt bei der Programmbearbeitung z.B. ein Laufzeitfehler auf, wird das Bit 5 gesetzt. Ist die Programmbearbeitungsebene LZF vollständig bearbeitet, wird das Bit 5 zurückgesetzt.

Systemdatum

BS1

Unterbrechungsanzeigen-Löschwort UALW (EA01h)

Aktive Schnittstelle, für Anwender freigegeben!

Durch Setzen von Bit 9 bzw. 10 des UALW erreichen Sie, dass der nächstfolgende ADF bzw. QVZ ignoriert wird und die laufende Programmbearbeitung dadurch nicht beeinflusst wird. Nach Auftreten eines QVZ bzw.

ADF setzt das Systemprogramm das betreffende Bit zurück.

Jede Programmbearbeitungsebene hat ihr eigenes UALW.

Belegung BS1:

High-Byte

15 14 13 12 11 10 9 nicht belegt nicht belegt nicht belegt nicht belegt nicht belegt

QVZ ADF

8 nicht belegt

7 nicht belegt

6 nicht belegt

5 nicht belegt

Low-Byte

4 nicht belegt

3 nicht belegt

2 nicht belegt

1 nicht belegt

0 nicht belegt

8-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Beispiel zum

UALW

Teil 8 Speicherbelegung und -organisation

In diesem Beispiel wird getestet, ob unter einer bestimmten

Peripherieadresse eine Baugruppe ansprechbar ist. Ist die Baugruppe nicht vorhanden, wird mit Hilfe des UALW ein Quittungsverzug verhindert und ein für diesen Fall vorgesehenes Programm bearbeitet.

Ebenso wird getestet, ob eine bestimmte Peripherieadresse im DB 1 eingetragen ist. Falls nicht, wird mit Hilfe des UALW ein Adressierfehler verhindert und ein spezielles Programm bearbeitet.

FB 201

NAME :L

:SPA FB 10

NAME :PERITEST Testen, ob unter der

Peripherieadresse 128

PADR :PB 128 eine Baugruppe ansprechbar ist

MASK :KM 00000100 00000000

:SPN =M001

:..

Dieser Programmteil wird bearbeitet, falls

Baugruppe nicht ansprechbar ist :..

:..

M001 :

:SPA FB 10

NAME

PADR

MASK

:PERITEST

:AB 4

:KM 00000010 00000000

:SPN =M002

Testen, ob im DB 1 eine Baugruppe mit der Peripherieadresse 4 eingetragen ist

:..

:..

Dieser Programmteil wird bearbeitet, falls Peripherieadresse nicht eingetragen ist :..

M002 :

:BE

FB 10

NAME :PERITEST

BEZ

BEZ

:PADR E/A/D/B/T/Z: E BI/BY/W/D: BY

:MASK E/A/D/B/T/Z: D KM/KH/KY/KC/KF/KT/KZ/KG: KM

UALW laden und sichern :L BS 1

:T BS 60

:LW =MASK

:OW

:T BS 1

:L =PADR

QVZ- bzw. ADF-Bit setzen

UALW zurueckschreiben

Einzel-Peripheriezugriff bzw. Zugriff auf das Prozessabbild :

:L BS 1

:LW =MASK

:UW

:L BS 60

QVZ- bzw. ADF-Bit maskieren

Altes UALW zurueckschreiben, damit der nächste QVZ bzw. ADF erkannt wird :T BS 1

:TAK

:BE

Rev. 00/27 8-13

Teil 8 Speicherbelegung und -organisation Handbuch VIPA CPU 928 - Band 1

Systemdatum

BS2

Unterbrechungsanzeigen-Sammelwort UAMK (EA02h)

Die 16 Bits des UAMK entsprechen den unter STOERUNGSURSACHE im

USTACK aufgeführten möglichen Fehlerursachen. Bei Auftreten eines bestimmten Fehlers wird das zugehörige Bit gesetzt.

Belegung BS2

High-Byte

15 14 13 12 11 10 9

NAU PEU BAU MP-

STP

8 7 6 5

ZYK QVZ ADF STP BCF FE-3 LZF

Low-Byte

4 3 2 1 0

REG STUEB STUEU WECK DOPP

Hinweis!

Das UAMK darf nur gelesen werden!

Beispiel zum

UAMK

Geht die CPU aufgrund eines Adressierfehlers (ADF) in STOP, wird im

UAMK Bit 9 gesetzt. Wenn nun bei der Bearbeitung des ADF ein

Befehlscodefehler (BCF) auftritt, wird im UAMK außerdem Bit 7 gesetzt.

Inhalt des UAMK (binär):

Darstellung (hexadezimal) im USTACK:

00000010 10000000

0280

Während im USTACK unter STOERUNGSURSACHE nur der jeweils zuletzt aufgetretene Fehler angekreuzt ist, sind im UAMK alle bis dahin aufgetretenen Fehler aufsummiert (USTACK Tiefe 05: im UAMK sind 5 Bits gesetzt).

Durch Umwandlung des Hexadezimalcodes in den Binärcode lässt sich der

Inhalt des UAMK auswerten. Auf diese Weise können Sie feststellen, welche Fehler den Stoppzustand verursacht haben.

Die Fehler-Bits werden rückgesetzt, sobald die entsprechende Fehler-

Programmbearbeitungsebene vollständig bearbeitet ist und damit verlassen wird.

Unterbrechungsanzeigen von Fehlern, denen keine Programmbearbeitungsebene zugeordnet ist (z.B. NAU, PEU, STUEB usw.), werden im ANLAUF gelöscht.

Systemdatum

BS5

STOP- und ANLAUF-Kennung (EA05h)

Die Kennungen entsprechen den Steuerbits in Zeile 1 und 2 des USTACK

Belegung BS5

High-Byte: STOP-Kennungen

15 14 13 12 11 10 9

PRI-

STP nicht belegt

FE-STP BEARBPG-STPSTP-

END SCH

STP-

BEF

8

MP-

STP

7

ANL

Low-Byte: ANLAUF-Kennungen

6 nicht belegt

5 4 3 2

NEUST MWA AWA nicht belegt

1

NEU-

ZUL

0

MWA-

ZUL

8-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 8 Speicherbelegung und -organisation

Systemdatum

BS6

ZYKLUS- und Modul-/MPL-Kennung (EA06h)

Die Kennungen entsprechen den Steuerbits in Zeile 3 und 4 des USTACK

Belegung BS6

15 14

High-Byte: ZYKLUS-Kennungen

RUN nicht belegt

13

EIN-

PROZ

12 11

BARB OB1-

GEL

10

FB0-

GEL

9 8 7

OB-

PROZA

OB32KW-

WECKA RAM

6

Low-Byte: Modul-/MPL-Kennungen

5 4 3 2 1

16KW-

RAM

8KW-

RAM

EPROMKM-

AUS

KM-

EIN

DIG-

EIN

0

DIG-

AUS

BS7 URLÖSCH-Kennungen/Fehlerkennungen Initialisieren (EA07h)

Die Kennungen entsprechen den Steuerbits in Zeile 5 und 6 des USTACK.

Belegung BS7

High-Byte: URLÖSCH-Kennungen

15 14 13 12 11 10 9

URGEL

OE

URL-IA STP-

VER

ANL-

ABB

UA-PG UA-SYSUA-

PRFE

8

UA-

SCH

Low-Byte: Fehlerkennungen initialisieren

7 6

DX0-FE nicht belegt

5

MOD-

FE

4

RAM-

FE

3 2 1 0

DB0-FE DB1-FE DB2-FE KOR-

FE

BS8 Fehlerkennungen HW/SW (EA08h)

Die Kennungen entsprechen den Steuerbits in Zeile 7 und 8 des USTACK.

Belegung BS8

High-Byte: Fehlerkennungen HW

15 14 13 12 11 10 9

NAU PEU BAU STUE-

FE

8 7 6

Low-Byte: Fehlerkennungen SW

ZYK QVZ ADF WECK-

FE

BCF nicht belegt

5 4

FE-5 powerdown-

Fehler

3 2

FE-3 LZF

1

REG-

FE

0

DOPP-

FE

BS29 Steckplatzkennung/CPU-/AG-Typ (EA1Dh)

Belegung BS29

High-Byte: Steckplatzkennung CPU

15 14 13 12 11 10 9 nicht belegt nicht belegt nicht belegt nicht belegt

CPU-

Nr.4

CPU-

Nr.3

CPU-

Nr.2

8

CPU-

Nr.1

7

CPU-

Typ

Low-Byte: Steckplatzkennung AG-Typ

6

CPU-

Typ

5

CPU-

Typ

4

CPU-

Typ

3 2 1 0

AG-Typ AG-Typ AG-Typ AG-Typ

High-Byte:

Low-Byte:

Aktive Schnittstelle, wird von den Hantierungsbausteinen sowie vom OB 218 und den Operationen SES und SEF benutzt.

CPU-Typ: 1011 CPU 928B

AG-Typ:

1011

0111

CPU 928C Aus Kompatibilitätsgründen gleich

AG 135U

Rev. 00/27 8-15

Teil 8 Speicherbelegung und -organisation

BS64

Handbuch VIPA CPU 928 - Band 1

Speicher-Füllstandsanzeiger des Anwenderspeichers

CPU 928B: (0000h ... 7FFFh)

CPU 928C: (0000h ... FFFFh)

BS65 Speicher-Füllstandsanzeiger des DB-RAMs

CPU 928B:

CPU 928C:

(8000h ... DD7Fh)

(0000h ... DD7Fh)

BS80 Fehlerspezifikation (EA50h)

Hier finden Sie zusätzliche Informationen zur Spezifizierung des aufgetretenen Fehlers, wenn Bit 5 in BS8 gesetzt bzw. FE-5 im USTACK angekreuzt ist.

Kennung in BS80

2460h

Fehlerursache

Ready-Signal auf Bus steht dauernd an

Fehlerursache

Hardware Watchdog

CP-SPS Kommunikation

Überwachung SPS-Prozessor

Tasküberwachung CP-Prozesssor

Nicht belegter Interrupt

Speicherfehler

BS80 LED

QVZ ADF ZYK

FE01H O

FE02H O

FE03H O

FE04H X

FE05H X

FE06H X

O

X

X

O

O

X

X

O

X

O

X

O

BS131,

O => LED aus; X => LED blinkt

Anzeigenwort "Alarme gemeinsam sperren" (EA83h)

Das Systemdatum BS131 zeigt Ihnen folgende Zustände der Programmbearbeitungsebenen "Alarmbearbeitung" an:

Belegung BS131

High-Byte

15 14 13 12 11 10 9

0 0 0 0 0 0 0

8

0

7

0

Low-Byte: Alarme gemeinsam sperren

6

0

5

0

4

0

3 2 1 0

Verzögerungsalarm

Prozessalarm uhrzeitgesteuerter

Weckalarm

Weckalarme mit festem

Zeitraster

Bit = 1 bedeutet, dass Alarm gesperrt ist.

8-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 8 Speicherbelegung und -organisation

BS132 Anzeigenwort "Alarme gemeinsam verzögern" (EA84h)

Das Systemdatum BS132 zeigt Ihnen folgende Zustände der Programmbearbeitungsebenen "Alarmbearbeitung" an:

Belegung BS132

High-Byte

15 14 13 12 11 10 9

0 0 0 0 0 0 0

8

0

7

0

Low-Byte: Alarme gemeinsam verzögern

6

0

5

0

4

0

3 2 1 0

Verzögerungsalarm

Prozessalarm uhrzeitgesteuerter

Weckalarm

Weckalarme mit festem

Zeitraster

Bit = 1 bedeutet, dass Alarm verzögert ist.

BS133 Prozessabbildaktualisierung (EA85h)

Jedes Bit verhindert, falls es gesetzt ist, die Prozessabbildaktualisierung einmal, anschließend wird es vom Systemprogramm wieder auf '0' gesetzt.

Belegung BS133:

High-Byte

15 14 13 12 11 10 9 nicht belegt nicht belegt nicht belegt nicht belegt nicht belegt nicht belegt nicht belegt

8 nicht belegt

Low-Byte: Prozessabbildaktualisierung

7 nicht belegt

6 nicht belegt

5 nicht belegt

4 nicht belegt

3

KM-

AUS

2

KM-

EIN

1

DIG-

EIN

0

DIG-

AUS

Bit 0 = 0

Bit 0 =

Bit 1 =

Eingänge

Bit 1 =

Eingänge

1

0

1

Nächstes Prozessabbild der digitalen

Ausgänge wird ausgegeben.

Nächstes Prozessabbild der digitalen

Ausgänge wird unterdrückt.

Nächstes Prozessabbild der digitalen wird eingelesen.

Nächstes Prozessabbild der digitalen wird unterdrückt.

BS135 Anzeigenwort "Weckalarme einzeln sperren" (EA87h)

Das Systemdatum BS135 zeigt folgende Zustände der Programmbearbeitungsebenen "Weckalarmbearbeitung" an:

Belegung BS135:

High-Byte: Weckalarme einzeln sperren Low-Byte: Weckalarme einzeln sperren

15 14 13 12 11 10 9

0 0 0 0

8 7 6 5 4 3 2

Weckal.

Weckal.

Weckal.

Weckal.

Weckal.

5s

OB18

2s

OB17

1s

OB16

500ms

OB15

200ms

OB14

Weckal.

Weckal.

Weckal.

Weckal.

0

100ms

OB13

50ms

OB12

20ms

OB11

10ms

OB10

1

0

0

0

Bit = 1 bedeutet, dass Weckalarm gesperrt ist.

Rev. 00/27 8-17

Teil 8 Speicherbelegung und -organisation Handbuch VIPA CPU 928 - Band 1

BS137 Anzeigenwort "Weckalarme einzeln verzögern" (EA89h)

Das Systemdatum BS137 zeigt folgende Zustände der Programmbearbeitungsebenen "Weckalarmbearbeitung" an:

Belegung BS137:

High-Byte: Weckalarme einzeln verzögern Low-Byte: Weckalarme einzeln verzögern

15 14 13 12 11 10 9

0 0 0 0

8 7 6 5 4 3 2

Weckal.

Weckal.

Weckal.

Weckal.

Weckal.

5s

OB18

2s

OB17

1s

OB16

500ms

OB15

200ms

OB14

Weckal.

Weckal.

Weckal.

Weckal.

0

100ms

OB13

50ms

OB12

20ms

OB11

10ms

OB10

1

0

0

0

Bit = 1 bedeutet, dass Weckalarm verzögert ist.

BS138 Schreibschutz für Anwenderspeicher im EPROM-Betrieb

Adresse EA8Ah

Der Anwenderspeicher ist nach dem Kopieren der Bausteine von einer

Memory Card (EPROM-Betrieb) schreibgeschützt. Bausteine mit EPROM-

Kennung können vom PG nicht überschrieben werden, jedoch vom

Anwenderprogramm!

Durch Löschen oder Setzen der Schreibschutzkennung Bit 0 in BS 138

über das PG und anschließenden NEUSTART kann der Schreibschutz gezielt aus- und wieder eingeschaltet werden. (Die Bits Nr. 1 bis 15 von BS

138 sind ohne Bedeutung.)

Vorgehen beim Ein-/Ausschalten der Schreibschutzkennung

1. Lassen Sie sich den Inhalt der Adresse EA8Ah am PG ausgeben.

2. Setzen bzw. Löschen Sie das Bit 0 von BS 138 durch Überschreiben des Inhalts der Adresse EA8Ah mit dem Bitmuster 000xh (x=1 für

"Setzen", x=0 für „Löschen“ der Schreibschutzkennung).

3. Führen Sie anschließend einen NEUSTART durch.

Nach der

Bearbeitung des OB 20 wird das Bit 0 im Systemdatenwort BS 138 ausgewertet und der Schreibschutz entsprechend aktiviert oder deaktiviert.

BS 138 kann nicht nur per PG sondern auch per OB 20 gesetzt werden.

Der Status der Schreibschutzkennung bleibt bis zum nächsten

URLÖSCHEN der CPU erhalten.

CPU 928C

Das Kopieren des Anwenderprogramms in das interne Flash-EPROM über

BS138 ist bei der CPU 928C nicht möglich.

8-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 8 Speicherbelegung und -organisation

BS140 Anzeigenwort "Bausteine schreiben und löschen" (EA8Ch)

Das Systemdatum BS140 zeigt Ihnen an, ob seit dem letzten

URLÖSCHEN der CPU bzw. seit dem letzten Löschen des Systemdatums

BS140 Bausteine überschrieben, geladen oder gelöscht wurden.

Für jeden Baustein werden Bits für Veränderung und Bausteintyp als Oder-

Verknüpfung hinzugefügt.

Vor einem neuen Überwachungsabschnitt muss das Systemdatum BS140 gelöscht werden.

URLÖSCHEN löscht BS140.

Belegung BS140:

High-Byte: Schreib-/Lese-Kennungen

15 14 13 12 11 10 9

Baustein gelöscht

Baustein geladen

Baustein nicht

überschrieben belegt nicht belegt nicht belegt nicht belegt

8 nicht belegt

Low-Byte: Schreib-/Lese-Kennungen

7 nicht belegt

6

DX

5

DB

4

FX

3

FB

2

SB

1

PB

0

OB

BS144 Anzeigenwort "Alternatives Laden von Datenbausteinen in das DB-

RAM" (EA90h)

Standardmäßig werden bei der CPU 928B alle Bausteine vom PG zuerst in das Anwenderspeicher-Modul geladen. Erst wenn dort kein Platz mehr ist, werden Datenbausteine und nur diese im DB-RAM abgelegt.

Über das Bit 0 von BS144 können Sie die Reihenfolge beim Laden der

Datenbausteine beeinflussen:

Bit 0 = 0 Voreinstellung "Standard-Verhalten"

Bit 0 = 1

Die DBs werden zuerst in das Anwenderspeicher-Modul geladen. Sobald dieser voll ist, werden die DBs im DB-RAM abgelegt.

Die DBs werden zuerst in das DB-RAM geladen. Erst wenn dort kein Platz mehr ist, werden sie in das Anwenderspeicher-Modul

übernommen.

Die übrigen Bits von BS144 sind nicht belegt.

Hinweis!

Codebausteine werden unabhängig von der Einstellung in BS144 nur in

den Anwenderspeicher geladen. Die Einstellung in BS144 hat keinen

Einfluss auf Operationen und Sonderfunktions-OBs zum Erzeugen und

Umladen von Bausteinen.

928C

Das Alternative Laden von Datenbausteinen ist bei der CPU 928C nicht erforderlich, da Datenbausteine immer im DB-RAM abgelegt werden.

Rev. 00/27 8-19

Teil 8 Speicherbelegung und -organisation Handbuch VIPA CPU 928 - Band 1

8-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

Teil 9 Speicherzugriff über absolute Adressen

Überblick In diesem Kapitel erfahren Sie, wie Sie mit Hilfe von Operationen und speziellen Registern Daten in bestimmten Speicherbereichen über

Absolutadressen ansprechen können.

Bei den Operationen mit dem Basisadressregister werden die Zugriffe auf den lokalen -, globalen Speicher sowie auf den Kachelspeicher beschrieben.

Inhalt

Nachfolgend sind beschrieben:

LIR/TIR: 16-bit-Register

Beispiele für die Übertragung der Speicherblöcke

Transferoperationen zwischen den Registern

Zugriffe auf den lokalen Speicher

Zugriffe auf den globalen Speicher

Zugriffe auf den Kachelspeicher

Thema Seite

Teil 9 Speicherzugriff über absolute Adressen....................................9-1

Einführung ............................................................................................9-2

Speicherzugriffe über Adresse in AKKU 1 ............................................9-6

Speicherblöcke transferieren ..............................................................9-15

Operationen mit dem Basisadressregister (BR-Register) ...................9-22

Rev. 00/27 9-1

Teil 9 Speicherzugriff über absolute Adressen

Einführung

Handbuch VIPA CPU 928 - Band 1

Die Programmiersprache STEP

®

5 von Siemens enthält Operationen, mit denen Zugriffe auf den gesamten Adressraum möglich sind. Diese

Operationen gehören zu den "Systemoperationen".

Achtung!

Bei einer nicht sachgerechten Anwendung dieser Operationen können

Bausteine und Systemdaten überschrieben werden. Dies kann unerwünschte Betriebszustände zur Folge haben. Operationen, die mit absoluten Adressen arbeiten, sollten deshalb nur von Anwendern mit sehr guten Systemkenntnissen benutzt werden.

Lokaler Speicher Als lokaler Speicher wird der Speicherbereich bezeichnet, der auf jeder

CPU vorhanden ist (Anwenderspeicher, DB-RAM, BA-, BB-, BS-, BT-

Bereich, Zähler, Zeiten, Merker, Prozessabbild).

Globaler Speicher Der globale Speicher ist nur einmal für alle CPUs vorhanden und wird über den Rückwand-Bus adressiert.

Speicherorganisation

Speicherbereiche sind byte- oder wortweise organisiert.

Byteweise Organisation

Jede Adresse adressiert ein Byte.

Wortweise Organisation

Jede Adresse adressiert ein 16-bit-Wort (2 Bytes).

9-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Globaler und lokaler Speicher

0000H intern, lokal,

15 7 0

Teil 9 Speicherzugriff über absolute Adressen

0000H extern, global, über Rückwandbus, einfach vorhanden

(je Automatisierungsgerät)

15 7 0

EDFFH

EE00H

EFFFH

15 7 0

255

2

F000H

1

F400H

FBFFH

0

FC00H

FEFFH

.

Kacheln

1024 byte/Wörter

2048 byte/Wörter

FFFFH

Kachel-Adreßregister (Select-Register)

Rev. 00/27 9-3

Teil 9 Speicherzugriff über absolute Adressen Handbuch VIPA CPU 928 - Band 1

Speicherzugriffe Die folgenden Operationen ermöglichen Zugriffe auf lokale bzw. globale

Speicherbereiche über absolute Adressen.

Zugriffe auf den Lokal- und Globalbereich

Sie können sowohl auf den Lokal- als auch auf den Globalbereich zugreifen:

Lokalbereich

(Adressen 0000h bis EFFFh) mit:

LIR, TIR, TNB, TNW byteweise organisierter Teil des Globalbereichs

(Adressen F000h bis F3FFh, FC00h bis FFFFh) mit:

LIR, TIR, TNB, TNW, auf den wortweise organisierten Teil des Lokalbereiches

(Adressen 0000h bis E3FFh sowie E800h bis EDFFh) mit:

LRW, TRW, LRD, TRD.

Zugriffe auf den Kachelbereich

Sie können auf folgende Teile des Kachelbereichs zugreifen: auf den byteweise organisierten Teil des Globalbereichs

(Adressen F400h bis FBFFh, = Kachelbereich):

LB CB, LB CW, LB CD, TB CB, TB CW, TB CD, TSC auf den wortweise organisierten Teil des Globalbereichs

(Adressen F400h bis FBFFh, = Kachelbereich):

LW CW, LW CD, TW CW, TW CD, TSC

9-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

Zugriffe auf lokale bzw. globale Speicherbereiche über absolute Adressen kein Zugriff möglich Zugriff möglich a) LIR, TIR, TNB, TNW b) LRW, TRW, LRD, TRD c) LB CB, LB CW, LB CD,

TB CB, TB CW, TB CD, (TSC) d) LW CW, LW CD,

TW CW, TW CD, (TSC)

Rev. 00/27 9-5

Teil 9 Speicherzugriff über absolute Adressen

Speicherzugriffe über Adresse in AKKU 1

Handbuch VIPA CPU 928 - Band 1

Hinweis!

Mit den Befehlen LIR und TIR ist bei der CPU 928C kein Zugriff auf den

Anwenderspeicher möglich! Verwenden Sie hier die Befehle LDI und TDI.

Die Register sind Betriebsmittel der CPU zum Bearbeiten des Programms.

Jedes Register ist 16 Bit breit. Mit den Systemoperationen LIR (Lade indirekt Register) und TIR (Transferiere indirekt Register) können Sie auf die Inhalte der Register zugreifen.

Operationen

Operation

LIR

TIR

Operand Funktion

Register-Nr. 0 bis 15 Das angegebene Register wird mit dem Inhalt einer

Speicherzelle (durch AKKU1 adressiert) geladen.

Register-Nr. 0 bis 15 Der Inhalt des angegebenen

Registers wird in eine

Speicherzelle (durch AKKU1 adressiert) transferiert.

Das Speicherwort liegt entweder im Lokalbereich (Adressen 0000h bis

EFFFh) oder im byteweise organisierten Teil des Globalbereichs (Adressen

F000h bis F3FFh, FC00h bis FFFFh).

Operationen

Operation

LDI

TDI

Operand

A1

A2

A1

A2

Funktion

Das angegebene Register wird mit dem Inhalt einer

Speicherzelle (durch AKKU1 adressiert) geladen.

Der Inhalt des angegebenen

Registers wird in eine

Speicherzelle (durch AKKU1 adressiert) transferiert.

Auf den folgenden Seiten erfahren Sie, welche Register Sie bei den Operationen verwenden können.

9-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

LIR/TIR

16-bit-Register indirekt laden/ transferieren

Die folgende Tabelle zeigt Ihnen, welche Registernummern Sie bei der

CPU 928 für die Operationen LIR und TIR verwenden dürfen und wie diese belegt sind.

1)

Register-

Nr.

0

1

2

3

6

8

9

10

11

12

15

AKKU-1-H

AKKU-1-L

AKKU-2-H

AKKU-2-L

DBA

DBL

AKKU-3-H

AKKU-3-L

AKKU-4-H

AKKU-4-L

SAZ

Registerbelegung (je 16 bit breit)

(linkes Wort von AKKU1, Bit 16-31)

(rechtes Wort von AKKU1, Bit 0-15)

1)

(Datenbaustein-Anfangsadresse)

(Datenbaustein-Länge)

(STEP-Adresszähler)

Soll über AKKU-1-L der Inhalt der adressierten Speicherzelle in das Register '1' geladen werden, so wird dadurch die in AKKU-1-L hinterlegte Adresse überschrieben.

Die Register 4, 5, 7, 13 und 14 sind bei der CPU 928 nicht vorhanden.

LIR/TIR-Operationen mit diesen Registernummern werden wie eine Nulloperation (NOP) behandelt.

LIR und TIR auf

Kachelbereich

Die Befehle LIR und TIR sind für Automatisierungsgerät AG-135U für den

Zugriff auf den Kachelbereich (Adressen F400h bis FBFFh) nicht zu empfehlen. Verwenden Sie stattdessen die Befehle aus "Zugriff auf den

Kachelspeicher" oder die Sonderfunktionen (OB 216 bis OB 218) für

"Kachelzugriffe".

Hinweis!

Die dazugehörigen Lade und Transferoperationen (LB CB, TB CB) für byteweise organisierte Kacheln finden Sie in diesem Kapitel.

LIR/TIR auf 8-bit-

Speicherbereiche

Wird mit LIR/TIR auf Speicherbereiche zugegriffen, die nur 8 bit breit sind

(Speicheradressen von E400h bis E7FFh sowie

EE00h), so beachten

Sie, dass

• bei TIR nur das Low-Byte des Registers übertragen wird (das High-Byte des Registers geht verloren)

• bei LIR das High-Byte des Registers mit FFh überschrieben wird.

Die folgenden Abbildungen zeigen Ihnen den Unterschied bei Zugriffen mit

LIR/TIR auf wort- und byteweise orientierte Speicherbereiche:

Rev. 00/27 9-7

Teil 9 Speicherzugriff über absolute Adressen

LIR/TIR auf 16-bit Speicherbereiche (wortweise orientiert)

Handbuch VIPA CPU 928 - Band 1

LIR/TIR auf 8-bit-Speiserbereiche (byteweise orientiert)

9-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

Register 0 bis 3 und 9 bis 12:

AKKU 1, 2, 3 und 4

Die Akkumulatoren werden von der CPU bei der Programmbearbeitung als

Zwischenspeicher verwendet. Mit den Operationen TIR und LIR können

Sie die Inhalte der AKKUs in absolut adressierte Speicherzellen transferieren bzw. die Inhalte absolut adressierter Speicherzellen in die AKKUs laden. Die Absolutadresse der Speicherzelle steht jeweils im AKKU-1-L..

Beispiele Der Inhalt der Speicherzelle mit der Adresse A000 wird ins Merkerwort

MW100 geladen.

:L KH A000

:LIR

:

:T

1

MW 100

Adresse A000 der Speicherzelle in AKKU

1 laden

Inhalt der durch AKKU 1 adressierten

Speicherzelle ins Register 1 = AKKU-1-

L laden

Inhalt der Adresse A000 im Merkerwort

MW 100 ablegen

:BE

Der Inhalt des Merkerwortes 200 wird in die Speicherzelle mit der Adresse

A000 transferiert.

:L

:L

:

:TIR

:

MW 200

KH A000

3

Merkerwort MW 200 in den AKKU 1 laden

Adresse A000, auf die transferiert werden soll, in den AKKU 1 laden

(Merkerwort MW 200 nach AKKU 2)

Inhalt von Register 3 = AKKU-2-L in die durch AKKU 1 adressierte

Speicherzelle transferieren

:BE

Register 6: DBA

(Datenbaustein-

Anfangsadresse)

Beim Aufschlagen eines Datenbausteins mit den Befehlen A DB und AX

DX wird das Register 6 mit der Adresse des DW 0 im aufgeschlagenen

Datenbaustein geladen. Diese Adresse ist in der Bausteinadressliste im DB

0 enthalten.

Das DBA-Register wird vor jedem Aufruf des OB1 oder FB0 gleich '0' gesetzt.

Das DBA-Register bleibt erhalten, wenn

• durch eine Sprunganweisung (SPA/SPB) die Programmbearbeitung in einem anderen Baustein fortgesetzt wird oder

• eine andere Programmbearbeitungsebene eingeschachtelt wird.

Es ändert sich, wenn

• ein anderer Datenbaustein aufgeschlagen wird oder

• ein Rücksprung in einen übergeordneten Baustein erfolgt, nachdem im aufgerufenen Baustein ein neuer Datenbaustein aufgeschlagen wurde.

Rev. 00/27 9-9

Teil 9 Speicherzugriff über absolute Adressen Handbuch VIPA CPU 928 - Band 1

Hinweis!

Im USTACK ist die im DBA-Register eingetragene Adresse unter 'DB-ADR' angegeben.

Beispiele

Zugriffe auf Datenwörter erfolgen normalerweise mit den Operationen L/T

DW, L/T DR, L/T DL, L/T DD, U/O/UN/ON/=/S/R Dx.y. Diese sind jedoch nur bis Datenwort DW 255 möglich. Durch Manipulieren des DBA-

Registers können Sie mit diesen Befehlen auch auf Datenwörter > 255 zugreifen.

Sie können dies auch mit Hilfe des Sonderfunktions-

Organisationsbausteins OB180 erreichen.

Beispiel 1:

Wirkung der Operation "AX DX 17" auf das DBA-Register:

9-10

Bei Aufruf des DX 17 wird im DBA-Register die Adresse des

Speicherwortes, in welchem das Datenwort DW<N>0 hinterlegt ist, im

Beispiel: DBA = 151BH, eingetragen.

Hinweis: Im USTACK ist die im DBA-Register eingetragene Adresse unter

'DB-ADR' angegeben.

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

Beispiel 2:

Durch Ändern von Register 6 wird das Datenwort DW 300 des DB 100 geladen.

FB7

NAME :LIR/TIR6

:L BS 34 Anfangsadresse der DB-Adressliste plus

100

:ADD BF +100 ergibt Adresslisteneintrag des DB 100

:LIR 1 Anfangsadresse des DB 100 (DW 0) nach

AKKU1

:ADD

:T

KF +200

BS 62

:L BS 20

:ADD KF +62

:LIR

:

6

Adresse des DW 200 im DB 100 im

Systemdatenwort BS 62 ablegen

Basisadresse Systemdaten laden

Adresse des BS 62 in AKKU 1 laden

DBA-Register mit dem Inhalt der Adr.

des BS 62 laden, d.h. der Datenbau-

:L

:T

:BE

DW 100

MW 100 steinanfang wird auf DW 200 gesetzt.

DW (200+100) = DW 300 laden

DW 300 im Merkerwort MW 100 ablegen

Beispiel 3:

Verändern von DBA- und DBL-Register

FB7

NAME OB180

:A

:L

:SPA

:SPB

:

:L

:T

:BEA

FEHL :

:

:BE

DB 100

KF 200

OB 180

DBA- und DBL-Register mit den Werten des DB 100 laden und mit Hilfe des OB180 das DBA-

Register um 200 erhöhen und das DBL-

Register um 200 vermindern

=FEHL Fehlerausgang, falls der DB 100 weniger oder gleich 200 Datenwörter enthält

DW 100 DW 300 laden und

MW 100 im MW 100 ablegen

Programmteil zur Fehlerbehandlung

Hinweis!

Wenn Sie wie im Beispiel 2 das DBA-Register verstellen, wird das DBL-

Register nicht verändert. Damit ist eine Transferfehlerüberwachung nicht mehr gewährleistet! Durch Anwendung des Sonderfunktions-OBs 180

"Variabler Datenbausteinzugriff" können Sie das DBA-Register ebenfalls um eine vorgegebene Anzahl an Datenworten verschieben. Da der OB180 gleichzeitig das DBL-Register verändert, werden Transferfehler weiterhin

überwacht.

Rev. 00/27 9-11

Teil 9 Speicherzugriff über absolute Adressen

Register 8:

DBL = Datenbaustein-Länge

Handbuch VIPA CPU 928 - Band 1

Zusätzlich zum DBA-Register wird bei jedem Aufruf eines Datenbausteins das DBL-Register geladen. Es enthält die Länge (in Worten) des aufgerufenen Datenbausteins ohne Baustein-Kopf. Das DBL-Register wird vor jedem Aufruf des OB1 oder FB0 gleich '0' gesetzt.

Das DBL-Register bleibt erhalten, wenn:

• durch eine Sprunganweisung (SPA/SPB) die Programmbearbeitung in einem anderen Baustein fortgesetzt wird oder

• eine andere Programmbearbeitungsebene eingeschachtelt wird.

Es ändert sich, wenn:

• ein anderer Datenbaustein aufgeschlagen wird oder

• ein Rücksprung in einen übergeordneten Baustein erfolgt, nachdem im aufgerufenen Baustein ein neuer Datenbaustein aufgeschlagen wurde.

Wirkung der

Operation "AX DX

17" auf das DBL:

9-12

Bei Aufruf des DX 17 wird im DBL-Register die Anzahl der vorhandenen

Datenwörter eingetragen, im Beispiel: DBL = 8 (DW 0 bis DW 7)

Hinweis: Im USTACK ist die im DBL-Register eingetragene Anzahl unter

"DBL-REG" angegeben.

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

Register 15:

SAZ = STEP-

Adresszähler

Beispiele für die

Anwendung der

Register

Im Register 15 ist während der Programmbearbeitung die Absolutadresse derjenigen Operation im Programmspeicher eingetragen, die als nächste zu bearbeiten ist.

Beispiel 1: Alle Datenwörter eines Datenbausteins sollen mit einer Konstanten beschrieben werden. Das unten dargestellte Programm beschreibt alle Datenwörter des DB 50 mit der Konstanten KH = A5A5. Nach Ändern der fettgedruckten Befehle kann es auch zum Beschreiben anderer

Datenbausteine (DB oder DX) mit beliebigen Werten benutzt werden. Nicht vorhandene Datenbausteine oder Datenbausteine mit null Datenworten werden erkannt und führen zum Sprung zur Marke NIVO.

Die

Anfangsadresse (DBA) und Länge (DBL) des Datenbausteins wird über die

Sonderfunktion OB181 "Datenbaustein (DB/DX) testen" ermittelt.

Das Programm nutzt alle vier Akkumulatoren. Im Bild sehen Sie die Belegung der Akkumulatoren während des Prozessablaufs bis zur Marke

SCHL. Innerhalb der Schleife ändert sich die Akkumulatorbelegung nicht.

Der AKKU 1 enthält zunächst die Adresse des letzten Datenwortes (DBA +

DBL -1) und wird mit jedem Schleifendurchlauf um eins vermindert.

Der AKKU 2 enthält die Adresse des ersten Datenwortes (DBA). Die

Schleife wird abgebrochen, sobald der Inhalt des AKKU 1 kleiner als der

Inhalt des AKKU 2 ist.

Zum Beschreiben der Datenwörter wird der Befehl TIR 10 verwendet, der den Inhalt des AKKU-3-L (die Konstante) unter der im AKKU-1-L stehenden Adresse abspeichert.

SCHL

WEIT

NIVO

:SPB

:

:ADD

:TIR

:

:><

:

:SPB

:

:

:

:

:BEA

:

.

:BE

:

:L

:

:L

:ENT

:SPA

:SPB

:TAK

:ENT

:+F

:

:

:

:!=F

KHA5A5 Konstante, mit der alle DW beschrieben werden sollen

KY 1,50 Typ und Nummer des Datenbausteins

OB181

=NIVO

Sonderfunktions-OB "Datenbausteine testen"

Abbruch, falls DB 50 nicht vorhanden

=NIVO

BF-1

10

F

=SCHL

AKKU 1: = Adresse des letzten Datenworts +1

AKKU 2: = Adresse des ersten Datenworts

AKKU 3: = Konstante

Abbruch, falls der DB 50 null Datenwörter enthält

Alle Datenwörter, beginnend mit dem letzten DW, mit der im AKKU-3-L enthaltenen Konstanten beschrieben

Abfrage, ob 1. Datenwort erreicht

Rücksprung in die Schleife, wenn 1. Datenwort

<N> noch nicht erreicht

Fortsetzung des Programms...

nachdem alle Datenwörter beschrieben wurden falls der DB 50 nicht vorhanden ist oder null

Datenwörter hat

Rev. 00/27 9-13

Teil 9 Speicherzugriff über absolute Adressen Handbuch VIPA CPU 928 - Band 1

Hinweis: Der Programmteil ab Marke "SCHL" kann zum Beschreiben beliebiger Speicherbereiche (z.B. Merker, Zeiten, Zähler) mit einer Konstanten benutzt werden.

Belegung des AKKUs während des Programmablaufs

9-14

Beispiel 2: Löschen aller Merkerbytes (MB 0 bis MB 255)

:L

:

:L

:

KB 0

BS 14

:ENT

:L

:ENT

KF +256

:+F

:

SCHL :ADD

:TIR

:

BF -1

10

:SPB =SCHL

:

Konstante, mit der alle Merkerbytes beschrieben werden sollen

Basisadresse des Merkerbereichs

(= Adresse des ersten Merkerbytes MB

0)

+ Länge des Merkerbereichs

= (Adresse des letzten Merkerbytes MB

255) +1

Alle 256 Merkerbytes, beginnend mit dem Merkerbyte MB 255, mit der im

AKKU-3-LL enthaltenen Konstanten beschreiben

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Speicherblöcke transferieren

Teil 9 Speicherzugriff über absolute Adressen

Hinweis!

Mit den Befehlen LIR und TIR ist bei der CPU 928C kein Zugriff auf den

Anwenderspeicher möglich! Verwenden Sie hier die Befehle LDI und TDI.

Anwendung Mit den Systemoperationen TNB und TNW können Sie Speicherblöcke transferieren (max. 255 Byte mit TNB, max. 255 Worte mit TNW).

Sie können mit diesen Operationen sowohl auf den lokalen Speicherbereich als auch auf den byteweise organisierten Teil des globalen

Speicherbereichs (Adressen F000H bis F3FFH, FC00H bis FFFFH) zugreifen.

Operationen

TNB

TNW

Operation Operand

0 bis 255

0 bis 255

Funktion

Blocktransfer 0 bis 255 Byte

Blocktransfer 0 bis 255 Worte

Parameter Blocklänge

Operand = Anzahl Bytes (TNB) bzw. Anzahl Worte (TNW)

Endadresse des Quellbereichs

AKKU-2-L = Endadresse des Quellbereichs

Endadresse des Zielbereichs

AKKU-1-L = Endadresse des Zielbereichs

Quellbereich und Zielbereich müssen vollständig in einem der in folgender

Tabelle genannten Speicherbereiche liegen und dürfen sich nicht überschneiden.

Erlaubte

Speicherbereiche

Adressen

0000h bis 7FFFh

8000h bis DD7Fh

DD80h bis E3FFh

E400h bis E7FFh

E800h bis EDFFh

EE00h bis EFFFh

F000h bis FFFFh

Speicherbereich CPU 928B

Anwenderspeicher:

Anwender-Modul (16 bit)

Speicherbereich CPU 928C

32K-Worte

System-RAM

DB-RAM (16 bit)

DB 0 (16 bit)

S-Merker (8 bit)

Systemdaten (16 bit: BA, BB, BS, BT, Zähler und Zeiten)

RAM (8 bit: Merker, Prozessabbild)

Peripherie (8 bit)/Rückwand-Bus

DB-RAM

Rev. 00/27 9-15

Teil 9 Speicherzugriff über absolute Adressen

Ablauf

Handbuch VIPA CPU 928 - Band 1

Der Blocktransfer erfolgt dekrementierend, d.h.

er beginnt seine

Übertragung mit der höchsten Adresse des Quellbereichs (= Endadresse) und beendet sie mit der niedrigsten.

Anwendung auf den Kachelbereich

Die Operationen TNB und TNW sind im Automatisierungsgerät AG 135U nicht für den Zugriff auf den Kachelbereich (Adressen F400H-FBFFH) geeignet. Verwenden Sie stattdessen die Operationen aus "Zugriff auf den

Kachelspeicher" oder die Sonderfunktionen aus dem Teil "Kachelzugriffe".

Besonderheiten Pseudobefehlsgrenzen bei TNB und TNW

Die Operationen TNB und TNW sind langlaufende Operationen, die sogenannte "Pseudobefehlsgrenzen" enthalten: D.h.: Die Datenübertragung erfolgt je nach Quell- und Zielbereich in Teilblöcken unterschiedlicher Größe. Wenn nun während der Übertragung eines Teilblocks ein

Fehler (z.B. Zyklusfehler) oder eine Unterbrechung (z.B. durch Weck- oder

Prozessalarm) auftritt, so wird am Ende dieses Teilblocks an der Pseudobefehlsgrenze der entsprechende Organisationsbaustein eingeschachtelt.

Voraussetzung für den Aufruf des Prozessalarm-OBs oder eines Weckalarm-OBs an einer Pseudobefehlsgrenze ist, dass im DX 0 "Unterbrechbarkeit an Befehlsgrenzen" eingestellt ist.

Tritt während der Übertragung einmal oder mehrmals Quittungsverzug und/oder Adressierfehler auf, so werden zuerst alle Teilblöcke übertragen und dann vor der Ausführung der nächsten Operation einmalig der dafür vorgesehene Fehler-Organisationsbaustein aufgerufen (bei QVZ und ADF gleichzeitig nur der QVZ-OB). Als Fehleradresse wird immer die Adresse angegeben, an der zuerst ein Fehler aufgetreten ist. Da TNB und TNW dekrementierend arbeiten, ist dies bei mehrfachen Fehleradressen die höchste Fehleradresse in dem Bereich, in dem zuerst ein Fehler aufgetreten ist.

9-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

TNB und TNW zwischen 8- und 16-bit-Speicherbereichen

Übertragen der Bytes 1 bis 5:

Übertragen der Bytes 1 bis 4:

:L<Quelladresse>

:L<Zieladresse>

:TNB 5

:L<Quelladresse>

:L<Zieladresse>

:TNW 2

Rev. 00/27 9-17

Teil 9 Speicherzugriff über absolute Adressen Handbuch VIPA CPU 928 - Band 1

Beispiel für

Übertragen von

Speicherblöcken

Aufgabenstellung

Kopieren eines Blocks von max. 4095 Datenworten aus einem DB- oder

DX-Datenbaustein in einen anderen DB- oder DX-Datenbaustein. Der

Anfang des Blocks wird innerhalb des Quell- und Ziel-Datenbausteins durch je einen Offset-Wert zwischen 0 und 4095 festgelegt.

Das Programm wird im Baustein FB10 hinterlegt.

9-18

Vor dem Kopieren werden die Eingangsparameter geprüft. Im Fehlerfall wird im Ausgangsparameter STAT das Bit Nr. 7 = 1 gesetzt und in den Bits

Nr. 0 bis Nr. 2 die Fehlerart angegeben:

0=kein Fehler

1=Fehler

Fehlerart:

1=Quell-DB=Ziel-DB

2=Offset oder Länge > 4095

3=Quell-DB nicht vorhanden oder unzulässig

4=Quell-DB zu kurz

5=Ziel-DB nicht vorhanden oder unzulässig

6=Ziel-DB im Nur-Lese-Speicher (EPROM-Modul)

7=Ziel-DB zu kurz

Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

Programmstruktur

Der FB10 gliedert sich in fünf Programmabschnitte mit folgenden Aufgaben:

Eingangsparameter: a) Prüfen, ob Quell- und Ziel-Datenbaustein nicht denselben Typ und dieselbe Nummer haben.

b) Prüfen, ob die Eingangsparameter "Quell-Offset", "Ziel-Offset" und

"Blocklänge" kleiner 4096 sind.

Quell-Datenbaustein: a) Prüfen, ob der Quell-Datenbaustein vorhanden und lang genug ist.

b) Berechnen der absoluten Adresse des letzten Datenworts im Ziel-Block.

Ziel-Datenbaustein: a) Prüfen, ob der Ziel-Datenbaustein vorhanden und lang genug ist und ob er im Schreib-Lese-Speicher (RAM-Modul oder DB-RAM) liegt.

b) Berechnen der absoluten Adresse des letzten Datenworts im Ziel-Block.

Transfer:

Kopiervorgang durchführen mit Hilfe des TNW-Befehls.

Blöcke mit mehr als 255 Worte werden in Teilblöcken zu je 128 Worte

übertragen (Befehl TNW 128).

Anzeige:

Versorgen des Ausgangsparameters "Status" entsprechend dem Ergebnis der vorgenommenen Prüfungen.

Belegte Speicherzellen:

MW 242

MW 244

MW 246

MW 248

MW 250

MW 252

MW254

BS 60

Endadresse des Datenziels

Endadresse der Datenquelle

Blocklänge

Offset im Ziel-Datenbaustein

Typ und Nummer des Ziel-Datenbausteins

Offset im Quell-Datenbaustein

Typ und Nummer des Quell-Datenbausteins

Teil-Block-Zähler

Rev. 00/27 9-19

Teil 9 Speicherzugriff über absolute Adressen Handbuch VIPA CPU 928 - Band 1

Programmierung des FB10:

Hinweis: Soll ab Datenwort DW 0 kopiert werden, entfallen die fett-kursiv gedruckten Programmteile. Es wird kein Offset-Wert angegeben.

FB10

NETZWERK 1

NAME :DB-DB-TR

BEZ

BEZ

BEZ

BEZ

BEZ

BEZ

:QTNR

:T

:LW

:T

:OW

:LW

:T

:

:

:

:

:

:

:OW

:L

:UW

:SPP

:LW

:T

:!=F

:SPB

:

:

:

:LW

:QOFF

:ZTNR

:ZOFF

:LAEN

:STAT

:

:

:LW

:T

=QTNR

MW 254

=ZTNR

MW 250

=F001

E/A/D/B/T/Z: D

E/A/D/B/T/Z: D

E/A/D/B/T/Z: D

E/A/D/B/T/Z: D

E/A/D/B/T/Z: D

E/A/D/B/T/Z: A

DATENBAUST:-DATENBAUST:-

TRANSFER

KM/KH/KY/KC/KF/KT/KZ/KG: KY

KM/KH/KY/KC/KF/KT/KZ/KG: KF

KM/KH/KY/KC/KF/KT/KZ/KG: KY

KM/KH/KY/KC/KF/KT/KZ/KG: KF

KM/KH/KY/KC/KF/KT/KZ/KG: KF

BI/BY/W/D: BY

BEGINN EINGANGS-PARAMETER

TYP (DB/DX) UND NUMMER DES

QUELL-DATENBAUSTEINS

TYP (DB/DX) UND NUMMER DES

ZIEL-DATENBAUSTEINS

QUELL-DB = ZIEL-DB?

SPRUNG, FALLS JA

= QOFF

MW 252

= ZOFF

MW 248

=LAEN

MW 246

KH F000

=F002

OFFSET IM QUELL-

DATENBAUSTEIN

OFFSET IM ZIEL-

DATENBAUSTEIN

LAENGE (ANZAHL DATENWOERTER) DES

ZU TRANSFERIERENDEN BLOCKES

(BLOCK-LAENGE)

ODER (QUELL-OFFSET/ZIEL-OFFSET)

LAENGE >>= 4096?

SPRUNG, FALLS JA

END EINGANGS-PARAMETER

MW 254

OB181

=F003

MW 252

MW 246

=F004

KB 1

MW 244

BEGINN QUELL-DATENBAUSTEIN

TYP UND NUMMER DES QUELL-DATENBAUSTEINS

DATENBAUSTEIN TESTEN

SPRUNG, FALLS BST.-TEST NEGATIV

A1: ANZAHL DW, A2: ADRESSE

A3: ADRESSE

OFFSET IM QUELL-DATENBAUSTEIN

A3: ANZAHL DW, A4: ADRESSE

BLOCK-LAENGE

OFFSET + BLOCK-LAENGE

ANZ. DW <OFFSET + BL.-LAENGE?

SPRUNG, FALLS JA

A2: OFFSET + BL.-L., A3: ADRESSE

OFFSET + BLOCK-LAENGE - 1

OFFSET + BL.-L. -1 + ADRESSE

END-ADRESSE DER DATEN-QUELLE

END QUELL-DATENBAUSTEIN :

:

:

:L

:SPA

:SPB

:TAK

:ENT

:L

:ENT

:L

:+F

:<<F

:SPB

:L

:-F

:+F

:T

Fortsetzung ...

9-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

... Fortsetzung

SCHL

REST

ENDE

F001

F002

F003

F004

F005

F006

F007

:ENT

:L

:ENT

:L

:+F

:<<F

:SPB

:L

:-F

:+F

:

:

:

:L

:SPA

:SPB

:SPM

:TAK

:T

.

.

.

:

:L

:L

:!=F

:SLW

:T

:L

:L

:SPB

:TNW

:ADD

:TAK

:ADD

:TAK

:SPA

:SPB

:

:B

:TNW

:

:

:

:

:L

:T

:BEA

:L

:SPA

:L

:SPA

:L

:SPA

:L

:SPA

:L

:SPA

:L

:SPA

:L

:SPA

:

:BE

KB 0

=STAT

KB 129

=ENDE

KB 130

=ENDE

KB 131

=ENDE

KB 132

=ENDE

KB 133

=ENDE

KB 134

=ENDE

KB 135

=ENDE

MW 250

OB181

=F005

=F006

MW248

MW 246

=F007

KB 1

MW 242

KB 0

MB 246

1

BS 60

MW 244

MW 242

=REST

128

KF -128

KF -128

OB160

=SCHL

MW 246

0

BEGINN ZIEL-DATENBAUSTEIN

TYP U. NUMMER DES ZIEL-DATENBAUSTEINS

DATENBAUSTEIN TESTEN

SPRUNG, FALLS BST.-TEST NEGATIV

SPRUNG, FALLS BST. IM EPROM

A1: ANZAHL DW, A2: ADRESSE

A3: ADRESSE

OFFSET IM ZIEL- DATENBAUSTEIN

A3: ANZAHL DW, A4: ADRESSE

BLOCK-LAENGE

OFFSET + BLOCK-LAENGE

ANZ. DW <OFFSET + BL.-LAENGE ?

SPRUNG, FALLS JA

A2: OFFSET + BL.-L., A3: ADRESSE

OFFSET + BLOCK-LAENGE - 1

OFFSET + BL.-L. - 1 + ADRESSE

END-ADRESSE DES DATEN-ZIELS

END ZIEL-DATENBAUSTEIN

BEGINN TRANSFER

VERGLEICHSWERT

BLOCK-LAENGE, HIGH-BYTE

BLOCK-LAENGE>>= 256 WORTE ?

MULTIPL. MIT 2, ANZAHL TEIL-

BLOECKE MIT JE 128 WORTEN

END-ADRESSE DER DATEN-OUELLE

END-ADRESSE DES DATENZIELS

SPRUNG, FALLS BLOCK-L. <<256 W.

TRANSFER EINES TEIL-BLOCKS

QUELL-END-ADRESSE UM LAENGE DES

TEIL-BLOCKS REDUZIEREN

ZIEL-END-ADRESSE UM LAENGE DES

TEIL-BLOCKS REDUZIEREN

ZAEHL-SCHLEIFE

SPRUNG, FALLS NICHT ALLE

TEIL-BLOECKE TRANSFERIERT

BLOCK-LAENGE, LOW-BYTE

REST-BLOCK TRANSFERIEREN

END TRANSFER

BEGINN ANZEIGE

KENNUNG 00 (HEX.): KEIN FEHLER

AUSGANGS-PARAMETER STATUS/FEHLER

FEHLER-KENNUNG 81 (HEX.):

QUELL-DB = ZIEL-DB

FEHLER-KENNUNG 82 (HEX.):

OFFSET ODER <N> LAENGE >>= 4096

FEHLER-KENNUNG 83 (HEX.):

QUELL-DB UNZULAESSIG

FEHLER-KENNUNG 84 (HEX.):

QUELL-DB ZU KURZ

FEHLER-KENNUNG 85 (HEX.):

ZIEL-DB UNZULAESSIG

FEHLER-KENNUNG 86 (HEX.):

ZIEL-DB IM NUR-LESE-SPEICHER

FEHLER-KENNUNG 87 (HEX.):

ZIEL-DB ZU KURZ

END ANZEIGE

Rev. 00/27 9-21

Teil 9 Speicherzugriff über absolute Adressen Handbuch VIPA CPU 928 - Band 1

Operationen mit dem Basisadressregister (BR-Register)

Hinweis!

Mit den Befehlen LIR und TIR ist bei der CPU 928C kein Zugriff auf den

Anwenderspeicher möglich! Verwenden Sie hier die Befehle LDI und TDI.

Anwendung

Operationen

Das Basisadressregister (32 bit) ermöglicht Ihnen Adressrechnungen und indirekte Register-Lade- und Transferoperationen ohne Verwendung der

AKKUs für die Adressierung.

Zugegriffen wird auf die Speicherzelle, deren absolute Adresse sich als

Summe von BR-Registerinhalt und einer Konstanten errechnet:

Absolute Adresse = BR-Registerinhalt + Konstante

1)

Operation Operand

MBR Konstante

ABR

(0h bis FFFFh)

Konstante

(-32768 bis +32767)

Funktion das BR-Register mit einer 20-bit-

Konstanten laden

1) eine 16-bit-Konstante zum Inhalt des

BR-Registers addieren

Die Bits 2

20 bis 2

31 des BR-Registers werden gleich '0' gesetzt

Laden des BR-Registers

Veränderung des

BR-Registers

Das BR-Register bleibt erhalten, wenn durch eine Sprunganweisung

("SPA FB"/"SPB FB") in einem anderen Baustein derselben Programmbearbeitungsebene fortgesetzt wird.

Das BR-Register bleibt nach Einschachtelung einer anderen Programmbearbeitungsebene erhalten.

Bei Aufruf einer anderen Programmbearbeitungsebene durch das Systemprogramm wird das BR-Register auf '0' gesetzt.

9-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Transferoperationen zwischen

Registern

Teil 9 Speicherzugriff über absolute Adressen

Anwendung

Die in diesem Abschnitt aufgeführten Operationen können Sie dazu benutzen, schnell Werte zwischen den Registern AKKU 1, STEP-Adresszähler (SAZ) und Basisregister (BR) auszutauschen.

Operationen Operation

MAS

MAB

MSA

MSB

Operand

-

-

-

-

Funktion den Inhalt des AKKU 1 (Bit 2

0 bis 2

14

) in den

STEP-Adresszähler transferieren den Inhalt des AKKU 1 (Bit 2

0 bis 2

31

) in das

Basisadressregister transferieren den Inhalt des STEP-Adresszählers in den

AKKU 1 transferieren

1) den Inhalt des STEP-Adresszählers in das

Basisadressregister transferieren

1)

MBA

MBS

-

den Inhalt des Basisadressregisters in den

AKKU 1 transferieren den Inhalt des Basisadressregisters (Bit 2

0 bis 2

14

) in den STEP-Adresszähler transferieren

1)

Die Bits 2

15 bis 2

31 werden auf '0'gesetzt.

Wie die Register bei den Operationen verändert werden, zeigt Ihnen das folgende Bild:

Register-Register-Transferoperationen

Rev. 00/27 9-23

Teil 9 Speicherzugriff über absolute Adressen Handbuch VIPA CPU 928 - Band 1

Zugriffe auf den lokalen Speicher

Anwendung

Die folgenden Operationen ermöglichen den Zugriff auf den lokalen, wortweise organisierten Speicher über eine absolute Speicheradresse. Die

Absolutadresse ist die Summe vom BR-Registerinhalt und der im Befehl enthaltenen 16-bit-Konstanten (-32768 bis +32767).

Operationen Operation

LRW

LRD

TRW

TRD

Operand

Konstante

(-32768 bis +32767)

Konstante

(-32768 bis +32767)

Konstante

(-32768 bis +32767)

Konstante

(-32768 bis +32767)

Beschreibung die angegebene Konstante zum Inhalt

1) des BR-Registers addieren und das so adressierte Wort in den AKKU-1-L laden die angegeben Konstante zum Inhalt

1) des BR-Registers addieren und das so adressierte Doppelwort in den AKKU 1 laden die angegebene Konstante zum Inhalt des BR-Registers addieren und den

Inhalt des AKKU-1-L in das so adressierte Wort transferieren die angegebene Konstante zum Inhalt des BR-Registers addieren und en

Inhalt des AKKU 1 in das so adressierte Doppelwort transferieren

1)

AKKU 2 neu

= AKKU 1 alt

Zulässiger

Adressbereich

Die Absolutadresse muss liegen

• bei LRW, TRW: zwischen 0000h und E3FFh oder E800h und EDFFh,

• bei LRD, TRD: zwischen 0000h und E3FEh oder E800h und EDFEh.

Fehlerreaktion Liegt die errechnete Adresse der Speicherzelle nicht im zulässigen Adressbereich, so erkennt die CPU einen Laufzeitfehler und ruft den OB31 auf, falls er geladen ist. Ist der OB31 nicht geladen, so geht die CPU in den

Stoppzustand.

In beiden Fällen sind im AKKU-1-L Fehlerkennungen hinterlegt, die den aufgetretenen Fehler näher erläutern.

9-24 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

Zugriffe auf den

Kachelspeicher

Anwendung

Mit den folgenden Operationen können Sie auf byte- oder wortweise organisierte Kacheln über eine absolute Speicheradresse zugreifen. Die

Absolutadresse ist die Summe vom BR-Register-Inhalt und der im Befehl enthaltenen Konstanten (-32768 bis +32767).

Prinzipieller

Ablauf des

Kachelzugriffs

Der Globalbereich enthält im Bereich der Adressen F400h bis FBFFh ein

"Fenster" zum Einblenden eines von max. 256 Speicherbereichen (= Kacheln). Eine Kachel belegt max. 2K Adressen und kann byteweise oder wortweise organisiert sein. Vor jedem Zugriff auf den Kachelbereich wird eine der 256 Kacheln durch Eintrag ihrer Kachelnummer in das Select-

Register (Kachel-Adressregister) ausgewählt. Der Vorgang "Beschreiben des Select-Registers und anschließender Zugriff auf den Kachelbereich" ist ununterbrechbar.

Vor jedem Zugriff (Laden/Transferieren) auf den Kachelbereich muss eine der 256 Kacheln aufgeschlagen werden. Dazu übergeben Sie die Nummer der aufzuschlagenden Kachel im AKKU-1-L; diese Nummer wird durch den

Befehl ACR in das CPU-interne Kachel-Register eingetragen. Alle folgenden Kacheloperationen schreiben vor dem Kachelzugriff den Inhalt des Kachel-Registers in das Select-Register der entsprechenden Baugruppen auf dem Rückwand-Bus.

Veränderung des

Kachel-Registers

Das Kachel-Register bleibt erhalten, wenn ein anderer Baustein derselben Programmbearbeitungsebene aufgerufen wird.

Wenn das Kachelregister in einem Baustein verändert wird, so bleibt sein Wert erhalten, wenn am Bausteinende in den aufrufenden Baustein zurückgesprungen wird.

Das Kachelregister wird nach Einschachtelung einer anderen Programmbearbeitungsebene durch das Systemprogramm mit demselben

Wert geladen, den es vor der Einschachtelung hatte.

Bei Aufruf einer anderen Programmbearbeitungsebene durch das

Systemprogramm wird das Kachelregister '0' gesetzt.

Aufschlagen einer

Kachel

Fehlerreaktion

Operation

ACR

Parameter Beschreibung diejenige Kachel aufschlagen, deren

Nummer im AKKU-1-L steht, zulässige Werte: 0 bis 255

Die Kachelnummer muss zwischen 0 und 255 liegen. Ist dies nicht der Fall, so erkennt die CPU einen Laufzeitfehler und ruft den OB31 auf, falls er geladen ist. Ist der OB31 nicht geladen, so geht die CPU in den Stoppzustand. In beiden Fällen sind im AKKU-1-L Fehlerkennungen hinterlegt, die den aufgetretenen Fehler näher erläutern.

Rev. 00/27 9-25

Teil 9 Speicherzugriff über absolute Adressen

Lade- und

Transferoperationen für byteweise organisierte

Kacheln

Operation

LB CB

LB CW

LB CD

TB CB

TB CW

TB CD

Handbuch VIPA CPU 928 - Band 1

Operand Beschreibung

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und das so adressierte Byte in der aufgeschlagenen Kachel in den AKKU-1-LL laden

1)3)

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und das so adressierte Wort in der aufgeschlagenen Kachel in den AKKU-1-L laden

2)3)

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und das so adressierte Doppelwort in der aufgeschlagenen Kachel in den AKKU

1 laden

3)

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und den

Inhalt des AKKU-1-LL in das so adressierte Byte in der aufgeschlagenen Kachel transferieren

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und den

Inhalt des AKKU-1-L in das so adressierte Wort in der aufgeschlagenen Kachel transferieren

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und den

Inhalt des AKKU 1 in das so adressierte Doppelwort in der aufgeschlagenen Kachel transferieren

1)

AKKU-1-LH und AKKU-1-H werden auf '0' gesetzt.

2)

AKKU-1-H wird auf '0' gesetzt.

3)

AKKU 2 neu

:=AKKU 1 alt

Zulässiger

Adressbereich

Fehlerreaktion

Die Absolutadresse muss liegen

• bei LB CB, TB CB:

• bei LB CW, TB CW:

• bei LB CD, TB CD: zwischen F400H und FBFFH, zwischen F400H und FBFEH, zwischen F400H und FBFCH.

Liegt die errechnete Byteadresse nicht im zulässigen Adressbereich, so erkennt die CPU einen Laufzeitfehler und ruft den OB31 auf, falls er geladen ist. Ist der OB31 nicht geladen, so geht die CPU in den Stoppzustand. In beiden Fällen sind im AKKU-1-L Fehlerkennungen hinterlegt, die den aufgetretenen Fehler näher erläutern.

9-26 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 9 Speicherzugriff über absolute Adressen

Lade- und Transferoperationen für wortweise organisierte

Kacheln

Operation

LW CW

LW CD

TW CW

TW CD

Operand Beschreibung

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und das so adressierte Wort in der aufgeschlagenen Kachel in den AKKU-

1-L laden

1)

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und das so adressierte Doppelwort in der aufgeschlagenen Kachel in den AKKU

1 laden

2)

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und den

Inhalt des AKKU-1-L in das so adressierte Wort in der aufgeschlagenen Kachel transferieren

-32768 bis 32767 die angegebene Konstante zum Inhalt des BR-Registers addieren und den

Inhalt des AKKU 1 in das so adressierte Doppelwort in der aufgeschlagenen Kachel transferieren

1)

AKKU-1-H wird auf '0' gesetzt.

2)

AKKU 2 neu

:= AKKU 1 alt

Zulässiger

Adressbereich

Die Absolutadresse muss liegen

• bei LW CW, TW CW:

• bei LW CD, TW CD: zwischen F400h und FBFFh, zwischen F400h und FBFEh.

Fehlerreaktion Liegt die errechnete Adresse der Speicherzelle nicht im zulässigen

Adressbereich, so erkennt die CPU einen Laufzeitfehler und ruft den OB31 auf, falls er geladen ist. Ist der OB31 nicht geladen, so geht die CPU in den

Stoppzustand.

In beiden Fällen sind im AKKU-1-L Fehlerkennungen hinterlegt, die den aufgetretenen Fehler näher erläutern.

Rev. 00/27 9-27

Teil 9 Speicherzugriff über absolute Adressen Handbuch VIPA CPU 928 - Band 1

9-28 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Teil 10

Teil 10 Mehrprozessorbetrieb und -kommunikation

Mehrprozessorbetrieb und -kommunikation

Mehrprozessorbetrieb wird zur Zeit noch nicht unterstützt.

Rev. 00/27 10-1

Teil 10 Mehrprozessorbetrieb und -kommunikation Handbuch VIPA CPU 928 - Band 1

10-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Teil 11

Teil 11 PG-Schnittstellen und -Funktionen

PG-Schnittstellen und -Funktionen

Überblick Dieses Kapitel informiert Sie darüber, wie Sie an die CPU 928 ein PG koppeln können und welche Hilfen Ihnen die PG-Software für den Test

Ihres Anwenderprogramms bietet.

Falls Sie nur die Standard-PG-Schnittstelle (SI 1) benutzen, brauchen Sie den Abschnitt "Serielle Kopplung" nicht zu lesen.

Diese Abschnitte informieren Sie darüber, wie Sie über weitere

Schnittstellen ein PG mit Ihrer CPU 928 koppeln können.

Sie erfahren darin ferner, was Sie bei der Benutzung der PG-Funktionen auf beiden Schnittstellen beachten müssen.

Die Beschreibungen in diesem Kapitel beziehen sich auf die Online-

Funktionen des MC5-Pakets von VIPA und des STEP

®

5-Progammier-

Pakets von Siemens.

Inhalt

Nachfolgend sind beschrieben:

PG-Funktionalität

Hilfen für Inbetriebnahme und Test

Auskunft- und Statusfunktionen

Tätigkeiten an Kontrollpunkten

Serielle Kopplung und Parallelbetrieb von 2 seriellen Schnittstellen

Thema Seite

Teil 11 PG-Schnittstellen und -Funktionen ........................................11-1

Übersicht ............................................................................................11-2

PG-Funktionen ...................................................................................11-3

Tätigkeiten an Kontrollpunkten .........................................................11-16

Serielle Kopplung..............................................................................11-17

Parallelbetrieb von zwei seriellen PG-Schnittstellen..........................11-17

Rev. 00/27 11-1

Teil 11 PG-Schnittstellen und -Funktionen

Übersicht

Handbuch VIPA CPU 928 - Band 1

PG-Kopplung

Das Laden und Testen Ihres Anwenderprogramms führen Sie mit Hilfe der

Online-Funktionen Ihres Software-Pakets durch.

Dazu müssen Sie Ihre CPU mit dem PG koppeln. Für diese Kopplung stehen Ihnen folgende Schnittstellen zur Verfügung:

Kopplung über die serielle Standard-Schnittstelle "PG-AG",

Kopplung über die 2. Serielle Schnittstelle der CPU 928.

Die PG-Funktionen laufen auf beiden seriellen Schnittstellen parallel ab.

PG-Funktionen

Die PG-Funktionen bieten Ihnen folgende Unterstützung für die Inbetriebnahme und den Test Ihres Programms:

Übersicht

Auskunft

"Speicherausbau"

"Bausteinliste"

"Ausgabe Adresse"

"Urlöschen"

"Speicher komprimieren"

"Baustein übertragen/löschen"

"Start/Stopp"

"Status"

"Bearbeitungskontrolle" höchste nutzbare Adresse und letzte belegte

Adresse des Anwenderspeichers

Liste der geladenen Bausteine

Inhalt von Speicherwörtern/bytes und

Peripheriebytes anzeigen

Speicherverwaltung

Speicher komplett löschen freien Speicherplatz zusammenfassen

Bausteine verwalten

Programmtest

CPU starten/anhalten

Befehlsfolge in einem Baustein testen einzelne Programmschritte testen

"Status Variablen"

"Steuern"

"Steuern Variablen"

Signalzustand von Prozessvariablen anzeigen

Ausgangssignale im Stopp ausgeben

Prozessvariable anzeigen/verändern

11-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

PG-Funktionen

Teil 11 PG-Schnittstellen und -Funktionen

Hinweis,

Die in diesem Abschnitt für die PG-Funktionen verwendeten Begriffe können u.U. von den Begriffen in Ihrer PG-Software abweichen. Sie beziehen sich auf die Online-Funktionen des MC5-Pakets von VIPA und des STEP

®

5-Progammier-Pakets von Siemens.

Aufrufen und Bedienen

Wie Sie die einzelnen PG-Funktionen aufrufen und bedienen, lesen Sie bitte im Handbuch zu Ihrem Programmiergerät nach.

Ausführung

Achtung!

Während der Speicher mittels des OB 186 komprimiert wird, wird die PG-

Funktion "Speicher komprimieren" abgewiesen. Andere PG-Funktionen sind nur eingeschränkt zulässig.

Während PG-Funktionen aktiv sind, wird der OB 186 abgewiesen

Im Automatisierungsgerät werden die PG-Funktionen an definierten

Punkten ausgeführt. Hierbei gibt es Punkte im Systemprogramm (= Systemkontrollpunkte) und Punkte im Anwenderprogramm (= Anwenderkontrollpunkte).

Systemkontrollpunkte

Im Betriebszustand STOP existiert der Systemkontrollpunkt "Stop", der regelmäßig aufgerufen wird.

Im Betriebszustand RUN wird der Systemkontrollpunkt "Zyklus" am Ende der Programmbearbeitungsebene ZYKLUS vor der Prozessabbildaktualisierung aufgerufen.

Befindet sich die CPU im WARTEZUSTAND, so wird dort regelmäßig der

Systemkontrollpunkt "Wartezustand" aufgerufen.

Zusätzlich gibt es einen zeitbedingten Systemkontrollpunkt "Asynchron".

Dieser Systemkontrollpunkt wird asynchron während der Programmbearbeitung eingeschachtelt.

Anwenderkontrollpunkte

Bei den Testfunktionen "Status Baustein" und "Bearbeitungskontrolle" werden Anwenderkontrollpunkte verwendet. Ein Anwenderkontrollpunkt wird aufgerufen, wenn ein Befehl ausgeführt ist, der vom PG markiert ist.

Rev. 00/27 11-3

Teil 11 PG-Schnittstellen und -Funktionen Handbuch VIPA CPU 928 - Band 1

Betriebszustand

WARTEZUSTAND

Bisher sind Ihnen die Betriebszustände STOP, ANLAUF und RUN bekannt.

Bei der PG-Funktion "Bearbeitungskontrolle" nimmt die CPU einen weiteren Betriebszustand ein: den WARTEZUSTAND.

Wenn die CPU sich im WARTEZUSTAND befindet, können noch weitere

PG-Funktionen aufgerufen werden.

Eigenschaften

Im Wartezustand wird das Anwenderprogramm nicht bearbeitet.

LEDs auf der Frontplatte: RUN-LED: aus

STOP-LED: aus

BASP-LED: an

Alle Zeitzellen sind "eingefroren", d.h. es laufen keine Timer (die

Zeitzellen werden nicht verändert). Ebenso bleiben alle Systemzeiten stehen, wie die der Regelung und die der zeitgesteuerten Bearbeitung.

Nach Verlassen des Wartezustands laufen die Timer weiter.

Unterbrechungsursachen wie z.B. PEU, BAU oder Stoppschalter werden im Wartezustand registriert. Es erfolgt keine Reaktion darauf.

Unterbrechungen Wenn im Wartezustand Unterbrechungsursachen registriert worden sind, so werden die dazugehörigen Programmbearbeitungsebenen unmittelbar nach Verlassen des Wartezustands aufgerufen.

Tritt NAU auf, so wird der Wartezustand verlassen und die Online-Funktion

BEARBEITUNGSKONTROLLE abgebrochen. Nach NETZ EIN ist in den

Steuerbits BARBEND angekreuzt. Der Stoppzustand kann nur mit

NEUSTART verlassen werden.

Auskunft

Speicherausbau Die PG-Funktion "Speicherausbau" zeigt Ihnen am PG die höchste nutzbare Adresse des Anwenderspeichers an (bei EPROM-Betrieb wird '0' angezeigt) und die letzte mit Bausteinen des Anwenderprogramms belegte

Adresse des Speichermoduls.

Ausgabe Adresse Mit der Funktion "Ausgabe Adresse" können Sie sich am PG den Inhalt von

Speicher- und Peripherieadressen hexadezimal anzeigen lassen. Sie können alle Adressen ansprechen. Im Bereich des Prozessabbildes wird kein ADF ausgelöst, wenn zum entsprechenden Byte keine Peripheriebaugruppe vorhanden ist; im Peripheriebereich entsteht kein QVZ.

Im byteadressierbaren Bereich (Merker, Prozessabbild) wird das High-Byte als 'FF' angezeigt.

Im Peripheriebereich wird bei quittierenden Adressen das Highbyte als '00' ausgegeben. Quittiert eine Peripherieadresse nicht, wird das Highbyte als

'FF' angezeigt.

11-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 11 PG-Schnittstellen und -Funktionen

Speicher- und

Übertragungsfunktionen

Urlöschen Sie können mit der Funktion "Löschen alle Bausteine" eine CPU vom PG aus urlöschen. Dabei wird das Urlöschen unbedingt durchgeführt (siehe die

Teile "Betriebszustände" und "Programmbearbeitung").

Befindet sich die CPU beim Aufruf von "Löschen aller Bausteine" im Zustand ANLAUF oder RUN, wird zunächst ein Übergang in den Stoppzustand durchgeführt. Dabei wird - wenn geladen - der Organisationsbaustein OB 28 aufgerufen.

Speicher komprimieren

Hinweis!

Urlöschen" ist nicht zulässig, solange "Bearbeitungskontrolle" aktiv ist!

Diese Funktion optimiert die Speicherbelegung durch Bausteine: Der Platz, den ungültig markierte Bausteine belegen, wird so durch die vorhandenen gültigen Bausteine überschrieben (der Baustein wird auf einen anderen

Speicherplatz umgeladen), dass diese vom Anfang des Speichers an hintereinanderliegende Adressen sind.

Dies wird getrennt im Anwenderspeicher und im DB-RAM durchgeführt und kann an den Systemkontrollpunkten "Zyklus" und "Stop" erfolgen.

Bei der CPU 928 ist die Funktion "Speicher komprimieren" im STOP immer möglich, auch wenn der BSTACK nicht leer ist.

Achtung!

Nach "Speicher komprimieren" im STOP ist als Anlaufart nur NEUSTART zulässig. USTACK und BSTACK werden nicht nachgeführt.

Netzspannungsausfall beim

Komprimieren

Fällt während des Komprimierens die Netzspannung aus, so wird nach

Netzwiederkehr der Vorgang abgeschlossen und kein weiterer Baustein umgeladen. Bei erneutem Aufruf von "Speicher komprimieren" wird der

Optimierungsvorgang fortgesetzt.

Rev. 00/27 11-5

Teil 11 PG-Schnittstellen und -Funktionen Handbuch VIPA CPU 928 - Band 1

Fehler im

Bausteinspeicher

Die Funktion "Speicher komprimieren" erkennt folgende Fehler im Bausteinspeicher:

• falsche Bausteinlänge,

• verfälschtes Muster '7070' im Bausteinkopf,

• ungültiger Bausteintyp (bei OBs ungültige Bausteinnummer).

Die Funktion wird daraufhin abgebrochen und am PG eine Meldung ausgegeben. Sie müssen dann zuerst "Urlöschen"; daraufhin ist der

Speicher leer.

Baustein

übertragen

Hinweis!

"Speicher komprimieren" ist nicht zulässig, solange "Bearbeitungskontrolle" aktiv ist.

Mit dieser Funktion übertragen Sie neue oder schon vorhandene Codeund Datenbausteine in den Anwenderspeicher bzw. in das interne DB-RAM der CPU.

Ist ein Baustein bereits im Anwenderspeicher bzw. im internen DB-RAM der CPU vorhanden, so wird er als ungültig markiert und der neue erhält die Gültigmarkierung. Ein Baustein wird nur dann für ungültig erklärt, wenn er momentan nicht bearbeitet wird.

Baustein löschen Mit dieser Funktion erklären Sie Code- und Datenbausteine im Anwenderspeicher der CPU für ungültig. Ein Baustein wird nur dann für ungültig erklärt, wenn er momentan nicht bearbeitet wird.

Den Platz, an den Sie diese Bausteine gelegen haben, können Sie über die Funktion "Speicher komprimieren" für andere Bausteine ausnutzen.

11-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 11 PG-Schnittstellen und -Funktionen

Programmtest

Start/Stopp Die PG-Bedienung entspricht der manuellen Bedienung.

Mit dem Aufruf der PG-Funktion "Stopp" im Betriebszustand RUN bringen

Sie das Automatisierungsgerät in den Stoppzustand.

Bei der CPU, an der das PG angeschlossen ist, sehen Sie folgendes Bild:

STOP-LED: an

BASP-LED: an

In den Steuerbits ist PG-STP angekreuzt.

Sie können eine CPU mit NEUSTART oder WIEDERANLAUF starten. Die

CPU verlässt den Stoppzustand.

Mit der PG-Funktion "Start" können Sie den gewünschten Anlauf durchführen und die CPU starten.

PG-Funktion NEUSTART:

Es wird ein MANUELLER NEUSTART der CPU durchgeführt.

PG-Funktion WIEDERANLAUF:

Es wird immer ein MANUELLER WIEDERANLAUF durchgeführt.

Status Baustein Mit Hilfe der Funktion "Status" testen Sie an beliebiger Stelle im Anwenderprogramm zusammenhängende Befehlsfolgen in einem Baustein.

Zu jedem ausgeführten Befehl im Baustein werden die aktuellen

Signalzustände der Operanden, die AKKU-Inhalte, das VKE usw. am

Programmiergerät ausgegeben (Schrittbetrieb). Auch die Parametrierung von Funktionsbausteinen kann auf diese Weise getestet werden:

Angezeigt werden die Signalzustände der Aktualoperanden.

Rev. 00/27 11-7

Teil 11 PG-Schnittstellen und -Funktionen Handbuch VIPA CPU 928 - Band 1

Funktion aufrufen und Haltepunkt vorgeben

Wenn Sie die Funktion "Status" am PG aufrufen und Bausteinart und

Bausteinnummer (evtl. mit Schachtelreihenfolge und Suchbegriff) des zu testenden Bausteins eingeben, so geben Sie damit einen sog. "Haltepunkt" vor.

Bei Aufruf der Funktion während der Programmbearbeitung im RUN wird die Programmbearbeitung solange fortgesetzt, bis der durch den vorgegebenen Haltepunkt markierte Befehl in der richtigen Schachtelfolge erreicht ist. Danach werden die überwachten Befehle jeweils bis zur

Befehlsgrenze ausgeführt und die Ergebnisse der Befehlsbearbeitung am

PG ausgegeben.

Aufruf im STOP Die Funktion "Status" lässt sich auch im STOP aufrufen. Danach ist sowohl ein NEUSTART als auch ein MANUELLER WIEDERANLAUF möglich. Die

CPU bearbeitet daraufhin das Anwenderprogramm bis zum vorgegebenen

Haltepunkt. Dann werden die Daten zu der gewünschten Befehlsfolge ausgegeben. Somit eignet sich die Funktion "Status" zum Beispiel auch dazu, das Anwenderprogramm im Anlauf oder im ersten Zyklus zu testen.

Hinweis!

Die Ergebnisse der Befehlsbearbeitung werden nicht in jedem Programmzyklus ausgegeben.

Einschachtelungen und

Unterbrechungen

Eine durch einen vorgegebenen Haltepunkt markierte Befehlsfolge wird vollständig durchlaufen, auch wenn zwischendurch an einer Befehlsgrenze eine andere Programmbearbeitungsebene (z.B.

ein Fehler-OB, ein

Prozess- oder ein Weckalarm) eingeschachtelt und abgearbeitet wird.

Führt in einer eingeschachtelten Programmbearbeitungsebene eine

Unterbrechungsursache die CPU in den Stoppzustand, so werden im

STOP die Daten bis zu demjenigen Befehl ausgegeben, der als letzter vor der Einschachtelung ausgeführt worden ist. Die Daten der restlichen

Befehle werden mit '0' aufgefüllt (auch SAZ = 0).

Wenn die CPU von einem Betriebszustand in den anderen wechselt (z.B.

RUN

STOP

MANUELLER WIEDERANLAUF), bleibt die Funktion weiterhin aufgerufen.

Beendet wird "Status" durch Betätigen der Abbruchtaste am Programmiergerät.

11-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Bearbeitungskontrolle

Teil 11 PG-Schnittstellen und -Funktionen

Mit der Funktion "Bearbeitungskontrolle" testen Sie an beliebiger Stelle im

Anwenderprogramm einzelne Programmschritte. Dazu halten Sie die

Programmbearbeitung an und lassen die CPU dann einen Befehl nach dem anderen bearbeiten. Zu jedem ausgeführten Befehl werden die aktuellen Signalzustände von Operanden, die AKKU-Inhalte, das VKE usw.

am Programmiergerät ausgegeben.

Funktion aufrufen und 1. Haltepunkt vorgeben

Zum Aufruf der Funktion "Bearbeitungskontrolle" geben Sie Bausteinart und Bausteinnummer (eventuell mit Schachtelreihenfolge) des zu testenden Bausteins an und markieren am PG den ersten Befehl, dessen

Daten ausgegeben werden sollen. Damit geben Sie einen ersten Haltepunkt vor.

In den Steuerbits wird BARB angekreuzt. Die Befehlsausgabe wird gesperrt (BASP-LED = an).

Aufruf im ANLAUF und im RUN

Wenn Sie den 1. Haltepunkt während der Programmbearbeitung im

ANLAUF oder RUN vorgeben, setzt die CPU die Programmbearbeitung solange fort, bis der durch den vorgegebenen Haltepunkt markierte Befehl erreicht ist. Der Befehl wird noch komplett ausgeführt. (Die Befehle B MW und B DW werden einschließlich substituiertem Befehl bearbeitet.)

Anschließend geht die CPU in den WARTEZUSTAND. Dort werden die

Daten des markierten und zuletzt bearbeiteten Befehls ausgegeben.

Aufruf im STOP Auch im STOP können Sie die Funktion BEARBEITUNGSKONTROLLE aufrufen und einen ersten Haltepunkt vorgeben. Die CPU bleibt weiterhin im Stoppzustand. Sie können jetzt sowohl einen NEUSTART als auch einen MANUELLEN WIEDERANLAUF durchführen. Die CPU führt die

Programmbearbeitung bis zum markierten Befehl aus und verfährt dann wie oben.

Rev. 00/27 11-9

Teil 11 PG-Schnittstellen und -Funktionen

Funktion fortführen und weiteren

Haltepunkt vorgeben

Handbuch VIPA CPU 928 - Band 1

Ausgangspunkt:

Die CPU befindet sich im WARTEZUSTAND.

Um die Funktion fortzuführen, haben Sie zwei Möglichkeiten.

1. Sie geben einen Folgehaltepunkt vor:

Der vorgebenene Haltepunkt wird um einen Befehl verschoben. Die

CPU verlässt den WARTEZUSTAND und setzt die Programmbearbeitung um diesen einen Befehl fort. Wenn der Befehl komplett bearbeitet ist, geht die CPU erneut in den WARTEZUSTAND und gibt dort die Daten aus.

Wird der Folgebefehl jedoch in einer eingeschachtelten Programmbearbeitungsebene erreicht, setzt die CPU die Programmbearbeitung fort. Der Folgepunkt bleibt weiterhin vorgegeben.

Hinweis!

Im Stoppzustand können Sie keinen Folgehaltepunkt vergeben!

2. Sie geben einen neuen Haltepunkt vor:

Sie geben am PG einen beliebigen anderen Befehl im gleichen oder einem anderen Baustein vor. Die CPU setzt die Programmbearbeitung fort, bis sie den neuen Haltepunkt erreicht. Der Befehl wird vollständig bearbeitet. Dann geht die CPU in den WARTEZUSTAND und gibt dort die Daten aus.

Sie können die CPU mit Bearbeitungskontrolle auch um einen ganzen

Zyklus weiterlaufen lassen (zyklusweise testen). Dafür setzen Sie im

WARTEZUSTAND den Haltepunkt auf denselben Befehl wie vorher.

Allerdings darf sich der Befehl nicht in einer Programmierschleife befinden. In diesem Fall wird die Schleife einmal durchlaufen; es erfolgt keine Programmbearbeitung über die Zyklusgrenze hinweg.

Hinweis!

Im WARTEZUSTAND können Sie andere Funktionen wie "Ausgabe Buch",

"Status Variablen" oder "Steuern Variable" aufrufen. Sobald die Programmbearbeitung nach Verlassen des WARTEZUSTANDs fortgesetzt wird, laufen die Timer und die Systemzeiten weiter, bis wieder ein Haltepunkt erreicht wird.

Haltepunkt zurücknehmen

Ist ein vorgegebener Haltepunkt noch nicht erreicht, so haben Sie die

Möglichkeit, diesen nachträglich zurückzunehmen, indem Sie am PG die

Abbruchtaste betätigen. Die CPU geht daraufhin in den WARTEZUSTAND.

Danach können Sie einen neuen Haltepunkt vorgeben oder "Bearbeitungskontrolle Ende" aufrufen.

11-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Funktion abbrechen

Teil 11 PG-Schnittstellen und -Funktionen

Durch Aufrufen von "Bearbeitungskontrolle Ende" können Sie während der

Programmbearbeitung im WARTEZUSTAND oder im STOP die Funktion abbrechen. Die CPU geht in den STOP (bzw. bleibt im STOP). Die STOP-

LED blinkt langsam. In den Steuerbits wird BARBEND angekreuzt.

Anschließend ist ein NEUSTART erforderlich.

Tritt während der Funktion "Bearbeitungskontrolle" ein Schnittstellenfehler auf (Unterbrechung am PG-Kabel), wird die Funktion abgebrochen wie oben beschrieben.

Einschachtelungen

Bei aufgerufener Funktion "Bearbeitungskontrolle" können nach Verlassen des WARTEZUSTANDs andere Programmbearbeitungsebenen eingeschachtelt werden.

Wenn der Befehl am Haltepunkt bearbeitet ist und an dieser Stelle eine andere Programmbearbeitungsebene aufgerufen ist (z.B. ein Fehler-OB oder ein Alarm-OB), so wird diese erst eingeschachtelt und vollständig bearbeitet, wenn der WARTEZUSTAND wieder verlassen wird.

Hinweis!

Die Daten werden an der Befehlsgrenze gelesen und dort ausgegeben.

Alle dann evtl. folgenden Einschachtelungen sind noch nicht bearbeitet

Testablauf bei Bearbeitungskontrolle

Rev. 00/27

"

11-11

Teil 11 PG-Schnittstellen und -Funktionen Handbuch VIPA CPU 928 - Band 1

Sind im WARTEZUSTAND Anforderungen wie PEU, Stoppschalter usw.

aufgetreten, werden diese nur registriert. Sofort nach Verlassen des

WARTEZUSTANDs können diese wirksam werden: Eine Programmbearbeitungsebene wird eingeschachtelt oder eine Unterbrechung führt in den STOP.

Es gilt die Reihenfolge der Ereignisse. Gleichzeitige Anforderungen werden priorisiert.

Hinweis!

Wenn die CPU im WARTEZUSTAND ist und eine Einschachtelung angefordert ist, haben Sie die Möglichkeit, einen Haltepunkt auf einen

Befehl der Einschachtelung zu setzen. So können Sie z.B. bei einem

Befehl, der einen QVZ auslöst, direkt danach den QVZ-Fehler-OB beobachten.

Unterbrechungen

Programmbearbeitung (ANLAUF/RUN)

Stoppzustand:

Tritt während der Programmbearbeitung eine Unterbrechung auf (z.B.

Peripherie unklar, STOP-Schalter, Fehler-OB nicht programmiert usw.) und der vorgegebene Haltepunkt ist noch nicht erreicht, so geht die

CPU in den Stoppzustand. Wenn danach ein Anlauf (NEUSTART oder

MANUELLER WIEDERANLAUF) durchgeführt wird, bleibt die Funktion

"Bearbeitungskontrolle" weiterhin aufgerufen; der Haltepunkt ist weiterhin vorgegeben.

Befehlsbearbeitung am Haltepunkt (ANLAUF/RUN)

Stoppzustand:

Wenn während der Befehlsbearbeitung am Haltepunkt oder Folgehaltepunkt Stopp-Bedingungen auftreten (STOP-Schalter, Befehl STP,

Fehler-OB nicht programmiert), so geht die CPU unmittelbar nach der

Befehlsbearbeitung in den STOP.

Wird im Stoppzustand kein neuer Haltepunkt vorgegeben, geht die CPU nach einem ANLAUF in den WARTEZUSTAND. Die Funktion "Bearbeitungskontrolle" bleibt weiterhin aufgerufen.

Wartezustand

STOP

Unterbrechungsursachen, die im WARTEZUSTAND auftreten (z.B.

Peripherie unklar, STOP-Schalter) oder vom vorausgegangenen Befehl stammen (Fehler, der in den STOP führt), werden zwar registriert, die

CPU bleibt jedoch im WARTEZUSTAND.

Erst wenn im

WARTEZUSTAND ein neuer Haltepunkt vorgegeben wird und die CPU den WARTEZUSTAND verlässt, bewirken die aufgetretenen Unterbrechungsursachen einen Übergang in den STOP. Der vorgegebene

Haltepunkt wird nicht erreicht.

Wird jetzt ein ANLAUF (NEUSTART oder MANUELLER WIEDER-

ANLAUF) durchgeführt, ist der neue Haltepunkt weiterhin vorgegeben.

11-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 11 PG-Schnittstellen und -Funktionen

Hinweis!

Wird im WARTEZUSTAND der Betriebsartenschalter auf STOP gestellt, so geht die CPU erst nach Verlassen des WARTEZUSTANDs in den STOP.

Führen Unterbrechungsursachen die CPU während der "Bearbeitungskontrolle" in den STOP, bleibt nach einem anschließenden ANLAUF die

Funktion "Bearbeitungskontrolle" (und ein evtl. vorgegebener Haltepunkt) weiterhin aktiv!

Status Variablen Mit der PG-Funktion "Status Variablen" können Sie sich die aktuellen

Signalzustände bestimmter Operanden (Prozessvariablen) anzeigen lassen.

Die Funktion aktiviert Systemkontrollpunkte im ZYKLUS, im STOP und im

WARTEZUSTAND.

Wenn ein Kontrollpunkt erreicht ist, wird der zu diesem Zeitpunkt aktuelle

Signalzustand der gewünschten Prozessvariablen ausgegeben.

Sie können alle Prozessvariablen angeben (Eingänge, Ausgänge, Merker,

Zeitzellen, Zähler und Datenwörter). Im Bereich des Prozessabbilds wird bei Zugriff auf eine Adresse, zu der keine Peripherie vorhanden ist, kein

ADF ausgelöst.

Ablauf während der Programmbearbeitung

Läuft die Funktion im Betriebszustand RUN oder ANLAUF, so wird die

Programmbearbeitung fortgesetzt, bis der Systemkontrollpunkt "Zyklus" erreicht ist. Dann werden die Signalzustände der Operanden am

Zyklusende abgefragt und angezeigt.

Eingänge werden aus dem

Prozessabbild gelesen. Solange die Funktion nicht abgebrochen wird, werden bei laufender Programmbearbeitung die Signalzustände zyklisch aktualisiert. Die Signalzustände werden dabei nicht an jedem Systemkontrollpunkt abgefragt.

Wird der Systemkontrollpunkt "Zyklus" nicht erreicht, erfolgt keine Ausgabe der Signalzustände (z.B. bei einer Dauerschleife im Anwenderprogramm)!

Ablauf der

Funktion im STOP

Wenn die Funktion "Status Variablen" im STOP läuft, werden die Signalzustände der Operanden ausgegeben, wie sie am Systemkontrollpunkt

"Stop" vorliegen. Wichtig ist dabei, dass die Eingänge direkt von der

Peripheriebaugruppe abgefragt und ausgegeben werden. Dadurch lässt sich zum Beispiel testen, ob ein Peripherie-Eingangssignal tatsächlich zur

CPU gelangt. Die Ausgänge werden vom Prozessabbild gelesen.

Rev. 00/27 11-13

Teil 11 PG-Schnittstellen und -Funktionen Handbuch VIPA CPU 928 - Band 1

Ablauf der

Funktion im

WARTEZUSTAND

Die Funktion "Status Variablen" können Sie auch aufrufen, wenn die CPU sich mit der Funktion "Bearbeitungskontrolle" im WARTEZUSTAND befindet. Am Systemkontrollpunkt "Wartezustand" werden die Signalzustände der Operanden abgefragt und ausgegeben. Wie im Stoppzustand werden dabei die Eingänge direkt, die Ausgänge dagegen aus dem Prozessabbild gelesen.

Wechsel des Betriebszustands/ Beenden der Funktion

Wenn die CPU von einem Betriebszustand in den anderen wechselt (z.B.

RUN

STOP

MANUELLER WIEDERANLAUF), bleibt die Funktion weiterhin aufgerufen. Beendet wird der "Status Variablen" durch Betätigen der Abbruchtaste am Programmiergerät.

Steuern

Ablauf der

Funktion

Beenden der

Funktion

Hinweis!

Die Variablen werden nicht in jedem Programmzyklus ausgegeben.

Mit Hilfe der Funktion "Steuern" können Sie die Ausgangsbytes des

Automatisierungsgerätes direkt (unter Umgehung des Prozessabbildes) auf einen gewünschten Signalzustand einstellen oder nicht quittierende

Signalformer (digitale Peripherie 0 bis 127) erkennen (Meldung am PG).

Sie haben die Möglichkeit, die von den Ausgängen versorgten Prozessgeräte ("Aktoren" wie z.B. Motor, Ventil) direkt zu überprüfen und zu steuern.

Hinweis!

Die Funktion "Steuern" ist nur im STOP zulässig!

Bei Aufruf der Funktion im STOP wird die Befehlsausgabesperre aufgehoben (BASP = inaktiv). Die gesamte digitale Peripherie (F000h bis

F07Fh) wird gelöscht, wobei jede Adresse mit dem Wert '0' beschrieben wird. Während des Löschens der Peripherie ist die Funktion nicht unterbrechbar.

Die Peripherieausgänge werden byteweise gesteuert, direkt und ohne das

Prozessabbild der Ausgänge zu beeinflussen!

Wenn die Funktion aktiv ist (Meldung "Steuern fertig" am PG), können Sie einen NEUSTART oder einen MANUELLEN WIEDERANLAUF durchführen. Nach einem erneuten Übergang in den STOP können Sie wieder steuern. Die Ausgangssignalformer werden in diesem Fall nicht gelöscht.

Sie beenden die Funktion durch Drücken der Abbruchtaste am PG. Die

Befehlsausgabesperre ist wieder aktiv (Leuchtdiode BASP = an).

11-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 11 PG-Schnittstellen und -Funktionen

Steuern Variablen Mit der PG-Funktion "Steuern Variablen" können Sie die Werte von

Operanden (Prozessvariablen) einmalig verändern. Dies ist in jedem

Betriebszustand der CPU zulässig. Sie können alle Prozessvariablen angeben. Im Bereich des Prozessabbilds wird bei Zugriff auf eine Adresse, zu der keine Peripherie vorhanden ist, kein ADF ausgelöst.

Die Änderung wird an den Systemkontrollpunkten "asynchron", d.h. erst am Zyklusende, wirksam. Beachten Sie, dass die gesteuerten Werte nachträglich überschrieben werden können (z.B. durch das Anwenderprogramm oder die Prozessabbildaktualisierung)!

Hinweis!

Das PG steuert die Prozessvariablen E, A, M byteweise und DW, T, Z wortweise.

Wenn Sie mehrere Operanden steuern, dann werden die geänderten

Bytes (bei DW, T, Z die Wörter) nacheinander, über mehrere Funktionsaufrufe verteilt, im Speicher geändert.

Rev. 00/27 11-15

Teil 11 PG-Schnittstellen und -Funktionen

Tätigkeiten an Kontrollpunkten

Handbuch VIPA CPU 928 - Band 1

Der nachfolgenden Tabelle können Sie entnehmen, welche Tätigkeiten bei den PG-Funktionen an den Kontrollpunkten ausgeführt werden.

Tätigkeiten der Online-Funktionen

"STOP"

Systemkontrollpunkt

"ZYKLUS" "WARTE-

ZUSTAND"

Eingabe der Adresse:

Daten schreiben

1)

Bausteineingabe:

Baustein gültig erklären

Baustein löschen

Speicher komprimieren:

Baustein verschieben

1) 2)

START/STOP

URLÖSCHEN

STATUS:

Daten lesen und ausgeben

STATUS VARIABLEN:

Daten lesen und ausgeben

BEARBEITUNGSKONTROLLE

Haltepunktvorgabe

Daten lesen und ausgeben

STEUERN (Signalformer)

STEUERN VARIABLE

1)

1)

*

*

*

*

*

*

*

*

*

*

3)

*

*

*

*

*

*

1)

Tätigkeiten, die über mehrere Systemkontrollpunkte verteilt werden können.

2)

Pro Systemkontrollpunkt maximal ein Baustein.

3)

Nach "Komprimieren im STOP" ist ein NEUSTART erforderlich.

*

*

*

*

*

*

*

"ASYN-

CHRON"

*

*

*

*

*

*

Anwenderkontrollpunkt

*

*

11-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1

Serielle Kopplung

Teil 11 PG-Schnittstellen und -Funktionen

Für die serielle Kopplung PG-AG existieren folgende Möglichkeiten:

Direkte Verbindung CPU - über die Standard-Steckleitung

Verbindung zum PG über einen PG-Multiplexer

Verbindung zum PG über Industrial Ethernet H1/L2/L1; dabei kann auch der PG-Multiplexer zwischengeschaltet werden.

Parallelbetrieb von zwei seriellen PG-Schnittstellen

Die zweite Schnittstelle der CPU 928 können Sie ebenso wie die erste

Schnittstelle als PG-Schnittstelle nutzen.

Rev. 00/27

Sämtliche PG-Funktionen stehen Ihnen auf beiden Schnittstellen zur

Verfügung. In den folgenden Abschnitten finden Sie nur die Informationen, die Sie benötigen, wenn Sie gleichzeitig an beiden Schnittstellen mit

Programmiergeräten oder OPs arbeiten.

11-17

Teil 11 PG-Schnittstellen und -Funktionen

Konfigurations-

Beispiele

Handbuch VIPA CPU 928 - Band 1

C P U 928B - C P 14 3

S I1 PG über Industrial Ethernet H 1 angeschlo ssen

S I2 PG direkt angeschlossen

V erbindungskabel C P - C PU

Ind ustrial

E thernet

H 1

CPU928B

SI1 OP direkt angeschlossen

(zum Bedienen und Beobachten)

SI2 PG direkt angeschlossen

(zum Programmieren)

PG

OP

11-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 11 PG-Schnittstellen und -Funktionen

Inbetriebnahme

Um die zweite serielle Schnittstelle der CPU 928 als PG-Schnittstelle in

Betrieb zu nehmen, schließen Sie das PG an die serielle Schnittstelle SI 2 an.

Hinweis!

Bitte beachten Sie, dass die CPU 928 standardmäßig mit einer 2. TTY-

Schnittstelle ausgeliefert wird. Sie können die CPU 928 auch mit einer 2.

RS 232C-Schnittstelle beziehen. Beide Schnittstellenarten besitzen die PG-

Kommunikations-Funktionalität aber nur an die TTY-Schnittstelle können

Sie ein PG direkt anschließen!

Betrieb

Wenn Sie die 2. serielle Schnittstelle als PG-Schnittstelle einsetzen, steht auf jeder Schnittstelle der volle Funktionsumfang der Standard-PG-

Schnittstelle zur Verfügung. Dies gilt solange, wie die einzelnen Funktionen sich gegenseitig nicht beeinflussen, d.h. sequentiell nacheinander aufgerufen werden.

Zum Verständnis der Ausnahmen ist es sinnvoll, die PG-Funktionen in drei

Gruppen zu unterteilen:

Gruppe Kennzeichen kurzlaufende Funktionen Funktionen, die einen Auftrag ausführen und anschließend beendet sind.

(z.B. "Übertragen", "Löschen" usw.) langlaufende Funktionen Funktionen, die eine feste Anzahl von

Aufträgen bearbeiten:

"Steuern",

"Bearbeitungskontrolle".

zyklische Funktionen Die Funktionen führen einen Auftrag immer wieder aus, bis sie vom Anwender beendet werden:

"Status Baustein",

"Status Variablen",

"Steuern Variablen".

Achtung!

Bei langlaufenden und zyklischen Funktionen müssen Sie den Aufruf dieser Funktionen auf beiden PGs koordinieren.

Rev. 00/27 11-19

Teil 11 PG-Schnittstellen und -Funktionen

Nicht parallel betreibbare

Funktionen

Handbuch VIPA CPU 928 - Band 1

In der nachfolgenden Tabelle sind die Funktionspaare aufgelistet, die Sie nicht parallel betreiben können.

Am ersten PG läuft Funktion:

"Steuern"

"Bearbeitungskontrolle" eine "Status"-Funktion eine "Status"-Funktion eine "Status"-Funktion

"Status" auf nicht bearbeiteten oder langlaufenden Baustein

Diese Funktion ist am zweiten PG nicht möglich: jede Funktion jede Funktion

"Steuern"

"Bearbeitungskontrolle"

"Urlöschen" jede Funktion

Wenn Sie dies missachten, meldet das zweite PG einen Fehler, z.B.:

"AS-Funktion gesperrt: laufende Funktion".

Die gleiche Fehlermeldung oder "Zeitüberlauf bei Datenaustausch mit AG" erscheint, wenn die CPU 928 gerade Funktionen des anderen PGs bearbeitet, welche den Zugriff Ihres PG innerhalb der Zeitüberwachung verhindern. Ihre Eingabe wird dann abgewiesen. Wiederholen Sie Ihre

Eingabe, nachdem die Funktionen des anderen PGs abgeschlossen sind.

Hinweis!

Durch unterschiedlichen Leistungs- und Funktionsumfang sind Zeit-

überwachung und Fehlermeldeverhalten nicht bei allen PGs und OPs gleich.

Achtung!

Wenn Sie gleichzeitig an beiden PGs die Funktion "Speicherausbau" aktivieren, kann es zu falschen Anzeigen kommen.

Wenn Sie gleichzeitig online an beiden PGs Bausteine eingeben, korrigieren oder löschen, so müssen Sie beachten, dass die Bausteine nicht vor dem Zugriff durch das jeweils andere PG geschützt sind.

"Status" auf nicht angesprungenen Baustein oder "Status" im STOP blockiert die andere Schnittstelle für alle Funktionen.

11-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 11 PG-Schnittstellen und -Funktionen

Ablauf bei bestimmten

Betriebsfällen

Paralleler Betrieb bei kurzlaufenden

Funktionen

Wenn Sie an beiden Schnittstellen gleichzeitig mit Programmiergeräten arbeiten, versuchen beide PGs, unabhängig voneinander ihre jeweiligen

Funktionen auszuführen. Solange sie ihre Aufträge zeitlich versetzt an die

CPU übertragen, werden diese in der Reihenfolge ihres Eintreffens nacheinander bearbeitet.

Es kann aber vorkommen, dass die CPU 928 zwei Aufträge entweder gleichzeitig erhält oder einen Auftrag vom zweiten PG erhält, während noch ein Auftrag des ersten PGs läuft.

Da die gleichzeitige Bearbeitung nicht möglich ist, werden diese beiden

Aufträge nacheinander bearbeitet; allerdings sind die Wartezeiten für den zweiten Auftrag meistens so gering, dass sie für den Anwender kaum in

Erscheinung treten.

Es ergibt sich somit für gleichzeitige Aufträge folgender Ablauf:

Zeitlicher Ablauf bei gleichzeitigen Aufträgen

Anwender am PG 1 CPU 928

Eingabe PG 1 über Tastatur

Aufbereitung Eingabe 1 im PG 1

Übertragen Auftrag 1 an die CPU

Bearbeiten Auftrag 1 in der CPU

Übertragen Ergebnis 1 an PG 1

Aufbereiten Ergebnisdaten 1

Ausgabe Ergebnis 1 am PG 1

*

*

*

Anwender am PG 2

Eingabe PG 2 über Tastatur

Aufbereitung Eingabe 2 im PG 2

Hier muss das PG 2 warten, bis die CPU die Bearbeitung von

Auftrag 1 beendet hat.

Übertragen Auftrag 2 an die CPU

Bearbeiten Auftrag 2 in der CPU

Übertragen Ergebnis 2 an PG 2

Aufbereiten Ergebnis 2 am PG 2

Ausgabe Ergebnis 2 am PG 2

Aus diesem Ablauf ist zu ersehen, dass Sie zwar an beiden PGs unabhängig voneinander arbeiten können, dass aber eine gegenseitige

Beeinflussung auftritt.

So kann es passieren, dass beide PG gleichzeitig denselben Baustein bearbeiten oder über ein PG ein Baustein gelöscht wird, den das andere

PG gerade bearbeitet.

Sie müssen also bei jeder Bearbeitung berücksichtigen, inwieweit Sie das

Verhalten des anderen PG beeinflussen.

Rev. 00/27 11-21

Teil 11 PG-Schnittstellen und -Funktionen Handbuch VIPA CPU 928 - Band 1

Paralleler Betrieb bei langlaufenden

Funktionen

Die langlaufenden Funktionen "Steuern" und "Bearbeitungskontrolle" können keine andere Funktion unterbrechen und können auch von keiner anderen Funktion unterbrochen werden. Sie dürfen damit auch nicht parallel ausgeführt werden, d.h. sie werden wie ein Standardauftrag als ein

Block behandelt.

Paralleler Betrieb bei zyklischen

Funktionen

Zyklische Funktionen können parallel sowohl zu zyklischen als auch zu kurzlaufenden Funktionen ausgeführt werden. Als Beispiel wird hier der

Standardablauf für die Funktion "Status Variablen" dargestellt.

Zeitlicher Ablauf einer zyklischen Funktion mit paralleler, kurzlaufender Funktion

Anwender am PG 1

PG 1 teilt der CPU mit, welche Variablen ausgegeben werden sollen.

CPU 928 Anwender am PG 2

PG 1 fordert die aktuellen Daten an.

PG 1 fordert die aktuellen Daten an.

PG 1 fordert die aktuellen Daten an.

PG 1 muss warten, bis CPU frei ist.

PG 1 fordert die aktuellen Daten an.

PG 2 setzt Auftrag ab.

PG 2 muss warten, bis CPU frei ist.

Auftrag des PG 2 wird bearbeitet.

Auftrag des PG 2 ist beendet.

11-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 1 Teil 11 PG-Schnittstellen und -Funktionen

Um einem zweiten PG die Möglichkeit zu bieten, auch einen Auftrag an die

CPU zu senden, wird die Statusfunktion zwischen zwei Anforderungen unterbrochen und nach dem eingeschobenen Auftrag wieder fortgesetzt.

Da die unterbrechende Funktion zu ihrer Bearbeitung CPU-Leistung benötigt, muss die gesamte CPU-Systemleistung auf beide Funktionen aufgeteilt werden, z.B. werden bei der Funktion "Status Variablen" die auszugebenden Daten etwas langsamer aktualisiert.

Bei gleichzeitigem Arbeiten an beiden PGs ergibt sich der in der folgenden

Abb. dargestellte Ablauf.

Dieser gilt auch für den Fall, dass auf beiden PGs zyklische Funktionen ablaufen; die beiden PGs wechseln sich dann beim Zugriff auf die CPU ab.

Zeitlicher Ablauf zweier paralleler zyklischer Funktionen

Anwender am PG 1

PG 1 teilt der CPU mit, welche

Variablen ausgegeben werden sollen.

CPU 928 Anwender am PG 2

PG 1 fordert die aktuellen Daten an.

(PG meldet: Statusbearbeitung läuft.)

PG 1 fordert die aktuellen Daten an.

PG 1 fordert die aktuellen Daten an.

PG 2 setzt Auftrag ab (z.B. "Status PB 9").

PG 2 muss warten, bis CPU frei ist.

Auftrag des PG 2 wird bearbeitet.

(PG meldet:Statusbearbeitung läuft.)

(PG meldet: Anweisung wird nicht bearbeitet.)

PG 1 muss warten, bis die CPU frei ist.

PG 2 bricht "Status" ab;

CPU bearbeitet Abbruchanforderung.

Auftrag des PG 2 ist beendet.

PG 1 erhält neue Daten.

Rev. 00/27 11-23

Teil 11 PG-Schnittstellen und -Funktionen Handbuch VIPA CPU 928 - Band 1

Besonderheiten bei zyklischen

Funktionen auf beiden PGs

Blockiert die unterbrechende Funktion die CPU 928 ("Status" auf einen

Baustein, der nicht ausgeführt wird), so wird die unterbrochene Funktion ebenfalls blockiert. Sie wird erst dann wieder fortgesetzt, wenn die unterbrechende Funktion beendet wird.

Bei gleichzeitigem Arbeiten an beiden PGs ergibt sich dann folgender Ablauf:

Anwender am PG 1

PG 1 teilt der CPU mit, welche

Variablen ausgegeben werden sollen.

CPU 928

PG 1 fordert die aktuellen Daten an.

(PG meldet: Statusbearbeitung läuft.)

Anwender am PG 2

PG 1 fordert die aktuellen Daten an.

PG 1 fordert die aktuellen Daten an.

PG 2 setzt Auftrag ab (z.B. "Status PB 9").

PG 2 muss warten, bis CPU frei ist.

Auftrag des PG 2 wird bearbeitet.

(PG meldet: Statusbearbeitung läuft.)

(PG meldet: Anweisung wird nicht bearbeitet.)

PG 1 muss warten, bis CPU frei ist.

PG 2 bricht "Status" ab;

CPU bearbeitet Abbruchanforderung.

Auftrag des PG 2 ist beendet.

PG 1 erhält neue Daten.

Allgemeine

Hinweise

Wird an einer Schnittstelle "Status Variablen", "Steuern Variablen" (bei der

Statusanzeige) oder "Status" ausgegeben und an einer anderen Schnittstelle "Speicher komprimieren", "Baustein löschen" oder "Baustein übertragen" durchgeführt, so kann es zu einer falschen Anzeige in der Statusanzeige kommen.

11-24 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Teil 12

Teil 12 Integrierte Sonderfunktionen

Integrierte Sonderfunktionen

Einleitung Das Betriebssystem der CPU 928 bietet Ihnen Sonderfunktionen an, die

Sie bei Bedarf mit einem Bausteinaufruf ausführen können. Für diese

Sonderfunktionen sind die Organisationsbausteine OB 100 bis OB 255 reserviert. Diese Funktionen werden als Integrierte Sonderfunktionen bezeichnet, da sie ein fester Bestandteil des Systemprogramms sind. Sie können als Anwender Sonderfunktionen nur ausführen. Sie können Sonderfunktionen weder lesen noch ändern.

Übersicht

Inhalt

In dem nachfolgenden Inhaltsverzeichnis finden Sie alle zur Zeit vorhandenen Sonderfunktionen der CPU 928.

Thema Seite

Teil 12 Integrierte Sonderfunktionen ..................................................12-1

OB 110: Zugriff auf das Anzeigenbyte ................................................12-5

OB 111: AKKU 1, 2, 3 und 4 löschen..................................................12-7

OB 112/113: AKKU-Roll-Up/AKKU-Roll-Down ....................................12-8

OB 120: "Alarme gemeinsam sperren" ein-/ausschalten...................12-10

OB 121: "Weckalarme einzeln sperren" ein-/ausschalten .................12-13

OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten...............12-15

OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten .............12-18

OB 134, OB 135, OB 136 und OB 139 .............................................12-20

OB 150: Systemzeit stellen/lesen .....................................................12-22

OB 151: Uhrzeitgesteuerten Weckalarm stellen/lesen ......................12-29

OB 152: Zyklusstatistik .....................................................................12-36

OB 160 bis 163: Zählschleifen ..........................................................12-43

OB 170: Bausteinstack (BSTACK) lesen ..........................................12-45

OB 180: Variabler Datenbaustein-Zugriff ..........................................12-50

OB 181: Datenbausteine (DB/DX) testen..........................................12-54

OB 182: Datenbereich kopieren........................................................12-56

OB 186: Speicher komprimieren .......................................................12-60

OB 190/192: Merker in Datenbaustein übertragen............................12-62

OB 191/193: Datenblöcke in Merkerbereich übertragen ...................12-65

OB 216 bis 218: Kachelzugriffe ........................................................12-70

OB 216: Schreiben auf eine Kachel ..................................................12-71

OB 217: Lesen aus einer Kachel ......................................................12-74

OB 218: Belegung einer Kachel........................................................12-76

OB 220: Vorzeichenerweiterung .......................................................12-78

OB 221: Zyklusüberwachung einstellen ............................................12-79

OB 222: Zyklusüberwachungszeit neu starten ..................................12-80

Rev. 00/27 12-1

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

OB 228: Statusinformation einer Programmebene lesen ..................12-81

OB 230 bis 237: Funktionen für Standard-FBs .................................12-83

OB 250/251: Regelung /PID-Algorithmus .........................................12-84

OB 250: PID-Algorithmus initialisieren ..............................................12-91

OB 251: PID-Alorithmus bearbeiten..................................................12-92

OB 254/255: Einen Datenbaustein verschieben/duplizieren..............12-98

12-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Schnittstelle

Teil 12 Integrierte Sonderfunktionen

Folgende Schnittstellen stehen Ihnen bei der Programmierung zur Verfügung:

Bausteinaufruf

Aufruf mit bedingtem/absolutem Bausteinaufruf SPB.../SPA...

Parameter

Parameter zur Voreinstellung über AKKU 1 und evtl. AKKU 2 und/oder

Speicherzellen. Unter dem Begriff Parameter sind in der folgenden

Beschreibung der einzelnen Sonderfunktionen alle Daten aufgelistet, die die CPU benötigt, um die Sonderfunktionen korrekt ausführen zu können.

Vor Aufruf der Sonderfunktionen im Anwender-Programm müssen Sie diese Daten in die Akkumulatoren laden.

Akku-

Schreibweise

Bei den Angaben zur Parametrierung der einzelnen Sonderfunktions-

Organisationsbausteine berücksichtigen Sie bitte folgende Schreibweise:

AKKU 1:

AKKU-1-L:

AKKU-1-LL:

AKKU-1-LH:

AKKU1

AKKU1, Low-Wort

AKKU1, Low-Wort, Low-Byte

AKKU1, Low-Wort, High-Byte

32 bit

16 bit

8 bit

8 bit

Fehlerbearbeitung Tritt bei der Bearbeitung der aufgerufenen Sonderfunktion ein Fehler auf, so reagiert das Systemprogramm darauf mit einer speziellen Fehlerreaktion. Hierbei werden zwei Gruppen von Sonderfunktionen unterschieden:

Fehler-OB, Akku-Anzeigen

VKE, ANZ 0/ANZ1

Fehler-OB, Akku-

Anzeigen

Es gibt Sonderfunktionen, bei denen im Fehlerfall ein Fehler-OB aufgerufen wird. In diesen können Sie das weitere Verhalten der CPU festlegen. Fehler-OBs sind die OBs 19, 30 und 31. In AKKU 1 und bei einigen Sonderfunktionen zusätzlich in AKKU 2 werden dem Fehler-OB

Kennungen übergeben, die den aufgetretenen Fehler näher erläutern

(siehe Kapitel "Unterbrechungs- und Fehlerbehandlung").

Stößt die CPU bei der Bearbeitung einer dieser Sonderfunktionen z.B. auf eine falsche Parametrierung, erkennt sie einen Laufzeitfehler und ruft den

OB 31 auf. Ist z.B. die aufgerufene Sonderfunktion nicht vorhanden, erkennt die CPU einen Befehlscodefehler und versucht, den OB 30

Rev. 00/27 12-3

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2 aufzurufen. Wird bei einigen Sonderfunktionen in den Aufrufparametern auf einen Datenbaustein verwiesen und ist dieser Datenbaustein nicht geladen, versucht die CPU den OB 19 aufzurufen.

Falls die Fehler-OBs 30 bzw. 31 nicht geladen sind oder einen STP-Befehl enthalten, geht die CPU in den Stoppzustand. In den Steuerbits und im

USTACK ist LZF bzw. BCF angekreuzt. In den AKKUs der Fehlerbearbeitungsebene sind Fehlerkennungen hinterlegt, die den Fehler näher beschreiben.

Falls die OBs 19, 30 oder 31 geladen sind (und keine STP-Operation enthalten), wird das Anwenderprogramm nach der Bearbeitung des betreffenden OBs mit dem nächsten Befehl fortgesetzt. In diesem Fall sind die AKKUs unverändert.

VKE, ANZ 0/ANZ1 Bei einigen Sonderfunktionen werden für das Anzeigen von sonderfunktionspezifischen Fehlern das VKE oder die Anzeigen ANZ 0/ANZ 1 beeinflusst.

Wenn bei der Bearbeitung dieser Sonderfunktion ein Fehler auftritt, wird in den meisten Fällen das VKE gesetzt (VKE=1). Sie können in Ihrem

Anwender-Programm bei diesen Sonderfunktionen mit einer SPB-

Operation (Springe bedingt) das VKE auswerten und damit auf einen

Fehler reagieren.

Bei manchen Sonderfunktionen werden die Ergebnisanzeigen ANZ 0 und

ANZ 1 durch die Bearbeitung der Sonderfunktion beeinflusst. Diese

Anzeigen können Sie in Ihrem Anwender-Programm mit Vergleichsoperationen abfragen und somit ebenfalls auf einen Fehler reagieren.

Welche der geschilderten Fehlerreaktionen bei den einzelnen Sonderfunktions-OBs ausgeführt werden, wird in den folgenden Unterkapiteln zu den Sonderfunktions-OBs beschrieben.

Hinweis!

Der Aufruf eines Sonderfunktions-OB mit Operation "SPB OB" bzw. "SPA

OB" wirkt nicht wie ein echter Bausteinwechsel, sondern wie eine SPS-

Operation.

Es werden keine Alarme eingeschaltet (bei Voreinstellung "Unterbrechung an Bausteingrenzen")!

Sonderfunktionen mit Pseudobefehlsgrenzen

Einige der Sonderfunktionen sind langlaufende Sonderfunktionen, die sogenannte Pseudobefehlsgrenzen enthalten.

Dies bedeutet, dass die Ausführung der Sonderfunktion in mehreren

Teilschritten erfolgt. Wenn nun während der Ausführung eines Teilschritts eine Unterbrechung (z.B. Weck- oder Prozessalarm an Befehlsgrenzen) auftritt, wird am Ende dieses Teilschritts an der Pseudobefehlsgrenze der entsprechende Organisationsbaustein eingeschachtelt.

12-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

OB 110: Zugriff auf das Anzeigenbyte

Teil 12 Integrierte Sonderfunktionen

Funktion

Parameter

Mit Hilfe des OB 110 können Sie das Anzeigenregister mit dem Inhalt des

AKKU 1 beschreiben, mit "1"maskieren oder mit "0" maskieren.

Belegung des AKKU 1 für den Zugriff auf das Anzeigenregister:

31

1)

7

A1

6 5

A0 oV

Wort-Anzeigen

4

OS

3

OR

2 1 0

STA VKE ERAB

Bit-Anzeigen

1) Die Bits 8 bis 31 sind für Erweiterungen reserviert und müssen beim Beschreiben des Anzeigenregisters gleich '0' sein. Sie müssen beim Auslesen des Anzeigenregisters ignoriert werden.

AKKU-2-L

Funktions-Nr., zulässige Werte: 1, 2 oder 3

AKKU 2

Neues Anzeigebyte bzw. Maske

Funkt.-Nr. in Inhalt von AKKU-1-L

AKKU-1-L vorher nachher

1 neues

Anzeigenbyte neues

Anzeigenbyte

2

3

Maske

Maske

Funktion neues

Anzeigenbyte neues

Anzeigenbyte

Der Inhalt von AKKU

1 wird in das

Anzeigenregister geladen

Alle in der Maske in

AKKU 1 mit einer "1" gekennzeichneten

Bits werden im

Anzeigenregister gleich "1" gesetzt.

Das neue Anzeigenbyte wird in AKKU 1 geladen.

Alle in der Maske in

AKKU 1 mit einer "1" gekennzeichneten

Bits werden im

Anzeigenregister gleich "0" gesetzt.

Das neue Anzeigenbyte wird in AKKU 1 geladen.

Rev. 00/27 12-5

Teil 12 Integrierte Sonderfunktionen

Ergebnis

Handbuch VIPA CPU 928 - Band 2

Nach Ablauf des OB 110 ist das Anzeigenbyte entsprechend Funktion und

AKKU-1 Inhalt verändert.

Fehlerfälle

Beispiel

Es werden folgende Fehlerfälle unterschieden:

Funktions-Nr. in AKKU-2-L ungleich 1,2 oder 3

In AKKU 1 ist eines der Bits Nr. 8 bis Nr. 31 gesetzt.

Im Fehlerfall wird der OB 31 (Sonstige Laufzeitfehler) aufgerufen. Ist der

OB 31 nicht geladen, geht die CPU in den Stoppzustand. In beiden Fällen ist in AKKU-1-L die Fehlerkennung 1A49h hinterlegt.

Der OB 110 ist ein Hilfsmittel zum Testen der Operationen, die das Anzeigenregister auswerten oder beeinflussen. Seine Anwendung ist jedoch nicht hierauf begrenzt.

Folgendes Beispiel soll einen weiteren Anwendungsfall zeigen.

Aufrufverteiler:

In Abhängigkeit von dem Inhalt des Merkerbytes MB 0 soll eines von vier

Teilprogrammen aufgerufen werden. Den vier Teilprogrammen werden die

Bits M 0.0 bis M 0.3 zugeordnet.

Es darf immer nur eines dieser Bits gesetzt sein.

M000

M001

M002

M003

:

:

:

:BEA

:

:

:

:BEA

:

:

:BEA

:

:

:L

:SLW

:

:L

:TAK

:SPA

:SPS

:SPO

:SPM

:SPP

:BEA

:

:BEA

MB 0

4

KB 1

OB 110

=M000

=M001

=M002

=M003

M 0.0 bis M 0.3 um vier Bits nach links schieben

Funktions-Nr. laden

Sprung, falls OS = 1

Sprung, falls OV = 1

Sprung, falls ANZ 0 =1

Sprung, falls ANZ 1 =1 falls kein Bit gesetzt ist falls M 0.0 = 1 falls M 0.1 =1 falls M 0.2 =1 falls M 0.3 =1

12-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

OB 111: AKKU 1, 2, 3 und 4 löschen

Teil 12 Integrierte Sonderfunktionen

Funktion Durch den einmaligen Aufruf des Sonderfunktions-Organisationsbausteins

OB 111 können sie die Inhalte der AKKUs 1 bis 4 auf einfache Weise löschen: Der OB111 überschreibt alle vier Register mit '0'.

Parameter keine

Die AKKUs 1 bis 4 (je 32 Bit) sind gelöscht.

Ergebnis

Fehlerfälle keine

Rev. 00/27 12-7

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

OB 112/113: AKKU-Roll-Up/AKKU-Roll-Down

Funktion OB 112 und OB 113 bewirken ein "Rollen" der AKKU-Inhalte in aufsteigender bzw. absteigender Richtung:

Der OB 112 (Roll Up) verschiebt den Inhalt von AKKU 1 in den AKKU 2, den Inhalt von AKKU 2 in den AKKU 3 usw.

Der OB 113 (Roll Down) verschiebt die AKKU-Inhalte in entgegengesetzte Richtung: Inhalt von AKKU 1 in den AKKU 4, AKKU 4 in AKKU

3 usw.

Parameter

Ergebnis

Fehlerfälle keine

Die folgenden Bilder zeigen die AKKU-Inhalte vor und nach dem Aufruf von

OB 112 und OB 113.

Hinweis!

Mit den SPS-Operationen ENT (Ergänzender Operationsvorrat) und TAK

(Systemoperation) lassen sich die AKKU-Inhalte ebenfalls verschieben keine

12-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Die folgenden Abbildungen zeigen Ihnen die Funktionsweise von "Roll-Up" bzw. "Roll-Down":

Wirkung der

Funktion

Roll Up

Wirkung der

Funktion

Roll Down

Rev. 00/27 12-9

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

OB 120: "Alarme gemeinsam sperren" ein-/ausschalten

Einleitung Ein SPS-Programm kann an Bausteingrenzen oder Befehlsgrenzen von

Programmen höherer Priorität unterbrochen werden. Zu diesen höherprioren Programmbearbeitungsebenen gehören die Prozess- und alle

Weckalarme, d.h. alle zyklischen, uhrzeitgesteuerten Weckalarme und

Verzögerungsalarme.

Die Laufzeit des unterbrochenen Programms verlängert sich jeweils um die

Laufzeit der eingeschachtelten Programme.

Mit Hilfe des OB 120 können Sie das Einschachteln von höherprioren

Programmbearbeitungsebenen an einer oder mehreren aufeinanderfolgenden Baustein- oder Befehlsgrenzen (je nach Einstellungen im DX 0) verhindern.

Funktion

Parameter

Der OB 120 reagiert auf alle Alarme:

"Alarme sperren" einschalten heißt, es werden ab sofort keine Alarme mehr registriert und diejenigen Alarme, die bereits registriert worden sind, die z.B. auf Bausteingrenzen "warten", werden gelöscht.

Nur falls der OB 2 (Prozessalarm) oder ein OB für die Weckalarmbearbeitung bereits begonnen wurde, wird dieser vollständig bearbeitet.

"Alarme sperren" ausschalten heißt, es werden ab sofort alle an den

Baustein- oder Befehlsgrenzen registrierten Alarme wieder eingeschachtelt und bearbeitet.

1. Steuerdoppelwort

Der OB 120 speichert die zu sperrenden Alarme in einem systeminternen

Steuerdoppelwort.

Die Bits des Steuerdoppelworts haben folgende Bedeutung:

Bit-Nr. im

Steuerdoppelwort

0 = '1'

1 = '1'

2 = '1'

3 = '1'

4 bis 31

Funktion alle zyklischen Weckalarme werden gesperrt der uhrzeitgesteuerte Weckalarm wird gesperrt alle Prozessalarme werden gesperrt der Verzögerungsalarm wird gesperrt reserviert; diese Bits müssen '0' sein!

Solange ein Bit auf '1' gesetzt ist, ist der entsprechende Alarm gesperrt.

12-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

2. Akkus

AKKU-2-L

Funktions-Nr., zulässige Werte: 1, 2 oder 3 mit:

1: Der Inhalt von AKKU 1 wird in das Steuerwort geladen.

2: Alle in der Maske in AKKU 1 mit einer '1' gekennzeichneten Bits werden im Steuerwort auf

'1' gesetzt. Das neue Steuerwort wird in den

AKKU 1 geladen.

3: Alle in der Maske in AKKU 1 mit einer '1' gekennzeichneten Bits werden im Steuerwort auf

'0' gesetzt. Das neue Steuerwort wird in den

AKKU 1 geladen.

AKKU 1 neues Steuerwort oder Maske, abhängig von der gewünschten Funktion

Ergebnis Der Aufruf des OB 120 bringt folgende Ergebnisse:

Funkt.-Nr. in AKKU-2-L Inhalt von AKKU 1 vorher

1

2

3

Steuerwort

Maske

Maske nachher

Steuerwort neues Steuerwort neues Steuerwort

Fehlerfälle Es werden folgende Fehlerfälle unterschieden:

• unzulässige Funktions-Nr. in AKKU-2-L

• eines der reservierten Bits in AKKU 1 (Nr. 4 bis 31) ist auf '1' gesetzt.

Im Fehlerfall wird der OB 31 (sonstige Laufzeitfehler) aufgerufen. Ist der

OB 31 nicht geladen, geht die CPU in den Stoppzustand. In beiden Fällen wird in AKKU-1-L die Fehlerkennung 1A47h hinterlegt.

Rev. 00/27 12-11

Teil 12 Integrierte Sonderfunktionen

Hinweise

Handbuch VIPA CPU 928 - Band 2

Der Zustand des Steuerwortes lässt sich durch folgende

Programmsequenz abfragen:

1. Funktions-Nr. 2 oder 3 in den AKKU-2-L laden,

2. Wert '0' in den AKKU 1 laden,

3. Sonderfunktions-OB 120 aufrufen,

4. AKKU 1 auslesen

Der Zustand der Alarmverarbeitung kann auch durch Auslesen des

Systemdatenworts BS 131 ermittelt werden.

BS 131 Anzeigewort "Alarme gemeinsam sperren".

Zum Sperren und Freigeben des Prozessalarms können statt des OB

120 die Befehle AS und AF verwendet werden:

AS entspricht

AF entspricht

:

:L

:L

SPA

:L

:L

KB 2

KM 00000000 00000100

OB 120

KB 3

KM 00000000 00000100

:SPA OB 120

12-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

OB 121: "Weckalarme einzeln sperren" ein-/ausschalten

Einleitung Mit Hilfe des OB 121 können Sie das Einschachteln von bestimmten Weckalarm-OBs mit festem Zeitraster an einer oder an mehreren aufeinanderfolgenden Baustein- oder Befehlsgrenzen verhindern.

Z.B. können sie für einen bestimmten Programmteil festlegen, dass er nicht durch den OB 18 (5s) und den OB17 (2s) unterbrochen werden kann.

Dagegen werden alle übrigen programmierten Weckalarme wie üblich bearbeitet.

Funktion Der OB 121 hat Auswirkungen auf die Reaktion auf zyklische Weckalarme:

"Weckalarme einzeln sperren" einschalten heißt, es werden ab sofort keine der angegebenen zyklischen Weckalarme mehr registriert und diejenigen

Alarme, die bereits registriert worden sind (die z.B.

auf eine

Bausteingrenze "warten"), werden gelöscht. Nur falls ein Weckalarm-OB zur Bearbeitung eines Weckalarms mit festem Zeitraster bereits begonnen wurde, wird dieser vollständig bearbeitet.

"Weckalarme einzeln sperren" ausschalten heißt, es werden ab sofort alle auftretenden zyklischen Weckalarme wieder registriert, an der nächsten

Baustein- oder Befehlsgrenze (je nach Einstellung im DX 0) eingeschachtelt und bearbeitet.

Parameter 1. Steuerwort

Der OB 121 vermerkt die zu sperrenden Weckalarme in einem systeminternen Steuerwort. Die Bits des Steuerwortes haben folgende Bedeutung:

Bit-Nr.

Alarm

0 bis 2 reserviert; diese Bits müssen '0' sein!

Zyklische Weckalarme mit festem Zeitraster:

3 = '1' 10 ms (OB 10)

4 = '1' 20 ms (OB 11)

5 = '1' 50 ms (OB 12)

6 = '1' 100 ms (OB 13)

7 = '1' 200 ms (OB 14)

8 = '1' 500 ms (OB 15)

9 = '1' 1 s (OB 16)

10= '1' 2 s (OB 17)

11= '1' 5 s (OB 18)

12 bis 15 reserviert, diese Bits müssen '0' sein!

Rev. 00/27 12-13

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

2. Akkus

AKKU-2-L

Funktions-Nr.

zulässige Werte: 1, 2 oder 3 mit:

1: Der Inhalt von AKKU 1 wird in das Steuerwort geladen.

2: Alle in der Maske in AKKU 1 mit einer '1' gekennzeichneten Bits werden im Steuerwort auf

'1' gesetzt. Das neue Steuerwort wird in den

AKKU 1 geladen.

3: Alle in der Maske in AKKU 1 mit einer

'1'gekennzeichneten Bits werden im Steuerwort auf '0' gesetzt. Das neue Steuerwort wird in den

AKKU 1 geladen.

AKKU-1 neues Steuerwort oder Maske, abhängig von der gewünschten Funktion.

Fehlerfälle

Hinweise

Es werden folgende Fehlerfälle unterschieden:

• unzulässige Funktions-Nr. in den AKKU-2-L

• eines der reservierten Bits in den AKKU 1 ist gleich '1'

Im Fehlerfall wird der OB31 (Sonstige Laufzeitfehler) aufgerufen. Ist der

OB31 nicht geladen, geht die CPU in den Stoppzustand.

In beiden Fällen wird in den AKKU-1-L die Fehlerkennung 1A4Ah hinterlegt.

Der Zustand des Steuerworts lässt sich durch folgende

Programmsequenz abfragen:

1.

Funktions-Nr.2 oder 3 in den AKKU-2-L laden

2.

Wert '0' in den AKKU1 laden

3.

Sonderfunktions-OB121 aufrufen

4.

AKKU 1 auslesen

Der Zustand der Alarmverarbeitung kann auch durch Auslesen des

Systemdatenworts BS 135 ermittelt werden.

BS135: Anzeigewort "Weckalarme einzeln sperren".

12-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

OB 122: "Alarme gemeinsam verzögern" ein-/ausschalten

Einleitung Ein Anwender-Programm kann an Baustein- oder Befehlsgrenzen von

Programmen höherer Priorität unterbrochen werden. Zu diesen höherprioren Programmbearbeitungsebenen gehören die Prozess- und alle

Weckalarme (zyklische Weckalarme, uhrzeitgesteuerter Weckalarm und

Verzögerungsalarm).

Die Laufzeit des unterbrochenen Programms verlängert sich dabei jeweils um die Laufzeit der eingeschachtelten Programme.

Mit Hilfe des OB 122 können Sie das Einschachteln von höherprioren

Programmbearbeitungsebenen an einer oder an mehreren aufeinanderfolgenden Baustein- oder Befehlsgrenzen (je nach Einstellung im

DX0) verhindern.

Funktion Der OB 122 hat Auswirkung auf die Reaktion auf Alarme:

"Alarme verzögern" einschalten heißt, es werden weiterhin alle aufgetretenen Alarme registriert und bereits anstehenden Alarme bleiben registriert. Die registrierten Alarme werden nicht weiter bearbeitet.

Vorübergehend werden alle Befehls- bzw. Bausteingrenzen für die

Bearbeitung von Alarmen unwirksam gemacht. Nur falls der OB 2

(Prozessalarm) oder ein OB für die Weckalarmbearbeitung bereits begonnen wurde, wird dieser vollständig bearbeitet.

"Alarme verzögern" ausschalten heißt, es werden alle registrierten Alarme an der nächsten Baustein- oder Befehlsgrenzen eingeschachtelt und bearbeitet.

Hinweis!

Wird innerhalb der "Alarme verzögern"- Phase ein bestimmter Weckalarm-

OB zum zweiten Mal aufgerufen, kommt es zum Weckfehler.

Rev. 00/27 12-15

Teil 12 Integrierte Sonderfunktionen

Parameter

Handbuch VIPA CPU 928 - Band 2

1. Steuerdoppelwort

Der OB 122 vermerkt die zu verzögernden Alarme in einem systeminternen

Steuerdoppelwort.

Die Bits des Steuerdoppelwortes haben folgende Bedeutung:

Bit-Nr. im

Steuerdoppelwort

0='1'

1='1'

2='1'

3='1'

4 bis 31

Funktion alle zyklischen Weckalarme werden verzögert der uhrzeitgesteuerte Weckalarm wird verzögert alle Prozessalarme werden verzögert der Verzögerungsalarm wird verzögert reserviert; diese Bits müssen '0' sein!

Solange ein Bit auf '1' gesetzt ist, ist der betreffende Alarm verzögert.

2. Akkus

AKKU-2-L

Funktions-Nr., zulässige Werte: 1, 2 oder 3 mit:

1: Der Inhalt von AKKU 1 wird in das Steuerwort geladen.

2: Alle in der Maske in AKKU 1 mit einer '1' gekennzeichneten Bits werden im Steuerwort auf

'1' gesetzt. Das neue Steuerwort wird in den

AKKU 1 geladen.

3: Alle in der Maske in AKKU 1 mit einer

'1'gekennzeichneten Bits werden im Steuerwort auf '0' gesetzt. Das neue Steuerwort wird in den

AKKU 1 geladen. AKKU 1 neues Steuerwort oder Maske, abhängig von der gewünschten

Funktion

12-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Ergebnis

Teil 12 Integrierte Sonderfunktionen

Der Aufruf des OB 122 bringt folgende Ergebnisse:

Funkt.Nr. in AKKU-2-L Inhalt von AKKU 1

1

2

3 vorher

Steuerwort

Maske

Maske nachher

Steuerwort neues Steuerwort neues Steuerwort

Fehlerfälle

Hinweise

Es werden folgende Fehlerfälle unterschieden:

• unzulässige Funktions-Nr. in den AKKU-2-L,

• eines der reservierten Bits in AKKU 1 (Nr. 4 bis 31 ) ist gleich '1'.

Achtung!

Im Fehlerfall wird der OB31 (sonstige Laufzeitfehler) aufgerufen. Ist der

OB31 nicht geladen, geht die CPU in den Stoppzustand.

In beiden Fällen wird in AKKU-1L die Fehlerkennung 1A48h hinterlegt.

Der Zustand des Steuerwortes lässt sich durch folgende

Programmsequenz abfragen:

1.

Funktions-Nr. 2 oder 3 in den AKKU-2-L laden

2.

Wert '0' in den AKKU 1 laden

3.

Sonderfunktions-OB122 aufrufen

4.

AKKU 1 auslesen

Der Zustand der Alarmverarbeitung kann durch Auslesen von BS132 ermittelt werden.

BS132: Anzeigewort "Alarme gemeinsam verzögern"

Rev. 00/27 12-17

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

OB 123: "Weckalarme einzeln verzögern" ein-/ausschalten

Einleitung Mit Hilfe des OB 123 können sie das Einschachteln von bestimmten

Weckalarm-OBs (Weckalarme mit festem Zeitraster) an einer oder an mehreren aufeinanderfolgenden Baustein- oder Befehlsgrenzen verhindern.

Funktion

Parameter

Der OB123 hat Auswirkung auf die Reaktion auf Alarme:

"Weckalarme einzeln verzögern" einschalten heißt, es werden weiterhin alle aufgetretenen Alarme registriert und bereits anstehenden Alarme bleiben registriert. Die registrierten Alarme werden nicht weiter bearbeitet.

Vorübergehend werden an Befehls- bzw. Bausteingrenzen keine Alarme bearbeitet.

Nur falls der Weckalarm-OB (zur Bearbeitung eines

Weckalarms mit festem Zeitraster) bereits begonnen wurde, wird dieser vollständig bearbeitet.

"Weckalarme einzeln verzögern" ausschalten heißt, es werden ab sofort alle auftretenden zyklischen Weckalarme wieder registriert, an der nächsten Baustein- oder Befehlsgrenzen (je nach Einstellung im DX 0) eingeschachtelt und bearbeitet.

Hinweis!

Wird innerhalb der "Alarme verzögern"- Phase ein bestimmter Weckalarm-

OB zum zweiten Mal aufgerufen, kommt es zum Weckfehler.

1. Steuerdoppelwort

Der OB 123 vermerkt die zu verzögernden Alarme in einem systeminternen

Steuerdoppelwort.

Die Bits des Steuerdoppelwortes haben folgende Bedeutung:

Bit-Nr.

Alarm

0 bis 2 reserviert, diese Bits müssen '0' sein!

Zyklische Weckalarme mit festem Zeitraster:

3 ='1' 10 ms (OB 10)

4 ='1' 20 ms (OB 11)

5 ='1' 50 ms (OB 12)

6 ='1' 100 ms (OB 13)

7 ='1' 200 ms (OB 14)

8 ='1' 500 ms (OB 15)

9 ='1' 1 s (OB 16)

10='1' 2 s (OB 17)

11='1' 5 s (OB 18)

12 bis 15 reserviert, diese Bits müssen '0' sein!

12-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

2. Akkus

AKKU-2-L

Funktions-Nr., zulässige Werte: 1, 2 oder 3 mit:

1: Der Inhalt von AKKU 1 wird in das Steuerwort geladen.

2: Alle in der Maske in AKKU 1 mit einer '1' gekennzeichneten Bits werden im Steuerwort auf '1' gesetzt. Das neue Steuerwort wird in den AKKU 1 geladen.

3: Alle in der Maske in AKKU 1 mit einer '1' gekennzeichneten Bits werden im Steuerwort auf '0' gesetzt. Das neue Steuerwort wird in den AKKU 1 geladen.

AKKU 1 neues Steuerwort oder Maske, abhängig von der gewünschten Funktion.

Fehlerfälle

Hinweise

Es werden folgende Fehlerfälle unterschieden:

• unzulässige Funktions-Nr. in den AKKU-2-L,

• eines der reservierten Bits in AKKU 1 ist gleich '1'.

Achtung!

Im Fehlerfall wird der OB31 (Sonstige Laufzeitfehler) aufgerufen. Ist der

OB31 nicht geladen, geht die CPU in den Stoppzustand.

In beiden Fällen wird in AKKU-1L die Fehlerkennung 1A48h hinterlegt.

Der Zustand des Steuerwortes lässt sich durch folgende Programmsequenz abfragen:

1.

Funktions-Nr. 2 oder 3 in den AKKU-2-L laden

2.

Wert '0' in den AKKU 1 laden

3.

Sonderfunktions-OB123 aufrufen

4.

AKKU 1 auslesen

Der Zustand der Alarmverarbeitung kann durch Auslesen des Systemdatenworts BS137 ermittelt werden.

BS137: Anzeigewort "Weckalarme einzeln verzögern".

Rev. 00/27 12-19

Teil 12 Integrierte Sonderfunktionen

OB 134, OB 135, OB 136 und OB 139

Handbuch VIPA CPU 928 - Band 2

Rechenregister Die Rechenregister werden durch eine arithmetische Operation (OB 134,

135, 136) wie folgt verändert (bei Festpunkt-Operationen nur das Low-

Wort):

AKKU 1 AKKU 2 AKKU 3 AKKU 4 vorher: <AKKU 1> <AKKU 2> <AKKU3> <AKKU 4> nachher: <Ergebn.> <AKKU 3> <AKKU 4> <AKKU 4>

OB 134: *D *D (Multipliziere 32-Bit-Festpunktzahlen) multipliziert AKKU 2 und AKKU 1 und lädt das Ergebnis in den AKKU 1.

Ist das Ergebnis größer als die größte oder kleiner als die kleinste darstellbare 32-Bit-Festpunktzahl, wird dies über OV = 1 und OS = 1 angezeigt. Danach werden AKKU 3 und AKKU 4 nach AKKU 2 und AKKU

3 übertragen.

.

Anzeigen hängt ab von setzt

A1 A0 OV OS OR STA VKE /ER

x

x

x

x

-

-

-

-

-

-

-

-

OB 135: :D :D (Dividiere 32-Bit-Festpunktzahl) dividiert AKKU 2 und AKKU 1 und lädt das Ergebnis in den AKKU 1. Danach werden AKKU 3 und AKKU 4 nach

AKKU 2 und AKKU 3 übertragen.

Anzeigen hängt ab von setzt

A1 A0 OV OS OR STA VKE /ER

x

x

x

x

-

-

-

-

-

-

-

-

12-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

OB 136: MOD

Teil 12 Integrierte Sonderfunktionen

MOD (Rest der Division zweier 32-Bit-Festpunktzahlen) dividiert AKKU 2 und AKKU 1 und lädt als Ergebnis den Divisionsrest in den AKKU 1.

Danach werden AKKU 3 und AKKU 4 nach AKKU 2 und AKKU 3 übertragen.

Anzeigen hängt ab von setzt

A1 A0 OV OS OR STA VKE /ER

x x x x -

OB 139: PUSH PUHS (PUSH AKKU-Stack) trägt AKKU 1 tiefer in den AKKU-Stack ein.

PUSH kann dazu verwendet werden, um denselben Wert mehrfach in den

AKKU-Stack einzutragen.

Anzeigen hängt ab von setzt

A1 A0 OV OS OR STA VKE /ER

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

Rev. 00/27 12-21

Teil 12 Integrierte Sonderfunktionen

OB 150: Systemzeit stellen/lesen

Handbuch VIPA CPU 928 - Band 2

Eigenschaften der

Systemzeit

Die Auflösung beträgt 10ms beim Lesen und 1s beim Setzen.

Schaltjahre werden berücksichtigt.

Stundendarstellung wahlweise 24 Stunden oder 12 Stunden "am"

(Vormittagszeit) und "pm" (Nachmittagszeit).

Angabe des Wochentages

Ein- und Ausgaben erfolgen BCD-codiert.

Die integrierte Hardwareuhr wird über die Batterie im AG-Rahmen gepuffert. Wurde sie gestellt, so hat sie auch nach einem Spannungsausfall und Wiederanlauf den aktuellen Wert.

Funktion

Parameter

Mit Hilfe des OB150 können Sie in Ihrem Anwenderprogramm Datum und

Uhrzeit der CPU928 stellen oder auslesen. Datum und Uhrzeit werden im folgenden als "Systemzeit" bezeichnet.

Hinweis!

Bevor Sie die Systemzeit auslesen können, muss sie zunächst gestellt werden.

1. Datenfeld für die Zeitparameter

Beim Stellen der Systemzeit übernimmt der OB 150 die Zeit aus einem

Datenfeld, beim Lesen der Zeit überträgt der OB 150 die aktuellen Daten in das Datenfeld. Sie können dieses Datenfeld in einem Datenbaustein (DB) oder in einem der beiden Merkerbereiche (M oder S-Merker) anlegen.

12-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Datenfeld für Zeitparameter

Teil 12 Integrierte Sonderfunktionen

Rev. 00/27 12-23

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

Datenfeld im Merkerbereich für Zeitparameter

Wenn Sie das Datenfeld in einem Merkerbereich (M- oder S-Merker) anlegen, müssen Sie folgende Zuordnung der Datenfeldwörter zu den

Merkerbytes berücksichtigen. Dabei ist 'x' der Parameter "Nr. des 1.

Datenfeldwortes", den Sie beim Aufruf des OB 150 im AKKU-1-L hinterlegen müssen. Das nachfolgende Bild zeigt die Belegung der 4

Worte.

12-24 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

2. Akkus

AKKU-2-L

Der AKKU-2-L enthält Angaben zur gewünschten Funktion und zum verwendeten Datenfeld. Er muss folgenden Aufbau haben:

Ergebnis

Fehlerfälle

AKKU-1-L

Nr. des 1.Datenfeldwortes, mögliche Werte (abhängig vom Adressbereichs-Typ):

DB, DX: 0 bis 2044

M-Merker 0 bis 248

(=Nr. Merkerbyte 'x')

S-Merker 0 bis 1016

(=Nr. Merkerbyte 'x').

Nach korrekter Bearbeitung des OB 150 sind die Anzeigebits OR, ERAB und OS gelöscht, d.h. '0'. Alle anderen Anzeigebits sowie AKKU 1 und

AKKU 2 sind unverändert.

Im Fehlerfall werden der OB 19 oder OB 31 aufgerufen. Sind der OB 19 oder OB 31 nicht geladen, geht die CPU in den Stoppzustand. In beiden

Fällen werden in AKKU1 und AKKU2 Fehlerkennungen hinterlegt (siehe nachfolgende Tabelle).

Rev. 00/27 12-25

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

Fehlerkennungen des OB 150:

AKKU-1-L AKKU-2-L Bedeutung

1A07h

1A4Ch

-

0001h

0100h

0101h

0102h

0103h

0201h

0202h

0203h

0204h

0205h

0206h

0207h

0208h

0209h

020Ah

DB nicht geladen

Funkt.-Nr. =0 oder >2

Adressbereichs-Typ unzulässig

DB-Nr. unzulässig

Nr. des 1. Datenfeldwortes unzulässig

DB-Länge im Bausteinkopf <5

Wörter

Jahresangabe im Datenfeld unzulässig

Monatsangabe im Datenfeld unzulässig

Monatstagangabe im Datenfeld unzul.

Wochentagangabe im Datenfeld unzul.

Stundenangabe im Datenfeld unzulässig

Minutenangabe im Datenfeld unzul.

Sekundenangabe im Datenfeld unzul.

1/100 Sekunde im Datenfeld ungleich 0

Datenfeldwort 3 BitNr. 0 bis 3

0

Stundenformat ungleich

Einstellung bei

OB 151 aufgerufener

OB

OB 19

OB 31

Hinweis!

Wird bei der Funktion "Systemzeit stellen" eine fehlerhafte Parametrierung vorgenommen und es wurde vorher schon mindestens einmal die Uhrzeit korrekt gestellt, so führt dies zwar zu der geschilderten Übergabe der

Fehlerkennung; die vorher eingestellte Systemzeit läuft jedoch weiter.

12-26 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Beispiele

Teil 12 Integrierte Sonderfunktionen

"Systemzeit stellen":

Die Systemzeit soll auf folgende Werte eingestellt werden:

Do, 24.10.1993, 11:30 Uhr 0 Sekunden, 24-Stunden-Darstellung

Es wird angenommen, dass die Zeitparameter im Datenbaustein DB 10 ab

Datenwort DW 0 hinterlegt werden. Das Stellen der Systemzeit mit den so vorbereiteten Werten soll sekundengenau durch ein Eingangsbit

(Triggerbit, z. B. E 1.0-Taster in der Nähe des AGs) ausgelöst werden.

Programmieren Sie zunächst den Datenbaustein DB 10 mit den nachfolgend aufgeführten Werten und laden Sie ihn in das AG. Die Operationen zum Aufrufen des OB 150 programmieren Sie im OB 1 (zyklische

Bearbeitung). Programmieren Sie den OB 1 so, dass die Operationen zum

Aufruf des OB 151 nur bei der kommenden Flanke des Triggerbits durchlaufen werden:

DB 10

0: KH= 0000

1: KH= 9130

2: KH= 2430

3: KH= 9310 linkes Byte = Sekunden (BCD),rechtes Byte=0

91 = Format (=80h) + Stunde (=11 BCD)

30 = Minuten (BCD)

24 = Monatstag (BCD)

30 = Wochentag (3=Donnerstag )+Bit0 bis 3=0

93 = Jahr (BCD)

10 = Monat (BCD)

Im OB 1 hinterlegte Operationen zum Aufruf des OB 150:

:

:

Stell :L KH 1 1 0 A

:

:

:

:L KF 0

:

:SPA OB 150

Signalflanke des Eingangs zum Stellen der

Systemzeit ist eingetroffen:

Werte für AKKU-2-L:

DB-Nr. = 10

Adressbereichs-Typ=1 für "Datenfeld im DB"

Funktions-Nr. = 1 für "Stellen"

AKKU-1-L:

Nr. 1. Datenfeldwort = 0

Rev. 00/27 12-27

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

... Fortsetzung Beispiele

"Systemzeit auslesen":

Die aktuelle Systemzeit soll in den Datenbaustein DB 10 ab Datenwort DW

4 geschrieben werden. Dazu müssen Sie den OB 150 mit folgenden

Parametern aufrufen:

:

:L KH 2 1 0 A

:

:

:

:L KF 4

:

:SPA OB 150

:A DB 10

:

Werte für AKKU-2-L

DB-Nr. = 10

Adressbereichs-Typ=1 für "Datenfeld im DB"

Funktions-Nr. = 2 für "Lesen"

AKKU-1-L:

Nr. 1. Datenfeldwort = 4

OB 150 aufrufen

DB 10 aufschlagen

DB 10 auswerten

Nach dem Aufruf des OB 150 ist die aktuelle Systemzeit in folgender Form im DB 10 hinterlegt (Do, 24.10.93, 11:30 Uhr 20 Sekunden, 13

Hundertstel-Sekunden, 24-Stunden-Dastellung):

DW 4:KH=2013 Sekunden = 20 (BCD)

1/100 Sekunden = 13 (BCD)

DW 5:KH=9130 Format = 24 Std. (Bit 15/14=10), Stunden=11 (BCD)

Minuten = 30 (BCD)

DW 6:KH=2430 Monatstag = 24 (BCD)

Wochentag = 3 =Donnerstag

DW 7:KH=9310 Jahr = 93 (BCD)

Monat = 10 (BCD)

12-28 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

OB 151: Uhrzeitgesteuerten Weckalarm stellen/lesen

Funktion Durch Aufruf des OB 151 können Sie:

• die CPU 928 dazu veranlassen, zu einer vorgegebenen Zeit den uhrzeitgesteuerten Weckalarm zu aktivieren:

minütlich

stündlich

täglich

wöchentlich

monatlich

jährlich

einmalig,

• den momentanen Status eines Zeitauftrags auslesen

• einen bereits erzeugten Zeitauftrag stornieren.

Der OB 151 kann in den Betriebszuständen ANLAUF und RUN aufgerufen werden. Ein erzeugter uhrzeitgesteuerter Weckalarm bleibt bei WIEDER-

ANLAUF (automatisch oder manuell) erhalten. Bei Neustart wird ein vorhandener Zeitauftrag gelöscht.

Wenn Sie einen neuen Zeitauftrag erzeugen, wird ein laufender automatisch storniert. Es ist also immer nur ein uhrzeitgesteuerter Weckalarm aktiv.

Parameter 1. Datenfeld für die Auftragsparameter

Beim Erzeugen bzw. Stornieren eines Zeitauftrags entnimmt der OB 151 die benötigten Auftragsparameter einem Datenfeld.

Beim Auslesen des aktuellen Zustands der Auftragsverwaltung überträgt der OB 151 die aktuellen Auftragsparameter in ein Datenfeld.

Sie können dieses Datenfeld in einem Datenbaustein oder in einem der beiden Merkerbereiche (M- oder S-Merker) anlegen.

Das Datenfeld besteht aus vier Wörtern und hat beim Erzeugen und

Auslesen eines Zeitautrags folgendes Format:

Rev. 00/27 12-29

Teil 12 Integrierte Sonderfunktionen

Datenfeld für Auftragsparameter

Handbuch VIPA CPU 928 - Band 2

12-30 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Datenfeld im Merkerbereich

Wenn Sie das Datenfeld in einem Merkerbereich (M- oder S-Merker) anlegen, müssen Sie folgende Zuordnung der Datenfeldwörter zu den

Merkerbytes berücksichtigen. Dabei ist 'x' der Parameter "Nr. des

1.Datenfeldwortes", den Sie beim Aufruf des OB 150 im AKKU-1-L hinterlegen müssen:

Datenfeld im Merkerbereich für Auftragsparameter

Rev. 00/27 12-31

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

AKKUs

AKKU-2-L

Der AKKU-2-L enthält Angaben zur gewünschten Funktion und zum verwendeten Datenfeld. AKKU-2-L hat folgenden Aufbau:

Ergebnis

12-32

AKKU-1-L

Nummer des 1. Datenfeldwertes, mögliche Werte (in Abhängigkeit vom Adressbereichstyp):

DB, DX

M-Merker:

0 bis 2044

0 bis 248

(=Nr. Merkerbyte 'x')

S-Merker 0 bis 1016

(=Nr. Merkerbyte 'x').

Nach korrekter Bearbeitung des OB 151 sind die Anzeigebits OR, ERAB und OS gelöscht (= '0').

Alle anderen Anzeigebits sowie AKKU 1 und AKKU 2 sind unverändert.

Hinweis!

Wenn beim Auslesen des Zeitauftrags im Datenfeld die Auftragsart '0' und alle restlichen Parameter 'F' oder 'FF' (hexadezimal) sind, ist kein Zeitauftrag aktiv.

Dieser Zustand kann entstehen

• wenn NEUSTART durchgeführt wurde, ohne einen Zeitauftrag zu erzeugen,

• wenn ein einmaliger Zeitauftrag fällig war

• wenn Sie einen Auftrag storniert haben.

Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Achtung!

Fehlerfälle:

Im Fehlerfall werden der OB 19 oder der OB 31 aufgerufen. Sind der OB

19 oder der OB 31 nicht geladen, geht die CPU in den Stoppzustand.

In beiden Fällen werden in den AKKU 1 und AKKU 2 Fehlerkennungen hinterlegt (siehe Tabelle).

Fehlerkennungen des OB 151:

OB 151

Fehlerkennungen

AKKU-1-L AKKU-2-L Bedeutung

1A07h

1A4Dh

-

0001h

0100h

0101h

0102h

0103h

0201h

0202h

0203h

0204h

0205h

0206h

0207h

0208h

0209h

020Ah

DB nicht geladen

Funkt.-Nr. =0 oder >2

Adressbereichs-Typ unzulässig

DB-Nr. unzulässig

Nr. 1. Datenfeldwort unzulässig

DB-Länge im Bausteinkopf <5

Wörter

Jahresangabe im Datenfeld unzulässig

Monatsangabe im Datenfeld unzulässig

Monatstagangabe im Datenfeld unzulässig.

Wochentagangabe im Datenfeld unzul.

Stundenangabe im Datenfeld unzulässig

Minutenangabe im Datenfeld unzulässig

Sekundenangabe im Datenfeld unzulässig.

1/100 Sekunde im Datenfeld ungleich 0

Auftragsart im Datenfeld >7

Stundenformat ungleich Einst.

OB 150 aufgerufener

OB

OB 19

OB 31

Rev. 00/27 12-33

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

Hinweis!

Wird eine fehlerhafte Parametrierung vorgenommen und es wurde vorher schon ein gültiger Auftrag erzeugt, so führt dies zwar zu der geschilderten

Übergabe der Fehlerkennungen; der vorher erzeugte Zeitauftrag bleibt jedoch weiter bestehen.

Was Sie bei den

Zeitparametern beachten müssen

Abhängig davon wann ein Zeitauftrag ausgelöst werden soll, sind die einzelnen Zeitparameter in bestimmten Kombinationen vorzugeben.

Hierbei müssen manche Parameter vorgegeben werden, andere werden vom Systemprogramm nicht ausgewertet und können daher entfallen.

Nachfolgende Tabelle gibt Ihnen an, welche Zeitparameter bei welchem

Zeitauftrag angegeben werden müssen:

XXX = notwendige Angabe

--= irrelevant

Zuordnung "Zeitauftrag - Zeitparameter"

Weckzeit Sekunden Minuten Stunden Wochentag

Monatstag minütlich XXX stündlich XXX täglich XXX wöchentl.

XXX monatlich XXX jährlich einmalig

XXX

XXX

---

XXX

XXX

XXX

XXX

XXX

XXX

---

---

XXX

XXX

XXX

XXX

XXX

---

---

---

XXX

---

---

---

---

---

---

---

XXX

XXX

XXX

Monat Jahr

---

---

---

---

---

XXX

XXX

---

---

---

---

---

---

XXX

Besonderheiten

Wenn bei Auftragsart "jährlich" (=6) der "29. Februar" als Monatstag und

Monat gewählt wird, so resultiert daraus, dass der OB 9 nur in jedem

Schaltjahr aufgerufen wird.

Wenn bei Auftragsart "monatlich" (=5) als Monatstag der Wert "29", "30" oder "31" gewählt wird, so wird der OB 9 nur in den Monaten aufgerufen, bei denen dieser Tag vorhanden ist.

12-34 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Beispiele

Teil 12 Integrierte Sonderfunktionen

Verschiedene Zeitaufträge (im 24-Std.-Anzeigeformat):

1. "Auftrag jede Minute beim Sekundenwert 29" (12:44:29, 12:45:29 usw.):

Sie müssen angeben: Auftragsart = 1 (Funktions-Nr. in AKKU-2-L =1)

Sekunden = 29

2. "Auftrag Stündlich jeweils um xx:14:15 Uhr":

Sie müssen angeben: Auftragsart = 2 (Funktions-Nr. in AKKU-2-L =1)

Sekunden = 15

Minuten = 14

3. "Auftrag täglich um 5:32:47 Uhr":

Sie müssen angeben: Auftragsart = 3 (Funktions-Nr. in AKKU-2-L =1)

Sekunden = 47

Minuten

Stunden

= 32

= 05

4. "Auftrag wöchentlich, Dienstags um 10:50:00 Uhr":

Sie müssen angeben: Auftragsart = 4 (Funktions-Nr. in AKKU-2-L =1)

Sekunden = 00

Minuten

Stunden

= 50

= 10

Wochentag = 01

5. "Auftrag monatlich, jeweils am 14. Um 7:30:15 Uhr":

Sie müssen angeben: Auftragsart = 5 (Funktions-Nr. in AKKU-2-L =1)

Sekunden = 15

Minuten

Stunden

= 30

= 07

Monatstag = 14

6. "Auftrag jährlich, jeweils am 1. 5. um 00:01:45 Uhr":

Sie müssen angeben: Auftragsart = 6 (Funktions-Nr. in AKKU-2-L =1)

Sekunden = 45

Minuten

Stunden

= 01

= 00

Monatstag = 01

Monat = 05

7. "Auftrag einmalig am 31.12.1999 um 23:55:00 Uhr":

Sie müssen angeben: Auftragsart = 7 (Funktions-Nr. in AKKU-2-L =1)

Sekunden = 00

Minuten

Stunden

= 55

= 23

Monatstag = 31

Monat

Jahr

= 12

= 99

8. "Auftrag stornieren":

Sie müssen angeben: Auftragsart = 0 (Funktions-Nr. in AKKU-2-L =1)

9. "Zeitauftrag auslesen":

Sie müssen angeben: Funktions-Nr. in AKKU-2-L =2

Falls kein Auftrag aktiv ist erhalten Sie als Ergebnis im Datenfeld:

Datenfeldwort 0: FFFFh

Datenfeldwort 1: FFFFh

Datenfeldwort 2: FFF0h

Datenfeldwort 3: FFFFh

Rev. 00/27 12-35

Teil 12 Integrierte Sonderfunktionen

OB 152: Zyklusstatistik

Einleitung

Übersicht

Handbuch VIPA CPU 928 - Band 2

In der CPU 928 können eine Reihe statistischer Daten zur Zyklusdauer erfasst werden (Zyklusstatistik). Mit Hilfe des OB 152 können Sie die

Zyklusstatistik initialisieren, die Statistikdaten auslesen und das Erfassen der Statistikdaten ein- und ausschalten.

Die statistischen Daten umfassen:

• die Dauer des vorangegangenen Zyklus,

• die seit der letzten Zyklusgrenze im aktuellen bearbeiteten Zyklus verstrichene Zykluszeit,

• die minimale und die maximale Zykluszeit seit der letzten Initialisierung der Zyklusstatistik,

• die Anzahl der Zyklen, die seit der letzten Initialisierung der

Zyklusstatistik in die Statistik aufgenommen wurden,

• den Mittelwert der Zykluszeit: Es werden maximal die letzten 256 in der

Statistik erfassten Zyklen zur Berechnung des Mittelwertes verwendet.

Hinweis!

In der Zyklusstatistik werden nur "normale" Zyklen erfasst. Wurde das Erfassen der Dauer des aktuellen Zyklus z.B. durch einen WIEDERANLAUF verfälscht, so werden die Daten dieses Zykluses nicht in die Statistik übernommen. Dadurch wirken sich "Ausreißer" nicht auf die Statistik aus.

Zykluszeiten, die länger als 167s sind, führen zu fehlerhaften Einträgen.

Ein-/Ausschalten der Statistik

Nach einem NEUSTART (automatisch oder manuell) ist die Statistik-

Funktion immer ausgeschaltet und die statistischen Daten sind gelöscht

(die Zyklusstatistik ist initialisiert). Ein WIEDERANLAUF (automatisch oder manuell) verändert weder den Zustand der Statistik noch die statistischen

Daten.

Sie können die Statistikfunktionen im Betriebszustand ANLAUF oder RUN mit Hilfe des OB 152 einschalten.

Wurde die Statistik-Funktion mit dem OB152 eingeschaltet, werden die statistischen Daten an jeder Zyklusgrenze aktualisiert und können über

Aufruf des OB 152 ausgelesen werden.

Wenn Sie die Statistikfunktionen nicht mehr benötigen, können Sie sie im

Betriebszustand ANLAUF oder RUN über den OB 152 wieder ausschalten.

Dadurch wird die Belastung der Zykluszeit, die durch das Aktualisieren der

Zyklusdaten an jeder Zyklusgrenze entsteht, klein gehalten.

Initialisieren können Sie die Zyklusstatistik ebenfalls über den OB 152 im

ANLAUF oder im RUN.

Möglich wäre es z.B. nach Auswertung der statistischen Daten (u.U. in

Abhängigkeit vom Wert des Zyklus-Zählers) die Zyklusstatistik zu initialisieren.

12-36 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Statistik-Daten

Teil 12 Integrierte Sonderfunktionen

Die Statistik-Daten werden als einzelne Größen entweder direkt über den

OB 152 ausgelesen oder beim Aufruf des OB 152 berechnet. Sie werden vom OB152 in AKKU-1-L bzw. AKKU-2-L übergeben.

Folgende Statistik-Größen können Sie durch Aufruf des OB 152 ermitteln:

Funktion-

Nr.

1, 5

1, 5

2, 6

2, 6

3, 7

3, 7

Statistik-

Größe

AKTZYK

Bedeutung

LASTZYK

MINZYK

MAXZYK bereits abgelaufene Zeit des akt.

Zyklus

Dauer des letzten abgelaufenen

Zyklus

Dauer des kürzesten Zyklus seit der letzten Initialisierung

Dauer des längsten Zyklus seit der letzten Initialisierung

MITTEL-WERT Mittelwert der Zykluszeiten der zuletzt abgelaufenen - max. 256

- Zyklen

.

1)

ZYKLUS-

ZÄHLER

Anzahl der seit der letzten

Initialisierung der Zyklusstatistik aufgenommen. Zyklen

10-

µ s kontinuierlich laufender Zähler

Format

Hexadezimal

Hexadezimal

Hexadezimal

Hexadezimal

Hexadezimal

Hexadezimal

Einheit Werte-

2)

2)

2)

2)

2)

Anzahl der

Zyklen

10

µ s bereich

2)

2)

2)

2)

2)

0 bis

0FFFFh

9 Hexadezimal

3)

1) Siehe "Berechnung des Mittelwertes"

2) Bei den Funktions-Nr. 1, 2 und 3 ist die Einheit ms, und der Wertebereich geht von 0 bis 0FFFFh (im Low-Word der Akkus),

Bei den Funktions-Nr. 5, 6 und 7 ist die Einheit 10

µ s, und der Wertebereich geht von 0 bis 0FF FFFFh

(im High- und Low-Word der Akkus)

3) Der 10-

µ s-ZÄHLER wird als 8-stelliger Hexadezimalwert im High- und Low-Word von Akku 1 ausgegeben

Rev. 00/27 12-37

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

Berechnung des

Mittelwertes

Der Mittelwert wird durch den OB 152 nach folgendem Algorithmus berechnet:

In einem systeminternen Umlaufpuffer wird bei jedem Aktualisieren der statistischen Daten der Wert von LASTZYK gespeichert. Dieser Puffer kann maximal 256 Werte aufnehmen. Ist der Puffer gefüllt, fällt der jeweils

älteste Wert von LASTZYK heraus und der neueste Wert wird abgespeichert. Zusätzlich wird bei jeder Aktualisierung der Daten der

Summenwert von den im Puffer enthaltenen LASTZYK-Werten so gebildet, dass immer die neuesten LASTZYK-Werte (maximal 256) darin enthalten sind. Bei Aufruf des OB 152 wird der Mittelwert gebildet durch Division des

Summenwertes durch die Anzahl LASTZYK-Werte, die im Puffer abgelegt sind, d.h. der Mittelwert wird fast immer aus den LASTZKL-Werten der letzten 256 Zyklen gebildet.

Funktionen beim Aufruf des OB 152 können Sie durch Angabe einer Funktions-Nr. im

AKKU-1-L verschiedene Einzelfunktionen aktivieren:

Parameter AKKU-1-L

Der AKKU-1-L enthält die Funktions-Nr.; er muss folgenden Aufbau haben:

Fehlerfall

Ergebnis

12-38

Der Fehlerfall tritt ein, wenn im AKKU-1-L eine falsche Funktions-Nr.

übergeben wird (erlaubt sind nur die Nummern 0 bis 3, 5 bis 9 und 15).

Es wird der OB 31 (sonstige Laufzeitfehler) aufgerufen. Ist der OB 31 nicht geladen, geht die CPU in den Stoppzustand.

In beiden Fällen wird in AKKU-1-L die Fehlerkennung 1A4Eh und in den

AKKU-2-L die Fehlerkennung 0001h hinterlegt.

Nach Aufruf des OB 152 sind die Anzeigen OS, OR und ERAB gelöscht

(='0'), das VKE ist bis auf die nachfolgend aufgeführten Fälle ebenfalls ='0'.

Außerdem werden in AKKU 1 und AKKU 2 die bei einigen Funktionen angeforderten Statistik-Größen übergeben (siehe nachfolgende Tabelle).

Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Funktionsergebnisse des OB 152

Funktion Funktionsergebnisse

Zyklusstatistik ausschalten

AKTZYK/

LASTZYK lesen

MINZYK/

MAXZYK lesen

MITTELWERT/

ZYKLUSZÄHLER lesen

Zyklusstatistik initialisieren

10-

µ s-ZÄHLER

Zyklusstatistik einschalten

AKKU-1 unverändert

AKTZYK

MINZYK

10-

µ

3)

3)

MITTELWERT unverändert s-ZÄHLER unverändert

3)

AKKU-2 unverändert

--unverändert

Bed. von "VKE =1"

---

LASTZYK

MAXZYK

3)

3)

AKTZYK ist unkorrekt, Daten des akt. Zyklus werden nicht in die

Statistik übernommen

1) oder

Ergebniswert ist für Funktions-Nr zu groß (>FFFFh); als Ersatzwert wird FFFFh geliefert.

Ergebniswert ist für Funktions-Nr. 2 zu groß (>FFFFh); als Ersatzwert wird FFFFh geliefert.

ZYKUSZÄHLER Überlauf ZYKLUSZÄHLER

2) oder

Ergebniswert ist für Funktions-Nr. 3 zu groß (>FFFFh); als Ersatzwert wird FFFFh geliefert.

unverändert ---

---

---

1) Durch WIEDERANLAUF

2) Ist beim Auslesen des Zykluszählers VKE ='1' gesetzt, so wird gleichzeitig mit der Anzeigenübergabe ein systeminterner Merker für Zyklusüberlauf gelöscht. Dieser Merker wird danach erst wieder gesetzt, wenn der

Zykluszähler erneut übergelaufen ist.

3) Bei den Funktionen 1, 2 und 3 im Low-Word, bei den Funktionen 5, 6, 7 und 9 im High- und Low-Word der Akkus

Rev. 00/27 12-39

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

Besonderheiten Nachfolgend erhalten Sie Hinweise auf einige Besonderheiten des OB 152 bei Neustart, nach einem ANLAUF oder bei Eintreffen bestimmter Ereignisse hin, die Sie bei seiner Benutzung beachten sollten.

Verhalten bei Neustart:

Bei NEUSTART werden die statistischen Daten initialisiert. Ein Aufruf des

OB 152 im 1.Zyklus nach NEUSTART liefert die Initialisierungsdaten zurück.

Nachfolgendes Bild zeigt Ihnen, wie die statistischen Daten vom Systemprogramm nach Neustart und in den ersten drei Zyklen aktualisiert werden.

Verhalten nach

Neustart

Beim Initialisieren der statistischen Daten werden, außer den in dem Bild aufgeführten Vorbesetzungen der Daten, systemintern der Umlaufpuffer für die Mittelwertbildung gelöscht sowie ein interner Merker für Zykluszählerüberlauf rückgesetzt.

12-40 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Aufruf des OB 152 in einem Anlauf-OB:

Je nach Anlaufart liefert der Aufruf des OB 152 zum Lesen der statistischen Daten in AKKU-1-L und AKKU-2-L folgende Werte:

Initialisierung der statistischen Daten durch Aufruf des OB 152:

Nachfolgendes Bild zeigt Ihnen, wie bei einer Initialisierung der statistischen Daten diese durch Aufruf des OB 152 im ZYKLUS verändert werden. Die grau unterlegten Spalten enthalten die beim Lesen der statistischen Daten übergebenen Werte.

Rev. 00/27

Beim Initialisieren der statistischen Daten werden, außer den in der Tabelle aufgeführten Vorbesetzungen der Daten, systemintern der Umlaufpuffer für

12-41

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2 die Mittelwertbildung gelöscht sowie ein interner Merker für Zykluszählerüberlauf rückgesetzt.

Nach dem Initialisieren der statistischen Daten durch Aufruf des OB 152 werden die Daten durch das Systemprogramm erst am Ende des 1.

Zyklusses, der nach der Initialisierung folgt, aktualisiert.

Aufruf des OB 152 bei ausgeschalteter Zyklusstatistik:

Wird die Zyklusstatistik durch Aufruf des OB 152 ausgeschaltet, so bleiben die statistischen Daten der letzten Aktualisierung erhalten. Wird danach der OB 152 zum Lesen von Statistik-Daten aufgerufen, so liefert er entsprechend die Daten der letzten Aktualisierung vor dem Ausschalten.

Werden die statistischen Daten nach einem NEUSTART gelesen, ohne dass die Zyklusstatistik durch Aufruf des OB 152 eingeschaltet wurde, so liefert der OB 152 die Initialisierungsdaten.

Verfälschung der statistischen

Daten

Durch das Auftreten eines WIEDERANLAUFS wird die Erfassung der

Zyklusdauer für den aktuellen Zyklus gestört und führt dann zu falschen

Werten. Daher werden in diesem Fall die statistischen Daten für den betroffenen Zyklus nicht aktualisiert.

12-42 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

OB 160 bis 163: Zählschleifen

Teil 12 Integrierte Sonderfunktionen

Einleitung Mit Hilfe dieser Sonderfunktions-Organisationsbausteine realisieren Sie

Programmschleifen mit besonders günstiger Laufzeit.

Funktion Die vier Organisationbausteine OB 160, OB 161, OB 162 und OB 163 ermöglichen eine vierfache Schachtelung von Schleifen. Sie können damit in den Systemdatenwörtern BS 60 bis 63 vier verschiedene Schleifenzähler einsetzen.

Jedem der vier Obs ist ein bestimmtes Systemdatenwort zugeordnet:

BS 60:

BS 61:

BS 62:

BS 63:

OB 160

OB 161

OB 162

OB 163.

Programmieren der

Programmschleife

In eines der Systemdatenwörter transferieren Sie den Wert für die erwünschte Anzahl an Schleifendurchläufen. Rufen Sie nun den dazugehörigen Sonderfunktions-OB auf, so wird der Schleifenzähler im Systemdatenwort um eins erniedrigt. Die Schleife wird solange durchlaufen, bis der Schleifenzähler den Wert Null enthält.

Parameter

Ergebnis

Fehlerfälle

Hinweis!

Enthält der Schleifenzähler bereits vor Aufruf des Sonderfunktions-OBs den Wert Null, so wird er bei Aufruf ebenfalls um eins erniedrigt: Es erfolgen 65536 Schleifendurchläufe!

Systemdatenwörter BS 60 bis 63

Schleifenzähler, zulässige Werte: 0 bis 65 535 dezimal (0 bis FFFFh).

Schleifenzähler im Systemdatenwort >0: VKE wird gesetzt (VKE =1)

Schleifenzähler im Systemdatenwort =0: VKE wird gelöscht (VKE =0)

Die restlichen Bit- und Wortanzeigen werden immer gelöscht.

Die AKKUs werden nicht verändert und nicht ausgewertet. Somit stehen diese zu Beginn des nächsten Schleifendurchlaufs noch zur Verfügung und müssen nicht neu geladen werden.

keine

Rev. 00/27 12-43

Teil 12 Integrierte Sonderfunktionen

Beispiel

Handbuch VIPA CPU 928 - Band 2

Zählschleife programmieren:

Im Merkerwort x steht die gewünschte Anzahl der

Schleifendurchläufe.

:

Schleife initialisieren :

:L

:L

KB 0

MW x

:!= F

:SPB =M002

:T BS 62

:

:

Schleifenzähler

Schleifenzähler ins

Systemdatenwort transferieren

M001 "Schleifenprogramm": :

:

:

:

.

.

.

:

:SPA OB 162

:SPB =M001

Schleife verwalten:

Zählschleife

M002

:

:

:

:

:

:

.

.

.

weiter

12-44 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

OB 170: Bausteinstack (BSTACK) lesen

Einleitung Im Bausteinstack sind, ausgehend vom OB 1 bzw. FB 0, alle Bausteine eingetragen, die nacheinander aufgerufen worden sind und deren Bearbeitung noch nicht abgeschlossen ist.

Funktion

Hinweis

Parameter

Mit Hilfe des Sonderfunktions-Organisationsbausteins OB 170 können Sie die im BSTACK vorhandenen Einträge in einen Datenbaustein einlesen.

Auf diese Weise ermitteln Sie die vorhandene Anzahl an BSTACK-Einträgen und damit die Reserve, die Ihnen für weitere Einträge noch zur

Verfügung steht.

Zu jedem Eintrag erhalten Sie die jeweilige Rücksprungadresse (STEP-

Adresszähler =SAZ), die absolute Anfangsadresse des in diesem Baustein gültigen Datenbausteins (DBA) sowie dessen Länge (Anzahl der Datenwörter =DBL).

Vor Aufruf des OB 170 muss ein ausreichend langer Datenbaustein (DB oder DX) aufgeschlagen werden. Für jeden gewünschten BSTACK-Eintrag benötigen Sie vier Datenwörter.

Akkus

AKKU-2-L

Nummer des Datenwortes (DWn), ab dem die Einträge im aufgeschlagenen DB abgelegt werden sollen (Offset).

AKKU-1-L gewünschte Anzahl an BSTACK-Elementen, zulässige Werte: 1 bis 62.

Beispiel:

Enthält der AKKU-1-L den Wert '1', so erhalten Sie den letzten BSTACK-

Eintrag, bei '2' den letzten und vorletzten, usw..

Rev. 00/27 12-45

Teil 12 Integrierte Sonderfunktionen

Ergebnis

Handbuch VIPA CPU 928 - Band 2

Nach erfolgreichem Aufruf des OB 170:

• steht im AKKU-2-L weiterhin der Offset im Datenbaustein,

• steht im AKKU-1-L die tatsächlich dargestellte Anzahl an BSTACK-

Elementen

1)

• wird das VKE gelöscht,

• können die Ergebnisanzeigen ANZ 0 und ANZ 1 ausgewertet werden,

1)

• sind alle übrigen Bit- und Wortanzeigen gelöscht.

mögliche Werte: 0 bis 62, wobei dargestellte Anzahl

≤ gewünschte Anzahl,

0 = "kein BSTACK-Eintrag vorhanden" oder "Fehler"

(Inhalt von AKKU-1-L mulipliziert mit 4 ergibt die Anzahl der beschriebenen Datenwörter im aufgerufenen DB).

Beeinflussung der

Ergebnisanzeigen

VKE, ANZ 1 und

ANZ 0

VKE ANZ 1 ANZ 0 Abfrage mit Bedeutung

0

0

0

1

0

0

1

1

1

0

0

1

SPM

SPZ

SPP

SPB vorhandene Anz.

BSTACK-Elemente.

<gewünschte Anz.

vorhandene Anz

BSTACK-Elemente

=gewünschte Anz.

vorhandene Anz

BSTACK-Elemente

>gewünschte Anz.

Fehler

12-46 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Ablage der

BSTACK-Elemente im aufgeschlagenen

Datenbaustein

So werden die Inhalte des BSTACKs bei Aufruf des OB 170 im aufgerufenen Datenbaustein abgelegt:

A = BSTACK-Element-Nummer (62 bis 1)

(Bereits bei Ausgabe des letzten BSTACK-Elements lässt sich so die Reserve ermitteln:

A = 17 Reserve = A-1 = 16)

B = Tiefe des BSTACK-Elementes (1 bis 62)

Rev. 00/27 12-47

Teil 12 Integrierte Sonderfunktionen

Fehlerfälle

Handbuch VIPA CPU 928 - Band 2

Es werden folgende Fehlerfälle unterschieden:

• kein Datenbaustein aufgeschlagen,

• aufgeschlagener Datenbaustein nicht vorhanden oder nicht ausreichend lang , um die gewünschte Anzahl von BSTACK-Einträgen aufnehmen zu können,

• unzulässige Parameter in AKKU 1 und AKKU 2.

Im Fehlerfall werden das VKE, sowie die Ergebnisanzeigen ANZ 0 und

ANZ 1 gesetzt (VKE, ANZ 0 und ANZ 1 =1), die übrigen Bit- und

Wortanzeigen werden gelöscht.

Der Inhalt von AKKU-1-L wird zu '0'.

Beispiel Sie wollen die letzten 3 BSTACK-Einträge in den Datenbaustein DX 10 einlesen.

Die Einträge sollen in DX 10 ab Datenwort 16 abgelegt werden (Siehe

Bilder KEIN MERKER ).

:AX

:L

:

:L

:

:SPA

DX 10

KY 0,16

KY 0,3

OB170

Aufschlagen DX 10

BSTACK-Einträge sollen ab DW 16 abgelegt werden gewünscht werden die letzten 3

BSTACK-Einträge

Im BSTACK sind 6 Bausteine eingetragen:

BSTACK-Belegung im Beispiel

12-48 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Fortsetzung des Beispiels:

Nach Aufruf des OB 170 ist der Datenbaustein DX 10 folgendermaßen belegt.

Belegung DX10 nach Aufruf des OB 170

Rev. 00/27 12-49

Teil 12 Integrierte Sonderfunktionen

OB 180: Variabler Datenbaustein-Zugriff

Handbuch VIPA CPU 928 - Band 2

Funktion Mit dem OB 180 wird die Anfangsadresse des aktuellen Datenbausteins um einen vorgegebenen Wert verschoben. Dabei wird berücksichtigt, dass die noch verfügbare Länge des DBs abnimmt (DBA- und DBL-Register werden entsprechend der Verschiebung geladen).

Hinweis!

Vor Aufruf des OB 180 muss ein ausreichend langer Datenbaustein (DB oder DX) aufgeschlagen sein.

DBA-DBL-Register Beim Aufschlagen eines Datenbausteins mit den Operationen A DB und

AX DX wird das "DBA"-Register (Datenbaustein-Anfangsadresse) mit der

Adresse des Datenwortes DW 0 geladen, die im DB 0 hinterlegt ist.

Zugriffe auf Datenbausteine mit Operationen wie L DR 60 oder B DW 240 usw. erfolgen immer relativ zur Datenbaustein-Anfangsadresse.

Zusätzlich zum DBA-Register wird bei jedem Aufruf eines Datenbausteins das "DBL"-Register (Datenbaustein-Länge)geladen: Es enthält die Länge

(in Worten) des aufgeschlagenen DB- oder DX-Datenbausteins ohne

Baustein-Kopf.

Beispiel

Hinweis!

Im DBL-Register kann eine maximale Länge von bis zu 4091 Datenwörtern eingetragen sein.

Zugriffe auf Datenwörter können nur auf Datenwort-Nummern bis 255 erfolgen.

Das DBA-Register enthält die Adresse des Speicher-Wortes, in welchem das DW 0 des DB 17 hinterlegt ist: DBA = 151Bh.

Im DBL-Register ist die Anzahl der Datenwörter hinterlegt:

DBL = 8 (DW 0 bis DW 7).

Da der Zugriff auf Datenwörter mittels der Operationen L DW, U D, B DW usw. immer relativ zum DBA erfolgt, wird - um z.B. auf das Wort DW 3 zuzugreifen - 3 zu 151Bh addiert. Unter der Adresse 151Eh ist das

Datenwort DW 3 abgelegt.

Anhand des DBL-Registers wird geprüft, ob ein Transfer- oder Ladefehler vorliegt. So ist z.B. T DW 7 erlaubt, T DW 8 bzw. L DW 8 jedoch fehlerhaft.

12-50 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Anwendung des

OB 180

Der Sonderfunktions-OB 180 bietet Ihnen die Möglichkeit, auf strukturierte

Daten in einem aufgeschlagenen Datenbaustein zuzugreifen. Dies können

Sie dadurch erreichen, dass Sie die im Register DBA eingetragene

Anfangsadresse des Datenbausteins mit Hilfe des OB 180 zum Ende des

Datenbausteins hin verschieben. Gleichzeitig mit einer Verschiebung der

Anfangsadresse wird durch OB 180 die im Register DBL eingetragene

Bausteinlänge entsprechend vermindert. Dies ist wichtig, damit die CPU bei später erfolgenden Zugriffen auf den Datenbaustein eine Überwachung bei Lade- und Transferoperationen durchführen kann.

Arbeiten mit Datenbausteinen, die eine Länge größer 261 Wörter (5

Wörter Kopf) haben: Mit Hilfe des OB 180 können Sie ein

"Zugriffsfenster" von 256 Datenwörtern beliebig über einem

Datenbaustein verschieben.

Anwendung bei Datenstrukturen:

Ein Datenbaustein kann in mehrere Datensätze mit gleicher Länge und gleicher Anordnung der darin enthaltenen Daten unterteilt sein. Man spricht in diesem Fall von einer Strukturierung des Datenbausteins.

Ein so strukturierter Datenbaustein kann z. B. die Daten zu mehreren

Teilprozessen enthalten, wobei im ersten Datenwort ein

Temperaturwert, im zweiten ein Druck und in den übrigen Datenwörtern andere Messwerte des Teilprozesses abgelegt sind.

Mit Hilfe des OB 180 können Sie auf die Daten jedes dieser

Teilprozesse mit denselben Operationen (z. B.L DD, S D, T DR usw.) zugreifen, indem Sie das DBA-Register jeweils mit der Anfangsadresse für die Teilprozessdaten laden.

Im Gegensatz zu anderen Substitutionsmechanismen (Substitution = indizierte Parametrierung) ergeben sich bei diesem Verfahren einfachere und laufzeitgünstigere Programme.

Parameter

Ergebnis

AKKU-1-L

Versatz, Anzahl der Datenwörter, um die die DB-Anfangsadresse verschoben werden soll zulässige Werte: 0<

=

AKKU-1-L<DBL

Nach erfolgreichem Aufruf des OB 180:

• ist der Wert des DBA-Registers (=Adresse des DW 0) um den Wert des

AKKU-1-L erhöht,

• ist der Wert des DBL-Registers um den Wert des AKKU-1-L erniedrigt,

• ist das VKE gelöscht (VKE = 0),

• sind alle übrigen Bit- und Wortanzeigen gelöscht.

Rev. 00/27 12-51

Teil 12 Integrierte Sonderfunktionen

Fehlerfälle

Handbuch VIPA CPU 928 - Band 2

Es werden folgende Fehlerfälle unterschieden:

• negative Länge,

• kein Datenbaustein aufgeschlagen,

Inhalt AKKU-1-L

DBL.

Im Fehlerfall (Inhalt AKKU-1-L

DBL) bleiben DBA- und DBL-Register unbeeinflusst. Das VKE wird gesetzt (VKE =1). Die übrigen Bit- und Wortanzeigen werden gelöscht.

Enthält das DBL-Register den Wert '0', so erkennt der OB 180, dass kein

Datenbaustein aufgeschlagen ist. Das VKE wird gesetzt (VKE =1) und signalisiert so einen Fehler.

DBA und DBL auf

Anfangswert zurückstellen

Ein erneutes Aufschlagen des Datenbausteins mit den Operationen A DB oder AX DX stellt den Grundzustand wieder her.

Beispiel Die Datenbausteinanfangsadresse (DBA = 151Bh) im DB 17 (DBL = 8) soll um zwei Datenwörter verschoben werden.

:A

:L

DB 17

KB 2

:SPA OB 180

DB 17 aufschlagen

Verschiebung/Versatz als Konstante

OB 180 aufrufen: DBA und DBL werden angepasst.

Nach Aufruf des OB 180 lässt sich z.B. unter der Adresse 1520h gespeicherte Datenwort nicht mehr mit DW 5, sondern mit DW 3 ansprechen usw.

12-52 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Fortsetzung des Beispiels

Teil 12 Integrierte Sonderfunktionen

Rev. 00/27

Aufgrund des gleichzeitigen veränderten DBL-Registers bleibt die Fehler-

Überwachung gewährleistet: Die Operation T DW 5 ist erlaubt, während

T DW 6 bzw. L DW 6 fehlerhaft sind

Durch erneute Aufrufe des OB 180 kann das DBA weiter erhöht werden

(wobei das DBL-Register weiter verringert wird): Die Operation A DB17 stellt den Grundzustand (DBA =151Bh, DBL = 8) wieder her.

Hätte der DB 17 eine Länge von z. B 258 Datenwörtern, so könnten Sie mit

Operationen nicht mehr auf DW 256 und DW 257 zugreifen. Durch

Verschieben des DBA-Registers um 2 lassen sich die Datenwörter 256 und

257 mit "DW 254" und "DW255" ansprechen.

(Zum DBA-/DBL-Register siehe auch Band 1 / Teil 9).

12-53

Teil 12 Integrierte Sonderfunktionen

OB 181: Datenbausteine (DB/DX) testen

Handbuch VIPA CPU 928 - Band 2

Einleitung Mit dem Sonderfunktions-Organisationsbaustein OB 181 können Sie prüfen,

• ob ein bestimmter DB- oder DX-Datenbaustein vorhanden ist,

• unter welcher Adresse das erste Datenwort des Datenbausteins abgelegt ist,

• wieviele Datenwörter dieser Datenbaustein enthält,

• welcher Speichertyp und Speicherbereich benutzt wird.

Anwendung des

OB 181

Eine Anwendung der Funktion "DB/DX testen" ist sinnvoll vor den Befehlen

TNB/TNW, E DB/EX DX und vor Aufruf der Sonderfunktions-

Organisationsbausteine OB 182, OB 254 und OB 255.

So können Sie z. B. vor einem Blocktransfer von Datenwörtern den OB 181 aufrufen, um sicherzustellen, dass alle zu kopierenden Datenwörter aufzunehmen sind.

Funktion

Parameter

Der OB 181 prüft, ob ein Datenbaustein vorhanden ist, und gibt als

Ergebnis die charakteristischen Parameter des Datenbausteins zurück.

AKKU-1-L

AKKU-1-LL

Bausteinnummer, zulässige Werte:

AKKU-1-LH

Bausteinkennung, zulässige Werte:

1 bis 255

1=DB

2=DX

12-54 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Ergebnis

Teil 12 Integrierte Sonderfunktionen

Der geprüfte Baustein ist in der CPU vorhanden:

AKKU-1-L: Adresse des 1. Datenwortes (DW0),

AKKU-2-L: Länge des Datenbausteins in Worten (ohne Bausteinkopf)

Beispiel: In AKKU-2-L steht der Wert '7':

Der Datenbaustein besteht aus den

Datenwörtern DW 0 bis DW 6,

VKE: = 0,

ANZ 1/ANZ 0: werden entsprechend der Lage des Bausteins beeinflusst

(siehe nachfolgende Tabelle), restliche Bit-und

Wortanzeigen: werden gelöscht.

Der geprüfte Baustein ist in der CPU nicht vorhanden oder es ist ein

Fehler aufgetreten:

AKKU 1 und 2:

VKE:

ANZ 1/ANZ 0: restliche Bit-und

Wortanzeigen: werden nicht verändert,

= 1,

= 1, werden gelöscht.

VKE, ANZ 1, ANZ 0 Entsprechend dem Prüfergebnis werden folgende Anzeigen gesetzt, die durch die in der Tabellenspalte "Abfrage" aufgeführten Operationen ausgewertet werden können:

VKE ANZ 1 ANZ 0 Abfrage Bedeutung

0

0

0

0

0

1

1

0

0

1

SPM DB/DX im Anwenderspeicher

SPZ DB/DX im Anwenderspeicher

DB/DX im EPROM-

Betrieb (nur lesbar)

DB/DX im RAM-Betrieb

(schreib- und lesb.)

SPP DB/DX im DB-RAM DB/DX im RAM-Betrieb

(schreib- und lesb.)

1 DB/DX nicht vorhanden oder Fehler

DB/DX vorhanden

DB/DX vorhanden

DB/DX vorhanden

Fehlerfälle Es werden folgende Fehlerfälle unterschieden

• falsche Bausteinnummer (unzulässig: 0 -DB 0 oder DX 0),

• falsche Bausteinkennung (zulässig: 1 = DB, 2 = DX; unzulässig: 0, 3 bis

255),

Speicherfehler.

Rev. 00/27 12-55

Teil 12 Integrierte Sonderfunktionen

OB 182: Datenbereich kopieren

Funktion

Handbuch VIPA CPU 928 - Band 2

Der OB 182 kopiert einen Datenblock variabler Länge von einem Datenbaustein in einen anderen. Als Quell- und Zielbausteine können DB- und

DX-Datenbausteine verwendet werden. Der Blockanfang im Quell- und

Zieldatenbaustein ist frei wählbar. Der OB 182 kann maximal 4091 Datenwörter kopieren. Er enthält Pseudobefehlsgrenzen.

Hinweis!

Quell- und Zielbaustein können identisch sein. Die Datenbereiche von

Quelle und Ziel dürfen sich überlappen. Die Originaldaten des Quellbereichs werden auch bei Überlappung unverändert in den Zielbereich kopiert. Der Überlappungsbereich in der Quelle ist nach dem Kopiervorgang überschrieben. Mit dieser Funktionseigenschaft können Sie einen

Datenbereich innerhalb eines Bausteins verschieben.

12-56 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Parameter

Teil 12 Integrierte Sonderfunktionen

1. Datenfeld Kopierparameter

Vor dem Aufruf des OB 182 versorgen Sie ein Datenfeld mit den erforderlichen Parametern für den gewünschten Kopiervorgang. Dieses

Datenfeld kann in einem DB- oder DX-Datenbaustein, im M- oder S-

Merkerbereich angelegt werden. Das Datenfeld (5 Worte) bezeichnet

Quell- und Zieldatenbaustein, die Blockanfangsadresse in beiden Bausteinen sowie die Anzahl der zu übertragenden Datenwörter.

Rev. 00/27

Datenfeld im Merkerbereich:

Wenn Sie das Datenfeld in einem Merkerbereich anlegen, müssen Sie folgende Zuordnung der Datenfeldwörter zu den Merkerbytes berücksichtigen. Dabei ist 'x' der Parameter "Nr. des 1.Datenfeldwortes", den Sie beim Aufruf des OB 182 im AKKU-1-L hinterlegen müssen:

12-57

Teil 12 Integrierte Sonderfunktionen

Datenfeld im

Merkerbereich

Handbuch VIPA CPU 928 - Band 2

12-58

2. AKKUs

AKKU-2-L

Der AKKU-2-L enthält Angaben zum verwendeten Datenfeld. Er muss folgenden Aufbau haben:

Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Ergebnis

Fehlerfälle

Fehlerkennungen des OB 182

AKKU-1-L

Nummer des 1.Datenfeldwortes, zulässige Werte (in Abhängigkeit vom Adressbereichs-Typ):

DB, DX:

M-Merker:

0 bis 2043

S-Merker:

0 bis 246

(= Nr. Merkerbyte 'x')

0 bis 1014

(= Nr. Merkerbyte 'x')

Nach korrekter Bearbeitung des OB 182 sind die Anzeigenbits OR, ERAB und OS =0. Alle anderen Anzeigenbits sowie AKKU 1 und AKKU 2 bleiben unverändert.

Im Fehlerfall werden der OB 19 oder der OB 31 aufgerufen. Sind der OB

19 oder der OB 31 nicht geladen, geht die CPU in den Stoppzustand.

In beiden Fällen werden Fehlerkennungen in den AKKU 1 und AKKU 2 hinterlegt (siehe nachfolgende Tabelle)

AKKU-

1-L

1A06h

1A34h

AKKU-2-L Bedeutung aufger.

OB

OB 19 ---

0001h Beschreibung des Datenfeldes fehlerhaft OB 31

0100h Adressbereichs-Typ unzulässig

0101h DB-Nr. unzulässig

0102h "Nr. des ersten Datenfeldwortes" unzulässig

0200h "Quell-DB-Typ" unzulässig

0201h "Quell-DB-Nr." unzulässig

0202h "Nr. des 1. zu übertr. Datenwortes im

Quell-DB" unzulässig

0203h Länge Quelldatenbaustein im

Bausteinkopf <Wörter

0210h "Ziel-DB-Typ" unzulässig

0211h "Ziel-DB-Nr." unzulässig

0212h "Nr. des 1. zu beschreibenden DW im

Ziel-DB" unzulässig.

0213h Länge Ziel_DB im Bausteinkopf < 5

Wörter

0220h "Anzahl zu übertrag. DW" unzulässig (= 0 oder > 4091)

0221h Quell-DB zu kurz

0222h Ziel-DB zu kurz

0223h Ziel-DB schreibgeschützt (EPROM-

Betrieb)

Rev. 00/27 12-59

Teil 12 Integrierte Sonderfunktionen

OB 186: Speicher komprimieren

Funktion

Handbuch VIPA CPU 928 - Band 2

Mit dem Organisationsbaustein OB 186 können Sie den Speicher komprimieren und den Status der Komprimierfunktion abfragen bzw.

prüfen. Die Funktionalität des OB 186 entspricht der PG-Funktion

"Speicher komprimieren".

Parameter

Hinweis!

Während der Speicher mittels des OB 186 komprimiert wird, wird Die PG-

Funktion "Speicher komprimieren" abgewiesen. Andere PG-Funktionen sind nur eingeschränkt zulässig.

Während PG-Funktionen aktiv sind, wird der OB 186 abgewiesen.

"Speicher komprimieren" mit dem OB 186 ist eine langlaufende Funktion, die vom Systemprogramm auf mehrere Zyklen verteilt wird. Es werden keine expliziten Rückmeldungen ausgegeben. Rückmeldungen können jedoch durch zyklisches Aufrufen des OB mit Funktionsnummer 2 realisiert werden.

Der OB 186 ruft keinen Fehler-OB auf.

AKKU-1-L

Der AKKU-1-L enthält die Funktionsnummer, zulässige Werte: 0001h: Komprimieren starten

0001h: Status der Komprimierfunktion abfragen / prüfen.

12-60 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Ergebnis

Teil 12 Integrierte Sonderfunktionen

Der OB 186 setzt in den Bitanzeigen OS und /ERAB sowie in den Wortanzeigen OR auf 0.

Der Aufruf des OB 186 bringt folgende Ergebnisse:

Funkt.-Nr

0001h

0001h

0001h

0002h

0002h

0002h

0002h ungültig

VKE

1

0

0

1

0

0

0

0

AKKU-1-L

0000h

8002h

8003h

0000h

0001h

8002h

0003h

8001h

Bedeutung

Kein Fehler, Kompr.

wurde angestossen

Fehler, Starten nicht möglich, da PG-

Funkt. aktiv

Fehler, Starten nicht möglich, da Kompr.

bereits aktiv war

Kein Fehler, Kompr.

läuft noch

Kompr. beim letzten

Aufruf war nicht mögl, da CPU zu diesem

Zeitpunkt nicht in komprimierfähigen

Zustand war

Komprimieren abgeschl. ohne

Fehler

Komprimieren abgebrochen wegen Speicherinkonsistenz

Fehler, ungültige

Funktionsnummer

Rev. 00/27 12-61

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

OB 190/192: Merker in Datenbaustein übertragen

Anwendung Die Organisationsbausteine OB 190 und OB 192 übertragen eine vom

Anwender vorgegebene Anzahl Merkerbytes in einen dafür vorgesehenen

Datenbaustein.

Dies kann z. B. von Vorteil sein vor Bausteinaufrufen, im Fehler-Organisationsbaustein oder bei Unterbrechung durch eine zeit- oder alarmgesteuerte Programmbearbeitung.

Mit Hilfe der Organisationsbausteine OB 191 und OB 193 können Sie diese

Merkerbytes anschließend wieder aus dem Datenbaustein zurückschreiben.

Hinweis!

Verwenden Sie OB 190 und OB 191 für das einfache Retten und

Zurücklesen der Merkerbytes, da Sie damit erhebliche Laufzeitvorteile gewinnen.

Vor dem Aufruf von OB 190/192 muss ein Datenbaustein (DB/DX) aufgeschlagen werden.

Die OB 190/192 übertragen nur aus dem M-Merkerbereich, jedoch nicht aus dem S-Merkerbereich in einen Datenbaustein.

12-62 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Funktion

Teil 12 Integrierte Sonderfunktionen

Nach Aufruf des OB 190/192 werden im aufgeschlagenen DB die

Merkerbytes ab der angegebenen Datenwortadresse gespeichert. Den

Bereich der zu rettenden Merker entnehmen OB 190/192 dem AKKU 2.

OB 190 und OB 192 sind identisch mit Ausnahme der Art und Weise, in der sie die Merkerbytes übertragen:

OB 190 überträgt die Merker byteweise,

OB 192 überträgt die Merker wortweise.

Dies ist von Belang, wenn die in den Datenbausteinen übertragenen Daten anschließend bearbeitet werden sollen und der Datenbaustein nicht nur als einfacher Zwischenspeicher benutzt wird.

Die folgende Abbildung soll diesen Unterschied verdeutlichen:

Byteweises und wortweises

Übertragen

Hinweis Falls eine ungerade Anzahl von Merkerbytes übertragen wird, so wird das letzte benutzte Datenwort des Datenbausteins nur zur Hälfte genutzt. Bei

OB 190 bleibt das Datum links, bei OB 192 das Datum rechts im Ziel-DB unverändert.

Rev. 00/27 12-63

Teil 12 Integrierte Sonderfunktionen

Parameter

Handbuch VIPA CPU 928 - Band 2

1. Angaben zur Datenquelle:

AKKU-2-LH

Erstes zu übertragendes Merkerbyte, zulässige Werte: 0 bis 255.

AKKU-2-LL

Letztes zu übertragendes Merkerbyte, zulässige Werte: 0 bis 255,

(Letztes Merkerbyte

Erstes Merkerbyte).

2. Angaben zum Ziel:

AKKU-1-L

Nummer des ersten zu beschreibenden Datenwortes im aufgeschlagenen

Datenbaustein:

Die zulässigen Werte orientieren sich an der Länge des Datenbausteins im

Speicher. Es können dabei Nummern > 255 auftreten.

Ergebnis

Fehlerfälle

Wird der Sonderfunktions-OB 190/192 korrekt bearbeitet, so wird das VKE gelöscht (VKE = 0). Die AKKUs bleiben unverändert.

Im Fehlerfall wird das VKE gesetzt (VKE = 1), die AKKUs bleiben unverändert.

Kein DB- oder DX-Datenbaustein aufgeschlagen,

• falscher Merkerbereich (Letztes Merkerbyte < Erstes Merkerbyte),

Datenwort-Nummer nicht vorhanden,

Länge des DB- oder DX-Datenbaustein nicht ausreichend.

12-64 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

OB 191/193: Datenblöcke in Merkerbereich übertragen

Anwendung Mit Hilfe der Organisationsbaustein OB 191 und OB 193 können sie Daten aus einem Datenbaustein in den Merkerbereich übertragen. So können beispielsweise die zuvor in einem Datenbaustein "geretteten" Merkerbytes wieder in den Merkerbereich zurückgeschrieben werden.

OB 191/193 unterscheiden sich von den Organisationsbausteinen OB

190/192 nur dadurch, dass Quelle und Ziel vertauscht sind:

OB 190/192: Merkerbereich

à

Datenbaustein

OB 191/193 Merkerbereich

ß

Datenbaustein

Hinweis!

Vor dem Aufruf von OB191/193 muss ein ausreichend langer

Datenbaustein (DB/DX) aufgeschlagen werden!

Die OB 191/193 übertragen aus dem Datenbaustein nur in den M-Merkerbereich, jedoch nicht in den S-Merkerbereich.

Rev. 00/27 12-65

Teil 12 Integrierte Sonderfunktionen

Funktion

Handbuch VIPA CPU 928 - Band 2

Nach Aufruf des OB191/193 werden aus dem aufgeschlagenen Datenbaustein Datenwörter ab der angegebenen Datenwortadresse gelesen und in den Merkerbereich übertragen.

OB 191 und OB 193 sind identisch mit Ausnahme der Art und Weise, in der sie die Daten übertragen:

OB 191 überträgt die Merker byteweise.

OB 193 überträgt die Merker wortweise.

Die folgende Abbildung soll diesen Unterschied verdeutlichen:

Byteweises und wortweises

Übertragen

Parameter

12-66

1. Angaben zur Datenquelle:

AKKU-2-L

Nummer des ersten zu übertragendes Datenwortes im aufgeschlagenen

Datenbaustein.

2. Angaben zum Ziel:

AKKU-1-LH

Erstes zu beschreibendes Merkerbyte, zulässige Werte: 0 bis 255.

AKKU-1-LL

Letztes zu beschreibendes Merkerbyte, zulässige Werte: 0 bis 255 (Letztes Merkerbyte

≥≥≥≥

Erstes Merkerbyte).

Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Ergebnis

Teil 12 Integrierte Sonderfunktionen

Wird der Sonderfunktions-OB 191/193 korrekt bearbeitet, so wird das VKE gelöscht (VKE=0). Die AKKUs bleiben unverändert.

Im Fehlerfall wird das VKE gesetzt (VKE = 1), die AKKUs bleiben unverändert.

Fehlerfälle

Beispiele

Es werden folgende Fehlerfälle unterschieden:

• kein DB- oder DX-Datenbaustein aufgeschlagen,

• falscher Merkerbereich (Letztes Merkerbyte < Erstes Merkerbyte),

Datenwort-Nummer nicht vorhanden,

Länge des DB- oder DX-Datenbaustein nicht ausreichend.

Beispiel 1:

Vor Aufruf des Programmbausteins PB 12 sind alle Merker (MB 0 bis MB

255) in den Datenbaustein DX 37 ab Adresse 100 zu retten und anschließend wieder zurückzuschreiben.

Retten:

:AX

:L

:L

:SPA

DX37

KY0,255

KB100

OB190

Bausteinwechsel:

:SPA PB12

Zurückschreiben:

:

:L KB100

:L

:SPA

KY0,255

OB191

Datenbaustein aufschlagen

Merkerbereich MB 0 bis MB 255

Nummer des 1. Datenwortes im Ziel

Merker retten

(Datenbaustein ist bereits offen)

Nummer des 1. Datenwortes in der

Quelle

Merkerbereich MB 0 bis MB 255

Merkerbereich zurückschreiben

Rev. 00/27 12-67

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

Beispiel 2:

Merker, die vom zyklischen Anwenderprogramm benutzt werden, können nicht zusätzlich durch ein zeit- oder alarmgesteuertes Anwenderprogramm benutzt werden. Jeder Programmbearbeitungsebene muss ein bestimmter

Teil des Merkerbereiches zugeordnet sein.

z.B. zyklisches Anwenderprogramm MB 0 ........ MB 99 zeitgesteuertes Anwenderprogramm alarmgesteuertes Anwenderprogramm

MB100........MB199

MB200........MB255

Falls jedoch das zyklische Anwenderprogramm bereits alle 256

Merkerbytes benutzt und beispielsweise das zeitgesteuerte Anwenderprogramm ebenfalls alle 256 Merkerbytes benötigt, müssen die Merker beim Wechsel der Bearbeitungsebene ausgetauscht und zwischengespeichert werden.

Am schnellsten können die Merker mit Hilfe der Sonderfunktionen OB 190 und OB 191 gerettet und geladen werden. Bild KEIN MERKER zeigt, wie ein von OB 1 und OB 13 (100ms Weckalarm) gemeinsamer Merkerbereich

MB X bis MB Y in einem Datenbaustein zwischengespeichert werden:

Retten von

Merkerbereichen

12-68

Programm im OB 13:

:A

:L

:LK

:SPA

:L

:L

:SPA

:A

:L

:L

:SPA

:L

:L

:SPA

:BE

DB100

KY0,255

KB0

OB190

KB128

KY0,255

OB191

DB100

KY0,255

KB128

OB190

KB0

KY0,255

OB191

Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Weitere Anwendungen für die Organisationsbausteine OB 190 bis 193

Bei der CPU 928 werden Operationen zur Einzelbitbearbeitung (U, O, UN,

ON, S, R, =), die auf den Merkerbereich zugreifen, wesentlich schneller bearbeitet als vergleichbare Operationen, die auf Datenbausteine zugreifen

(vergleichen Sie hierzu z. B. die Operationen 'UM' 'U D' oder 'S M' 'S D').

Aus diesem Grund verbessern Sie die Laufzeit, wenn Sie die Daten in den

Merkerbereich kopieren, diese dort bearbeiten und anschließend wieder in den Datenbaustein zurück übertragen.

Ohne großen Aufwand lassen sich im Datenbaustein Hight-Byte und Low-

Byte vertauschen, indem mit den entsprechenden OBs Datenwörter in den

Merkerbereich und wieder zurück übertragen werden, wie in Bild dargestellt:

Vertauschen von

High und Low-

Byte

Sie können Datenblöcke innerhalb eines Datenbausteins "verschieben", wenn Sie beim Zurückübertragen aus dem Merkerbereich zwar dieselbe

DB-Nummer, jedoch ein anderes Datenwort angeben.

Rev. 00/27 12-69

Teil 12 Integrierte Sonderfunktionen

OB 216 bis 218: Kachelzugriffe

Was sind

Kacheln?

Handbuch VIPA CPU 928 - Band 2

Um im Adressbereich des AG-Busses eine große Anzahl von Kommunikationsspeichern unterbringen zu können, ist ein Adressbereich mit einer Länge von 1024 Byte (reserviert sind 2048 Byte) 256-mal auf den

Speicher abgebildet. Weil diese 256 Abbildungen wie einzelne "Kacheln" neben- oder hintereinander liegen, werden diese Speicherbereiche auch

"Kachelspeicher" genannt.

Zur Anwahl der benötigten Kachel dient ein "Kacheladressregister", das auf allen mit Kacheln arbeitenden Baugruppen vorhanden ist und eine feste

Adresse auf dem AG-Bus hat. Auf jeder dieser Baugruppen durch den

Anwender per DIL-Schalter oder Software die Nummern (Adressen) der

Kacheln eingestellt, so dass jede Kachel nur einmal im AG vorhanden ist.

Die CPU gibt vor jedem Lesen oder Schreiben einer Kachel durch

Schreiben in das Kachelregister die Kachelnummer an. Alle nach diesem

Verfahren arbeitenden Baugruppen auf dem AG-Bus empfangen gleichzeitig ("broadcast") diese Nummer und legen sie in ihrem Speicher ab. Nur die so adressierte Kachel ist nun über den AG-Bus schreib- und lesbar, alle

übrigen Kacheln sind gesperrt.

Wie können Sie auf Kacheln zugreifen?

Die Organisationsbausteine OB 216 bis OB 218 sowie einige SPS-

Operationen ermöglichen den Zugriff auf sogenannte "Kacheln".

Die Organisationsbausteine enthalten folgende Funktionen:

OB 216

Schreiben eines Bytes/Wortes/Doppelwortes auf eine Kachel,

OB 217

Lesen eines Bytes/Wortes/Doppelwortes von einer Kachel,

OB 218

Belegen einer Kachel durch die CPU.

Diese Funktionen dienen Testzwecken und ermöglichen die Programmierung von Hantierungsbausteinen (FB 120 bis 127) oder ähnlichen

Funktionen.

Hinweis!

In der Regel können Sie alle Funktionen mit Hilfe der Standard-

Funktionsbausteine "Hantierungsbausteine" (FB 120 bis FB127) ausführen, mit denen alle Kachelzugriffe "automatisch" abgewickelt werden.

Kachelzugriffe sollten Sie möglichst nur durch Aufrufe der OB 216 bis OB

218 programmieren. Die dafür auch zur Verfügung stehenden SPS-

Operationen sollten Sie dagegen nur verwenden, wenn Sie über sehr gute

Systemkenntnisse verfügen.

12-70 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Adressbereiche für Peripherie auf dem AG-Bus

Kachelgröße Belegter Adressraum

1024 Adressen (Byte- oder Wortadressen) F400h bis F7FFh

2048 Adressen (Byte- oder Wortadressen) F400h bis FBFFh

Bit

F000

7

F100

F200

F300

F400

P-Bereich

Q-Bereich

Adreßraum einer Kachel

FC00

FEFF

FF00

FFFF

Dezentrale Peripherie

(bzw. frei)

Kacheladreßregister nicht belegt

0 mehrfach vorhandener

Speicherbereich

Größe: 1024 oder 2048 Byte

Kachel-Nr. 0

Kachel-Nr. 255

1

2

3

Welche der insgesamt 256 Kacheln verwendet werden soll, geben Sie bei der Parametrierung der Sonderfunktions-Organisationsbausteine OB 216,

OB 217 und OB 218 an. Die Nummer der "aktuellen" Kachel wird daraufhin automatisch in eine Zelle mit der Adresse 0FEFFh eingetragen

Alle Datenübertragungen beziehen sich dann auf die Kachel, deren

Nummer eingetragen wurde.

Rev. 00/27 12-71

Teil 12 Integrierte Sonderfunktionen

OB 216: Schreiben auf eine Kachel

Funktion

Handbuch VIPA CPU 928 - Band 2

Der Sonderfunktions-Organisationsbaustein überträgt ein Byte, Wort oder

Doppelwort vom AKKU 1 (rechtsbündig) zu einer bestimmten Kachel.

Das Adressieren der und das Übertragen des vollständigen Datums (1,2, oder 4 Bytes) bilden eine untrennbare Programmeinheit, die nicht unterbrochen werden kann.

Parameter Akkus

AKKU-3-LH

Kennung des zu übertragenden Datums, zulässige Werte: 0 = Byte

1 = Wort

2 = Doppelwort.

AKKU-3-LL aktuelle Kachel-Nummer, zulässige Werte: 0 bis 255.

AKKU-2-L

Zieladresse auf der Kachel, zulässige Werte: 0 bis 2047.

AKKU 1

Datum, das geschrieben werden soll (Byte, Wort oder Doppelwort: rechtsbündig).

12-72 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Akku-Belegung vor dem Schreiben (vor Aufruf des OB 216):

Ergebnis

Fehlerfälle

Das Schreiben auf die Kachel verläuft erfolgreich:

AKKU 1 und AKKU 3: werden nicht verändert,

AKKU-2-L: enthält einen um 1, 2, oder 4 erhöhten Wert (je nach Länge des übertragenen Datums),

VKE restliche Bit und Wort-

VKE restliche Bit und Wort-

= 1, anzeigen werden gelöscht.

Das Schreiben auf die Kachel ist nicht möglich: alle Akkus: werden nicht verändert

= 0, anzeigen: werden gelöscht.

Es werden folgend Fehlerfälle unterschieden:

• falsche Längenkennung in AKKU-3-LH,

Zieladresse auf der Kachel falsch oder nicht vorhanden,

• angegebene Kachel-Nummer nicht vorhanden.

Rev. 00/27 12-73

Teil 12 Integrierte Sonderfunktionen

OB 217: Lesen aus einer Kachel

Funktion

Handbuch VIPA CPU 928 - Band 2

Der Sonderfunktions-Organisationsbaustein überträgt ein Byte, Wort oder

Doppelwort von einer bestimmten Kachel zu AKKU 1 (rechtsbündig).

Das Adressieren der Kachel und das Übertragen des vollständigen Datums

(1, 2 oder 4 Bytes) bilden eine untrennbare Programmeinheit, die nicht unterbrochen werden kann.

Parameter Akkus

AKKU-3-LH

Kennung des zu übertragenden Datums, zulässige Werte: 0 = Byte

1 = Wort

2 = Doppelwort

AKKU-3-LL aktuelle Kachel-Nummer, zulässige Werte: 0 bis 255

AKKU-2-L

Quelladresse auf der Kachel, zulässige Werte: 0 bis 2047

Akku-Belegung vor dem Lesen (vor Aufruf des OB 217):

12-74 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Ergebnis

Teil 12 Integrierte Sonderfunktionen

Das Lesen der Kachel verläuft erfolgreich:

AKKU 1: enthält (rechtsbündig) den gelesenen Wert

(der mögliche Rest der 32 Bits wird gelöscht),

AKKU 3:

AKKU-2-L: wird nicht verändert, enthält einen um 1, 2, oder 4 erhöhten Wert

(je nach Länge des übertragenen Datums),

= 1, VKE: restliche Bit und

Wortanzeigen: werden gelöscht.

Das Lesen von der Kachel ist nicht möglich: alle Akkus: werden nicht verändert,

VKE: = 0, restliche Bit und

Wortanzeigen: werden gelöscht

Fehlerfälle Es werden folgende Fehlerfälle unterschieden:

• falsche Längenkennung im AKKU-3-LH,

Quelladresse auf der Kachel falsch oder nicht vorhanden,

• angegebene Kachel-Nummer nicht vorhanden.

Rev. 00/27 12-75

Teil 12 Integrierte Sonderfunktionen

OB 218: Belegung einer Kachel

Funktion

Handbuch VIPA CPU 928 - Band 2

Der Sonderfunktions-Organisationsbaustein überträgt die Nummer der

CPU zu einer bestimmten Kachel, falls der Inhalt der adressierten Zelle auf dieser Kachel gleich Null ist. Solange nun die CPU-Nr. in der Zelle eingetragen bleibt, ist diese Kachel für diese CPU reserviert und kann von anderen CPUs nicht belegt werden.

Der Organisationsbaustein OB 218 dient der Synchronisation des Datentransfers und ist besonders wichtig, wenn größere, zusammengehörige

Datenblöcke geschlossen gesendet bzw. übertragen werden sollen.

Das Adressieren der Kachel, das Lesen und das eventuelle Schreiben der

Steckplatzkennung bilden eine Programmeinheit, die nicht unterbrochen werden kann.

Parameter Akkus

AKKU-2-LL

Nummer der zu belegenden Kachel, zulässige Werte: 0 bis 255.

AKKU-1-L

Zieladresse auf der Kachel, zulässige Werte: 0 bis 2047.

(Die Inhalte von AKKU 3 und 4 sind irrelevant).

Akku-Belegung vor Aufruf des OB 218:

12-76 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Ergebnis

Teil 12 Integrierte Sonderfunktionen

Das Belegen der Kachel verläuft erfolgreich: alle Akkus: werden nicht verändert,

VKE: = 1, restliche Bit und

Wortanzeigen werden gelöscht.

Das Belegen der Kachel ist nicht möglich: alle Akkus: werden nicht verändert,

VKE: = 0, restlich Bit und Wortanzeigen werden gelöscht.

Fehlerfälle Folgender Fehlerfall kann auftreten:

• angegebene Kachel-Nummer nicht vorhanden.

Rev. 00/27 12-77

Teil 12 Integrierte Sonderfunktionen

OB 220: Vorzeichenerweiterung

Anwendung

Handbuch VIPA CPU 928 - Band 2

Eine Vorzeichenerweiterung ist notwendig, um eine negative 16-bit-Festpunktzahl vor einer Festpunkt-Gleitpunkt-Wandlung (32-bit, Operation

FDG) zu einer 32-bit-Festpunktzahl zu erweitern.

Funktion Diese Sonderfunktion erweitert das Vorzeichen einer 16-bit-Festpunktzahl im AKKU-1-L auf das höherwertige Wort (AKKU-1-H):

Wenn das Bit 2

15

=0 (positive Zahl) ist, wird das höherwertige Wort mit

KH = 0000 geladen,

Wenn das Bit 2

15

=1 (negative Zahl ist, wird das höherwertige Wort mit

KH = FFFF geladen.

Parameter

Ergebnis

Fehlerfälle

AKKU-1-L

16-bit-Festpunktzahl.

AKKU-1-H wird entsprechend dem Vorzeichen der Festpunktzahl in

AKKU-1-L geladen (s.o.).

keine

12-78 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

OB 221: Zyklusüberwachung einstellen

Funktion Durch Aufruf dieser Sonderfunktion können Sie die Zyklusüberwachungszeit ändern und damit die maximal zulässige Zykluszeit neu festlegen. Standardmäßig ist die Zyklusüberwachungszeit auf 150ms eingestellt.

Mit diesem Aufruf wird gleichzeitig der Timer für die Überwachung neu gestartet. Die maximal zulässige Zykluszeit für den Zyklus, in dem der OB

221 aufgerufen wird, verlängert sich um den neu eingestellten Wert, vom

Zeitpunkt des Sonderfunktionsaufrufes an gerechnet. Die Zyklusüberwachungszeit aller folgender Zyklen entspricht dem neu eingestellten Wert

(=dem Zeitwert, den Sie im AKKU 1 übergeben).

Parameter

Ergebnis

Fehlerfall

AKKU 1

AKKU-1-L

Neue Zykluszeit ( in Millisekunden) zulässige Werte: 1ms bis 13 000ms positive Festpunktzahl (KF)

AKKU-1-H

AKKU-1-H muss den Wert '0' haben

Nach fehlerfreier Bearbeitung des OB 221 ist die neue Zyklusüberwachungszeit eingestellt.

Die angegebene Zyklusüberwachungszeit liegt nicht im Bereich 1 ms bis

13000 ms.

Die Funktion wird nicht ausgeführt. Das Systemprogramm erkennt einen

Laufzeitfehler und ruft den OB 31 auf. Die weitere Fehlerreaktion hängt von der Programmierung des OB 31 ab. Ist der OB 31 nicht geladen, geht die

CPU in den Stoppzustand.

In beiden Fällen wird in AKKU-1-L die Fehlerkennung 1A3Ah hinterlegt.

Rev. 00/27 12-79

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

OB 222: Zyklusüberwachungszeit neu starten

Funktion Die Sonderfunktion OB 222 bewirkt ein Nachtriggern der Zyklusüberwachungszeit, d.h. der Timer für die Überwachung wird neu gestartet.

Durch Aufruf dieser Sonderfunktion wird die maximal zulässige Zykluszeit für den aktuellen Zyklus um den eingestellten Wert vom Zeitpunkt des

Aufrufs an verlängert.

Parameter und

Fehlerfälle keine

12-80 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

OB 228: Statusinformation einer Programmebene lesen

Funktion

Parameter

Beim Auftreten von bestimmten Ereignissen ruft das Systemprogramm die dazugehörige Programmbearbeitungsebene auf.

Die Programmbearbeitungsebene ist damit "aktiviert".

Mit Hilfe des Organisationsbausteins OB 228 können Sie feststellen, ob zu einem Zeitpunkt eine bestimmte Programmbearbeitungsebene aktiviert ist oder nicht. Im AKKU 1 übergeben Sie die Nummer derjenigen Programmbearbeitungsebene, deren Status abgefragt werden soll. (Die Nummern entsprechen den im USTACK unter EBENE eingetragenen Nummern.)

Bei Aufruf des Bausteins hinterlegt dieser die Statusinformation der angegebenen Programmebene im AKKU-1-L. Durch Auswertung diese

Information können Sie Ihre Programmbearbeitung abhängig machen vom

Status einer anderen Programmbearbeitungsebene.

AKKU-1-L

Nummer der Programmbearbeitungsebene (siehe USTACK, EBENE), zulässige Werte (hexadezimal): siehe nachfolgende Tabelle

Ebenen-Name Ebenen-Name Ebenen-Nr.

in

AKKU-1-L

02

04

06

08

0A

0C

Ebenen-Nr.

in

AKKU-1-L

26

28

2A

2C

2E

30 nicht belegt nicht belegt nicht belegt

Abbruch

Schnittstellenfehler

Weckfehler

0E

10

12

14

16

18

1A

1C

1E

20

22

NEUSTART

ZYKLUS

WECKALARM 5s

WECKALARM 2s

WECKALARM 1s

WECKALARM

500ms

WECKALARM

200ms

WECKALARM

100ms

WECKALARM 50ms

WECKALARM 20ms

WECKALARM 10ms

ZEITAUFTRAG nicht belegt

REGLERALARM nicht belegt

VERZÖGERUNGS-

ALARM nicht belegt

32

34

36

38

3A

3C

3E

40

42

44

46

Reglerfehler

Zyklusfehler nicht belegt

Befehlscodefehler

Laufzeitfehler

Adressierfehler

Quittungsverzug nicht belegt nicht belegt

MANUELLER

WIEDERANLAUF

AUTOMATISCHER

WIEDERANLAUF

24 PROZESSALARM

Rev. 00/27 12-81

Teil 12 Integrierte Sonderfunktionen

Ergebnis

Handbuch VIPA CPU 928 - Band 2

AKKU-1-L: enthält die Statusinformation:

• gleich 0: Programmbearbeitungsebene ist nicht aufgerufen,

• ungleich 0: Programmbearbeitungsebene ist aktiviert.

AKKU-2-L:

• enthält den vorherigen Inhalt des AKKU-1-L;

• der vorherige Inhalt von AKKU-2-L geht verloren.

Fehlerfälle keine

Beispiel Ein Quittungsverzug soll im NEUSTART ignoriert werden, nicht jedoch in den übrigen Programmbearbeitungsebenen.

Sie rufen zu Beginn der Fehlerbearbeitung im OB 23 (QVZ) den OB 228 auf, um festzustellen, ob beim Auftreten des QVZ die Programmbearbeitungsebene NEUSTART (Nummer 02) aktiviert ist oder nicht. Die weitere Fehlerbehandlung machen Sie abhängig von der Statusinformation, die Sie erhalten:

AKKU-1-L = 0: NEUSTART passiv

AKKU-1-L

0:NEUSTART aktiviert

QVZ ist nicht im

NEUSTART, sondern in einer anderen

Programmbearbeitungsebene aufgetreten. Das

Fehlerprogramm muss bearbeitet werden.

QVZ ist im NEUSTART aufgetreten, daher darf es ignoriert werden.

Der OB 228 ermöglicht Ihnen somit u. a. eine differenzierte Fehlerbehandlung.

12-82 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

OB 230 bis 237: Funktionen für Standard-FBs

Einleitung Die Sonderfunktions-Organisationsbausteine OB 230 bis OB 237 sind für

Hantierungsfunktionen reserviert und können nur innerhalb der Standard-

Funktionsbausteine FB 120 bis FB 127 aufgerufen werden.

Hantierungsbausteine

Diese Standard-Funktionsbausteine - die sog. "Hantierungsbausteine" steuern den Datenverkehr über den Kachelbereich: Sie werden eingesetzt, wenn Daten oder Parameter sowie Steuerungsinformationen von den

Kommunikationsprozessoren übergeben werden sollen.

Zuordnungshilfe Der nachfolgenden Tabelle können Sie entnehmen, von welchen Hantierungsbausteinen die Sonderfunktions-Organisationsbausteine

OB 230 bis OB 237 aufgerufen werden.

Standard-

Funktionsbaustein

FB 120

FB 121

FB 122

FB 123

FB 124

FB 125

FB 126

FB 127

Sonderfunktion-

Organisationsbaustein

SF-OB-230

SF-OB-231

SF-OB-232

SF-OB-233

SF-OB-234

SF-OB-235

SF-OB-236

SF-OB-237

Hantierungsbaustein

SEND

RECEIVE

FETCH

CONTROL

RESET

SYNCHRON

SEND ALL

RECEIVE ALL

Anwendung der

Hantierungsbausteine

Die Betriebsanleitung, der Hantierungsbausteine, die als Software-Produkt auf Diskette mitgeliefert werden, finden Sie im nächsten Kapitel.

Rev. 00/27 12-83

Teil 12 Integrierte Sonderfunktionen

OB 250/251: Regelung /PID-Algorithmus

Handbuch VIPA CPU 928 - Band 2

Einleitung In der CPU 928 können Sie einen oder mehrere PID-Regler aufrufen.

Jeder Regler muss im Anlauf-OB initialisiert werden. Zur Übergabe von

Parametern wird ein Datenbaustein verwendet.

Der eigentliche Regel-Algorithmus ist im Systemprogramm integriert und vom Anwender lediglich als Organisationsbaustein aufrufbar.

Als

Datenschnittstelle zwischen Regel-Algorithmus und dem Anwenderprogramm dient ein Datenbaustein.

Funktionsbeschreibung des PID-Reglers

Blockschaltbild des PID-Reglers

Z Handeingang: Eingabe von YH, wenn S3 auf 0

Eingabe von dYH, wenn S3 auf 1

Index k

W

X

XZ

0

0

1

S1

XW

S4

Auto

1

0

S2 dY

PID-

Algorithmus

Y

1

0

S3

OG

UG dYA (S3 auf 1)

YA (S3 auf 0)

K R TI TD k-te Abtastung

Schalter Stellung Wirkung

S1

STEU-BIT1

S2

STEU-BIT0

S3

STEU-BIT3

S4

STEU-BIT5

0

1

0

1

0

1

0

1

Dem Differenzierer wird die Regeldifferenz XW k zugeführt.

Dem Differenzierer kann über XZ ein anderes

Signal zugeführt werden.

Handbetrieb

Automatik

Stellungs-Algorithmus

Geschwindigkeits-Algorithmus

Mit Störungsaufschaltung

Ohne Störungsaufschaltung

12-84 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Steuerwort STEU Durch entsprechendes Setzen der Steuerbits können Sie die dem

Blockschaltbild entsprechende Regler-Funktion beeinflussen.

Der kontinuierliche Regler ist für schnelle Regelstrecken, wie sie z. B. in der Verfahrenstechnik als Druck-, Temperatur- oder Durchflussregelungen auftreten, ausgelegt.

PID-Algorithmus Dem Regler selbst liegt ein PID-Algorithmus zugrunde. Sein Ausgangssignal kann wahlweise als Stellgröße (Stellungs-Algorithmus) oder als Stellgrößenänderung (Geschwindigkeits-Algorithmus) ausgegeben werden.

Die einzelnen P- ,I- und D-Anteile sind über ihre jeweiligen Parameter R, TI und TD abschaltbar, indem die betreffenden Zellen mit Null vorbesetzt werden. Damit können alle gewünschten Reglerstrukturen, z. B. PI-, PIDoder PD-Regler, leicht realisiert werden.

Differenzierer Dem Differenzierer kann wahlweise die Regeldifferenz XW oder eine beliebige Störgröße (über den XZ-Eingang) oder der invertierte Istwert -x zugeführt werden.

Störkompensation Für den Fall, dass zur Kompensation eines Störgrößeneinflusses eine

Vorsteuerung des Stellgliedes ohne Zeitverhalten erwünscht ist, kann dem

Regel-Algorithmus eine im Prozess messtechnisch erfassbare Störgröße Z aufgeschaltet werden. Im Handbetrieb wird an dieser Stelle die vorgewählte Stellgröße YN übernommen.

Invertierter

Regelsinn

Wenn ein invertierter Reglersinn gefordert wird, ist ein negativer K-Wert vorzugeben.

Begrenzung der

Stellinformation

Wenn die Stellinformation (dY oder Y) an einer Begrenzung liegt, wird der

I-Anteil automatisch abgeschaltet, um eine Verschlechterung des Reglerverhaltens zu vermeiden.

Das Reglerprogramm kann durch Vorgabe von Festwerten oder über adaptive (dynamische) Vorgabe von Parametern (K, R, TI, TD) versorgt werden.

Die Eingabe erfolgt über die den einzelnen Parametern zugeordneten Speicherzellen.

Rev. 00/27 12-85

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

PID-Algorithmus

Einleitung Dem PID-Regler liegt ein Geschwindigkeits-Algorithmus zugrunde, nach dem zu einem bestimmten Zeitpunkt t = k TA das jeweilige Stellinkrement dY k nach folgender Formel berechnet wird:

dY

k

=

[(

k

XW

k

1

) R

+

TA

2 TN

( XW

k

+

XW

k

1

)

+

1

2

TV

TA

( XU

k

2 XU

k

1

+

XU

k

2

)

+

dD

k

1

ü

]

=

K(dPW R

+

dI

k

+

dD )

P-Anteil I-Anteil D-Anteil dXX k

:Änderung der Größe XXX zum Zeitpunkt t.

U kann W oder Z sein, je nachdem, ob die Differenzierer XW oder XZ zugeführt wird. Entsprechend gilt:

Bei XW k

-Zuführung

PW k

= W k

-X k

PW k

= XW k

- XW k-1

QW k

= PW k

- PW k-1

QW k

= XW k

-2XW k-1

+XW k-2 dPW k

= (XW k

- XW k-1

)R dIk k

=

⋅ k dD k

1

=

2

TI

=

TA

TN

⋅ k

+

dQ ) TD

=

TV

TA

Bei XZ-Zuführung

PZ k

=XZ k

-XZ k-1

QZ k

= PZ k

-PZ k-1

QZ k

= XZ k

-2XZ k-1

+XZ k-2

Wenn als Reglerausgang zum Zeitpunkt t k wird, wird sie nach folgender Formel gebildet: die Stellgröße Y k gewünscht

Y

k

=

å

dY

m

Bei den meisten Reglerentwurfsverfahren geht man davon aus, dass R =1 ist, wenn ein P-Verhalten erwünscht ist.

Mit der Größe R kann der Proportionalanteil des PID-Reglers eingestellt werden.

12-86 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Datenbausteine für den PID-Regler

Die reglerspezifischen Daten werden mit Hilfe eines Übergabe-Datenbausteins eingegeben (Initialisierung und Bearbeitung des PID-Reglers siehe entsprechende Abschnitte diese Kapitels).

Diese Daten müssen Sie im Übergabe-Datenbaustein x vorgeben:

K, R, TI, TD, W, STEU, YH, BGOG, BGUG.

Der Übergabe-Datenbaustein muss aus 49 Datenwörtern mit den

Nummern 0 bis 48 bestehen.

Die Datenbelegung dieser Datenwörter wird in der nachfolgenden Tabelle erläutert.

Aufbau des

Übergabe-

Datenbausteins

Adr. im

DB

Name E/A

1)

DW0

DD1

DD3

DD5

DD7

DD9

DW11

DD12

DD14

-

K

R

TI

TD

W

G k

-

E

E

E

E

E

STEU E

YH k

BGO

DD16 BGU

G

DW18 Yh k

E

E

E

E

Zahlenformat

2

)

-

GP

PG-

Format

3)

-

KG

GP

GP

GP

GP

BM

GP

GP

GP

LP

KG

KG

KG

KG

KM

KG

KG

KG

KF

Bemerkung

Reserve

Proportionalbeiwert

K>0: Pos.Regelsinn, d.h.

gleichsinnige Änderung von Sollwert und Stellgr.

K<0: Neg. Regelsinn, Gleitpunktzahl

R-Parameter=1 bei Reglern mit

P-Anteil

TI=TA/TN

TD=TV/TA

Sollwert-Eingabe hier,wenn

STEU-Bit 6=1,ansonsten in

Wort Nr. 19 (-1

YWk <1)

Steuerwort

Handwert-Eingabe hier, wenn

STEU Bit 6=1, ansonsten in

Wort Nr. 18 (-1

Yhk<1).

Bei Geschw.-Algorithmus sind hier Stellwert-Inkremente anzugeben

Oberer Begrenzungsw.

4

)

-1

BGOG

1 (YA k max

),

BGUG<BGOG !!!

Unterer Begrenzungsw. 4)

-1

BGUG

1 YA k max

)

Handwert-Eingabe hier, wenn

STEU-Bit 6=0 (-1

YH<1)

Bei Geschw. Algorithmus sind hier Stellwert-Inkremente anzugeben.

Fortsetzung ...

Rev. 00/27 12-87

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

Adr. im

DB

Name E/A

1)

Zahlen

-format

2)

LP

PG-

Format

3)

KF

Bemerkung

DW19

DW20

DW21

DD22

DW24

DD25

DD27

DW29

W

MER

K

X

X

Z

Z

Z k k k k k-1

XZ k k

E

-

E

E

E

E

-

E

BM

LP

GP

LP

GP

GP

LP

KF

KF

KG

KF

KG

KG

KF

Sollwert-Eingabe hier, wenn

STEU-Bit 6=0 (-1

Wk<1)

Bit 0 = 1: pos. Begrenzung

überschritten

Bit 1 = 1: neg. Begrenzung unterschritten

Istwert-Eingabe für STEU-Bit

7=0 (-1

X k

<1)

Istwert-Eingabe für

STEU-Bit 7=1 (-1

X k

<1)

Störgröße (-1

Z k

<1) für STEU-Bit 7=0

Störgrößeneingabe wenn

STEU-Bit 7=1 (-1

Z k

<1)

Vergangenheitswert der

Störgröße

Über den Eingang XZ dem

Differenzierer zugef. Größe

(-1

XZ k

<1) Eingabe hier, wenn

STEU-Bit 7=0

DD30 XZ k

DD32 XZ k-1

DD34 PZ k-1

DD36 dD k-1

DD38 XW k-1

DD40 PW k-1

DW42 -

E

-

-

-

-

-

-

GP

GP

GP

GP

GP

GP

GP

KG

KG

KG

KG

KG

KG

KG

XZ-Eingabe hier, wenn

STEU-Bit 7=1 (-1

XZ k

<1)

Vergangenheitswert von XZ k

XZ k-1

- XZ k-2

Differentialanteil

Vergangenheitwert der Regeldifferenz

XW k-1

-XW

Reserve k-2

DD44 Y k-1

GP KG Vergangenheitswert der berechneten Stellgröße Y k-1 bzw. dY k-1 vor dem Begrenzer

Ausgangsgröße DD46 YA k

A GP KG

1)

2)

3)

4)

DW48 YA k

A LP KF Ausgangsgröße

BGUG

YA

BGOG

E = Eingabe, A = Ausgabe

GP = Gleitpunktzahl, LP = Linkspunktzahl, BM = Bitmuster

Vorgeschlagenes Format (KH, KM ebenfalls zulässig)

Im Linkspunktformat müssen oberer und unterer Begrenzungswert nach folgenden Formeln eingegeben werden:

DD 14 = BGOG: Wert als Gleitpunktzahl = BGOG/32767

DD 16 = BGUG: Wert als Gleitpunktzahl = BGUG/32767

12-88 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Beispiel für

Begrenzungswerte

Begrenzungswerte

Oberer Begrenzungswert = 0,1

Unterer Begrenzungswert = -0,1

Teil 12 Integrierte Sonderfunktionen

Einträge in den DB:

DD 14: +1000 000 +00

DD 16 : -1000 000 +00

Ausgangsgröße wird begrenzt:

DW 48:

±

3276

DW 46:

±

0,1

Bemerkung

Für die Begrenzungswerte außerhalb 1 wird die Ausgangsgröße im GP-

Format begrenzt (DD 46).

Rev. 00/27 12-89

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

Belegung des

Steuerwortes

STEU (Datenwort

DW 11 im

Übergabe-DB)

DW 11

Bit-Nr.

11.0

Name Bedeutung

11.1

11.2

11.3

11.4

AUTO

XZ_EIN

= 1: Automatikbetrieb

= 0: Handbetrieb

= 1: Dem Differenzierer wird über den XZ-Eingang eine andere Größe zugeführt, die nicht XW k sein darf.

= 0: Dem Differenzierer wird XW k zugeführt. Der

XZ-Eingang bleibt unberücksichtigt.

REG_AUS = 1: Beim Aufruf des Reglers (OB 251) werden mit

Ausnahme von K, R, TI, TD, BGOG, BGUG,

STEU,Yh k

,W k

, Z k und Z k-1 alle anderen Größen

(DW20 bis DW48) im Regler-DB einmal gelöscht. Der Regler ist ausgeschaltet. Der Vergangenheitswert der Störgr. wird aktualisiert.

= 0: Regeln

GESCHW =1: Geschwindigkeits-Algorithmus

=0: Stellungs-Algorithmus

HAND-

ART

=1: Bei GESCHW =0 wird die zuletzt ausgegebene

Stellgröße beibehalten. Bei GESCHW =1 wird das Stellinkrement dY k

=0 gesetzt.

=0: Bei GESCHW = 0 wird nach dem Umschalten auf Handbetrieb der ausgegebene Stellwert YA in 4 Abtastschritten exponentiell auf den eingestellten Handwert geführt. Danach werden weitere Handwerte sofort am Reglerausgang

übernommen.

Bei GESCHW = 1 werden die Handwerte sofort auf den Relerausgang durchgeschaltet. Im

Handbetrieb sind die Begrenzungen wirksam.

Im Handbetrieb werden folgende Größen aktualisiert: X k

, XW k-1

,und PW k-1

X k

,XZ k-1 und PZ k-1

, wenn STEU-Bit 1 = 1

Z k

, Z k-1

, wenn STEU-Bit 5 = 0

Die Größe dD k-1 wird = 0 gesetzt. Der Algorithmus wird nicht abgearbeitet.

11.5

11.6

11.7

11.8

NO_Z =1: keine Störgrößenaufschaltung

=0: mit Störgrößenaufschaltung

PGDG =1: W k

, Yh k

-Eingabe als Gleitpunktzahl

=0: Eingabe als Linkspunktzahl

VAR_GP =1: Die Variablen X k

, XZ k und Z k

Gleitpunktzahlen eingegben.

werden als

=0: Eingabe der Variablen als Linkspunktzahl

STOS

11.9 bis 1.15

=1: keine stoßfreie Hand-Automatik-Umschaltung

=0: stoßfreie Hand-Automatik-Umschaltung ohne Bedeutung

12-90 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

OB 250: PID-Algorithmus initialisieren

Teil 12 Integrierte Sonderfunktionen

Funktion Der OB 250 initialisiert den PDI-Algorithmus und wird in den Anlauf-OBs

20, 21, 22 aufgerufen.

Parameter Die für das Initialisieren erforderlichen Parameter stehen im Übergabe-

Datenbaustein (DBx).

Hinweis!

Der Übergabe-Datenbaustein muss vor Aufruf des OB 250 aufgeschlagen werden.

Für jeden Regler muss zur Datenübergabe ein eigener DB x verwendet werden (x

254). Das Systemprogramm erzeugt daraus automatisch einen weiteren DBx+1 im Datenbaustein-RAM, den der Regler im zyklischen

Betrieb als Datenfeld verwendet; die entsprechenden DB-Nummern müssen also noch frei sein. Die Datenbausteine DBx+1 sind die jeweilige

Datenschnittstelle zwischen den Reglern und dem Anwender bzw. der

Peripherie.

Fehlerfälle Der OB 250 verwendet intern den OB 254 bzw. OB 255 (Duplizieren von

Datenbausteinen).

Im Fehlerfall erkennt die CPU einen Laufzeitfehler und ruft den OB 31 auf.

Wenn dieser nicht programmiert ist, geht die CPU in den Stoppzustand.

Die im AKKU 1 hinterlegten Fehlerkennungen beziehen sich dann auf den

OB 250.

Achtung!

Wenn bei der Initialisierung der DBx+1 nicht freigehalten war, wird dieser ohne Meldung vom Systemprogramm als Reglerdatenfeld verwendet, sofern er die gleiche Länge hat wie ein Regler-DB (48 Datenwörter); dabei werden die Datenwörter 20 bis 48 gelöscht.

Ansonsten geht die CPU in den Stoppzustand.

Statt Datenbausteinen DB können auch erweiterte Datenbausteine DX verwendet werden. Die Initialisierung verläuft dabei analog zu der bei

Datenbausteinen DB.

Rev. 00/27 12-91

Teil 12 Integrierte Sonderfunktionen

OB 251: PID-Algorithmus bearbeiten

Handbuch VIPA CPU 928 - Band 2

Anwendung Der OB 251 wird während der zyklischen Programmbearbeitung aufgerufen und bearbeitet den PID-Algorithmus.

Aufruf Nach Ablauf der Abtastzeit soll der Regler aufgerufen werden. Halten Sie dabei folgende Reihenfolge ein:

1. Datenbaustein DB x+1 aufschlagen

2. Eingangsdaten X k

, XZ k

,Z k und YH k oder eine Untermenge davon laden

3. Eingangsdaten formrichtig umwandeln und in den DB x+1 transferieren

4. OB 251 (PID-Regler bearbeiten) aufrufen

5. Ausgangsdatums YA k aus dem DB x+1 laden

6. Datum umwandeln und zur Prozessperipherie transferieren

Format der

Reglereingänge und -ausgänge

Der PID-Regelalgorithmus verwendet intern zur Zahlendarstellung das

Gleitpunktformat und kann mit Gleitpunktwerten versorgt werden. Eine

Versorgung des PID-Regelalgorithmus im Linkspunktformat ist ebenfalls möglich (siehe dazu Bit 6 und 7 im Steuerwort STEU). In diesem Fall wandelt der Regler bei jedem Aufruf selbständig die Wörter ins Gleitpunktformat um.

Die Anpassung der Wörter von den Eingabe- und Ausgabebaugruppen im

Anwender-Programm ist laufzeitgünstiger bei Verwendung des Linkspunktformates (siehe Tabelle am Ende dieses Kapitels).

Eingänge W, YH, X, Z und XZ können wahlweise als Gleit- oder Linkspunktzahl eingegeben werden. Im Datenübergabebaustein sind für jede Größe jeweils unterschiedliche Speicherplätze vorgesehen.

12-92 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Eingabe als

Linkspunktzahl

Teil 12 Integrierte Sonderfunktionen

Erläuterungen zur Linkspunktzahl: Siehe Tabelle am Ende dieses Kapitels.

Hinweis!

Bei Einhaltung der Eingangsnennbereiche der Analogeingabebaugruppen müssen Sie berücksichtigen, dass das Bitmuster für einen bestimmten

Eingangswert anders ist als bei Ausnutzung des vollen Eingangsbereichs.

Dies ist insbesondere bei der Sollwerteinstellung sehr wichtig, da es sonst vorkommen kann, dass ein über das PG eingegebener Sollwert nicht erreicht werden kann, obwohl der Istwert weit über dem gewünschten Wert liegt.

Wenn der eingesetzte Analog-Digital-Umsetzer die negativen Zahlen als

Betrag als Betrag und Vorzeichen liefert, muss man daraus, bevor sie in den Regler-DB transferiert werden, das Zweierkomplement bilden.

Anschließend muss die Binärstelle 15 = 1 gesetzt werden.

Wenn die Zahl -0 als Betrag und Vorzeichen in der Form

1000000000000000 beim verwendeten Analog-Digital-Umsetzer möglich ist, darf davon kein

Zweierkomplement gebildet werden, sondern die Zahl muss als +0 in den

Regler-DB gelangen:

0000000000000000

Ausgang Der Reglerausgang YA liegt im DB als Links- und als Gleitpunktzahl vor.

Linkspunkteingänge und -ausgänge müssen unter Berücksichtigung der verwendeten Ein- und Ausgabebaugruppen (Analog-Digital-Umsetzer,

Digital-Analog-Umsetzer) vor und nach dem Regleraufruf im

Anwenderprogramm formatgewandelt werden, bevor sie in den bzw. aus dem Regler-DB transferiert werden.

Allgemeine

Hinweise

Verwendung von STOS

Wenn STOS (STEU-Bit 8) auf Null steht, verläuft die Umschaltung von

Hand- auf Automatikbetrieb stoßfrei, d. h. eine anstehende, beliebig große

Regeldifferenz wird über den I-Anteil ausgeregelt. Wenn jedoch TI = TA/TN

= 0 gewählt wird (P- oder PD-Regler), verursacht die Regeldifferenz bei der

Umschaltung keine Änderung der Stellgröße.

Dies kann vermieden werden, indem man STOS =1 setzt. Eine Regeldifferenz wird dann bei Hand-Automatik-Umschaltung schnell ausgeregelt, gleichgültig ob TI = 0 ist oder nicht. Der dabei entstehende Stellgrößensprung entspricht der Größe der Regeldifferenz, ist also nicht willkürlich im Sinn einer Störung des Reglerbetriebes.

Rev. 00/27 12-93

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

Anzeige von MERK, Bit 0 und 1

Bit 0 und 1 von MERK können, falls gewünscht, zur Anzeige gebracht werden, um anzuzeigen, dass die Stellgröße (bei Geschwindigkeitsalgorithmus das Stellinkrement) in der oberen oder unteren

Begrenzung ist. Da diese Bits vom Algorithmus zur Abschaltung des I-

Anteils ausgewertet werden, dürfen sie nicht überschrieben werden.

Achtung!

Regler-Datenbausteine DBx+1 dürfen während des zyklischen Betriebes nicht neu geladen werden.

Kaskadenregelung

Wenn mit zwei oder mehr Reglern eine Kaskadenregelung aufgebaut wird, ist folgendes zu beachten:

Wenn die Kaskade aufgetrennt wird, müssen entweder alle Regler gleichzeitig in den Handbetrieb gehen, damit kein Regler infolge seines

I-Anteils abdriften kann, oder es muss zumindest der Regler des

äußeren Kreises im Handbetrieb arbeiten, damit die letzte Stellgröße, die dem Sollwert des inneren Kreises entspricht, beibehalten oder auf einen Sicherheitswert gefahren werden kann.

Wenn die Kaskade geschlossen werden soll, sollten beide Kreise gleichzeitig oder wenigstens der innere Kreis im Automatikbetrieb arbeiten, damit die Stellgröße des äußeren Kreises als Sollwert

übernommen werden kann.

Umschalten auf Handbetrieb

Wenn beim Umschalten auf Handbetrieb die Regelstrecke vom Regler abgetrennt und am Stellglied direkt verstellt wird, ist die so gewonnene

Stellgröße über den Handeingang dem Regler zuzuführen. Dies bewirkt dass beim Umschalten von Hand- auf Automatikbetrieb der Reglerausgang mit der im Handbetrieb eingestellten Stellgröße übereinstimmt. Beim

Geschwindigkeits-Algorithmus handelt es sich um die Stellgrößen-

änderung.

12-94 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 12 Integrierte Sonderfunktionen

Reglerkenngrößen P-Regler

Die Kenngröße für einen P-Regler ist K. Sie ist der Quotient aus

Ausgangs- und Eingangsgröße:

K = Xa/Xe.

PI-Regler

Die Kenngrößen für einen PI-Regler sind der Proportionalbeiwert K und die

Nachstellzeit TN. Der Proportionalbeiwert K ist der Quotient aus Ausgangsgröße und Eingangsgröße und bestimmt das P-Verhalten. Die

Nachstellzeit TN ist diejenige Zeit, die bei der Antwort benötigt wird, um infolge der I-Wirkung eine gleichgroße Stellgrößenänderung zu erzielen, wie sie infolge des P-Anteils entsteht.

PD-Regler

Die Kenngröße für einen PD-Regler sind der Proportionalbeiwert K (siehe oben) und die Vorhaltezeit TV. Die Vorhaltezeit ist diejenige Zeit, die ein P-

Regler bei konstanter Änderungsgeschwindigkeit der Eingangsgröße benötigen würde, um die gleiche Änderung der Ausgangsgröße zu bewirken, die ein PD-Regler infolge seines D-Anteils sofort bewirkt. Um die Vorhaltezeit TV zu bestimmen, geht man nicht von einer Sprungfunktion aus, sondern von einer linearen Änderung der Eingangsgröße.

Rev. 00/27

PID-Regler

Die Kenngröße für einen PID-Regler sind der Proportionalbeiwert K, die

Nachstellzeit TN und die Vorhaltezeit TV. Sie bestimmen jeweils das P-, Iund D-Verhalten.

12-95

Teil 12 Integrierte Sonderfunktionen

Parameter-

änderung

Handbuch VIPA CPU 928 - Band 2

Der P-Anteil der Stellgröße wird nach folgender Formel gebildet:

P-Anteil = KP

(XW k

-XW k-1

)

Wird KP oder R im Automatikbetrieb geändert, wirkt sich dies nur auf nachfolgende Änderungen der Regeldifferenz XWk aus. Der momentane

Wert der Stellgröße bleibt von der Parameteränderung unbeeinflusst.

Dieses Verhalten ermöglicht eine stoßfreie Parameteränderung.

Ist dieses Verhalten jedoch nicht erwünscht, so kann es durch folgende

Berechnung, die nur einmal bei jeder Parameteränderung vorzunehmen ist, beseitigt werden (Beispiel für KP-Änderung).

Y k-1

= Y k-1

+ XW k-1

(KP neu

-KP alt

)

Wird bei einer Parameteränderung folgendes Programm verwendet, verhält sich der Regler wie ein analoger Regler:

:L

:L

:-G

:L

:xG

:L

:+G

:T

KP neu

KP alt

DD38

DD44

DD44

KP neu neu laden

KP alt laden

XW k-1

Y k-1

=Y k-1

Abkürzungen für

PID-Regler t

TN

TV

UG

W k

X k

XW k

Y k

YA k

Z k k

K dY k dZ k

GP

LP

OG

R

TA

TD

TI

Berechnetes Stellinkrement

Störinkrement

Gleitpunktdarstellung k-te Abtastung

Proportionalbeiwert

Linkspunktdarstellung

Obere Grenze (Begrenzer)

R-Parameter

Abtastzeit

TV/TA

TA/TN

Abtastzeitpunkt = k

TA

Nachstellzeit

Vorhaltzeit

Untere Grenze (Begrenzer)

Sollwert

Istwert

Regeldifferenz

Berechnete Stellgröße

Stellwert (Stellinkrement oder Stellgröße)

Störgröße

12-96 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Linkspunktzahl

Teil 12 Integrierte Sonderfunktionen

Zur Darstellung einer Linkspunktzahl im Datenbaustein wird ein Wort benötigt. Die Zuordnung zwischen dezimal dargestellter Linkspunktzahl, dual dargestellter Linkspunktzahl und der Darstellung im Format KF am

Programmiergerät ist im folgenden Beispiel dargestellt.

Linkspunktzahl in

Dezimaldarstellung

-0,999...

-0,75

-0,5

-0,25

0

+0,25

+0,5

+0,75

+0,999...

Linkspunktzahl in

Dualdarstellung

1000000000000001

1010000000000000

1100000000000000

1110000000000000

0000000000000000

0010000000000000

0100000000000000

0110000000000000

0111111111111111

Festpunktzahl

-32767

-24576

-16384

-8192

0

+8192

+16384

+24576

+32767

Negative Linkspunktzahlen ergeben sich in der Dualdarstellung durch

Zweierkomplementbildung aus positiven Linkspunktzahlen.

Linkspunktzahlen (LP) lassen sich nach folgenden Beziehungen in die am

Programmiergerät dargestellten Werte (KF) umrechnen:

LP

32767 = KF mit -1 < LP < +1 und -32767

KF

+32767.

Rev. 00/27 12-97

Teil 12 Integrierte Sonderfunktionen Handbuch VIPA CPU 928 - Band 2

OB 254/255: Einen Datenbaustein verschieben/duplizieren

Einleitung Mit den Sonderfunktionen OB 254/255 übertragen Sie einzelne Datenbausteine vom Anwenderspeicher in das DB-RAM (Datenbausteinspeicher) der CPU. Die Sonderfunktionen OB 254 und OB 255 laufen identisch ab, wobei der OB 254 ausschließlich für DX-Datenbausteine und der OB 255 für DB-Datenbausteine zuständig ist.

Anwendung

Funktion

Verschieben oder Duplizieren eines Datenbausteins.

Verschieben

Ein Datenbaustein wird vom Anwenderspeicher in das DB-RAM verschoben.

Ein Datenbaustein im Anwenderspeicher wird unter Beibehaltung seiner ursprünglichen Bausteinnummer in das DB-RAM verschoben. Die neue

Anfangsadresse wird in die Adressliste im DB 0 eingetragen.

Duplizieren

Ein Datenbaustein im Anwenderspeicher oder im DB-RAM wird mit einer neuen Baustein-Nr. in das DB-RAM kopiert. Die Anfangsadresse des neuen Datenbausteins wird in die Adressliste im DB 0 eingetragen. Die

Anfangsadresse des alten Bausteins im DB 0 bleibt erhalten, d. h. der ursprüngliche Datenbaustein ist weiterhin gültig.

Die Eintragung der Anfangsadresse in den DB 0 erfolgt erst dann, wenn die Übertragung vollständig abgeschlossen ist und alle Kennungen im

Bausteinkopf eingetragen sind. Der duplizierte Baustein wird also vom

Systemprogramm erst nach der kompletten Übertragung als gültig bzw.

vorhanden erkannt.

Hinweis!

Das Verschieben des DB 0 in das DB-RAM ist nicht möglich, da dieser sich bereits im DB-RAM befindet. Sie können den DB 0 jedoch duplizieren

12-98 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Parameter

Teil 12 Integrierte Sonderfunktionen

1. AKKU-1-L-L:

Nummer des zu kopierenden Bausteins, zulässige Werte: 0 bis 255

(0 nur für DX oder Duplizieren eines DBs).

2. AKKU-1-H-L:

Mit dem Wert in AKKU-1-H-L legen Sie fest, ob Sie einen Baustein verschieben oder duplizieren wollen:

AKKU-1-H-L = 0:

Der Datenbaustein DB (Aufruf OB 255) oder DX (Aufruf OB 254) mit der in

AKKU-1-L-angegebenen Nummer wird in das DB-RAM verschoben.

AKKU-1-H-L = Nr. für den neuen Baustein, zulässige Werte: 1 bis 255

Der Datenbaustein DB (Aufruf OB 255) oder DX (Aufruf OB 254) mit der in

AKKU-1-L-L angegebenen Nummer wird in das DB-RAM dupliziert und unter der in AKKU-1-H-L hinterlegten Nummer in den DB0 eingetragen.

Die Werte von AKKU-1-L-H und AKKU-1-H-H werden von den OB 254 und

OB 255 nicht berücksichtigt und sind daher für die Parametrierung der OBs ohne Bedeutung.

Fehlerfälle

Der zu verschiebende Datenbaustein ist nicht vorhanden (OB 19).

Der Baustein ist bereits im DB-RAM vorhanden (OB 31)- (deshalb die

Funktion nur einmal - vorzugsweise im Anlauf - ausführen).

Der Speicherplatz im DB-RAM ist nicht ausreichend(OB 31).

Im Fehlerfall wird die Funktion nicht ausgeführt. Das Systemprogramm erkennt einen Laufzeitfehler und ruft den OB 19 oder OB 31 auf. Die weitere Fehlerreaktion hängt von der Programmierung des OB 19 bzw. OB

31 ab. Ist der OB 19 bzw. 31 nicht geladen, so geht die CPU in den

Stoppzustand.

In beiden Fällen ist im AKKU-1-L eine Fehlerkennung hinterlegt, die den aufgetretenen Fehler näher erläutert.

Rev. 00/27 12-99

Teil 12 Integrierte Sonderfunktionen

Beispiel

Handbuch VIPA CPU 928 - Band 2

Es wird angenommen, dass im Anwenderspeicher die Datenbausteine DB

3 und DB 4 definiert sind. Im DB-RAM soll außer DB 0 noch kein Datenbaustein DB vorhanden sein. Die nachfolgende Tabelle zeigt Ihnen welche

Speicherbelegung sich nach mehrmaligen Aufruf des OB 255 mit den in der Tabelle aufgeführten Parametern ergibt.

Aufruf-

Reihenfolge

Funktion

1

2

3

4

AKKU-1-

-H-H

Verschieben ohne

Duplizieren Be-

Duplizieren deu-

Verschieben tung

-H-L

0

5

6

0

-L-H ohne

Bedeutung

-L-L

3

4

5

4

DB im Speicher nach

Aufruf

Anwender-

Speicher

DB 4

DB 4

DB 4 kein DB

DB-RAM

DB 3

DB 3,5

DB 3,5,6

DB 3,4,5,6

12-100 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Teil 13

Teil 13 Integrierte Hantierungsbausteine

Integrierte Hantierungsbausteine

Überblick In diesem Kapitel werden die Standardhantierungsbausteine (FB 120 -

FB 127), sowie die Reglerbausteine ( FB 250, FB 251

)

näher beschrieben.

Sie werden eingesetzt, wenn Daten oder Parameter sowie Steuerungsinformationen von den Kommunikationsprozessoren übergeben werden sollen.

Die VIPA Standard-Funktionsbausteine (Best.-Nr.: VIPA-SW928) bilden ein fertiges Softwareprodukt.

Nachfolgend sind beschrieben:

Parametrierung

Anzeigenwort

FB 120 bis FB 127

FB 250, FB 251

Inhalt Thema

Teil 13 Integrierte Hantierungsbausteine ...........................................13-1

Einführung ..........................................................................................13-2

Die Parameter der Hantierungsbausteine ...........................................13-3

Parameterbeschreibung......................................................................13-4

Parametrierung von SSNR, A-Nr, ANZW und BLGR ..........................13-6

Indirekte Parametrierung von Quell- und Zielangaben ........................13-9

Aufbau des Anzeigenwortes .............................................................13-10

Arbeiten mit dem Anzeigewort ..........................................................13-12

Das Längen - Wort ...........................................................................13-15

Aufbau Parametrierfehlerbyte (PAFE) ..............................................13-16

Einstellbare Blockgrößen ..................................................................13-16

Tabelle über die möglichen QTYP/ZTYP - Parameter ......................13-17

Der SEND - Baustein FB 120............................................................13-19

Der RECEIVE-Baustein FB 121........................................................13-22

Der FETCH-Baustein FB 122............................................................13-25

Der CONTROL-Baustein FB 123 ......................................................13-26

Der RESET-Baustein FB 124............................................................13-27

Der SYCHRON-Baustein FB 125......................................................13-28

SEND-ALL 126 .................................................................................13-29

RECEIVE-ALL 127 ...........................................................................13-30

Blockgröße .......................................................................................13-31

Analogwert-Anpassungsbausteine FB 250 und FB 251 ....................13-32

Beispiel für eine Analogwertverarbeitung ..........................................13-37

Rev. 00/27 13-1

Teil 13 Integrierte Hantierungsbausteine

Einführung

Was sind

Hantierungsausteine?

Handbuch VIPA CPU 928 - Band 2

Durch die mitgelieferten Hantierungsbausteine, wird der Einsatz von

Kommunikationsprozessoren (z.B. CP 143, SSM-BG43D) und IPs im Automatisierungsgerät ermöglicht.

Hierdurch wird die Leistungsfähigkeit der CPU 928 erheblich gesteigert.

Die Hantierungsbausteine steuern den gesamten Datenaustausch zwischen der CPU und den CPs, IPs.

Vorteile der Hantierungsbausteine:

Wenig Anwenderprogrammspeicherplatz geht verloren

• kurze Laufzeiten der Bausteine.

Die Hantierungsbausteine CPU 928 benötigen keine

Merkerbereiche (Ausnahme RECEIVE-ALL =MW 252/254)

Zeitbereiche

Zählerbereiche.

Übersicht Folgende Hantierungsbausteine stehen zur Verfügung:

FB 120

FB 121

FB 122

FB 123

FB 124

FB 125

FB 126

FB 127

FB 250

FB 251

"SEND"

"RECEIVE"

"FETCH"

"CONTRL"

"RESET"

"SYNCHRON"

"SEND-ALL"

"RECEIVE-ALL"

"RLG:AE"

"RLG:AA"

13-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 13 Integrierte Hantierungsbausteine

Die Parameter der Hantierungsbausteine

Übersicht Alle nachfolgend behandelten Hantierungsbausteine haben eine einheitliche Schnittstelle zum Anwenderprogramm.

Die benutzten Parameter:

SSNR

A-NR

ANZW

:Schnittstellennummer

:Auftragsnummer

:Anzeigenwort (Doppelwort)

QTYP/ZTYP* :Typ der Datenquelle bzw. des Datenziel

DBNR* :Datenbausteinnummer

QANF/ZANF* :Relative Anfangsadresse innerhalb des Typs

QLAE/ZLAE* :Anzahl der Quell-/Zieldaten

PAFE

BLGR

:Parametrierungsfehler

:Blockgröße

*) Die bei einem bestimmten Aufruf nicht benötigten Parameter (z.B. bei

"ALL"-Funktion), können bei der Parametrierung des Bausteins mit "CR"

übersprungen werden.

Ein Hantierungsbaustein kann direkt oder indirekt parametriert werden. Nur der Parameter "PAFE" muss immer direkt angegeben werden. Bei der direkten Parametrierung verarbeitet der Hantierungsbaustein die beim

Bausteinaufruf angegebenen Parameter unmittelbar. Bei der indirekten

Parametrierung werden dem Hantierungsbaustein per Bausteinparameter

Zeiger, die auf Parameterfelder (Datenbausteine/Datenworte) zeigen, übergeben.

Rev. 00/27 13-3

Teil 13 Integrierte Hantierungsbausteine Handbuch VIPA CPU 928 - Band 2

Parameterbeschreibung

SSNR Schnittstellen-Nummer

Nummer der logischen Schnittstelle auf die sich der betreffende Auftrag bezieht.

Parameterart :Datum Byte (Format KY)

Sinnvoller Bereich :0,0...0,255 (bei direkter Parametrierung) *

*) Ist das linke Byte >0 handelt es sich um eine indirekte Parametrierung von SSNR, A-

NR; ANZW bzw. BLGR.

Das rechte Byte stellt in diesem Fall den Zeiger auf dem Parameterfeld dar (siehe

Beispiele: Indirekte Parametrierung)

A-NR

ANZW

QTYP/ZTYP

Auftragsnummer

Angesprochene Auftragsnummer für die logische Schnittstelle

Parameterart

Sinnvoller Bereich

:Datum Byte (Format KY)

:0,0...0,223

Hierbei hat die Auftragsnummer 0 die Spezialfunktion "ALL", die beim

FETCH Baustein nicht zugelassen ist

(siehe auch Beispiel ALL-Funktion).

Anzeigenwort (Doppelwort)

Adresse des Anzeigendoppelwortes im Anwenderspeicher, in dem die

Abarbeitung des unter A-Nr. angegebenen Auftrages angezeigt wird.

Parameterart

Erlaubter Bereich

:Adresse Wort

:DW oder MW belegt wird jeweils DW und

DW+1 oder MW und MW+2

Die Angabe DW bezieht sich auf den vor dem Aufruf aufgeschlagenen

Datenbaustein.

Aufbau des ANZW: siehe Aufbau des Anzeigenwortes

Typ der Datenquelle oder des Datenziels

An diesem Parameter kann mittels ASCII-Zeichen der Typ, der Datenquelle

(SEND) oder des Datenziels (RECEIVE und FETCH) angegeben werden.

Parameterart

Sinnvoller Bereich

:Datum Zeichen (Format KC)

:DB, MB, AB, EB, ZB, TB, AS, NN, XX, RW

13-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

DBNR

Teil 13 Integrierte Hantierungsbausteine

Datenbausteinnummer bei TYP XX, RW, DB

Wurde bei QTYP/ZTYP die Kennung XX, RW oder DB angegeben, ist bei diesem Parameter die Nummer des gewünschten DBs mitzuteilen.

Parameterart :Datum Byte (Formt KY)

Sinnvoller Bereich :0,1...0,255.

QANF/ZANF Anfangsadresse des Quell-/Ziel-Datenblocks

Bei Typkennung XX und RW (indirekte Parametrierung) wird hier die DW-

Nummer angegeben, ab der die Parameter liegen. Ansonsten bezieht sich dieser Parameter absolut auf den angegebenen Bereich.

Parameterart

Möglicher Bereich

:Datum Festpunkt (Format KF)

:0...+32767 bzw. bis -32768 bei "AS".

QLAE/ZLAE

BLGR

Länge des Quell-/Ziel-Datenblocks

Die Angabe wird je nach Quell-/Zieltyp in Bytes oder in Worten verstanden.

Parameterart

Möglicher Bereich

:Datum Festpunktzahl (Format KF)

:0...+32767 (-1)*

*) Die "Jokerlänge" (QLAE, ZLAE (-1)) bedeutet beim RECEIVE, dass so viele Daten

übernommen werden, wie der Sender liefert oder bis eigene Bereichsgrenze erreicht wurde. Beim SEND, dass so viele Daten übergeben werden wie der Bereich zulässt

(Übertragung bis eigene Bereichsgrenze erreicht ist).

Blockgröße

Bei Neustart wird mit Hilfe des Hantierungsbausteins "SYNCHRON" die

Blockgröße ausgehandelt (Größe der Datenblöcke die bei einem Verbindungaufbau zwischen AG zum CP ausgetauscht werden.)

Große Bockgröße = hoher Datendurchsatz und lange Laufzeit und damit hohe Zykluszeitbelastung.

Kleine Blockgröße = kleiner Datendurchsatz und kleine Laufzeiten

Parameterart

Möglicher Bereich

:Datum Byte (Format KY)

:0,0 ...0,255 (siehe Einstellbare Blockgrößen).

PAFE Fehleranzeige bei Parametrierungsfehler

Das hier angegebene "BYTE" (Ausgang, Merker) wird gesetzt, wenn der

Baustein einen "Parametrierungsfehler" erkennt z.B. Schnittstelle (Anschaltung) nicht vorhanden oder unzulässige Parametrierung von

QTYP/ZTYP; QANF/ZANF;QALAE/ZLAE erfolgte.

Parameterart :Ausgang, Byte

Sinnvoller Bereich bei CPU 942

:AB 0... AB 63 bei CPU 941; AB 0 ... AB127

:MB 0...MB 255

Der Aufbau des PAFE finden Sie in diesem Kapitel weiter hinten.

Rev. 00/27 13-5

Teil 13 Integrierte Hantierungsbausteine Handbuch VIPA CPU 928 - Band 2

Parametrierung von SSNR, A-Nr, ANZW und BLGR

Das HIGH-Byte des Parameters SSNR dient als Umschaltkriterium für die direkte oder indirekte Parametrierung.

HIGH-Byte von SSNR = 0 Bedeutet direkte Parametrierung

SSNR, A-NR, ANZW oder BLGR sind direkt am Baustein vorgegeben.

HIGH-Byte von SSNR ><0 Bedeutet indirekte Parametrierung

SSNR, A-NR und ANZW/BLGR sind in dem aufgeschlagenen DB ab dem im LOW-Byte von SSNR angegebenen Datenwort abgelegt.

SSNR und A-NR haben in beiden Parametrierungsarten das gleiche

Datenformat (KY). Beim Anzeigenwort ANZW unterscheiden sich die Darstellungsformate. Während bei der direkten Parametrierung die Adresse des Anzeigenwortes direkt (z.B. MW 100) angegeben wird, muss bei der indirekten Parametrierung eine zusätzliche Angabe über den Bereich des

Anzeigenwortes erfolgen. Die Angabe dieses Bereiches steht in den, dem

Anzeigenwort vorangestellten Datenwort in ASCII-Code verschlüsselt.

Hierbei steht: MW für Anzeigenwort im Merkerbereich

DB für Anzeigenwort im Datenbaustein.

In dem darauf folgenden Datenwort des Parameterbereiches im DB steht im Datenformat KY die ANZW-Adresse, bei DB zusätzlich die Bausteinnummer (im ersten Byte des KY Formates).

13-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Beispiele

Teil 13 Integrierte Hantierungsbausteine

Direkte Parametrierung von SSNR, A-NR und ANZW (ANZW = MW)

SPA

NAME

SSNR

A-NR

ANZW

.

.

(ANZW = DW)

A

.

.

SPA

NAME

SSNR

A-NR

ANZW

.

.

FB121

:RECEIVE

:KY 0,3

:KY 0,100

:MW 240

DB

FB123

:CONTROL

:KY 0,3

:KY 0,100

:DW 40

;Parameter SSNR =3

;Parameter A-NR=Auftrag NR 100

;Parameter ANZW = MW 240

X

;Parameter SSNR = 3

;Parameter A-NR = NR 100

;Parameter ANZW =DW 40 im DB X

DB

DW 40

DW 41

X

Indirekte Parametrierung von SSNR, A-NR und ANZW (Typ MW)

A

SPA

NAME

SSNR

A-NR

ANZW

.

.

DB

DW 1

DW 2

DW 3

DW 4

DB X

FB 120

:SEND

:KY 255,1

:KY 0,0

:MW 0

X

:KY 0,1

KY 0,31

KC MW

KY 0,200

;Aufschlagen DB "X"

;Kennung indirekte Param.

;Wird als Zeiger interpretiert

;Irrelevant

;Irrelevant

;Parameter SSNR (=1)

;Parameter A-NR (31)

Parameterart für ANZW (=MW)

;Adresse des Parameters ANZW

;(MW 200 und MW 202)

Fortsetzung ...

Rev. 00/27 13-7

Teil 13 Integrierte Hantierungsbausteine Handbuch VIPA CPU 928 - Band 2

... Fortsetzung

Indirekte Parametrierung von SSNR, A-NR und ANZW (Typ DW)

A

SPA

.

.

NAME

SSNR

A-NR

ANZW

.

.

DB

DW 1

DW 2

DW 3

DW 4

DB X

FB 120

:SEND

:KY 255,1

:KY 0,0

:MW 0

X

KY 0,1

KY 0,31

KC DB

KY 222,10

;Aufschlagen des DB "X"

;Kennung indirekte Param.

;Wird als Zeiger interpretiert

;Irrelevant

;Irrelevant

;Parameter SSNR (=1)

;Parameter A-NR (=31)

;Parameterart für ANZW (=DW)

;Adr. des ANZW

;(im DB 222 DW10 + DW11)

DB 222

DW 10

DW 11

;

; ANZW

Indirekte Parametrierung von SSNR und BLGR (SYNCHRON)

A

SPA

NAME

SSNR

BLGR

.

:

DB

DB X

FB 125

SYNCHR

:KY 255, 100

:KY 0,0

X

DW 100 KY 0,16

DW 101 KY 0,6

DB aufschlagen

;Zeiger auf Parameterliste

;Irrelevant

;Parameter SSNR

;BLGR

13-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 13 Integrierte Hantierungsbausteine

Indirekte Parametrierung von Quell- und Zielangaben

Parameter Parameter bei indirekter Parametrierung XX und RW a) bei "XX"

DB-NR wenn High-Byte = 0

QANF + 0 KC

1 KY

2 KF

3 KF

QTYP/Ztyp jedoch nicht XX, RW

DBNR DB-NR. bei "Typ" DB

QANF/ZANF Anfangsadresse

QLAE/ZLAE Länge b) bei "RW" READ/WRITE)

DB-NR = DBNR wenn High-Byte = 0

QANF + 0 KC

1 KY

2 KF

3 KF

4 KL

5 KY

6 KF

7 KF

QTYP jedoch nicht XX, RW

DBNR DB-NR. bei "Typ" DB

QANF Quell-Anfangsadresse

QLAE Quell-Länge

ZTYP jedoch nicht XX und WR

DBNR DB-NR bei "ZTYP" DB

ZANF Ziel-Anfangsadresse

ZLAE Ziel-Länge

Beschreibung "Datenquelle"

Beschreibung "Datenziel"

Bei Quell-/ Zieltyp "AS" (Absolutadresse sind im Datenformat KH auch

Adressen bis FFFFh (65535) parametrierbar.

Rev. 00/27 13-9

Teil 13 Integrierte Hantierungsbausteine

Aufbau des Anzeigenwortes

Funktion

Handbuch VIPA CPU 928 - Band 2

Das "Anzeigenwort" zeigt den Zustand für einen bestimmten Auftrag auf einem CP an.

Im Programm sollte für jeden Auftrag ein eigenes "Anzeigenwort" für jeden definierten Auftrag bereitgestellt werden.

ANZW

15 reserviert

8 7 0 Bit-Nr.

Handshake sinnvoll (Daten vorhanden)

0 RECEIVE gesperrt

1 RECEIVE freigegeben

Auftrag läuft

0 SEND/FETCH freigegeben

1 SEND/FETCH gesperrt

Auftrag fertig ohne Fehler

Auftrag fertig mit Fehler

Datenübergabe/Datenübernahme läuft

Datenübergabe erfolgt

Datenübernahme erfolgt

Enable/Disable Datenblock

0

1 freigegeben gesperrt

Fehler

0

1...5

kein Fehler

AG-Fehler

6...15

CP-Fehler

Im Anzeigenwort der "ALL"-Funktionen (Baustein-Anzeigenwort bei SEND-,

RECEIVE ALL) tragen die Bausteine SEND- und RECEIVE die Auftragsnummer ein, für die sie im aktuellen Durchlauf aktiv waren.

ANZW

15 8 7 0 Bit-Nr.

reserviert bearbeiteter Auftrag

0 bedeutet Leerlauf, d.h. es wurde kein Auftrag bearbeitet.

13-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 13 Integrierte Hantierungsbausteine

Status und

Fehleranzeige im

Anzeigenwort

Das Anzeigenwort selbst ist in vier "Tetraden" aufgeteilt

Tetrade 1 Bit 0 bis 3, Statusanzeigen des Auftrages:

Hier ist verschlüsselt, ob ein Auftrag bereits gestartet ist. Ob ein Fehler aufgetreten ist, oder ob der Auftrag gesperrt ist, (z.B. weil die virtuelle

Verbindung nicht besteht).

Tetrade 2 Bit 4 bis 7 Datenverwaltung des Auftrages (Datenverkehr CPU - CP):

Hier ist verschlüsselt, ob der Datentransfer für den Auftrag noch läuft, oder ob die Datenübergabe oder Datenübernahme bereits abgeschlossen ist.

Mit dem Bit "Enable/Disable" kann der Datentransfer für den Auftrag gesperrt werden (Disable =1; Enable =0).

Tetrade 3 Bit 8 bis 11 Fehleranzeigen des Auftrages:

Hier werden die Fehleranzeigen des Auftrages angezeigt. Diese

Fehleranzeigen sind nur gültig, wenn auch gleichzeitig das Bit "Auftrag fertig mit Fehler" in der Tetrade für den Status gesetzt ist.

Fehler Folgende Fehleranzeigen sind möglich:

0 kein Fehler

Ist das Bit "Auftrag fertig mit Fehler" trotzdem gesetzt, ist es ein Hinweis darauf, dass der CP den Auftrag nach einem NEUSTART oder RESET neu aufgebaut hat.

3 Bereich im AG zu klein oder nicht vorhanden

6 bis F: Fehlermeldungen der CPs

Die Fehlermeldungen 6 bis F werden von den CPs selbst erzeugt und sind daher als CP-spezifische Meldungen anzusehen.

Abhilfe: Fehlerursache mittels der entsprechenden CP-Beschreibung suchen und beseitigen.

Tetrade 4 Bit 12 bis 15 wird z.Z. nicht benützt.

Rev. 00/27 13-11

Teil 13 Integrierte Hantierungsbausteine

Arbeiten mit dem Anzeigewort

Handbuch VIPA CPU 928 - Band 2

Handshake sinnvoll

Auftrag läuft

Bit 0 Handshake sinnvoll

Setzten/Löschen Durch Hantierungsbausteine entsprechend der Anzeige im Auftragsstatus.

Auswerten

Bit Handshake sinnvoll (=1) wird beim RECEIVE-

Baustein genutzt (Telegramm vorhanden oder

RECEIVE Anstoß möglich).

Durch den RECEIVE-Baustein; nur wenn Bit gesetzt, leitet der RECEIVE den Handshake mit dem CP ein.

Durch den Anwender (Abfrage, ob Telegramm vorhanden).

Bit 1 Auftrag läuft

Setzen Durch Hantierungsbausteine, wenn Auftrag an CP erteilt.

Löschen

Auswerten

Durch die Hantierungsbausteine, wenn ein Auftrag vom CP abgearbeitet ist. (z.B. Quittung eingetroffen).

Durch die Hantierungsbausteine Wenn der "alte"

Auftrag abgearbeitet wird, ein neuer Auftrag erteilt

Durch den Anwender, um zu erfahren, ob das Triggern eines neuen Auftrags sinnvoll ist.

Auftrag fertig ohne Fehler

Bit 2 Auftrag fertig ohne Fehler

Setzten Durch Hantierungsbaustein, wenn der entsprechende

Auftrag ohne Fehler abgeschlossen wurde.

Löschen

Auswerten

Durch die Hantierungsbausteine, wenn der Auftrag erneut ausgelöst wird.

Durch den Anwender, um zu prüfen, ob der Auftrag fehlerlos abgeschlossen wurde.

Auftrag fertig mit

Fehler

Bit 3 Auftrag fertig mit Fehler

Setzen Durch Hantierungsbausteine, wenn der entsprechende

Auftrag mit Fehler abgeschlossen wurde.

Die

Fehlerursache ist dann im Hight-Teil des Anzeigenwortes verschlüsselt.

Löschen

Auswerten

Durch den Hantierungsbaustein, wenn der Auftrag erneut ausgelöst wird.

Durch den Anwender, um zu prüfen, ob der Auftrag mit

Fehler abgeschlossen wurde.

Ist die Kennung "Auftrag fertig mit Fehler" gesetzt, steht im Hight-Byte des Anzeigenwortes die Fehlerursache.

13-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Datenübergabe läuft

Datenübergabe erfolgt

Teil 13 Integrierte Hantierungsbausteine

Bit 4 Datenübernahme / Datenübergabe läuft

Setzen

Löschen

Auswerten

Durch die Hantierungsbausteine SEND,RECEIVE, wenn die Übergabe / Übernahme für einen Auftrag begonnen wurde, z.B. wenn Daten über die ALL-

Funktion (DMA-Ersatz) ausgetauscht werden, der

Anstoß jedoch mit SEND-Direkt erfolgte.

Durch die Hantierungsbausteine SEND, RECEIVE, wenn der Datenaustausch für einen Auftrag beendet ist (letzter Teilblock übertragen).

Durch den Anwender. Während der Datenübertragung

CP-AG darf der Anwender den Datensatz eines Auftrages nicht mehr verändern. Bei kleinen Datenpaketen ist dies unkritisch, da hierbei der Datenaustausch in einem Bausteindurchlauf erledigt werden kann. Größere Datenmengen können jedoch nur in

Blöcken übertragen werden, wobei diese Blockung

über mehrere AG-Zyklen verteilt wird. Um die Konsistenz der Daten zu wahren, muss der Anwender daher zuerst prüfen ob der Datenblock gerade übertragen wurde, bevor er die Daten eines Auftrags verändert.

Bit 5 Datenübergabe erfolgt

Setzten

Löschen

Auswerten

Durch den Hantierungsbaustein SEND, wenn die

Datenübergabe für einen Auftrag erfolgt ist.

Durch den Hantierungsbaustein SEND, wenn für einen neuen Auftrag (neue Triggerung) mit dem Transfer der

Daten begonnen wurde.

Durch den Anwender, wenn die Auswertung erfolgte

(Flankenbildung).

Durch den Anwender. Mit diesem Bit kann der

Anwender ermitteln, ob der Datensatz für einen

Auftrag schon auf den CP übertragen wurde, und wann ein neuer Datensatz für einen laufenden Auftrag

(z.B. zyklisch Übertragung) bereitgestellt werden kann.

Rev. 00/27 13-13

Teil 13 Integrierte Hantierungsbausteine Handbuch VIPA CPU 928 - Band 2

Datenübernahme erfolgt

Bit 6 Datenübernahme erfolgt

Setzen

Löschen

Auswerten

Durch den Hantierungsbaustein RECEIVE, wenn die

Datenübernahme für einen Auftrag abgeschlossen wurde.

Durch den Hantierungsbaustein RECEIVE, wenn für einen neuen Auftrag (neue Triggerung) mit dem Transfer der Daten ins AG begonnen wurde.

Durch den Anwender, wenn die Auswertung erfolgte

(Flankenbildung).

Durch den Anwender, mit diesem Bit kann der Anwender ermitteln, ob der Datensatz eines Auftrages schon auf das AG übertragen wurde und wann ein neuer Datensatz für einen laufenden Auftrag ins AG transferiert wurde.

Disable / Enable Bit 7 Disable / Enable Datenblock

Setzen Durch den Anwender, um das Beschreiben eines

Bereichs durch den RECEIVE-Baustein oder das

Auslesen aus einem Bereich durch den SEND-

Baustein zu verhindern (nur beim 1. Datenblock)

Löschen Durch den Anwender, um den zugehörigen

Datenbereich freizugeben.

Auswerten Durch die Hantierungsbausteine SEND, RECEIVE. Ist das Bit 7 gesetzt, führen die Bausteine keinen

Datenverkehr durch, sondern melden dem CP den

"Fehler".

Fehlerbyte Bit 8 bis 11 Fehlerbyte

Übermittelt der CP eine Fehlerkennung für einen Auftrag (in den Auftragsstatus), tragen die Hantierungsbausteine diese Kennung in das Hight-Byte des Anzeigenwortes ein.

13-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Das Längen - Wort

Beschreibung

Teil 13 Integrierte Hantierungsbausteine

Dem Anzeigenwort folgt unmittelbar d.h. adressenmäßig mit der nächsten

Speicherzelle, das Längen-Wort.

Im Längenwort hinterlegen die Hantierungsbausteine (SEND, RECEIVE) die für den entsprechenden Auftrag bereits transferierten Daten: Die empfangene Daten bei Empfangsaufträgen und die bereits gesendete Daten bei Sendeaufträgen.

Die Anzeige im "Längenwort" erfolgt immer in Bytes und absolut.

31 16 15 0 Bit-Nr.

Beschreiben

Löschen

Auswerten

Längenwort Anzeigenwort

Durch SEND,

Datenaustausches.

RECEIVE

Das Längen-Wort wird errechnet aus: während des aktuelle Übertragungsanzahl + Anzahl bereits ausgetauschter Daten.

Durch Überschreiben oder mit jedem neuen SEND,

RECEIVE, FETCH.

Durch den Anwender

Wenn Bit "Auftrag fertig ohne Fehler" oder Daten-

übergabe / Übernahme erfolgt gesetzt ist, steht im

Längen-Wort die aktuelle Quell- oder Ziellänge.

Wenn Bit "Auftrag fertig mit Fehler" gesetzt ist, beinhaltet das Längen-Wort die bis zum Fehlerfall übertragene Datenanzahl.

Rev. 00/27 13-15

Teil 13 Integrierte Hantierungsbausteine

Aufbau Parametrierfehlerbyte (PAFE)

Handbuch VIPA CPU 928 - Band 2

7 0 Bit-Nr.

Fehler

0 kein Fehler

1 Fehler

Fehlernummer

0 kein Fehler

1 falsches ORG-Format

2 Bereich nicht vorhanden (DBnicht vorhanden)

3 Bereich zu klein

4 QVZ-Fehler

5 falsches Anzeigenwort

6 keine Quell-/Zielparameter bei SEND/RECEIVE All

7 Schnittstelle nicht vorhanden

8 Schnittstelle unklar

9 Schnittstelle überlastet

A reserviert

B unzulässige A-NR

C Schnittstelle (CP) quittiert nicht oder negativ

D Parameter / BLGR nicht zulässig (1. Byte)

E reserviert

F reserviert

Einstellbare Blockgrößen

Als Blockgröße kann eingestellt werden:

0

1

2

3

Der Baustein benutzt die Default-Parameter

(Beim AG 115U auf 64 Byte eingestellt)

Blockung mit 16 Byte

Blockung mit 32 Byte

Blockung mit 64 Byte

4

5

Blockung mit 128 Byte

Blockung mit 256 Byte

6 Blockung mit 512 Byte

>6 und < 255 wie 0

13-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 13 Integrierte Hantierungsbausteine

Tabelle über die möglichen QTYP/ZTYP - Parameter

QTYP/ZTYP

Beschreibung

NN keine Quell-

/Zielparameter am

Baustein;

Parameter müssen auf dem CP vorhanden sein

DBNR

Bedeutung irrelevant

XX RW DB MB AB

Indirekte

Adressierung

Parameter sind im (mit

DBNR und

QANF spez.)

DB hinterlegt

Indirekte

Adressierung ohne

Datenaustausch;

Quell-/ Zielparameter sind in einem DB hinterlegt

Quell-/Zieldaten aus/im DB im Hauptspeicher

DB, in dem die Quell-

/Zielparameter hinterlegt sind

2...255

DB in dem die Quell-

/Zielparameter hinterlegt sind

2...255

DB, aus dem die

Quelldaten entnommen werden oder in den die

Zieldaten tranferiert werden

2...255

Quell-/Zieldaten aus/im

Merkerbereich irrelevant

Quell-/Zieldaten aus/im

Prozessabbild der

Ausgänge

(PAA) irrelevant erlaubter

Bereich

QANF/ZANF

Bedeutung irrelevant erlaubter

Bereich

DW-Nr., ab der die Parameter hinterlegt sind

0...2047

DW-Nr., ab der die

Parameter hinterlegt sind

DW-Nr., ab der die

Daten entnommen oder eingeschrieben werden

Merkerbyte-

Nr. ab der die Daten entnommen oder eingeschrieben werden

Ausgangsbyte-Nr., ab der die

Daten entnommen oder eingeschrieben werden

0....2047

0...2047

0...255

0...127

QLAE/

ZLAE

Bedeutung erlaubter

Bereich irrelevant irrelevant irrelevant Länge des

Quell-/Zieldatenblocks in Worten

Länge des

Quell-/Zieldatenblocks in Bytes

Länge des

Quell-/Zieldatenblocks in Bytes

1...2048

1...255

1...128

... Fortsetzung

Rev. 00/27 13-17

Teil 13 Integrierte Hantierungsbausteine Handbuch VIPA CPU 928 - Band 2

Fortsetzung ...

QTYP/

ZTYP

Beschreibung

EB PB ZB TB AS

Quell-Zieldaten aus /in Prozessabbild der

Eingänge(PAE)

Quell-Zieldaten aus /in Peripherie-baugruppen. Bei

Quelldaten Eingabebaugr., bei

Zieldaten Ausgabebaugruppe

Quell-/Zieldaten aus /in

Zählerzellen

Quell-/Zieldaten aus /in

Zeitenzellen

Quell-/Zieldaten aus /in absolut adressierten

Speicherzellen

DBNR

Bedeutung

QANF/ZANF

Bedeutung irrelevant

Eingangsbyte-

Nr. ab der die

Daten entnommen oder eingeschrieben werden irrelevant irrelevant

Peripheriebyte-

Nr. ab der die

Daten entnommen oder eingeschrieben werden

Nummer der

Zählerzelle, ab der die Daten entnommen oder eingeschrieben werden irrelevant

Nummer der

Zeitenzelle, ab der die Daten entnommen oder eingeschrieben werden irrelevant absolute Anfangsadresse, ab der die Daten entnommen oder eingeschrieben werden erlaubter

Bereich 0...127

0...127 digitale

Peripherie

127...255

analoge

Peripherie

0...127

0...127

0...+32767

0 -32768

QLAE/ZLAE

Bedeutung erlaubter

Bereich

Länge des

Quell-/Ziel-

Datenblocks in

Bytes

Länge des

Quell-/Ziel-

Datenblocks in

Bytes

Länge des

Quell-/Ziel-

Datenblocks in

Worten

(Zählerzelle = 1

Wort)

Länge des

Quell-/Ziel-

Datenblocks in

Worten

(Zeitenzelle = 1

Wort)

Länge des

Quell-/Zieldatenblocks in

Worten

1...128

1...256

1...128

1..128

1...32767

13-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Der SEND - Baustein FB 120

FB 120

SSNR

A-NR

ANZW

QTYP

DBNR

QANF

QLAE

SEND

Teil 13 Integrierte Hantierungsbausteine

PAFE

Parameter

Funktionsbeschreibung

SEND-ALL mit A-Nr.=0

SSNR:

A-NR:

ANZW:

QTYP:

DBNR:

QANF:

QLAE:

PAFE:

Schnittstellennummer, Nummer der logischen Schnittstelle auszulösender Auftrag der Schnittstelle, d.h. Senden eines Telegramms starten

Adresse des Anzeigenworts (Doppelwort), in dem die

Abarbeitung des ausgelösten Auftrages angezeigt wird.

Art der Datenquelle aus der die Daten übergeben werden

Nummer des Datenbausteins bei QTYP XX, RW

(Read/Write), DB

"relative Anfangsadresse" der Datenquelle

Anzahl der Quelldaten (in Bytes oder Worten)

Fehleranzeige bei Parametrierungsfehler

Der SEND-Baustein dient zum Auslösen eines Auftrags zu einem CP mit oder ohne Datenübergabe.

Durch Aufruf des SEND mit A-Nr. = 0 wird ein SEND-ALL ausgelöst.

Die Beschreibung hierzu finden Sie auf der Folgeseite.

Alternativ steht Ihnen der FB 126 (SEND-ALL) zur Verfügung. Die

Beschreibung hierzu finden Sie in diesem Kapitel weiter hinten.

Rev. 00/27 13-19

Teil 13 Integrierte Hantierungsbausteine Handbuch VIPA CPU 928 - Band 2

Parameter

SSNR:

A-NR:

ANZW:

PAFE:

Schnittstellennummer,

Schnittstelle

Nummer der logischen auszulösender Auftrag der Schnittstelle, d.h. Senden eines Telegramms starten. Für einen SEND-ALL-Auftrag ist hier 0 anzugeben.

Adresse des Anzeigenworts (Doppelwort), in dem die

Abarbeitung des ausgelösten Auftrages angezeigt wird.

Fehleranzeige bei Parametrierungsfehler

Alle anderen Parameter sind bei diesem Auftrag irrelevant.

Die Adresse des Anzeigenwortes, die Angabe des Datentyps, der Anzahl und der Anfangsadresse der Daten muss bei der SEND-ALL -Funktion vom

CP über den Kommunikationsbereich zur Verfügung gestellt werden.

Im Anzeigenwort, das dem betreffenden Auftrag zugeordnet ist, werden die

Bits "ENABLE/DISABLE", "Datenübergabe erfolgt" sowie "Datenübergabe läuft" ausgewertet oder beeinflusst. Die Anzahl der übertragenen Daten zu einem Auftrag zeigt der SEND-ALL in dem ANZW folgenden Daten- bzw.

Merkerwort an.

Anzeigenwort

Im Anzeigenwort, das am SEND-ALL-Baustein parametriert ist, wird die aktuelle Auftragsnummer hinterlegt (0 bedeutet Leerdurchlauf). Die Anzahl der übertragenen Daten zu einem Auftrag zeigt der SEND-ALL in dem

Datenwort an, das dem Anzeigenwort folgt.

Der Aufruf der SEND-ALL-Funktion (d.h. der Aufruf des Send-Bausteins mit der ALL-Parametrierung) muss mindestens einmal im AG-Zyklus pro

Schnittstelle erfolgen, wenn

• der CP selbständig Daten von einem AG anfordern kann; z.B. bei der

CP 143 Plus mit der Auftragsart READ-Passiv.

Ein CP-Auftrag mit einem SEND-DIREKT angestoßen wird, der CP die

Daten zu diesem Auftrag jedoch erst über die "Hintergrundkommunikation" beim AG anfordert.

Die Anzahl der Daten, die mit einem SEND-DIREKT dem CP übergeben werden sollen größer der eingestellten Blockgröße ist.

13-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

SEND-DIRECT

Teil 13 Integrierte Hantierungsbausteine

Parameter

SSNR:

A-NR:

ANZW:

QTYP:

DBNR:

QANF:

QLAE:

PAFE:

Schnittstellennummer, Nummer der logischen Schnittstelle auszulösender Auftrag der Schnittstelle, d.h. Senden eines Telegramms starten. Die Auftragsnummer darf nicht 0 sein.

Adresse des Anzeigenworts (Doppelwort), in dem die

Abarbeitung des ausgelösten Auftrages angezeigt wird.

Art der Datenquelle aus der die Daten übergeben werden

Nummer des Datenbausteins bei QTYP XX, RW

(Read/Write), DB

"relative Anfangsadresse" der Datenquelle

Anzahl der Quelldaten (in Bytes oder Worten)

Fehleranzeige bei Parametrierungsfehler

Der "SEND-DIREKT"-Baustein wird im Normalfall im zyklischen Teil des

Anwenderprogramms aufgerufen. Die Einbindung des Bausteins im Interrupt oder Weck-Programmteil ist zwar möglich, das Anzeigenwort (ANZW) kann hierbei jedoch nicht zyklisch aktualisiert werden (muss durch den

CONTROL-Baustein übernommen werden).

Der Verbindungsaufbau mit dem CP wird für die Datenübergabe und für die Aktivierung eines Send-Anstoßes nur dann aufgenommen wenn:

• dem FB VKE "1" übergeben wurde und

• der CP den Auftrag freigegeben hat. (Bit "Auftrag läuft" im Anzeigewort

=0).

Im Leerlauf des Bausteins wird nur das Anzeigenwort aktualisiert.

Ist im QTYP-Parameter die Kennung "NN" eingetragen, werden die

Quellparameter des CP benutzt. Fehlen auch diese Parameter, wird der

Auftrag mit einer Fehlermeldung beendet.

Kann der CP die Daten direkt übernehmen, überträgt der SEND-Baustein die geforderten Daten in einem Zug zum CP. Signalisiert der CP jedoch, dass er nur die Parameter des Auftrages wünscht oder die Anzahl der zu

übergebenden Daten zu groß ist, werden dem CP nur die Parameter

(QTYP/QLAE usw.), im zweiten Fall die Parameter mit dem ersten

Datenblock übergeben. Die Daten oder der Folgeblock zu diesen Aufträgen fordert der CP über die SEND ALL-Funktion beim AG an. Hierzu ist es jedoch erforderlich, dass mindestens einmal im AG-Zyklus der SEND ALL

Baustein aufgerufen wird. Die Bedienoberfläche ist in allen "Anstoßarten" für den Anwender der Bausteine gleich, nur der Zeitpunkt der

Datenübergabe ist bei den zuletzt genannten Fällen um mindestens einen

AG-Zyklus verschoben.

WRITE-Funktion Die indirekt angegebenen Quell- und Zielparameter werden bei der

Parametrierung mit QTYP = "RW" von "SEND" zum CP übertragen. Hier werden die Zielparameter zusammen mit den Nutzdaten (die über SEND

ALL angefordert wurden) zum Kommunikationspartner gesendet.

Rev. 00/27 13-21

Teil 13 Integrierte Hantierungsbausteine

Der RECEIVE-Baustein FB 121

FB 121

SSNR

A-NR

ANZW

ZTYP

DBNR

ZANF

ZLAE

RECEIVE

Handbuch VIPA CPU 928 - Band 2

PAFE

Parameter

Funktionsbeschreibung

SSNR:

A-NR:

ANZW:

ZTYP:

DBNR:

ZANF:

ZLAE:

PAFE:

Schnittstellennummer, Nummer der logischen Schnittstelle

RECEIVE-Auftrag der Schnittstelle Abfrage nach einem

Empfangstelegramm mit Datenübergabe

Adresse des Anzeigenwortes, in dem die Abarbeitung des

Auftrags angezeigt wird

Art des Datenziel, in das die Daten eingetragen werden sollen.

Nummer des DBs bei ZTYP XX, DB relative Anfangsadresse des Datenziels

Anzahl der Daten die übertragen werden sollen

Fehleranzeige bei Parametrierungsfehler

Der RECEIVE-Baustein dient dem Abfragen oder dem Starten eines

RECEIVE-Auftrages auf einem CP mit oder ohne Datenübernahme.

13-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

RECEIVE-ALL mit A-Nr.=0

Teil 13 Integrierte Hantierungsbausteine

Durch Aufruf des RECEIVE mit A-Nr. = 0 wird ein RECEIVE-ALL ausgelöst.

Die Beschreibung hierzu finden Sie weiter unten.

Alternativ steht Ihnen der FB 127 (RECEIVE-ALL) zur Verfügung. Die

Beschreibung hierzu finden Sie in diesem Kapitel weiter hinten.

Parameter

SSNR:

A-NR:

ANZW:

PAFE:

Schnittstellennummer,

Schnittstelle

Nummer der logischen

RECEIVE-Auftrag der Schnittstelle Abfrage nach einem

Empfangstelegramm mit Datenübergabe Für einen

RECEIVE-ALL-Auftrag ist hier 0 anzugeben.

Adresse des Anzeigewortes, in dem die Abarbeitung des

Auftrags angezeigt wird.

Fehleranzeige bei Parametrierungsfehler

Alle anderen Parameterangaben sind in dieser Betriebsweise irrelevant.

Die Adresse des Anzeigenworts, die Angabe des Typs, der

Anfangsadresse und der Anzahl der Zieldaten stellt bei der RECEIVE ALL-

Funktion der CP über den Kommunikationsbereich dem FB zur Verfügung.

Anzeigenwort

Im Anzeigenwort, das dem zu bearbeitenden Auftrag zugeordnet ist, werden die Bits "Enable/Disable", "Datenübernahme erfolgt" sowie

"Datenübernahme/-übergabe läuft" ausgewertet oder beeinflusst und im

Folgewort die "Empfangslänge" angezeigt.

Weiter wird die aktuelle Auftragsnummer hinterlegt, für den der RECEIVE

ALL aktiv war. Im Leerlauf des RECEIVE ALL wird der Inhalt des Anzeigenworts gelöscht.

Der RECEIVE ALL ist immer dann mindestens einmal im AG-Zyklus aufzurufen, wenn

• der CP selbständig Daten an das AG abgeben will.

Mit einem RECEIVE-DIREKT ein Datenblock empfangen werden soll, der größer als die eingestellte Blockgröße ist.

Der Funktionsbaustein "RECEIVE-ALL" kann vom Anwender aufgerufen werden im

• zyklischen Programmteil (z.B. im OB 1)

• zeitgesteuerten Programmteil (z.B Weck-Baustein)

Interrupt-Programmteil (Prozessalarme)

Rev. 00/27 13-23

Teil 13 Integrierte Hantierungsbausteine Handbuch VIPA CPU 928 - Band 2

RECEIVE-DIRECT Parameter

SSNR:

A-NR:

ANZW:

ZTYP:

DBNR:

ZANF:

ZLAE:

PAFE:

Schnittstellennummer,

Schnittstelle

Nummer der logischen

RECEIVE-Auftrag der Schnittstelle Abfrage nach einem

Empfangstelegramm mit Datenübergabe

Adresse des Anzeigewortes, in dem die Abarbeitung des

Auftrags angezeigt wird

Art des Datenziel, in das die Daten eingetragen werden sollen.

Nummer des DBs bei ZTYP XX, DB relative Anfangsadresse des Datenziels

Anzahl der Daten die übertragen werden sollen

Fehleranzeige bei Parametrierungsfehler

Im Normalfall wird der RECEIVE-Baustein im zyklischen Teil des

Anwenderprogramms aufgerufen. Die Einbindung des Bausteins im

Interrupt oder Weck-Programmteil ist ebenso möglich, dabei wird jedoch das Anzeigenwort nicht zyklisch aktualisiert. Diese Funktion muss dann der

CONTROL-Baustein übernehmen.

Der Quittungsverkehr mit dem CP (das heißt ein Auftragsanstoß) wird vom

RECEIVE-Baustein in der "DIREKT"-Funktion nur aufgenommen wenn:

• dem FB VKE "1" übergeben wurde und

• der CP den Auftrag freigeben hat. (Bit "Handshake sinnvoll" = 1)

Im "Leerlauf" des Bausteins wird nur das Anzeigenwort aktualisiert.

Der RECEIVE-(DIRECT)-Baustein verhält sich unterschiedlich je nach Art der Versorgung und der CP-Reaktion:

Ist im ZTYP-Parameter die Kennung "NN" eingetragen, erwartet der

Baustein die Zielparameter (Typ, Anfang, Länge des Zieldatenblocks) vom CP. Wird vom CP ein Parametersatz geliefert, obwohl der

RECEIVE-Baustein selbst mit den Zielparametern versorgt wurde,

(ZTYP><NN), haben die Parameterangaben am Baustein Priorität gegenüber dem Parametersatz vom CP.

Große Datenmengen können nur in Blöcken übernommen werden.

Hierzu ist es notwendig, solche Folgeblöcke mit dem RECEIVE-ALL ins AG zu übertragen. Der Aufruf des RECEIVE-ALL mindestens einmal im AG-Zyklus (pro CP-Schnittstelle) ist daher immer dann notwendig, wenn mit einem CP größere Datenblöcke ausgetauscht werden sollen. Ebenso ist die zyklische Einbindung des RECEIVE-

ALL notwendig, wenn der CP den RECEIVE-DIREKT nur zur Freigabe eines Empfangstelegramms benutzt und die Daten über die

"Hintergrundkommunikation" dem AG übergibt.

Die Parametrierung mit ZTYP = "RW" ist beim RECEIVE nicht erlaubt.

13-24 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Der FETCH-Baustein FB 122

FB 122

SSNR

A-NR

ANZW

ZTYP

DBNR

ZANF

ZLAE

FETCH

Teil 13 Integrierte Hantierungsbausteine

PAFE

Parameter

Funktionsbeschreibung

SSNR:

A-NR:

ANZW:

ZTYP:

DBNR:

ZANF:

ZLAE:

PAFE:

Schnittstellennummer auszulösender FETCH- oder READ-Auftrag

Anzeigenwort (Adresse des Anzeigenwortes)

Art des Datenziels (DB, Merker, usw.)

Nummer des Datenbausteins bei ZTYP XX, RW, DB relative Anfangsadresse des Datenziels

Anzahl der Daten, die übernommen werden sollen

Fehleranzeige bei Parametrierungsfehler

Der FETCH-Baustein dient dem Auslösen eines "Holauftrags" auf einem

Kommunikationsprozessor.

Die Empfangsdaten eines FETCHoder

READ-Auftrages können hierbei jedoch nur durch die RECEIVE ALL-

Funktion ins AG übertragen werden. Der Baustein benötigt für die FETCH-

Funktion alle Parameterangaben am Baustein; eine FETCH All-Funktion

(Auftragsnr. = 0) ist nicht zugelassen.

Die Zielparameter (ANZW, ZTYP, DBNR, ZANF, ZLAE) werden während des Quittungsverkehrs dem CP übergeben. Sobald die angeforderten

Daten eingetroffen sind, stellt der CP diesen Parametersatz zusammen mit den Daten dem RECEIVE ALL-Baustein zur Verfügung. Der FETCH-

Baustein selbst überträgt bzw. übernimmt keine Daten.

Bei der Parametrierung mit ZTYP = "RW" überträgt der FETCH die Quellund Zielbeschreibung sowie die Adresse des Anzeigenworts zum CP.

Die FETCH-Funktion kann vom zyklischen, zeitgesteuerten oder interruptgesteuerten Programmteil aus aufgerufen werden. Die Übernahme der

Daten erfolgt in jedem Fall durch einen RECEIVE ALL. Die Aktualisierung des Anzeigenwortes übernimmt der FETCH- oder CONTROL-Baustein.

Der Quittungsverkehr mit der Anschaltung für den Anstoß des FETCH wird nur aufgenommen, wenn dem Baustein VKE "1" übergeben und im entsprechenden CP-Anzeigenwort die Funktion freigeben wurde (Auftrag läuft = 0).

Rev. 00/27 13-25

Teil 13 Integrierte Hantierungsbausteine

Der CONTROL-Baustein FB 123

FB 123

SSNR

A-NR

ANZW

CONTROL

Handbuch VIPA CPU 928 - Band 2

PAFE

Parameter

Funktionsbeschreibung

SSNR:

A-NR:

ANZW:

PAFE:

Schnittstellennummer zu überwachender Auftrag des CPs z.B. Abfrage, ob der gestartete Auftrag mit oder ohne Fehler abgeschlossen wurde.

Anzeigenwort, in dem das Ergebnis der Abfrage dem

Anwender mitgeteilt wird

Fehlerbyte bei Parametrierungsfehlern

Der CONTROL-Baustein hat folgende Aufgaben:

Aktualisierung des Anzeigenworts nur dann wenn A-Nr.

0

Abfrage, ob ein bestimmter Auftrag des CP zur Zeit "tätig" ist, z.B.

Nachfrage nach einem Empfangstelegramm nur dann wenn A-Nr.

0

Abfrage des CP, welcher Auftrag z.Zt. bearbeitet wird nur dann wenn

A-Nr. = 0

Der CONTROL-Baustein nimmt keinen Quittungsverkehr mit dem CP auf, sondern überträgt nur die Anzeigen aus dem "Auftragsstatus" zum parametrierten Anzeigenwort. Der Baustein ist nicht VKE abhängig und sollte im zyklischen Teil des Programms aufgerufen werden.

Bei der CONTROL-DIRECT-Funktion (Parameter A-NR

≠ s0) wird das

Anzeigenwort in der gleichen Weise aufgebaut und bearbeitet wie bei allen anderen "Hantierungsbausteinen (siehe Beschreibung des Bausteinparameters ANZW).

Wird der Parameter "Auftragsnummer" mit 0 versorgt, überträgt der

CONTROL-Befehl den Inhalt der Auftragsstatuszelle 0 zum LOW-Teil des

Anzeigenworts. In die Auftragsstatuszelle 0 schreibt der CP die Nummer des aktuellen Auftrags (das heißt des Auftrags, der gerade bearbeitet wird, wie z.B. die Auftragsnummer eines Telegramms).

13-26 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Der RESET-Baustein FB 124

FB 124

SSNR

A-NR

RESET

Teil 13 Integrierte Hantierungsbausteine

PAFE

Parameter

Betriebsarten

Funktionsbeschreibung

SSNR:

A-NR:

PAFE:

Schnittstellennummer

Nummer des rückzusetzenden Auftrages

Fehlerbyte bei Parametrierungsfehler

Der Baustein kennt folgende beiden Betriebsarten

RESET ALL

RESET DIREKT

Die RESET ALL-Funktion wird mit der Auftragsnummer 0 angewählt. Sie setzt alle Aufträge dieser logischen Schnittstelle zurück z.B. löscht sie alle

Auftragsdaten und bricht alle laufenden Aufträge ab. Mit einer "direkten"

Funktion (A-Nr.

0) wird nur der angegebene Auftrag auf der logischen

Schnittstelle rückgesetzt.

Der Baustein arbeitet VKE-abhängig und kann von zyklischen, zeitgesteuerten oder alarmgesteuerten Programmteilen aus aufgerufen werden.

Rev. 00/27 13-27

Teil 13 Integrierte Hantierungsbausteine

Der SYCHRON-Baustein FB 125

Handbuch VIPA CPU 928 - Band 2

FB 125

SSNR

BLGR

SYNCHRON

PAFE

Parameter

Funktionsbeschreibung

SSNR:

BLGR:

PAFE:

Schnittstellennummer

Blockgröße

Parametrierungsfehler

Der Baustein stellt im AG-Anlauf die Synchronisation zwischen AG und CP her und ist daher in den Anlauf-OBs aufzurufen. Gleichzeitig wird der

Übergabebereich der Schnittstelle gelöscht und voreingestellt, sowie die

Blockgröße zwischen CP und AG ausgehandelt.

13-28 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

SEND-ALL 126

FB 126

SSNR

A-NR

ANZW

SEND-ALL

Teil 13 Integrierte Hantierungsbausteine

PAFE

Parameter

Funktionsbeschreibung

Beispiel

SSNR:

A-NR:

ANZW:

PAFE:

Schnittstellennummer, Nummer der logischen Schnittstelle auszulösender Auftrag der Schnittstelle. Bei SEND-ALL muss A-NR immer 0 sein

Adresse des Anzeigenworts (Doppelwort), in dem die

Auftragsnummer des aktuellen Auftrags steht

Fehleranzeige bei Parametrierungsfehler

Als Auftragsnummer ist immer 0 anzugeben.

Im Anzeigenwort wird die Aktuelle Auftragsnummer hinterlegt (0 bedeutet

Leerdurchlauf). Die Anzahl der übertragenen Daten zu diesem Auftrag zeigt der SEND-ALL in dem Merker-/Datenwort an, das dem Anzeigenwort folgt.

Der Aufruf des SEND-ALL muss mindestens einmal im AG-Zyklus pro

Schnittstelle erfolgen.

00014

00016

00022

:

:SPA FB 126

NAME #SEND-A

SSNR =KY 0,0

A-NR

ANZW

PAFE

=KY 0,0

=MW 120

=MB 198

:

Rev. 00/27 13-29

Teil 13 Integrierte Hantierungsbausteine

RECEIVE-ALL 127

Handbuch VIPA CPU 928 - Band 2

FB 127

SSNR

A-NR

ANZW

RECEIVE-ALL

PAFE

Parameter

Funktionsbeschreibung

Beispiel

SSNR:

A-NR:

ANZW:

PAFE:

Schnittstellennummer, Nummer der logischen Schnittstelle auszulösender Auftrag der Schnittstelle

Adresse des Anzeigenworts (Doppelwort), in dem die

Auftragsnummer des aktuellen Auftrags steht

Fehleranzeige bei Parametrierungsfehler

Als Auftragsnummer ist immer 0 anzugeben.

Im Anzeigenwort wird die Aktuelle Auftragsnummer hinterlegt (0 bedeutet

Leerdurchlauf). Die Anzahl der übertragenen Daten zu diesem Auftrag zeigt der SEND-ALL in dem Merker-/Datenwort an, das dem Anzeigenwort folgt.

Der Aufruf des RECEIVE-ALL muss mindestens einmal im AG-Zyklus pro

Schnittstelle erfolgen.

00024 :SPA FB 127

NAME #REC-A

SSNR

A-NR

ANZW

PAFE

=KY 0,0

=KY 0,0

=MW 124

=MB 197

13-30 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Blockgröße

Blockgröße

Teil 13 Integrierte Hantierungsbausteine

Als Blockgröße kann eingestellt werden:

Kennung

0

1

2

3

4

5

6

7...254

255

Blockgröße

64 Byte (Standardwert)

16 Byte

32 Byte

64 Byte

128 Byte

256 Byte

512 Byte

Standardwert wie 0

512 Byte

Rev. 00/27 13-31

Teil 13 Integrierte Hantierungsbausteine Handbuch VIPA CPU 928 - Band 2

Analogwert-Anpassungsbausteine FB 250 und FB 251

Einleitung Diese Bausteine nehmen Umrechnungen vor, zwischen dem Nennbereich einer Analogbaugruppe und einem normierten Bereich, den der Anwender bestimmen kann.

Die Parametrierung der Analogmodule muss mit dem Kanaltyp

übereinstimmmen! Die Angabe wird nicht überprüft.

Analowert einlesen und normieren

FB 250

Dieser Funktionsbaustein liest einen Analogwert einer Analog-Eingabebaugruppe und liefert am Ausgang einen Wert XA in einem von Ihnen festgelegten (normierten) Bereich.

Mit den Parametern "Obergrenze (OGR)" und "Untergrenze (UGR)" legen

Sie den gewünschten Bereich fest.

Die Art der Analogwertdarstellung der Baugruppe (Kanaltyp) muss im

Parameter KNKT angegeben werden. Überschreitet der Analogwert den

Nennbereich, wird der Parameter BU gesetzt.

13-32 Rev. 00/27

OGR

XA

FB

UGR

EINZ

Handbuch VIPA CPU 928 - Band 2

Aufruf und Parameter

Parameter Bedeutung

BG Baugruppenadresse

KNKT KN=Kanalnummer

KT=Kanaltyp

Art

D

D

BU

TBIT

Obergr. des

Ausgangswertes

Untergr. des

Ausgangswertes

Einzelabtastung

Ausgangswert

Fehlerbit

Bereichsüberschreitung

Tätigkeitsbit des FBs

D

D

E

A

A

A

A

Teil 13 Integrierte Hantierungsbausteine

Typ

KF

KY

KF

KF

BI

W

BI

BI

BI

Belegung

128...224

KY=x,y x=0...15

y=3...6

3:Betragdarst.

(4...20mA)

4:unipolare

Darstellung

5:Betragszahl bipolar

6:Festpunktzahl bipolar

(Zweierkompl.)

-32768...

+32767

AWL

: SPA FB 250

NAME: RLG:AE

BG :

KNKT:

OGR :

UGR :

EINZ:

XA :

FB :

BU :

TBIT:

-32768...

+32767

Bei "1" wird eine

Einzelabtastung angeregt normierter Analogwert ist "0" bei

Drahtbruch

Ist "1" bei ungült.

Kanal- oder

Steckplatznr., bei ungültigem Kanaltyp und QVZ der

Baugruppe

Ist "1" bei Überschreitung des

Nennbereichs bei Signalzustand

"1" führt der FB gerade eine

Einzelabtastung durch

KF = fester Wert

KY = Wort

Rev. 00/27 13-33

Teil 13 Integrierte Hantierungsbausteine

Normierungsschema

Handbuch VIPA CPU 928 - Band 2

Der Funktionsbaustein FB 250 rechnet den gelesenen Wert linear auf die angegebene obere und untere Grenze (OGR und UGR) um, und zwar nach folgenden Formeln: für Kanaltyp 3 (Betragszahl 4 bis 20 mA):

XA

=

UGR

( 2560

− xe )

+

OGR

( xe

512 )

2048 für Kanaltyp 4 (unipolare Darstellung):

XA

=

UGR

( 2048

− xe )

+ ⋅

2048

)

Kanaltyp 5 und 6 (bipolare Darstellung):

XA

=

UGR

( 2048

− xe )

+

OGR

( xe

+

2048 )

4096 dabei bedeutet : XA vom FB ausgegebener Wert xe von der Baugruppe gelesener Analogwert

13-34 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 13 Integrierte Hantierungsbausteine

Einzelabtastung Der FB 250 gestattet das Lesen eines Analogwerts mit Einzelabtastung.

Setzt man den Parameter EINZ auf "1", so wird die Analogeingabebaugruppe veranlasst, den Analogwert des angewählten Kanals sofort in einen digitalen Wert umzuwandeln.

Während der Umrechnung (ca. 60ms) darf keine weitere Einzelabtastung angestoßen werden, die auf diese Baugruppe zugreift. Deshalb setzt der gerade aktive FB das TBIT so lange auf "1", bis der umgewandelte Wert eingelesen ist. Nach Beendigung der Einzelabtastung wird das TBIT wieder auf "0" gesetzt.

Analogwert ausgeben FB 251

Normierung Mit diesem Funktionsbaustein lassen sich Analogwerte an Analog-Ausgabebaugruppen ausgeben. Die Art der Analogwertdarstellung der Baugruppe (Kanaltyp) muss im Parameter KNKT angegeben werden. Dabei werden Werte aus dem Bereich zwischen den Parametern "Untergrenze

(UGR)" und "Obergrenze (OGR)" auf den Nennbereich der jeweiligen

Baugruppe umgerechnet, und zwar nach folgenden Formeln: für Kanaltyp 0 (unipolare Darstellung): xa

=

XE

UGR )

OGR

UGR für Kanaltyp 1 (bipolare Darstellung): xa

=

1024 ( 2 XE

OGR

UGR )

OGR

UGR dabei bedeutet: XE am Funktionsbaustein angebener Digitalwert xa zur Baugruppe geschriebener Wert

Rev. 00/27 13-35

Teil 13 Integrierte Hantierungsbausteine

Aufruf und Parametrierung

Parameter Bedeutung

XE auszugebender

Analogwert

Art

E

BG

KNKT

Baugruppenadresse

KN=Kanalnummer

KT=Kanaltyp

D

D

OGR

UGR

FEH

BU

Obergr. des

Ausgangswertes

Untergr. des

Ausgangswertes

Fehler bei der Grenzwertvorgabe anzugebender

Analogwert

überschreitet

UGR oder OGR

D

D

A

A

Handbuch VIPA CPU 928 - Band 2

Typ

W

KF

KY

KF

KF

BI

BI

Belegung

Eingangswert

(Festpunkt) im

Bereich

UGR...OGR

128...240

KY=x,y x=0...7

y=0;1;2

0: unipolare

Darstellung

1:Festpunktzahl bipolar

2: Betragsdarst.

(4...20mA

bzw.1,5V )

-32768...

+32767

AWL

: SPA FB 250

NAME: RLG:AE

BG :

KNKT:

OGR :

UGR :

EINZ:

XA :

FB :

BU :

TBIT:

-32768...

+32767

Ist "1",wenn

UGR=OGR, bei ungültiger Kanaloder Steckplatznr.

bei ungültigem

Kanaltyp und bei QVZ der

Baugruppe

Bei "1" liegt XE außerhalb

(UGR;OGR)

XE nimmt den

Grenzwert an

13-36 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 13 Integrierte Hantierungsbausteine

Beispiel für eine Analogwertverarbeitung

Aufgabenstellung In einem geschlossenen Behälter befindet sich eine Flüssigkeit. Die aktuelle Niveauhöhe soll auf einem Anzeigeinstument jederzeit abgelesen werden können. Außerdem soll bei Erreichen eines vorgegebenen Grenzwertes eine Meldung abgegeben werden.

Beschreibung

Die Füllstandshöhe (zwischen 0 und 10m) wird von einem Messumformer 0 - 20mA an eine Analogeingabebaugruppe weitergegeben.

Die Analogeingabebaugruppe wandelt die analogen Stromwerte in digitale Einheiten (0 - 2048 Einheiten) um, die vom Anwenderprogramm des AG 115U weiterbearbeitet werden können.

Das Anwenderprogramm prüft die eingelesenen Werte auf einen

Grenzwert (max. zulässige Füllstandshöhe), gibt gegebenenfalls eine

Meldung aus und übermittelt diese Werte an eine Analogausgabebaugruppe.

Die Analogausgabebaugruppe setzt die Werte wieder in Spannungen

(0 - 10V) um. Die Analoganzeige reagiert auf diese Spannungen mit einem der Füllstandshöhe proportionalen Zeigerausschlag.

Rev. 00/27 13-37

Teil 13 Integrierte Hantierungsbausteine Handbuch VIPA CPU 928 - Band 2

Programmstruktur

Funktionsbaustein FB 250 "Analogwert einlesen" aufrufen und parametrieren (Umwandlung des Werts in einem Bereich zwischen 0 und 1000cm

[

XA-Parameter

]

).

Grenzwert bilden (PB9).

Ein Überschreiten des Flüssigkeitsniveaus von 900cm verursacht eine

Meldung (M12.6).

Funktionsbaustein FB251 "Analogwert ausgeben" aufrufen und parametrieren (Umwandlung des zwischen 0 und 1000 cm liegenden

Wertes

[

XE-Parameter

] in einen Wert zwischen 0 und 1024 Einheiten für die Analog-Ausgabebaugruppe).

Beispiel PB 1

NAME

BG

KNKT

OGR

UGR

EINZ

XA

FB

BU

TBIT

NAME

XE

BG

KNKT

OGR

UGR

FEH

BU

:SPA FB 250

:RLG:AE

:KF +128 Baugruppen-Anfangsadresse : 128

(bei fester Steckplatzadressierung

:KY 0,4

:KF +1000

:KF +0

:M 12.0

Steckplatz 0)

Kanalnummer:0;unipolare Darstellung:4

Physikalischer Messbereich:

0<XA<1000 cm

:MW 10

:M 12.1

nur bei Einzelabtastung relevant:

(Einst. im Beispiel: Zykl. Bearb.) im MW 10: XA-Wert 0<XA<1000cm relevant nur, wenn Drahtbruch eingestellt ist wenn Höhe > 1000cm, BU = 1.

nur bei Einzelabtastung relevant.

:M 12.2

:M 12.3

:

:SPA PB 9

:

:SPA FB 251

:RLG:AA

:MW 10

:KF +160

Grenzwert bilden

Analogwert ausgeben

:KY 0,0

:KF +1000

:KF +0

:M 12.4

:M 12.5

:BE

XA (FB 250) = XE (FB 251)

Baugruppen-Anfangs-Adresse: 160

(bei fester Steckplatzadressierung

Steckplatz 1)

Kanalnummer: 0; unipolare Darstellung: 0

Physikalischer Messbereich:

0<XA<1000cm wenn UGR = OGR, FEH = 1 wenn XA<UGR oder XA>OGR, BU = 1.

PB 9

:L KF 900

:L MW 10

:<=F

:=M 12.6

:BE

Niveau Maximalwert

Messwert

Vergleiche, ob Messwert > 900 Ist wenn ja, M12.6 = Reaktion noch im gleichen Programmzyklus auslesen.

13-38 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Teil 14 Rechnerkopplung RK512

Teil 14 Rechnerkopplung RK512

Überblick Die zweite Schnittstelle SI 2 der CPU 928 können Sie nutzen als Schnittstelle für die Standard-Rechnerkopplung RK 512 mit der Prozedur 3964 oder 3964R.

Die Rechnerkopplung RK512 der CPU 928 verwendet den identischen

Telegrammaufbau wie die Kommunikationsprozessoren SSM BG4xD.

Inhalt

Nachfolgend sind beschrieben:

Grundlagen und Anwendungsbereiche von RK512

Parametrierung

Inbetriebnahme und Betrieb

Telegrammbeschreibung

Thema Seite

Teil 14 Rechnerkopplung RK512.........................................................14-1

Einführung RK512 ..............................................................................14-2

Parametrierung .................................................................................14-10

Koordinierungsmerker (KM)..............................................................14-26

Inbetriebnahme.................................................................................14-28

Betrieb ..............................................................................................14-30

Datenaustausch................................................................................14-38

Telegrammbeschreibung ..................................................................14-43

Rev. 00/27 14-1

Teil 14 Rechnerkopplung RK512

Einführung RK512

Handbuch VIPA CPU 928 - Band 2

Mit der Rechnerkopplung RK512 können zwischen zwei Punkt-zu-Punkt gekoppelten Kommunikationspartnern Daten ausgetauscht werden.

Die Rechnerkopplung RK512 gewährleistet größtmögliche Übertragungssicherheit, da das Protokoll der RK512 mehrere Schichten des ISO/OSI-

Schichtenmodells (ISO IS 7498) umfasst:

Bit-Übertragungsschicht (Schicht 1):

In dieser Schicht wird die physikalische Übertragung der Datenbytes festgelegt (Physik, Baudrate;...).

Sicherungsschicht (Schicht 2):

Die Datenbytes werden mit der Übertragungsprozedur 3964(R) übertragen. Diese fügt den Datenbytes Start- und Endezeichen hinzu und führt bei Fehlern eventuelle Wiederholungen durch.

Vermittlungsschicht (Schicht 3):

Ist bei der RK 512 nicht vorhanden, da es sich bei ihr um eine reine

Punkt-zu-Punkt-Verbindung handelt.

Transportschicht (Schicht4):

Die RK 512 beantwortet jedes korrekt empfangene Befehlstelegramm mit einem Reaktionstelegramm. Damit kann der Absender überprüfen, ob seine Daten vollständig beim Partner angekommen sind bzw. ob seine angeforderten Daten beim Partner verfügbar sind.

14-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Anwendungsbereich

Teil 14 Rechnerkopplung RK512

Die Rechnerkopplung RK512 realisiert den direkten Datenaustausch zwischen der CPU 928 in einem AG-135U bzw. AG-155U und einem der folgenden Partner:

• eine weitere CPU 928 in dem AG-135U und 155U

BG41, BG42, BG43

SSM-Baugruppe mit Kommunikationsprozessor in dem AG-115U, 115H,

135U, 155U und 155H

BG4xD

CP-Baugruppe in den AG-115U, 115H, 135U, 150U, 155U und 155H

CP240

CP-Modul des System 200V von VIPA

• ein Fremdrechner und Baugruppen, die die RK512 beherrschen.

CPU 928B/C

PG

RS232C

20mA

RS 422

System 200V

CP240

VIPA-Baugruppen:

CPU 928

BG4xD

BG41...BG43

System 200V

CP240

Rev. 00/27

Für die Rechnerkopplung RK512 stehen Ihnen verschiedene Schnittstellenhybridmodule zur Verfügung, die Sie bei VIPA bestellen können:

20mA-Modul

RS 232C-Modul

RS 422-Modul

Die Verbindung zum Partner stellen Sie mit einer Standard-Steckleitung her. Die Übertragungsgeschwindigkeit für den Datenaustausch stellen Sie entsprechend dem jeweiligen Koppelpartner ein.

Zugelassen sind:

110 Bit/s bis 38 400 Bit/s bei RS422-Übertragung

110 Bit/s bis 38 400 Bit/s bei RS232C-Übertragung

110 Bit/s bis 38 400 Bit/s bei 20mA-Übertragung

14-3

Teil 14 Rechnerkopplung RK512

Aufträge

Handbuch VIPA CPU 928 - Band 2

Mit der Standard-Rechnerkopplung RK512 können Sie aktiv:

Daten senden: SEND-Auftrag

Daten holen: FETCH-Auftrag

Mit der Standard-Rechnerkopplung RK512 können Sie passiv:

Daten empfangen: Partner-SEND-Auftrag

Daten zum Abholen bereitstellen: Partner-FETCH-Auftrag

SEND-Auftrag und Partner-SEND-Auftrag bilden ein Auftragspaar. Ein

SEND-Auftrag bei der CPU 928 führt zu einem Partner-SEND-Auftrag beim

Partner und umgekehrt.

FETCH-Auftrag und Partner-FETCH-Auftrag bilden ein Auftragspaar. Ein

FETCH-Auftrag bei der CPU 928 führt zu einem Partner-FETCH-Auftrag beim Partner und umgekehrt.

SEND-Auftrag

Die CPU 928 ist aktiv, d.h. sie sendet Daten zum Partner. Der Partner ist passiv - er empfängt Daten.

CPU 928B/C

Datenquelle, aktiv

Partner z.B. BG4xD

Datenziel, passiv

RK512

Data

14-4 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

FETCH-Auftrag

Die CPU 928 ist aktiv, d.h. sie holt Daten vom Partner. Der Partner ist dabei passiv.

CPU 928B/C

Datenziel, aktiv

Partner z.B. BG4xD

Datenquelle, passiv

RK512

RK512

FETCH

Data

Partner-SEND-Auftrag

Der Partner ist aktiv, d.h. er sendet Daten zur CPU 928. Die CPU 928 ist passiv - sie empfängt Daten.

CPU 928B/C

Datenziel, passiv

Partner z.B. BG4xD

Datenquelle, aktiv

RK512

Data

Hinweis!

Werden bei einem Partner-SEND-Auftrag Folgetelegramme empfangen, während sich die CPU im STOP-Zustand befindet, so wird erst das letzte

Folgetelegramm mit Fehler 2Ah im Reaktionstelegramm quittiert.

Rev. 00/27 14-5

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Partner-FETCH-Auftrag

Der Partner ist aktiv, d.h. er holt Daten von der CPU 928. Die CPU ist dabei passiv.

CPU 928B/C

Datenquelle, passiv

Partner z.B. BG4xD

Datenziel, aktiv

RK512

RK512

FETCH

Data

Hinweis!

Sie können nur Datenwörter aus einem Datenbaustein (DB) oder einem erweiterten Datenbaustein (DX) übertragen.

Pro Auftrag sind maximal 2048 Datenwörter möglich. Sie können keine

Ein-/ Ausgänge, Merker, Zeiten, Zähler etc. senden, holen oder empfangen.

Einbindung ins

Anwenderprogramm

In diesem Abschnitt finden Sie eine Übersicht, wie die Rechnerkopplung

RK 512 in ein Anwenderprogramm eingebunden wird.

Für das Erstellen der Anwenderprogramme wird Ihnen folgende Vorgehensweise empfohlen:

Vorabüberlegungen

Mit welchem Partner soll die CPU Daten austauschen?

Welches Schnittstellenmodul setzen Sie ein?

Welche Daten sollen ausgetauscht werden?

Wie sollen die Aufträge lauten?

Parametrierung der Schnittstelle

Zur Parametrierung der Schnittstelle benötigen Sie:

DX 2

• statischen Parametersatz

• dynamische Parametersätze

Auftragsfach

Koordinierungsbyte Senden (KBS).

14-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

DX 2

In den erweiterten Datenbaustein DX 2 müssen Sie folgende Informationen eintragen:

Kopplungstyp: Rechnerkopplung RK512

Lage des statischen Parametersatzes

Lage des ersten dynamischen Parametersatzes

Lage des Auftragsfachs

Lage des Koordinierungsbytes Senden (KBS)

Statischer Parametersatz

In den DB/DX mit dem statischen Parametersatz sind die Parameter zur

Bit-Übertragungsschicht und zur Sicherungsschicht einzutragen.

Parameter der Bit-Übertragungsschicht (Schicht 1):

Baudrate (Bit/S)

Parität

Bit pro Zeichen

Stoppbits

Parameter der Sicherungsschicht (Schicht 2)

In der Sicherungsschicht werden die Eigenschaften der Übertragungsprozedur 3964(R) festgelegt:

Modus: Prozedur 3964(R) mit Standardwerten oder parametrierbar

Priorität

Zeichenverzugszeit

Quittungsverzugszeit

Aufbauversuche

Wiederholanzahl

Rev. 00/27 14-7

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Dynamische Parametersätze

In den DB/DX mit den dynamischen Parametersätzen müssen Sie die Auftrags-Parameter eintragen, die den Partner betreffen:

SEND- oder FETCH-Auftrag

Datenziel im Partner bei einem SEND-Auftrag oder Datenquelle im

Partner bei einem FETCH-Auftrag

Koordinierungsmerker (Byte- und Bit-Nr.) Nummer der CPU, wenn Sie mit mehreren CPUs Daten austauschen

Nummer der CPU, wenn Sie über einen CP 524, CP 525 oder CP 544 mit mehren CPUs des Partners Daten austauschen

Auftragsfach

Tragen Sie hier die Auftrags-Parameter ein, die die eigene CPU betreffen:

SEND- oder FETCH-Auftrag

Auftragsnummer (1 bis 255) zur Auswahl des gewünschten dynamischen Parametersatzes

Lage des Anzeigenwortes

Datenquelle bei einem SEND-Auftrag oder Datenziel bei einem FETCH-

Auftrag

Länge der zu übertragenden Daten

Lage des Parametrierfehlerbytes (PAFE)

KBS Koordinierungsbyte Senden

Mit dem Koordinierungsbyte Senden (KBS) können Sie:

• einen SEND-Auftrag starten

• einen FETCH-Auftrag starten

Die Rechnerkopplung RK 512 zurücksetzen.

Den Parametersatz im DX 2, den statischen Parametersatz und die dynamischen Parametersätze können Sie mit dem Programmiertool MC5 von VIPA erstellen.

14-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Komponenten des

Anwenderprogramms

DX 2

"MASKX2"

0020

Zeiger auf statischen

Parametersatz

Zeiger auf dynamische

Parametersätze

Zeiger auf

Auftragsfach

DX2-Kennung

RK512-Kennung

Zeiger auf

Koordinierungsbytes

Teil 14 Rechnerkopplung RK512

Statischer

Parametersatz

Dynamischer

Parametersatz

Auftragsfach

CPU passiv

Koordinierungsbyte

Bei einer ausschließlich passiv betriebenen CPU, die selbst keine Aufträge anstößt, benötigen Sie für die Rechnerkopplung RK 512 keine dynamischen Parametersätze und kein Auftragsfach.

Hinweis!

Ist in der CPU kein DX 2 vorhanden, wird die zweite Schnittstelle als PG-

Schnittstelle initialisiert.

Die Parameter im DX 2, im statischen Parametersatz und in den dynamischen Parametersätzen, legen Sie fest, bevor Sie die Rechnerkopplung RK 512 in Betrieb nehmen.

Die Parameter im DX 2 werden nur bei Neustart vom Systemprogramm

übernommen.

Die Parameter im statischen Parmetersatz (DW 0 bis DW 4) werden nur bei Spannungswiederkehr und bei Neustart vom Systemprogramm übernommen.

Die Parameter im statischen Parametersatz ab DW 5 werden nur bei

Spannungswiederkehr, Neustart und dem Auftrag "Rechnerkopplung

RK512 rücksetzen" vom Systemprogramm übernommen.

Die Parameter im Auftragsfach und im ausgewählten dynamischen

Parametersatz werden zu Beginn eines Auftrages vom Systemprogramm

übernommen. Diese Parameter sowie das Koordinierungsbyte Senden

(KBS) dürfen Sie nur verändern, wenn kein Auftrag läuft.

Rev. 00/27 14-9

Teil 14 Rechnerkopplung RK512

Parametrierung

Handbuch VIPA CPU 928 - Band 2

Für die Parametrierung können Sie das Programmiertool MC5 von VIPA einsetzen. Hiermit können Sie alle hier aufgeführten Bausteine parametrieren.

DX 2 parametrieren

Im DX 2 wird der Kopplungstyp vermerkt. Außerdem enthält er die Zeiger auf sämtliche benötigte Parameter und Parametersätze.

Die Parametrieung im DX 2 beginnt absolut bei DW 0. Alle Zahlenwerte sind in hexadezimaler Schreibweise dargestellt.

DW Parameter Bedeutung

0

1

2

4D41

534B

5832

MA

SK

X2

Kopplungstyp

3 0020 Rechnerkopplung RK512

Zeiger auf statischen Parametersatz

4 44xx oder

58xx

DB-Nr.xx oder

3)

DX-Nr.xx

5 xxxx ab DW-Nr. xxxx

Zeiger auf dynamische Parametersätze

6 44xx oder DB-Nr. xx oder

3)

1)

58xx DX-Nr. xx

7 xxxx

Zeiger auf Auftragsfach ab DW-Nr. xxxx

1)

8 44xx oder DB-Nr. xx

3)

58xx DX-Nr.xx

9 xxxx ab DW-Nr. xxxx

1)

10

11

0000

0000

12 0000

13 0000

Zeiger auf KBS

2)

14 4D00 oder

5300 oder

44xx oder

15

58xx xxxx reserviert reserviert reserviert reserviert

Merker oder

S-Merker oder

DB-Nr. xx oder

DX-Nr. xx

3)

MW-NR., SW-Nr. oder DW-NR.

Nicht notwendig, wenn die CPU nur passiv ist. Tragen Sie dann in die

Datenwörter den Wert 0000 ein.

2)

Das KBS belegt im Speicher immer ein Wort.

3)

Wertebereich für xx von 3 bis FFh (3-255)

14-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Beispiel:

In diesem Beispiel sehen Sie, wie Sie einen DX 2 mit folgenden Grunddaten parametrieren.

Der statische Parametersatz liegt in DB 10 ab DW 4.

Die dynamischen Parametersätze liegen im erweiterten DB 3 ab DW 4.

Das Auftragsfach liegt in DB 6 ab DW 2.

Das KBS liegt in MW 6.

Dies ergibt folgende Parametrierung:

Beispiel DX 2 0:

1:

2:

3:

4:

5

6

11

12

13

14

7

8:

9

10

15

16

KH=4D41;

KH=534B;

KH=5832;

KH=0020;

KH=440A;

KH=0004;

KH=5803;

KH=0004;

KH=4406;

KH=0002;

KH=0000;

KH=0000;

KH=0000;

KH=0000;

KH=4D00;

KH=0006;

KH=xxxx

"MASKX2"

"MASKX2"

"MASKX2"

Kopplungstyp Rechnerkopplung RK512

Statischer Parametersatz in DB 10

Ab DW 4

Dynamische Parametersätze in DX 3

Ab DW 4

Auftragsfach in DB 6

Ab DW 2 reserviert reserviert reserviert reserviert

KBS in Merker

MW 6 gehört nicht mehr zur Parametrierung des

DX 2, beliebiger Inhalt, muss nicht vorhanden sein.

Rev. 00/27 14-11

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Statischer

Parametersatz

Im statischen Parametersatz müssen Sie die Parameter zur Bit-Übertragungsschicht und zur Sicherungsschicht eintragen.

In der nachfolgenden Tabelle steht, mit welchen Werten Sie den statischen

Parametersatz in einem Datenbaustein oder erweiterten Datenbaustein hinterlegen können.

Die Parametrierung beginnt bei dem im DX 2 parametrierten DW.

Alle Zahlenwerte sind hexadezimal dargestellt.

DW

(relativ)

Werte-

Bereich

Baudrate

0 0001

0002

0003

0004

0005

0006

0007

0008

0009

000A

Parität

1 0000

0001

0002

Bit pro Zeichen

2

Stoppbits

3

0008

0001

0002

0003

-

4 0000

Modus (siehe Hinweis)

5 0001

0002

Bedeutung

110 Baud

150 Baud

300 Baud

600 Baud

1200 Baud

2400 Baud

4800 Baud

9600 Baud

19200 Baud

38400 Baud keine (no) ungerade (odd) gerade (even)

8 Bit pro Zeichen

Stoppbit

1 + ½ Stoppbits

2 Stoppbits reserviert

RK 512 mit Prozedur 3964 mit Standardwerten

RK 512 mit Prozedur 3964R mit Standardwerten

0003

0004

RK 512 mit Prozedur 3964 parametrierbar

RK 512 mit Prozedur 3964R parametrierbar

Priorität

6 0000

0001 niedrig hoch

...Fortsetzung

14-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

...Fortsetzung

DW

(relativ)

Werte-

Bereich

Bedeutung

Zeichenverzugszeit (siehe Hinweis)

7 0001 bis

FFFF

Überwachungszeit

0,01 s bis 655,35 s

(Einheit: 10ms)

Quittungsverzug (siehe Hinweis)

8 0001 bis

FFFF

Überwachungszeit

0,01 s bis 655,35 s

(Einheit: 10ms)

Zeichenverzugszeit (siehe Hinweis)

9 0001 bis

00FF

Anzahl

Wiederholanzahl (siehe Hinweis)

10 0001 bis

00FF

Anzahl

Hinweis!

Die Datenwörter 7 bis 10 werden nur dann ausgewertet, wenn Sie als

Modus 0003 oder 0004 eingetragen haben.

Vorsicht!

Wenn Sie als Modus 0001 oder 0002 eingetragen haben, werden die

Standardwerte verwendet. Beachten Sie aber, dass die Datenwörter 7 bis

10 trotzdem vorhanden sein müssen.

Zeichenverzugzeit

Quittungsverzugszeit

Aufbauversuche

Wiederholanzahl

Modus 0001

220 ms

550ms

6

6

Modus 0002

220 ms

2000 ms

6

6

Rev. 00/27 14-13

Teil 14 Rechnerkopplung RK512

Bedeutung der

Parameter

Baudrate

Handbuch VIPA CPU 928 - Band 2

Geschwindigkeit der Datenübertragung, Angabe in Bits/s (Baud).

Parität

Anzahl der Bits mit dem Wert "1" in einer einheitlichen langen Folge von

Informationsbits (z.B. ein Byte). Die Parität ist, je nach Wert, "gerade" oder

"ungerade". Zur Paritätskontrolle wird diese Folge von Informationsbits um ein weiteres Bit, das Paritätsbit (parity bit), erweitert, das durch seinen addierten Wert ("0" oder "1") den Wert aller Bits auf einen vereinbarten

Zustand ergänzt.

Bit pro Zeichen

Anzahl der Datenbits, auf die ein Zeichen abgebildet wird (fest auf 8).

Stoppbits

Dauer der Stoppbits relativ zur Übertragungsdauer eines Informationsbits.

Die Stoppbits werden bei der Start-Stopp-Übertragung jedem zu

übertragenden Zeichen nachgesetzt.

Modus

Variante der möglichen Übertragungsprozeduren, 3964(R), jeweils mit

Standardwerten oder parametrierbar.

Priorität

Ein Partner hat Priorität, wenn sein Sendewunsch Vorrang vor dem Sendewunsch des anderen Partners hat.

Ein Partner hat niedere Priorität, wenn sein Sendewunsch hinter den

Sendewunsch des anderen Partners zurückstehen muss. Beim Betrieb der

Rechnerkopplung müssen Sie beide Koppelpartner mit verschiedener

Priorität parametrieren, d.h. A bekommt Priorität =1 (hoch), B bekommt

Priorität = 0 (niedrig).

Zeichenverzugszeit (ZVZ)

Der maximal zulässige zeitliche Abstand zwischen zwei empfangenen

Zeichen (siehe folgende Tabelle).

n-tes Zeichen

ZVZ n+1.tes Zeichen t

14-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Bedeutung der

Parameter

Quittungsverzugzeit (QVZ)

Teil 14 Rechnerkopplung RK512

Die maximal zulässige Zeitspanne bis zur Quittung des Partners bei

Verbindungsaufbau/-abbau.

Baudrate

110 Baud

150 Baud

300 Baud

600 Baud

1200 Baud

2400 Baud

4800 Baud

9600 Baud

9600 Baud

19600 Baud

38400 Baud kleinste zulässige ZVZ

120 ms

100 ms

60 ms

40 ms

30 ms

20 ms

20 ms

20 ms

20 ms

20 ms

20 ms kleinste zulässige QVZ

120 ms

100 ms

60 ms

40 ms

30 ms

20 ms

20 ms

20 ms

20 ms

20 ms

20 ms

Aufbauversuche

Maximale Anzahl der Versuche der CPU 928 eine Verbindung aufzubauen.

Wiederholanzahl

Maximale Anzahl der Telegrammwiederholungen (inklusive erstes Telegramm) bei Fehlern.

Rev. 00/27 14-15

Teil 14 Rechnerkopplung RK512

Beispiel

Handbuch VIPA CPU 928 - Band 2

In diesem Beispiel sehen Sie, wie Sie einen statischen Parametersatz im

DB 10 ab DW 4 parametrieren.

DB10

0:

6:

7:

8:

9:

1:

2:

3:

4:

5:

10:

11:

12:

13:

14:

15:

16:

:

KH =xxxx;

KH =xxxx;

KH =xxxx;

KH =xxxx;

KH =0008;

KH =0002;

KH =0008;

KH =0001;

KH =0000;

KH =0003;

KH =0001;

KH =00FF;

KH =010A;

KH =0003;

KH =0005;

KH =xxxx; gehört nicht zum statischen

Paramertersatz, beliebiger Inhalt

Baudrate = 9600 Baud

Parität = 2 = Gerade

Bit pro Zeichen =8

Stoppbits = 1 reserviert

Modus = 3 = Prozedur 3964 parametrierbar

Priorität = 1 = hoch

Zeichenverzugszeit = 255 x 0,01 s

(= 2,55 s)

Quittungsverzugzeit =266 x 0,01 s

(= 2,66 s)

Aufbauversuche = 3

Wiederholanzahl =5 gehört nicht mehr zum statischen Parametersatz, beliebiger Inhalt, muss nicht vorhanden sein.

Bei der Rechnerkopplung RK 512 müssen die Parameter der Bit-Übertragungsschicht beim Partner mit denen der CPU 928 übereinstimmen.

Die Parameter der Sicherungsschicht müssen beim Partner wie folgt gesetzt werden:

Verwendung der gleichen Prozedur wie bei der CPU 928

• entgegengesetzte Priorität wie bei der CPU 928

14-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Dynamische

Parametersätze

Die dynamischen Parametersätze enthalten die Auftrags-Parameter, die den Partner betreffen.

Ein dynamischer Parametersatz ist 3 Datenwörter lang und liegt in einem

DB. Ein DB kann maximal 255 dynamische Parametersätze enthalten.

Jedem dynamischen Parametersatz ist eine Auftragsnummer zugeordnet.

Der erste dynamische Parametersatz (rel. DW 0 bis DW 2) hat die Auftragsnummer 1, der zweite (rel. DW 3 bis DW 5) die Auftragsnummer 2 usw.

Im DXs 2 geben Sie die Lage des ersten dynamischen Parametersatzes

(A.-NR. 1) an. Bevor Sie einen SEND- oder FETCH-Auftrag anstoßen, müssen Sie den dazugehörigen dynamischen Parametersatz parametriert haben. Mit der Auftragsnummer, die Sie im Auftragsfach angeben, wird zu jedem SEND- oder FETCH-Auftrag der gewünschte dynamische Parametersatz angewählt.

Rev. 00/27 14-17

Teil 14 Rechnerkopplung RK512

Belegung

Handbuch VIPA CPU 928 - Band 2

In der nachfolgenden Tabelle steht, mit welchen Werten Sie die dynamischen Parametersätze in einem DB oder erweiterten DB hinterlegen können. Die Parametrierung beginnt bei dem im DX 2 parametrierten DW.

Alle Zahlenwerte sind in hexadezimaler Schreibweise dargestellt.

A-NR.

DW

(rel.)

Parameter Bedeutung

SEND-/FETCH-Auftrag mit der Auftragsnummer 1

1 Auftragstyp

0 4144 oder

4158 oder

4544 oder

4558

SEND-Auftrag mit Datenziel DB oder

SEND-Auftrag mit Datenziel DX oder

FETCH-Auftrag mit Datenquelle DB oder

FETCH-Auftrag mit Datenquelle DX

Datenziel (SEND) / Datenquelle (FETCH)

1 xxyy DB/DX-NR. xx ab DW-Nr.yy

(zulässige Bereiche s.u.)

Koordinierungsmerker (KM)

2 xxyz Byte-Nr. xx des Koordinierungsmerkers

*1

Wertebereich 00 bis FF (0 bis 255) (siehe Hinweis)

Bit-NR. z des Koordinierungsmerkers

Wertebereich 0 bis 7 oder F

CPU-Nummer y

Wertebereich 1 bis 4 (bzw. 0,F)

.

.

.

SEND-/FETCH-Auftrag mit der Auftragsnummer 2

2 3

4

5

.

.

.

.

.

.

.

.

.

SEND-/FETCH-Auftrag mit der Auftragsnummer 255

*1

255 762

763

764

Wird kein Koordinierungsmerker angegeben, so müssen Sie als Byte-Nr. FF und als Bit-Nr. F eintragen.

14-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

In der nächsten Tabelle stehen die bei einem SEND-Auftrag zulässigen

Datenbausteine und Datenwörter für das Datenziel.

SEND-Auftrag

Datenquelle

(CPU 928B)

Datenziel

(Koppelpartner)

DB

DX

DB

DX

DB

DB

DX

DX

Grenzwert für die Parametrierung eines dynamischen

Parametersatzes

Auftragstyp Datenziel KM erlaubt

AD

AD

AX

AX

DB-Nr.

DX-Nr.

3-255

3-255

3-255

3-255 ab DW-Nr.

0-255

0-255

0-255

0-255 ja ja ja ja

In der nächsten Tabelle stehen die bei einem FETCH-Auftrag zulässigen

Datenbausteine und Datenwörter für die Datenquelle.

FETCH-Auftrag

Datenquelle

(CPU 928B)

Datenziel

(Koppelpartner)

DB

DX

DB

DX

DB

DB

DX

DX

Grenzwert für die Parametrierung eines dynamischen

Parametersatzes

Auftragstyp Datenziel KM erlaubt ab DW-Nr.

AD

AD

AX

AX

DB-Nr.

DX-Nr.

3-255

3-255

3-255

3-255

0-255

0-255

0-255

0-255 ja ja ja ja

Rev. 00/27 14-19

Teil 14 Rechnerkopplung RK512

Beispiel

Handbuch VIPA CPU 928 - Band 2

In folgendem Beispiel sehen Sie, wie Sie die dynamischen Parametersätze mit den Auftragsnummern 2 und 3 parametrieren können. Die dynamischen

Parametersätze liegen im erweiterten Datenbaustein DX 3 ab DW 4.

0:

1:

2:

3:

4:

5:

6:

7:

8:

9:

10:

11:

12:

13:

14:

KH =xxxx;

KH =xxxx;

KH =xxxx;

KH =xxxx;

KH =yyyy;

KH =yyyy;

KH =yyyy;

KH =4144;

KH =0B05;

KH =6412;

KH =4558;

KH =110D;

KH =FFFF;

KH =yyyy;

KH =yyyy; gehört nicht zu den dynamischen

Paramertersätzen, beliebiger Inhalt

Auftrag mit der Auftragsnummer 1 beliebiger Inhalt, wenn die Auftragsnummer 1 nicht benötigt wird

Auftrag mit der Auftragsnummer 2

SEND-Auftrag mit Datenziel DB11 ab DW5 in CPU 1 mit KM 100.2

Auftrag mit der Auftragsnummer 3

FETCH-Auftrag mit Datenquelle DX 17 ab

DW 13 von einer CPU des Koppelpartners ohne

KM

Auftrag mit der Auftragsnummer 4 beliebiger Inhalt, muss nicht vorhanden sein, wenn keine Aufträge mit einer Auftragsnummer

4 benötigt werden.

15:

14-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Auftragsfach

Teil 14 Rechnerkopplung RK512

In der nachfolgenden Tabelle steht mit welchen Werten Sie das Auftragsfach in einem DB oder erweiterten DB hinterlegen können. Die

Parameter im Auftragsfach dürfen Sie nur dann verändern, wenn kein

Auftrag läuft.

Die Parametrierung beginnt bei dem im DX 2 parametrierten DW.

Alle Zahlenwerte sind in hexadezimaler Schreibweise dargestellt.

DW

(rel.)

Parameter

SEND-FETCH-Auftrag

0 41xx oder

Bedeutung

45xx oder

A-SEND-Auftrag mit der Auftragsnummer xx

(1 bis 255) oder

E-FETCH-Auftrag mit Auftragsnummer xx

(1 bis 255) oder

Anzeigenwort (ANZW) *1

1

2

4D00 oder

5300 oder

44xx oder

58xx xxxx

Datenquelle / Datenziel *2

3

4

5

44xx oder

58xx xxxx xxxx im Merkerbereich oder im S-Merkerbereich oder im Datenbaustein DB-Nr. xx oder im erweiterten DB DX-Nr. xx

MW-Nr., SW-Nr. oder DW-Nr.

im Datenbaustein DB-Nr. xx oder im erweiterten Datenbaustein DX-Nr. xx ab DW-Nr. xxxx

Länge der zu übertragenden Daten in Wörtern

Datenquelle / Datenziel *2

3

7

44xx oder im Datenbaustein DB-Nr. xx oder im erweiterten Datenbaustein DX-Nr. xx ab DW-Nr.xxxx

4 xxxx

5 xxxx

Parametrierfehlerbyte (PAFE - Byte)*1

Länge der zu übertragenden Daten in Wörtern

6 4D00 oder

5300 oder

44xx oder

58xx xxxx im Merkerbereich oder im S-Merkerbereich oder im Datenbaustein DB-Nr. xx oder im erweiterten Datenbaustein DX-Nr. xx

*1 Detailierte Informationen zum Anzeigenwort (ANZW) und zum

Parametrierfehlerbyte (PAFE-Byte) stehen im folgenden Abschnitt.

*2 Die zulässigen Werte stehen in den nachfolgenden Tabellen.

Rev. 00/27 14-21

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

In der nächsten Tabelle stehen die bei einem SEND-Auftrag zulässigen

Datenbausteine, Datenwörter und Längenangaben für die Datenquelle.

SEND-Auftrag

Datenquelle

(CPU 928)

Datenziel

(Koppelpartner)

DB

DX

DB

DX

DB

DB

DX

DX

Grenzwert für die Parametrierung des Auftragsfachs

Datenquelle Datenquelle Länge

(Wörter)

DB

DX

AX

AX

DB-Nr.

DX-Nr.

3-255

3-255

3-255

3-255 ab DW-Nr.

0-2047

0-2047

0-2047

0-2047

1-2048

1-2048

1-2048

1-2048

Die bei einem FETCH-Auftrag zulässigen Datenbausteine, Datenwörter und Längenangaben für das Datenziel.

FETCH-Auftrag

Datenziel

(CPU 928B)

Datenquelle

(Koppelpartner)

DB

DB

DX

DX

DB

DX

DB

DX

Grenzwert für die Parametrierung des Auftragsfachs

Datenziel Datenziel Länge

(Wörter) ab DW-Nr.

DB

DB

DX

DX

DB-Nr.

DX-Nr.

3-255

3-255

3-255

3-255

0-2047

0-2047

0-2047

0-2047

1-2048

1-2048

1-2048

1-2048

DB 6

Beispiel wie Sie ein Auftragsfach im DB 6 ab DW 2 parametrieren können.

0:

1:

2:

3:

4:

5:

6:

7:

8:

9:

10:

11:

12:

KH =xxxx;

KH =xxxx;

KH =4503;

KH =4D00;

KH =0008;

KH =5813;

KH =0014;

KH =0032;

KH =5300;

KH =0013;

KH =xxxx;

KH =xxxx; gehört nicht ins Auftragsfach , beliebiger Inhalt

FETCH-Auftrag, Auftragsnummer 3

Anzeigenwort in Merker

Merkerwort 8

Datenziel in DX 19 ab DW 20

Länge = 50 Wörter

PAFE-Byte in S-Merker

S-Merkerbyte 19 gehört nicht mehr zum Auftratsfach, beliebiger Inhalt muss nicht vorhanden sein.

14-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Koordinierungsbyte Senden

(KBS)

Mit dem KBS können Sie folgende Aufträge starten:

SEND-Auftrag

FETCH-Auftrag

• die Rechnerkopplung RK 512 zurücksetzen

Das KSB kann Merker bzw. S-Merker sein oder im einem Datenbaustein bzw. erweiterten Datenbaustein liegen. Merker und S-Merker sind in der

CPU 928B vorhanden, Datenbausteine und erweiterte Datenbausteine müssen Sie anlegen.

Darstellung im Merker- bzw. S-Merkerbereich:

MB-Nr.SY-Nr. z

MB-Nr./SY-Nr. z+1 xx

80

KBS

Darstellung im DB bzw. im erweiterten DB:

DW-Nr. z

KBS

15 xx

DL

8 7

80

DR

0

Hinweis!

Für das Koordinierungsbyte Senden (KBS) wird vom Systemprogramm ein

DW bzw. MW reserviert. Das nicht benötigte Byte wird bei Spannungswiederkehr und Neustart mit 80h belegt.

Rev. 00/27 14-23

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Das Koordinierungsbyte Senden (KBS) ist folgendermaßen aufgebaut:

7 6 5 4 3 2 1 0 Bit-Nr.

reserviert

Auftrag läuft

Auftrag fertig ohne Fehler

Auftrag fertig mit Fehler reserviert

Schnittstelle rücksetzen

SEND- oder FETCH-

Auftrag starten

Die Bits haben folgende Bedeutung:

Bit 1 "Auftrag läuft"

• wird vom Systemprogramm gesetzt, wenn ein Auftrag gestartet ist

• wird vom Systemprogramm zurückgesetzt, wenn der Auftrag beendet ist.

• können Sie auswerten, wenn Sie wissen wollen, ob es sinnvoll ist einen neuen Auftrag zu starten.

Bit 2 "Auftrag fertig ohne Fehler"

• wird vom Systemprogramm gesetzt, wenn der Auftrag ohne Fehler abgeschlossen wurde.

• können Sie nach erfolgter Auswertung zurücksetzen oder wird vom

Systemprogramm zurückgesetzt, sobald für einen neuen Auftrag das Bit

1 "Auftrag läuft" gesetzt wird.

• können Sie auswerten, wenn Sie wissen wollen, ob der Auftrag ohne

Fehler abgeschlossen wurde.

Bit 3 "Auftrag fertig mit Fehler"

• wird vom Systemprogramm gesetzt, wenn der Auftrag mit Fehler abgeschlossen wurde.

• können Sie nach erfolgter Auswertung zurücksetzen oder wird vom Systemprogramm zurückgesetzt, sobald für einen neuen

Auftrag das Bit 1 "Auftrag läuft" gesetzt wird.

• können Sie auswerten, wenn Sie wissen wollen, ob der Auftrag mit

Fehler abgeschlossen wurde.

14-24 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Bit 6 "Schnittstelle zurücksetzen"

• können Sie setzen, wenn Sie die Schnittstelle zurücksetzen wollen.

• wird vom Systemprogramm zurückgesetzt, sobald das Systemprogramm die Schnittstelle rückgesetzt hat.

Bit 7 "SEND- oder FETCH-Auftrag starten"

• können Sie zum Starten eines SEND- oder FETCH-Auftrags setzen

• wird vom Systemprogramm zurückgesetzt, sobald das Systemprogramm den SEND- oder FETCH-Auftrag beendet hat.

Wenn Sie die Schnittstelle zurücksetzen, werden die Parameter der

Sicherungsschicht des statischen Parametersatzes (ab DW 5) neu übernommen:

Modus

Priorität

Zeichenverzugszeit

Quittungsverzugszeit

Aufbauversuche

Wiederholversuche

Haben Sie KBS-Bit 6 und KBS-Bit 7 gleichzeitig gesetzt oder im zeitlichen

Abstand von

10ms bei der CPU 928, zuerst KBS-Bit 6 und dann KBS-Bit

7 gesetzt, so führt das Systemprogramm zuerst das Rücksetzen, danach den SEND-FETCH-Auftrag aus.

Haben Sie im zeitlichen Abstand von

10ms bei der CPU 928 zuerst KBS-

Bit 7 und dann KBS-Bit 6 gesetzt, wird die Reihenfolge der beiden Aufträge nicht garantiert.

Mit dem Rücksetzen brechen Sie einen laufenden Partner-SEND-/FETCH-

Auftrag ab.

Hinweis!

Die Parameter der Bit-Übertragungsschicht der Übertragungsleitung (statischer Parametersatz bis einschließlich DW 4) können Sie nur durch einen

Neustart der CPU verändern.

Ein Rücksetzen der Schnittstelle reicht dazu nicht aus.

Partner-Auftrage können Sie nicht vom Anwenderprogramm steuern.

Das Systemprogramm arbeitet sie selbständig im Hintergrund ab.

Das Systemprogramm legt die Daten (beim Partner-SEND) im Ziel-DB/DX ab, bzw. holt die Daten (beim Partner-FETCH)aus dem Quell-DB/DX. Nur mit Hilfe der Koordinierungsmerker können Sie den Datenaustausch bei

Partner-Aufträgen kontrollieren.

Rev. 00/27 14-25

Teil 14 Rechnerkopplung RK512

Koordinierungsmerker (KM)

Handbuch VIPA CPU 928 - Band 2

Mit Hilfe der Koordinierungsmerker können Sie das Überschreiben von

Daten bei einem Partner-SEND-Auftrag sperren oder freigeben. Ebenso können Sie eine Übergabe von Daten bei einem Partner-FETCH-Auftrag sperren oder freigeben. Damit ist eine konforme Datenübertragung möglich.

Wertebereich des Koordinierungsmerkers:

Byte-Nr.:

Bit-Nr.:

0 bis 255

0 bis 7

Hinweis!

Überprüfen Sie bei der Parametrierung eines Koordinierungsmerkers, ob der Koppelpartner diesen auch auswerten kann.

Haben Sie z.B. einen CP544 oder CP 524/525 als Koppelpartner, so darf die Bytenummer des Koordinierungsmerkers nur die Werte 1 bis 223 annehmen.

Jeder Koordinierungsmerker belegt ein Merkerbit im Merkerbereich der

CPU. Sie können keine S-Merker als Koordinierungsmerker benutzen.

Die Daten werden zwischen den Partnern in Form von Telegrammen ausgetauscht. Sendet der Partner ein SEND- oder FETCH-Telegramm mit einem Koordinierungsmerker an die CPU, überprüft die CPU, ob der

Koordinierungsmerker bei ihr gesetzt ist.

Ist der Koordinierungsmerker nicht gesetzt, werden die Daten des

Partners übernommen oder an den Partner übergeben. Danach setzt das

Systemprogramm den Koordinierungsmerker.

Ist der Koordinierungsmerker gesetzt, lehnt die CPU die Datenübergabe mit dem Partner ab und sendet ein Reaktionstelegramm mit Fehlernummer an den Partner zurück.

Hinweis!

Sie müssen nach dem Auswerten der Daten den Datenbereich wieder freigeben, indem Sie den Koordinierungsmerker im Anwenderprogramm wieder zurücksetzen.

14-26 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Beispiel

Teil 14 Rechnerkopplung RK512

Telegramm mit Koordinierungsmerker M 57.1

M 57.1

gesetzt?

ja nein

Daten werden nicht übernommen/

übergeben

Daten werden

übernommen/

übergeben

M 57.1

wird gesetzt

Reaktionstelegramm zum Partner

Reaktionstelegramm mit Fehlernummer zum Partner

Achtung!

Sonderfall FETCH:

Nach dem Setzen des Koordinierungsmerkers durch das Systemprogramm müssen die Daten vom Kommunikationsprozessor übertragen werden.

Der gesetzte Koordinierungsmerker garantiert nicht, dass der

Koppelpartner die Daten auch fehlerfrei empfangen hat.

Rev. 00/27 14-27

Teil 14 Rechnerkopplung RK512

Inbetriebnahme

Handbuch VIPA CPU 928 - Band 2

Voraussetzung

Sie haben das Schnittstellenmodul in die CPU eingebaut, die CPU steckt im ZG-Rahmen und die Spannung ist ausgeschaltet.

Vorgehensweise

Für die Inbetriebnahme der Rechnerkopplung RK 512 empfehlen wir folgende Vorgehensweise:

Schritt Handlung

1

2

3

Verbinden Sie die CPU mit dem Partner (mit einer Standard-

Steckleitung).

Schalten Sie die Versorgungsspannung ein.

Übertragen Sie Ihr Anwenderprogramm zur CPU.

Das Anwenderprogramm muss folgende Datenbausteine oder erweiterte Datenbausteine enthalten, die die

Schnittstelle

SI 2 als RK 512 parametrieren:

DX 2

DB/DX mit dem statischen Parametersatz

DB/DX mit dem dynamischen Parametersätzen *1

DB/DX mit dem Auftragsfach *1

DB/DX mit dem KBS (nur wenn das KBS in einem DB/DX liegt) *2

4

5

Führen Sie einen Neustart durch.

Bereiten Sie den Partner ebenfalls auf die Rechnerkopplung

RK 512 vor.

*1 Nur wenn die CPU selbst aktive Aufträge anstößt

*2 Falls KBS ein MW oder S-MW ist, ist es bereits in der CPU vorhanden.

14-28 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Ablauf

Das Systemprogramm prüft bei Neustart oder

Spannungswiederkehr das Vorhandensein von

DX 2 dem statischen Parametersatz

KBS und die korrekte Parametrierung von DX 2

Vorhanden und korrekt parametriert

DX 2 vorhanden und nicht korrekt parametriert

Die CPU bleibt in "STOP" Das Systemprogramm initialisiert die Schnittstelle

SI 2 für die Rechnerkopplung

RK 512

Die rote LED SI 2 erlischt, sobald die Rechnerkopplung

RK 512 betriebsbereit ist

Das Systemprogramm setzt das KBS-Bit 7 zurück (d.h.

kein SEND- oder FETCH-

Auftrag läuft)

Zusätzlich zur STOP-LED leuchtet die rote LED SI 2

Das Systemprogramm gibt eine Fehlermeldung in BS3 und BS4 aus

Die Rechnerkopplung RK

512 ist betriebsbereit

Rev. 00/27 14-29

Teil 14 Rechnerkopplung RK512

Betrieb

Handbuch VIPA CPU 928 - Band 2

Voraussetzung

Die Schnittstelle SI 2 ist für die Rechnerkopplung RK 512 parametriert.

Die LED SI 2 leuchtet nicht. Die RK 512 ist betriebsbereit.

Arbeitsweise

Das Systemprogramm prüft jetzt ständig, ob das Koordinierungsbyte Senden (KBS) vorhanden ist. Ist es nicht vorhanden (z.B. weil der DB/DX gelöscht wurde), ruft das Systemprogramm den OB 35 auf.

Die Fehlernummer wird in AKKU 1 eingetragen.

Das Systemprogramm bearbeitet jetzt die Aufträge, die Sie in Ihrem

Anwenderprogramm programmiert haben, bzw. die Aufträge, die von Ihrem

Partner angestoßen werden. Wie Sie die Aufträge in Ihrem Anwenderprogramm programmieren müssen, erfahren Sie in diesem Kapitel.

SEND/FETCH-

Auftrag

Wenn Sie einen SEND/FETCH-Auftrag programmieren wollen, beachten

Sie folgenden Ablauf.

Auftrag starten

KBS-Bit 7 prüfen

Bit 7 gesetzt, es läuft ein

Auftrag

Das Auftragsfach, die

Quelldaten (bei SEND), der dynamische Parametersatz und das KBS dürfen nicht verändert werden.

Bit 7 ist zurückgesetzt, es läuft kein Auftrag

Parametrieren Sie zuerst das Auftragsfach und wählen über die

Auftragsnummer den zugehörigen dynamischen

Parametersatz

Warten Sie, bis dieser

Auftrag beendet ist

Starten Sie den SENDoder FETCH-Auftrag durch

Setzen von KBS-Bit 7

Das Systemprogramm bearbeitet jetzt Ihren

Auftrag

14-30 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Das nachfolgende Diagramm zeigt, welche Reaktionen auftreten können, wenn das KSB-Bit 7 gesetzt ist und das Systemprogramm Ihren Auftrag bearbeitet.

KBS-Bit 7 ist gesetzt

Das Auftragsfach und der dynamische

Parametersatz sind vorhanden und die

Parametrierungen sind korrekt und innerhalb der Auftragsgrenzen

Der Auftrag wird bearbeitet. Das Systemprogramm beginnt mit der

Datenübertragung bzw. fordert Daten an

Der Auftrag wurde fehlerfrei beendet

Das Systemprogramm hat:

- die Daten beim

SEND-Auftrag aus dem Quellbaustein zum

Zielbaustein beim Partner

übertragen, bzw. die Daten beim FETCH-

Auftrag aus dem Quellbaustein beim

Partner in den

Zielbaustein

übertragen

- das KBS-Bit 7 zurückgesetzt.

Der Aufrag wurde mit einem Fehler beendet

Das Systemprogramm hat:

- den OB 35 aufgerufen:

AKKU 1 enthält die

Fehlernummer

- im ANZW das Bit

"Auftrag fertig mit

Fehler" gesetzt und eine Fehlernummer eingetragen

- das KBS-Bit 7 zurückgesetzt

Das Auftragsfach oder der dynamische Parametersatz sind nicht vorhanden oder die

Parametrierungen sind nicht korrekt oder außerhalb der

Auftragsgrenzen

Das Systemprogramm hat:

- den Auftrag nicht bearbeitet

- bei korrekter PAFE-

Byte-Parametrierung und Auftreten eines

Parameterfehlers in

Zusammenhang mit dem Auftragsfach eine

Fehlermeldung in das

Parametrierfehlerbyte

(PAFE) eingetragen

- bei korrektem ANZW eine Fehlermeldung eingetragen und das

Bit "Auftrag fertig mit

Fehler" im ANZW gesetzt

- den OB 35 aufgerufen und eine

Fehlernummer in

AKKU 1 eingetragen

- das KBS-Bit 7 zurückgesetzt

Rev. 00/27 14-31

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Hinweis!

Sie dürfen erst dann einen neuen Auftrag starten, wenn der vorangegangene beendet ist.

Schnittstelle rücksetzen

Sie haben das KBS-Bit 6 gesetzt und damit einen Rücksetz-Auftrag abgegeben. Das nachfolgende Diagramm zeigt die möglichen Reaktionen.

KBS-Bit 6 gesetzt

Die CPU bearbeitet gerade einen Partner-Auftrag

Die CPU bearbeitet keinen

Partner-Auftrag

- Der Partner-Auftrag wird mit Fehler abgebrochen

- Der OB 35 wird aufgerufen:

AKKU 1 enthält die

Fehlernummer zu dem abgebrochenen Partner-

Auftrag

- Die statischen Parameter ab DW 5 werden übernommen und ausgewertet

- Wenn das Rücksetzen beendet ist, wird das

KBS-Bit 6 zurückgesetzt

-

- Die statischen Parameter ab DW 5 werden übernommen und ausgewertet

- Wenn das Rücksetzen beendet ist, wird das

KBS-Bit 6 zurückgesetzt

Partner-Auftrag

Partner-Aufträge werden nicht vom Anwenderprogramm sondern vom

Systemprogramm selbständig im Hintergrund bearbeitet. Um sicherzugehen, dass das Systemprogramm dabei nur mit konformen Daten arbeitet, können Sie in Ihrem Anwenderprogramm mit Hilfe der Koordinierungsmerker verhindern, dass Daten überschrieben (Partner-SEND) oder gelesen (Partner-FETCH) werden.

14-32 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Das folgende Diagramm zeigt, welche Situationen nach Ablauf eines

Partner-Auftrages auftreten kann

Partner-Auftrag läuft

Die CPU ist nicht in STOP oder

Wartezustand (Bearbeitungskontrolle)

Die CPU ist in STOP oder Wartezustand

(Bearbeitungskontrolle)

Der Partner-Auftrag wird ohne

Fehler beendet

Das Systemprogramm hat beim

- Partner-SEND die Daten des

Partners in den

Zielbaustein

übertragen

- Partner-FETCH die Daten aus dem Quellbaustein geholt und an den

Partner gesendet

Der Partner-Auftrag wird mit

Fehler beendet

Das Systemprogramm hat

- den Partner-Auftrag mit Fehler abgebrochen

- den OB 35 aufgerufen:

AKKU 1 enthält die Fehlernummer

Das Systemprogramm hat

- den Partner-Auftrag mit

Fehler abgebrochen

- ein Reaktionstelegramm mit Fehlernummer an den

Partner geschickt

- ein Reaktionstelegramm mit

Fehlernummer an den Partner geschickt

- nach Verlassen des

STOP- oder Wartezustandes den OB 35 aufgerufen:

AKKU 1 enthält die

Fehlernummer

Rev. 00/27 14-33

Teil 14 Rechnerkopplung RK512

Verhalten bei speziellen

Betriebszuständen

Stoppzustand

Handbuch VIPA CPU 928 - Band 2

Im Betriebszustand "STOP" findet keine Anwenderprogrammbearbeitung statt, d.h. Sie können keinen neuen Auftrag starten. Beim Übergang vom

Betriebszustand "RUN" in den Betriebszustand "STOP" gilt für einen bereits laufenden, vom Anwenderprogramm angestoßenen Auftrag:

Der Auftrag wird mit Fehler abgebrochen, wenn noch Daten zwischen dem Betriebssystem-Prozessor und dem Dual-Port-RAM transferiert werden müssen.

Der Auftrag wird normal beendet, wenn keine Daten mehr zwischen dem Betriebssystem-Prozessor und dem Dual-Port-RAM transferiert werden müssen.

Stößt der Koppelpartner im Betriebszustand "STOP" einen Auftrag an, wird dieser negativ quittiert. Eine entsprechende Fehlermeldung wird in den

Fehlerbereich der Schnittstelle eingetragen.

Beim Übergang vom Betriebszustand "RUN" in den Betriebszustand

"STOP" wird ein bereits laufender, vom Koppelpartner angestoßener

Auftrag mit Fehler abgebrochen, d. h. negativ quittiert. Eine entsprechende

Fehlermeldung wird in den Fehlerbereich der Schnittstelle eingetragen.

Wartezustand

Die CPU nimmt bei der PG-Online-Funktion "BEARBEITUNGS-

KONTROLLE" den Betriebszustand "Wartezustand" ein. Im "Wartezustand" findet keine Anwenderprogrammbearbeitung statt, d.h. Sie können keinen neuen Auftrag starten. Ein bereits laufender, vom Anwenderprogramm angestoßener Auftrag wird nach Beendigung des Betriebszustandes "Wartezustand" fortgesetzt und abgeschlossen.

Stößt der Koppelpartner im Betriebszustand "Wartezustand" einen Auftrag an, wird dieser negativ quittiert. Eine entsprechende Fehlermeldung wird in den Fehlerbereich der Schnittstelle eingetragen. Bei Eintritt in den Betriebszustand "Wartezustand" wird ein bereits laufender, vom Koppelpartner angestoßener Auftrag mit Fehler quittiert. Eine entsprechende

Fehlermeldung wird in den Fehlerbereich der Schnittstelle eingetragen.

14-34 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Fehlerbearbeitung

Teil 14 Rechnerkopplung RK512

Fehler werden Ihnen durch eine Fehlernummer gemeldet:

Im Anzeigenwort ANZW

• im PAFE-Byte

• bei Aufruf des OB 35 in AKKU 1 mit einer Fehlernummer

Fehler bei der Bearbeitung eines Partner-Auftrags (Partner-SEND/Partner-

FETCH) werden an den Partner mit einer Fehlernummer im Reaktionstelegramm REATEL gemeldet

Anzeigenwort

(ANZW)

15 12 11

Das Anzeigenwort müssen Sie im Auftragsfach angeben. Es kann ein

Merker, S-Merker oder Datenwort in einem DB oder erweiterten DB sein.

Merker und S-Merker sind in der CPU immer vorhanden, Datenbausteine und erweiterte Datenbausteine müssen Sie zuerst anlegen.

Ins Anzeigenwort werden vom Systemprogramm Informationen über den

Status der Auftragsbearbeitung eingetragen (z.B. "Auftrag läuft" oder

"Auftrag fertig ohne/mit Fehler"). Wenn der Auftrag mit einem Fehler beendet wurde, steht im Bit 8 bis 11 zusätzlich eine Fehlernummer. Mit

Hilfe dieser Fehlernummer können Sie den Fehler schneller lokalisieren und beseitigen.

8 7 6 5 4 3 2 1 0 Bit-Nr.

reserviert

Auftrag läuft

Auftrag fertig ohne Fehler

Auftrag fertig mit Fehler reserviert

Datenübergabe fertig bei SEND-Auftrag

Datenübergabe fertig bei FETCH-Auftrag reserviert

Fehlernummer reserviert

Rev. 00/27 14-35

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Beschreibung der einzelnen Bits bzw. Bitgruppen, sofern sie nicht reserviert sind:

Bit 1 "Auftrag läuft"

• wird vom Systemprogramm gesetzt, wenn ein Auftrag gestartet (KBS-Bit

7 gesetzt) ist;

Voraussetzung ist, dass das Auftragsfach richtig parametriert ist.

• wird vom Systemprogramm zurückgesetzt, wenn der Auftrag beendet ist.

• können Sie auswerten, wenn Sie wissen wollen, ob es sinnvoll ist einen neuen Auftrag zu starten.

Bit 2 "Auftrag fertig ohne Fehler"

• wird vom Systemprogramm gesetzt, wenn der Auftrag ohne Fehler abgeschlossen ist.

• können Sie nach erfolgter Auswertung zurücksetzen oder wird vom

Systemprogramm zurückgesetzt, sobald für einen neuen Auftrag mit dem gleichen ANZW das Bit 1 "Auftrag läuft" gesetzt wird.

• skönnen Sie auswerten, wenn Sie wissen wollen, ob der Auftrag ohne

Fehler abgeschlossen wurde.

Bit 3 "Auftrag fertig mit Fehler"

• wird vom Systemprogramm gesetzt, wenn der Auftrag mit Fehler abgeschlossen wurde. In diesem Fall ist in Bit 8 bis 11 eine

Fehlernummmer eingetragen.

• können Sie nach erfolgter Auswertung zurücksetzen oder wird vom

Systemprogramm rückgesetzt, sobald für einen neuen Auftrag mit dem gleichen ANZW das Bit 1 "Auftrag läuft" gesetzt wird.

• können Sie auswerten, wenn Sie wissen wollen, ob der Auftrag mit

Fehler abgeschlossen wurde. Aus Bit 8 bis 11 des Anzeigenwortes können Sie eine Fehlernummer entnehmen, welche die Ursache beschreibt.

14-36 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Bit 5 "Datenübergabe fertig bei SEND-Auftrag"

• wird vom Systemprogramm gesetzt, wenn die Daten bei einem SEND-

Auftrag vollständig aus der Datenquelle geholt wurden.

• können Sie nach erfolgter Auswertung zurücksetzen oder wird vom

Systemprogramm rückgesetzt, sobald für einen neuen Auftrag, dem Sie ebenfalls dieses Anzeigenwort zugewiesen haben, Daten aus der

Datenquelle geholt werden.

• können Sie auswerten, wenn Sie wissen wollen, ob die Daten bereits vollständig aus der Datenquelle geholt wurden. Sie können danach die

Datenquelle wieder beschreiben, obwohl der SEND-Auftrag noch läuft.

Bit 6 "Datenübernahme fertig bei FETCH-Auftrag"

• wird vom Systemprogramm gesetzt, wenn die Daten bei einem FETCH-

Auftrag vollständig ins Datenziel üertragen wurden.

• können Sie nach erfolgter Auswertung zurücksetzen oder wird vom

Systemprogramm zurückgesetzt, sobald für einen neuen Auftrag, dem

Sie ebenfalls dieses Anzeigenwort zugewiesen haben, Daten ins

Datenziel übertragen werden.

• können Sie auswerten, wenn Sie wissen wollen, ob die Daten bereits vollständig ins Datenziel übertragen wurden. Sie können danach die angeforderten Daten auswerten, obwohl der FETCH-Auftrag noch läuft.

Bit 8 bis 11 "Fehlernummer"

Ist Bit 3 = 1 ("Auftrag fertig mit Fehler") ist zusätzlich eine Fehlernummer eingetragen.

Das Parametrierfehlerbyte (PAFE-

Byte)

Das Parametrierfehlerbyte müssen Sie im Auftragsfach angeben. Es kann ein MB, S-MB oder DW (rechtes Datenbyte) in einem DB oder erweiterten

DB sein.

Merker und S-Merker sind immer vorhanden, Datenbausteine und erweiterte Datenbausteine müssen Sie zuerst anlegen.

Das PAFE-Byte zeigt Fehler an, die unmittelbar mit der Parametrierung

im Auftragsfach zusammenhängen.

7 6 5 4 3 2 1 0

0 = kein Fehler

1 = Fehler reserviert

Fehlernummer

Wenn im PAFE-Byte Bit 0 = 1, ist im Bit 4 bis 7 eine Fehlernummer hexadezimal eingetragen.

Rev. 00/27 14-37

Teil 14 Rechnerkopplung RK512

Datenaustausch

Handbuch VIPA CPU 928 - Band 2

Der Datenaustausch zwischen den Partner findet auf drei Ebenen statt.

Hardware-Ebene (Bit-Übertragungsschicht)

Prozedur-Ebene (Sicherungssichicht)

Telegramm-Ebene (Transportschicht)

Hardware-Ebene

Hardware-Ebene umfasst die physikalischen Bedingungen der Daten-

übertragung. In die CPU 928 können Sie verschiedenen Schnittstellenmodule stecken. (20 mA, RS 232C-Modul oder RS422).

Prozedur-Ebene

Sämtliche Telegramme der RK 512 (Befehls- und Reaktionstelegramme) werden von der Prozedur-Ebene der Rechnerkopplung übertragen, d.h. mit der Prozedur 3964(R) gesendet oder empfangen. Die Prozedur verpackt die Telegramme mit einer Start- bzw. Endesequenz, versieht die entstehenden Datenblöcke mit einem Prüfzeichen (nur bei der Prozedur

3964R) und wickelt selbständig Telegrammwiederholungen ab bei fehlerhafter Telegrammquittung des Empfängers.

14-38 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Telegramm-

Ebene

Teil 14 Rechnerkopplung RK512

Die Telegramm-Ebene entspricht der Transportschicht des ISO/OSI-

Schichtenmodells.

Die CPU 928 sendet ein Befehlstelegramm an den Partner. Dieser sendet ein Reaktionstelegramm an die CPU zurück.

CPU 928B/C Partner

Befehlstelegramm

Reaktionstelegramm

Befehlstelegramme sind entweder SEND-Telegramme (bei einem SEND-

Auftrag) oder FETCH-Telegramme (bei einem FETCH-Auftrag).

Das SEND-Telegramm besteht aus einem Telegrammkopf und Daten.

Bei einem SEND-Telegramm sendet der Partner ein Reaktionstelegramm ohne Daten.

CPU 928B/C

SEND-Telegramm

Telegrammkopf und Daten

Reaktionstelegramm ohne Daten

Partner

Rev. 00/27 14-39

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Das FETCH-Telegramm besteht nur aus dem Telegrammkopf. Bei einem

FETCH-Telegramm sendet der Partner ein Reaktionstelegramm mit Daten.

CPU 928B/C Partner

FETCH-Telegramm

Telegrammkopf

Reaktionstelegramm mit Daten

Überschreitet die Datenmenge 128 Byte, so werden bei allen Telegrammtypen Folgetelegramme gesendet.

CPU 928B/C

Befehlstelegramm

Reaktionstelegramm

Folge-Befehlstelegramm

Folge-Reaktionstelegramm

Partner

14-40 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Aufbau der

Befehlstelegramme

Teil 14 Rechnerkopplung RK512

Bei der RK 512 gibt es zwei Arten von Befehlstelegrammen, SEND-

Telegramme und FETCH-Telegramme.

Das SEND-Telegramm besteht aus Telegrammkopf und Daten, das

FETCH-Telegramm nur aus dem Telegrammkopf.

Der Telegrammkopf besteht aus 10 Byte. Er enthält bei einem SEND-

Telegramm Angaben über das Datenziel, beim FETCH-Telegramm Angaben über die Datenquelle.

Aufbau des Telegrammkopfes

Alle Werte sind in hexadezimaler Schreibweise dargestellt.

Byte Inhalt

1

2

3

4

5

6

7

8

9

10

00 oder

FF

00

41

4F

45

44

58

Bedeutung bei Befehlstelegrammen bei Folge-Befehlstelegrammen

"A" - für SEND-Auftrag mit Ziel DB oder

"O" - für SEND-Auftrag mit Ziel DX oder

"E" - für FETCH-Auftrag zu übertragenden Daten sind aus DB zu übertragenden Daten sind aus DX xx DB/DX-Nr.

Datenziel bei SEND-Auftrag,

Datenquelle bei FETCH-Auftrag xx ab DW-Nr.

Datenziel bei SEND-Auftrag,

Datenquelle bei FETCH-Auftrag xx Länge High-byte Länge der zu übertragenden xx Länge Low-byte Daten in Wörter xx Koordinierungsmerker - Bytenummer, wenn Sie keinen Koordinierungsmerker angegeben haben, dann steht hier FFh.

xx Bit 0 bis 3: Koordinierungsmerker -Bitnummer, wenn

Sie keinen Koordinierungsmerker angegeben haben, dann steht hier Fh.

Bit 4 bis 7: CPU-Nummer des Partners (Zahl von 1 bis

4) wenn Sie keine CPU-Nr., aber einen KM angegeben haben, dann steht hier 0h.

wenn Sie keine CPU-Nr., aber keinen KM angegeben haben, dann steht hier Fh

Hinweis!

Der Telegrammkopf eines Folge-SEND- oder Folge-FETCH-Telegramms besteht nur aus Byte 1 bis 4.

Rev. 00/27 14-41

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Nachdem das Befehlstelegramm übertragen wurde, erwartet die RK 512 innerhalb einer Überwachungszeit ein Reaktionstelegramm des Partners.

Die Überwachungszeit ist abhängig von der Baudrate (bit/s).

ab 1200 bis 38400 Baud

600 Baud

300 Baud

150 Baud

110 Baud

5s

7s

10s

15s

10s

Die Baudrate legen Sie im statischen Parametersatz fest.

Aufbau des

Reaktionstelegrammes

Das Reaktionstelegramm ohne Daten besteht aus 4 Byte und enthält Informationen über den Verlauf des Auftrages.

Alle Werte sind in Hexadezimaler Schreibweise dargestellt.

Byte Inhalt

1

2

3

4

00 oder

FF

00

Bedeutung bei Befehlstelegrammen bei Folge-Befehlstelegrammen

00

00 oder xx Fehlernummer vom Partner

Das Reaktionstelegramm mit Daten (bei FETCH) enthält zusätzlich ab Byte

5 die Daten.

14-42 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Telegrammbeschreibung

Detaillierter

Ablauf eines

SEND-Auftrages

CPU 928B/C

Teil 14 Rechnerkopplung RK512

SEND-Telegramm

Reaktionstelegramm

Folge-SEND-Telegramm

Folge-Reaktionstelegramm

.

.

.

Partner

SEND-Telegramme und Reaktionstelegramme laufen in folgender Reihenfolge ab:

Aktiver Partner:

Passiver Partner:

Aktiver Partner:

Passiver Partner:

.

.

.

Sendet ein SEND-Telegramm ab. Dieses enthält den Telegrammkopf und Daten.

Empfängt das Telegramm, überprüft den

Telegrammkopf und die Daten und quittiert mit einem Reaktionstelegramm.

Empfängt das Reaktionstelegramm.

Wenn die Nutzdatenmenge 128 Byte

überschreitet, sendet er ein Folge-SEND-

Telegramm. Dieses enthält Byte 1 bis 4 des

Telegrammkopfes und weitere Daten.

Empfängt das Folge-SEND-Telegramm,

überprüft den Telegrammkopf und die Daten und quittiert mit einem Folge-Reaktionstelegramm.

.

.

.

Folge-SEND-Telegramme und Folge-Reaktionstelegramme werden gesendet, wenn die Nutzdatenmenge 128 Byte überschreitet. Das erste Byte im Telegrammkopf von Folge-SEND- bzw. Folge-Reaktionstelegrammen ist zur Kennzeichnung jeweils FFh statt 00h.

Falls das SEND-Telegramm nicht fehlerfrei empfangen wurde, trägt der

Partner eine Fehlernummer ins 4. Byte des Reaktionstelegramms ein.

Rev. 00/27 14-43

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Unten finden Sie den detailierten Ablauf eines SEND-Telegramms mit

Reaktionstelegramm. Das SEND-Telegramm hat eine Nutzdatenlänge von höchstens 128 Byte und ist störungsfrei verlaufen (das 4.Byte im Reaktionstelegramm enthält keine Fehlernummer).

Bedeutung

SEND-Telegramm

Startzeichen pos. Quittung

Ablauf eines störungsfreien SEND-Telegramms mit Reaktionstelegramm bei RK 512 mit der Prozedur 3964

CPU 928 Partner

Inhalt

SEND-Auftrag

Datenbaustein

Datenziel DB 10

Länge kein KM alle CPUs

DW 01

50 DW

1. Datenbyte

2. Datenbyte

.

.

n. Datenbyte

Endekennung

Endekennung pos. Quittung

Reaktionstelegramm

Startzeichen pos. Quittung

STX

DLE

02h

10h

1. Byte

2. Byte

3. Byte

4. Byte

5. Byte

6. Byte

00h

00h

41h

44h

0Ah

01h

7. Byte

8. Byte

00h

32h

9. Byte FFh

10.Byte

FFh

11. Byte

12. Byte

.

.

x. Byte

DLE

ETX

DLE

10h

03h

10h

Telegrammkopf

Nutzdaten

Fehlernummer

Endekennung

Endekennung pos. Quittung

STX

DLE

1. Byte

2. Byte

3. Byte

4. Byte

DLE

ETX

DLE

02h

10h

00h

00h

00h

00h

10h

03h

10h

14-44 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Blockprüfsumme

Beachten Sie, dass bei der Prozedur 3964R nach den Endekennungen

DLE und ETX noch die Blockprüfsumme "BCC" (Längsparität) gesendet wird.

Das Folge-SEND-Telegramm hat eine Nutzdatenlänge von höchstens 128

Byte und ist störungsfrei verlaufen (das 4.Byte im Folge-Reaktionstelegramm enthält keine Fehlernummer).

Bedeutung

Folge-SEND-Telegramm

Startzeichen pos. Quittung

Folgetelegramm

SEND-Auftrag

Datenbaustein

129. Datenbyte

130. Datenbyte

.

.

n. Datenbyte

Endekennung

Endekennung pos. Quittung

Folge-

Reaktionstelegramm

Startzeichen pos. Quittung

Folge-Reaktionstelegramm

Fehlernummer

Endekennung

Endekennung pos. Quittung

Ablauf eines störungsfreien Folge-SEND-Telegramms mit Reaktionstelegramm bei RK 512 mit der Prozedur 3964

CPU 928 Partner

Inhalt

STX

DLE

1. Byte

2. Byte

3. Byte

4. Byte

5. Byte

6. Byte

.

.

x. Byte

DLE

ETX

DLE

STX

DLE

1. Byte

2. Byte

3. Byte

4. Byte

DLE

ETX

DLE

02h

10h

FFh

00h

41h

44h

10h

03h

10h

02h

10h

FFh

00h

00h

00h

10h

03h

10h

Telegramm kopf

Nutzdaten

Rev. 00/27 14-45

Teil 14 Rechnerkopplung RK512

CPU 928B/C

Detaillierter

Ablauf eines

FETCH-

Auftrages

Handbuch VIPA CPU 928 - Band 2

FETCH-Telegramm

Reaktionstelegramm mit Daten

Partner

Folge-FETCH-Telegramm

Folge-Reaktionstelegramm mit Daten

.

.

.

FETCH-Telegramme und Reaktionstelegramme laufen in folgender

Reihenfolge ab:

Aktiver Partner:

Passiver Partner:

Aktiver Partner:

Passiver Partner:

.

.

.

Sendet ein FETCH-Telegramm ab. Dieses enthält den Telegrammkopf.

Empfängt das Telegramm, überprüft den

Telegrammkopf und quittiert mit einem

Reaktionstelegramm. Dieses enthält Daten.

Empfängt das Reaktionstelegramm.

Wenn die Nutzdatenmenge 128 Byte

überschreitet, sendet er ein Folge-FETCH-

Telegramm. Dieses enthält Byte 1 bis 4 des

Telegrammkopfes.

Empfängt das Folge-FETCH-Telegramm,

überprüft den Telegrammkopf und quittiert mit einem Folge-Reaktionstelegramm.

Dieses enthält weitere Daten.

.

.

.

Folge-FETCH-Telegramme und Folge-Reaktionstelegramme werden gesendet, wenn die Nutzdatenmenge 128 Byte überschreitet. Das erste Byte im Telegrammkopf von Folge-FETCH- bzw. Folge-Reaktionstelegrammen ist zur Kennzeichnung jeweils FFh statt 00h.

Falls das FETCH-Telegramm nicht fehlerfrei empfangen wurde, trägt der

Partner eine Fehlernummer ins 4. Byte des Reaktionstelegramms ein. Die angeforderten Daten werden dann nicht übertragen.

Auf der folgenden Seite finden Sie den detailierten Ablauf eines FETCH-

Telegramms mit Reaktionstelegramm. Das Reaktionstelegramm beim

FETCH hat eine Nutzdatenlänge von höchstens 128 Byte und ist

störungsfrei verlaufen (das 4.Byte im Reaktionstelegramm enthält keine

Fehlernummer).

14-46 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 14 Rechnerkopplung RK512

Bedeutung

FETCH-Telegramm

Startzeichen pos. Quittung

Ablauf eines störungsfreien FETCH-Telegramms mit Reaktionstelegramm bei RK 512 mit der Prozedur 3964

CPU 928 Partner

Inhalt

FETCH-Auftrag

Datenbaustein

Datenquelle DB 100

DW 100

Länge

KM=M10.7

nur CPU 1

Endekennung

Endekennung pos. Quittung

50 DW

Reaktionstelegramm mit

Daten

Startzeichen pos. Quittung

STX

DLE

02h

10h

1. Byte

2. Byte

3. Byte

4. Byte

5. Byte

00h

00h

45h

44h

64h

6. Byte

7. Byte

8. Byte

9. Byte

64h

00h

32h

0Ah

10.Byte

17h

DLE

ETX

DLE

10h

03h

10h

Telegrammkopf

Fehlernummer

1. Datenbyte

2. Datenbyte

.

.

n. Datenbyte

Endekennung

Endekennung pos. Quittung

STX

DLE

1. Byte

2. Byte

3. Byte

4. Byte

5. Byte

6. Byte

.

.

x. Byte

DLE

ETX

DLE

02h

10h

00h

00h

00h

00h

10h

03h

10h

Nutzdaten

Rev. 00/27 14-47

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

Blockprüfsumme

Beachten Sie, dass bei der Prozedur 3964R nach den Endekennungen

DLE und ETX noch die Blockprüfsumme "BCC" (Längsparität) gesendet wird.

Das Folge-FETCH-Telegramm hat eine Nutzdatenlänge von höchstens

128 Byte und ist störungsfrei verlaufen (das 4.Byte im Folge-Reaktionstelegramm enthält keine Fehlernummer).

Ablauf eines störungsfreien Folge-FETCH-Telegramms mit Folge-

Reaktionstelegramm bei RK 512 mit der Prozedur 3964

CPU 928 Partner

Bedeutung

Folge-FETCH-Telegramm

Startzeichen pos. Quittung

Folgetelegramm

FETCH-Auftrag

Datenbaustein

Endekennung

Endekennung pos. Quittung

Folge-

Reaktionstelegramm

Startzeichen pos. Quittung

Folge-Reaktionstelegramm

Fehlernummer

129. Datenbyte

130. Datenbyte

.

.

n. Datenbyte

Endekennung

Endekennung pos. Quittung

Inhalt

STX

DLE

1. Byte

2. Byte

3. Byte

4. Byte

DLE

ETX

DLE

STX

DLE

1. Byte

2. Byte

3. Byte

4. Byte

5. Byte

6. Byte

.

.s

x. Byte

DLE

ETX

DLE

02h

10h

FFh

00h

45h

44h

10h

03h

10h

02h

10h

FFh

00h

00h

00h

10h

03h

10h

Telegrammkopf

Nutzdaten

14-48 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Quasi-

Vollduplexbetrieb

Teil 14 Rechnerkopplung RK512

Quasi-Vollduplex bedeutet: die Partner können zu beliebigen Zeitpunkten

Telegramme senden, außer wenn der Partner gerade sendet.

Falls beide Partner gleichzeitig senden wollen, kann beispielsweise vor dem Reaktionstelegramm des Partners ein Befehlstelegramm eintreffen.

Im folgenden Beispiel wird das erste Folge-Reaktionstelegramm (*) des

Partners zum ersten Folge-SEND-Telegramm erst nach dem SEND-

Telegramm des Partners gesendet.

CPU 928B/C

SEND-Telegramm

Reaktionstelegramm

1.Folge-SEND-Telegramm

SEND-Telegramm d. Patners

1.Folge-Reaktionstelegramm (*)

Partner

2.Folge-SEND-Telegramm

Reaktionstelegramm

2.Folge-Reaktionstelegramm

Rev. 00/27 14-49

Teil 14 Rechnerkopplung RK512 Handbuch VIPA CPU 928 - Band 2

14-50 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Teil 15 Datenübertragung 3964(R)

Teil 15 Datenübertragung 3964(R)

Überblick Die zweite Schnittstelle SI 2 der CPU 928 können Sie nutzen als Schnittstelle für die Punkt-zu-Punkt-Kommunikation mit den Prozeduren 3964 oder 3964R.

Die Prozeduren 3964 bzw. 3964R der CPU 928 verwendet den identischen

Telegrammaufbau wie die Kommunikationsprozessoren SSM BG4xD

Nachfolgend sind beschrieben:

Einführung - Einbindung ins Anwenderprogramm

Parametrierungen - statischer Parametersatz

Betrieb - SEND-, Partner-SEND-Aufträge

Prozeduren - Beispiele Senden, Empfangen.

Inhalt Thema Seite

Teil 15 Datenübertragung 3964(R) ......................................................15-1

Einführung 3964 und 3964R ...............................................................15-2

Parametrierung ...................................................................................15-9

Inbetriebnahme.................................................................................15-22

Betrieb ..............................................................................................15-24

Prozeduren .......................................................................................15-30

Rev. 00/27 15-1

Teil 15 Datenübertragung 3964(R)

Einführung 3964 und 3964R

Handbuch VIPA CPU 928 - Band 2

Mit den Prozedur 3964 / 3964R können zwischen zwei Punkt-zu Punkt gekoppelten Kommunikationspartnern Daten ausgetauscht werden.

Zur Vereinfachung werden in diesem Kapitel die Prozeduren 3964 und

3964R zu einem Ausdruck 3964(R) zusammengefasst sofern die

Beschreibung sich auf beide Prozeduren bezieht.

Die Datenübertragung mit der Prozedur 3964(R) gewährleistet größtmögliche Übertragungssicherheit, da die Übertragung mit dieser Prozedur folgende Schichten des ISO/OSI-Schichtenmodelles (ISO IS 7498) umfasst:

Bit-Übertragungsschicht (Schicht 1):

In dieser Schicht wird die physikalische Übertragung der Datenbytes festgelegt (Physik, Baudrate,...).

Sicherungsschicht (Schicht 2):

Die Prozedur 3964(R) fügt dem Datenstrom Start- und Endezeichen hinzu. Weiterhin ist sie in der Lage, den Verlust bzw. die fehlerhafte

Übertragung von Datenblöcken zu erkennen und mit Wiederholungen darauf zu reagieren.

Das Protokoll der Prozedur gewährleistet lediglich eine gesicherte Übertragung der Daten, nicht jedoch die Verarbeitung bzw. Auswertung der

übertragenen Daten.

Hinweis!

Die Datenübertragung mit der Prozedur 3964(R) arbeitet mit den gleichen

Prozeduren wie die Rechnerkopplung mit RK 512.

Wird ein Telegramm vom Partner positiv quittiert (angenommen/übernommen), ist das Telegramm korrekt empfangen worden. Das heißt nicht, dass das Telegramm vom Empfänger bearbeitet wird (z.B. können die

Daten nicht vom Systemprogramm ins Empfangsfach geschrieben werden, wenn dieses zu kurz ist).

Wenn Sie sicherstellen wollen, dass das Telegramm auch bearbeitet wird, müssen Sie entweder die Rechnerkopplung RK 512 benutzen oder die

Datensicherung mit den Nutzdaten selbst vornehmen

15-2 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Anwendungsbereich

Teil 15 Datenübertragung 3964(R)

Die Datenübertragung mit den Prozeduren 3964 und 3964(R) realisiert den

Datenaustausch zwischen der CPU 928 in einem AG 135U bzw. AG 155U und einem der folgenden Partner:

• eine weitere CPU 928 in den AGs 135U und 155U

• ein CP 240 des System 200V

BG41, BG42, BG43 CP-Baugruppe mit Kommunikationsprozessor in den Automatisierungsgeräten 115U, 115H, 135U, 155U und 155H.

BG4xD CP-Baugruppe AG 115U, 115H, 135U, 150U, 155U und 155H

• ein Fremdrechner, der mit derselben Prozedur arbeitet.

CPU 928B/C

RS232C

20mA

RS 422

PG

System 200V

CP240

Für die Datenübertragung mit der Prozedur 3964(R) stehen Ihnen verschiedene Schnittstellenmodule zur Verfügung:

20 mA-Modul

RS 232-Modul

RS 422-Modul.

Die Verbindung zum Partner stellen Sie mit einer Standard-Steckleitung her. Die Übertragungsgeschwindigkeit für den Datenaustausch stellen Sie entsprechend dem jeweiligen Koppelpartner ein.

Zugelassen sind:

110 Bit/s bis 38 400 Bit/s bei RS232C-Übertragung

110 Bit/s bis 38 400 Bit/s bei 20mA-Übertragung

110 Bits bis 38 400 Bit/s bei RS 422-Übertragung.

Rev. 00/27 15-3

Teil 15 Datenübertragung 3964(R)

Aufträge

Handbuch VIPA CPU 928 - Band 2

Mit der Datenübertragung mit der Prozedur 3964(R) können Sie aktiv:

Daten senden : SEND-Auftrag

Die zu sendenden Daten stehen im Sendefach.

Mit der Datenübertragung mit der Prozedur 3964(R) können Sie passiv:

Daten empfangen: Partner-SEND-Auftrag

Die empfangenen Daten stehen im Empfangsfach.

SEND-Auftrag und Partner-SEND-Auftrag bilden ein Auftragspaar. Ein

SEND-Auftrag bei der CPU 928 führt zu einem Partner-SEND-Auftrag beim

Partner und umgekehrt.

SEND-Auftrag

Die CPU 928B/C ist aktiv, d.h. sie sendet Daten zum Partner. Der Partner ist passiv - er empfängt Daten.

CPU 928B/C

Datenquelle, aktiv

Partner z.B. BG4xD

Datenziel, passiv

15-4

3964(R)

Data

Partner-SEND-Auftrag

Der Partner ist aktiv, d.h. er sendet Daten zur CPU 928B/C. Die CPU

928B/C ist passiv - sie empfängt Daten.

CPU 928B/C

Datenziel, passiv

Partner z.B. BG4xD

Datenquelle, aktiv

3964(R)

Data

Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 15 Datenübertragung 3964(R)

Einbindung ins

Anwenderprogramm

Parametrierung der Schnittstelle

In diesem Abschnitt finden Sie eine Übersicht, wie die Datenübertragung mit der Prozedur 3964(R) in ein Anwenderprogramm eingebunden wird.

Für das Erstellen der Anwenderprogramme wird Ihnen folgende Vorgehensweise empfohlen:

Vorabüberlegungen

Mit welchem Partner soll die CPU Daten austauschen?

Welches Schnittstellenmodul setzen Sie ein?

Welche Daten sollen ausgetauscht werden?

Wie sollen die Aufträge lauten?

Zur Parametrierung der Schnittstelle benötigen Sie:

DX 2

• statischen Parametersatz

Sendefach

Empfangsfach

Koordinierungsbyte Senden (KBS)

Koordinierungsbyte Empfangen (KBE).

DX 2

In den erweiterten Datenbaustein DX 2 müssen Sie folgende Informationen eintragen:

Kopplungstyp: Datenübertragung mit der Prozedur 3964 oder 3964R

Lage des statischen Parametersatzes

Lage des Sendefachs

Länge des Sendefachs

Lage des Empfangsfachs

Länge des Empfangsfachs

Lage des Koordinierungsbytes Senden (KBS) und Empfangen (KBE).

statischer Parametersatz

In den DB/DX mit dem statischen Parametersatz sind die Parameter zur

Bit-Übertragungsschicht und zur Sicherungsschicht einzutragen.

Parameter der Bit-Übertragungsschicht (Schicht 1):

Baudrate (Bit/S)

Parität

Bit pro Zeichen

Stoppbits.

Rev. 00/27 15-5

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

Parameter der Sicherungsschicht (Schicht 2)

In der Sicherungsschicht werden die Eigenschaften der Übertragungsprozedur 3964(R) festlegen:

Modus: Prozedur 3964(R) mit Standardwerten oder parametrierbar

Priorität

Zeichenverzugszeit

Quittungsverzugszeit

Aufbauversuche

Wiederholanzahl

Sendefach

Im DB/DX mit dem Sendefach stehen die zu sendenden Daten. Das

Sendefach darf maximal 2049 Wörter lang sein.

Empfangsfach

Im DB/DX mit dem Empfangsfach stehen die zu empfangenen Daten. Das

Empfangsfach darf maximal 2049 Wörter lang sein.

KBS

Mit dem Koordinierungsbyte Senden (KBS) können Sie:

• einen SEND-Auftrag starten

• die Datenübertragung mit der Prozedur 3964(R) zurücksetzen.

KBE

Mit dem Koordinierungsbyte Empfangen (KBE) können Sie:

• das Empfangsfach freigeben und sperren.

Den Parametersatz im DX 2, den statischen Parametersatz und die dynamischen Parametersätze können Sie mit dem Programmiertool MC5 von VIPA erstellen.

15-6 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Komponenten des

Anwenderprogramms

DX 2

"MASKX2"

0031

Zeiger auf statischen

Parametersatz

Zeiger auf

Sendefach

Zeiger auf

Empfangsfach

Zeiger auf

Koordinierungsbytes

DX2-Kennung

Prozedur-

Kennung

Teil 15 Datenübertragung 3964(R)

Statischer

Parametersatz

Sendefach

Empfangsfach

Koordinierungsbyte

CPU aktiv betreiben

CPU passiv betreiben

Bei einer ausschließlich aktiv betriebenen CPU, die selbst keine Daten empfängt, benötigen Sie für die Datenübertragung mit der Prozedur

3964(R) kein Empfangsfach.

Bei einer ausschließlich passiv betriebenen CPU, die selbst keine Aufträge anstößt, benötigen Sie für die Datenübertragung mit der Prozedur 3964(R) kein Sendefach.

Hinweis!

Ist in der CPU kein DX 2 vorhanden, wird die zweite Schnittstelle als PG-

Schnittstelle initialisiert.

Rev. 00/27 15-7

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

Hinweis!

Die Parameter im DX 2 und im statischen Parametersatz legen Sie fest, bevor Sie die Datenübertragung mit der Prozedur 3964(R) in Betrieb nehmen.

Die Parameter im DX 2 werden nur bei Neustart vom Systemprogramm

übernommen.

Die Parameter im statischen Parametersatz (DW 0 bis DW 4) werden nur bei Spannungswiederkehr und bei Neustart vom Systemprogramm übernommen.

Die Parameter im statischen Parametersatz ab DW 5 werden nur bei

Spannungswiederkehr, Neustart und dem Auftrag "Datenübertragung mit der Prozedur 3964(R) rücksetzen" vom Systemprogramm übernommen.

Den Inhalt des Sendefachs und des KBS dürfen Sie nur verändern, wenn kein SEND-Auftrag läuft.

Den Inhalt des Empfangsfachs und des KBE dürfen Sie nur verändern, wenn kein Partner-SEND-Auftrag läuft.

Detaillierte Informationen mit welchen Werten Sie die Datenübertragung mit den Prozeduren 3964(R) parametrieren können, stehen in den nachfolgenden Unterkapiteln.

Sie haben zwei Möglichkeiten

Sie benutzen das Programmiertool MC5 von VIPA.

Sie parametrieren direkt in STEP

®

Datenbausteine

5 von Siemens über Eingabe in

15-8 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Parametrierung

Teil 15 Datenübertragung 3964(R)

Für die Parametrierung können Sie das Programmiertool MC5 von VIPA einsetzen. Hiermit können Sie alle hier aufgeführten Bausteine parametrieren.

DX 2 parametrieren

Im DX 2 wird der Kopplungstyp vermerkt. Außerdem enthält er die Zeiger auf sämtliche benötigte Parameter und Parametersätze.

Die Parametrierung im DX 2 beginnt absolut bei DW 0. Alle Zahlenwerte sind in hexadezimaler Schreibweise dargestellt.

DW Parameter Bedeutung

0

1

4D41

534B

2 5832

Kopplungstyp

MA

SK

X2

3 0031 Datenübertragung mit 3964(R)

Zeiger auf statischen Parametersatz

4 44xx oder

58xx

DB-Nr.xx oder

4)

DX-Nr.xx

5 xxxx ab DW-Nr. xxxx

6

7

0000

0000

Zeiger auf Sendefach reserviert

1) reserviert

8 44xx oder

58xx

DB-Nr. xx

3)

DX-Nr.xx

9 xxxx ab DW-Nr. xxxx

10 xxxx Länge des Sendefachs in Wörter

(Wertebereich 0002h bis 0801h)

Zeiger auf Empfangsfach

2)

11 44xx oder DB-Nr.xx oder

4)

58xx DX-Nr.xx

1)

12

13 xxxx xxxx

Zeiger auf KBS / KBE

14 4D00 oder

5300 oder

44xx oder

58xx ab DW-Nr.xxxx

Länge des Empfangsfachs in Wörter

3)

(Wertebereich 0002h bis 0801h)

Merker oder

S-Merker oder

DB-Nr. xx oder

DX-Nr. xx

4)

15 xxxx MW-Nr., SW-Nr. oder DW-Nr.xxxx

Nicht notwendig, wenn CPU nur passiv ist. Tragen Sie dann in DW 8 bis DW 10 den

Wert 0000 ein.

2)

Nicht notwendig, wenn CPU nur aktiv ist. Tragen Sie dann in DW 11 bis DW 13 den

Wert 0000 ein.

3)

Die Lage von KBS und KBE können Sie nur gemeinsam festlegen.

4)

Wertebereich für xx von 3 bis FFh (3-255)

Rev. 00/27 15-9

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

Beispiel:

In diesem Beispiel sehen Sie, wie Sie einen DX 2 mit folgenden Grunddaten parametrieren.

Der statische Parametersatz liegt in DB 10 ab DW 4.

Das Sendefach liegt im DB 6 ab DW 2, Länge 10 Wörter.

Das Empfangsfach liegt in DB 8 ab DW 1, Länge 6 Wörter.

Das Koordinierungsbyte Senden (KBS) und Empfangen (KBE) liegen in

MW 6.

Dies ergibt folgende Parametrierung:

DX 2

5

6

7

8:

9

10

11

0:

1:

2:

3:

4:

12

13

14

15

16

KH=4D41;

KH=534B;

KH=5832;

KH=0031;

KH=440A;

KH=0004;

KH=0000;

KH=0000;

KH=4406;

KH=0002;

KH=000A;

KH=4408;

KH=0001;

KH=0006;

KH=4D00;

KH=0006;

KH=xxxx

MA

SK

X2

Kopplungstyp Prozedur 3964(R)

Statischer Parametersatz in DB 10

Ab DW 4 reserviert reserviert

Sendefach in DB 6

Ab DW 2

Länge 10 Wörter

Empfangsfach in DB 8 ab DW 1

Länge 6 Wörter

Koordinierungsbytes im Merkerbereich

KBS-Merkerbyte 6, KBE-Merkerbyte 7 gehört nicht mehr zur Parametrierung des

DX 2, beliebiger Inhalt, muss nicht vorhanden sein.

15-10 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 15 Datenübertragung 3964(R)

Statischer

Parametersatz

Im statischen Parametersatz tragen Sie die Parameter zur Bit-Übertragungsschicht und zur Sicherungsschicht ein.

In der nachfolgenden Tabelle steht, mit welchen Werten Sie den statischen

Parametersatz in einem Datenbaustein oder erweiterten Datenbaustein hinterlegen können.

Die Parametrierung beginnt bei dem im DX 2 parametrierten DW.

Alle Zahlenwerte sind hexadezimal dargestellt.

DW

(relativ)

Werte-

Bereich

Baudrate

0 0001

0002

0003

0004

0005

0006

0007

0008

0009

000A

Parität

1 0000

0001

0002

Bit pro Zeichen

2 0006

0007

0008

Stoppbits

3 0001

0002

0003

0000 4

Modus (siehe Hinweis)

5 0001

0002

Bedeutung

110 Baud

150 Baud

300 Baud

600 Baud

1200 Baud

2400 Baud

4800 Baud

9600 Baud

19200 Baud

38400 Baud keine (no) ungerade (odd) gerade (even)

6 Bit pro Zeichen

7 Bit pro Zeichen

8 Bit pro Zeichen

1 Stoppbit

1 + ½ Stoppbits

2 Stoppbits reserviert

Prozedur 3964 mit Standardwerten

Prozedur 3964R mit Standardwerten

0003

0004

Prozedur 3964 parametrierbar

Prozedur 3964R parametrierbar

Priorität

6 0000

0001 niedrig hoch

...Fortsetzung

Rev. 00/27 15-11

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

...Fortsetzung

DW

(relativ)

Werte-

Bereich

Bedeutung

Zeichenverzugszeit (siehe Hinweis)

7 0001 bis

FFFF

Überwachungszeit

0,01 s bis 655,35 s

(Einheit: 10ms)

Quittungsverzug (siehe Hinweis)

8 0001 bis

FFFF

Überwachungszeit

0,01 s bis 655,35 s

(Einheit: 10ms)

Aufbauversuche(siehe Hinweis)

9 0001 bis

00FF

Anzahl

Wiederholanzahl (siehe Hinweis)

10 0001 bis

00FF

Anzahl

Hinweis!

Die Datenwörter 7 bis 10 werden nur dann ausgewertet, wenn Sie als

Modus 0003 oder 0004 eingetragen haben.

Wenn Sie als Modus 0001 oder 0002 eingetragen haben, werden die

Standardwerte verwendet. Beachten Sie aber, dass die Datenwörter 7 bis

10 trotzdem vorhanden sein müssen.

Die Standardwerte für Modus 0001 und Modus 2 sind:

Zeichenverzugzeit

Quittungsverzugszeit

Aufbauversuche

Wiederholanzahl

Modus 0001

220 ms

550ms

6

6

Modus 0002

220 ms

2000 ms

6

6

15-12 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Bedeutung der

Parameter

Baudrate

Teil 15 Datenübertragung 3964(R)

Geschwindigkeit der Datenübertragung, Angabe in Bits/s (Baud).

Parität

Anzahl der Bits mit dem Wert "1" in einer einheitlichen langen Folge von

Informationsbits (z.B. ein Byte). Die Parität ist, je nach Wert, "gerade" oder

"ungerade". Zur Paritätskontrolle wird diese Folge von Informationsbits um ein weiteres Bit, das Paritätsbit (parity bit), erweitert, das durch seinen addierten Wert ("0" oder "1") den Wert aller Bits auf einen vereinbarten

Zustand ergänzt.

Bit pro Zeichen

Anzahl der Datenbits, auf die ein Zeichen abgebildet wird.

Stoppbits

Dauer der Stoppbits relativ zur Übertragungsdauer eines Informationsbits.

Die Stoppbits werden bei der Start-Stopp-Übertragung jedem zu übertragenden Zeichen nachgesetzt.

Modus

Variante der möglichen Übertragungsprozeduren, 3964(R), jeweils mit

Standardwerten oder parametrierbar.

Priorität

Ein Partner hat Priorität, wenn sein Sendewunsch Vorrang vor dem Sendewunsch des anderen Partners hat.

Ein Partner hat niedere Priorität, wenn sein Sendewunsch hinter den

Sendewunsch des anderen Partners zurückstehen muss. Beim Betrieb der

Rechnerkopplung müssen Sie beide Koppelpartner mit verschiedener

Priorität parametrieren, d.h. A bekommt Priorität =1 (hoch), B bekommt

Priorität = 0 (niedrig).

Zeichenverzugszeit (ZVZ)

Der maximal zulässige zeitliche Abstand zwischen zwei empfangenen

Zeichen (siehe folgende Tabelle).

n-tes Zeichen

ZVZ n+1.tes Zeichen

Rev. 00/27 t

15-13

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

Quittungsverzugzeit (QVZ)

Die maximal zulässige Zeitspanne bis zur Quittung des Partners bei

Verbindungsaufbau/-abbau.

Baudrate

110 Baud

150 Baud

300 Baud

600 Baud

1200 Baud

2400 Baud

4800 Baud

9600 Baud

9600 Baud

19600 Baud

38400 Baud kleinste zulässige ZVZ kleinste zulässige QVZ

120 ms 120 ms

100 ms

60 ms

40 ms

30 ms

20 ms

20 ms

20 ms

20 ms

20 ms

20 ms

100 ms

60 ms

40 ms

30 ms

20 ms

20 ms

20 ms

20 ms

20 ms

20 ms

Aufbauversuche

Maximale Anzahl der Versuche der CPU 928 eine Verbindung aufzubauen.

Wiederholanzahl

Maximale Anzahl der Telegrammwiederholungen (inklusive erstes Telegramm) bei Fehlern.

15-14 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Beispiel

Teil 15 Datenübertragung 3964(R)

In diesem Beispiel sehen Sie, wie Sie einen statischen Parametersatz im

DB 10 ab DW 4 parametrieren.

DB10

0:

6:

7:

8:

9:

1:

2:

3:

4:

5:

10:

11:

12:

13:

14:

15:

16:

:

KH =xxxx;

KH =xxxx;

KH =xxxx;

KH =xxxx;

KH =0008;

KH =0002;

KH =0007;

KH =0001;

KH =0000;

KH =0003;

KH =0001;

KH =00FF;

KH =010A;

KH =0003;

KH =0005;

KH =xxxx; gehört nicht zum statischen

Paramertersatz, beliebiger Inhalt

Baudrate = 9600 Baud

Parität = 2 = Gerade

Bit pro Zeichen =7

Stoppbits = 1 reserviert

Modus = 3 = Prozedur 3964 parametrierbar

Priorität = 1 = hoch

Zeichenverzugszeit = 255 x 0,01 s

(= 2,55 s)

Quittungsverzugzeit =266 x 0,01 s

(= 2,66 s)

Aufbauversuche = 3

Wiederholanzahl =5 gehört nicht mehr zum statischen Parametersatz, beliebiger Inhalt, muss nicht vorhanden sein.

Bei der Datenübertragung mit der Prozedur 3964(R) müssen die

Parameter der Bit-Übertragungsschicht beim Partner mit denen der

CPU 928 übereinstimmen.

Die Parameter der Sicherungsschicht müssen beim Partner wie folgt gesetzt werden:

Verwendung der gleichen Prozedur wie bei der CPU 928

• entgegengesetzte Priorität wie bei der CPU 928.

Rev. 00/27 15-15

Teil 15 Datenübertragung 3964(R)

Sendefach

Handbuch VIPA CPU 928 - Band 2

Das Sendefach liegt in einem Datenbaustein (DB) oder erweiterten

Datenbaustein (DX).

Das Sendefach enthält die zu sendenden Daten sowie im ersten Wort die

Längenangabe (Angabe in Byte) der zu übertragenden Daten. Sie können so für jeden Auftrag selbst festlegen, wie viele Daten an den Koppelpartner gesendet werden. Die Längenangabe schließt das Wort mit der Längenangabe selbst nicht mit ein. Die Längenangabe wird nicht mitgesendet.

Die Länge des Sendefachs beträgt maximal 2049 Wörter (4098 Byte). Sie legen sie (Angabe in Wörter) im DX 2 fest. Achten Sie darauf, dass die

Längenangabe der zu übertragenden Daten (Angabe in Byte) im ersten

Wort des Sendefachs nicht größer ist als die im DX 2 parametrierte Länge

(Angabe in Wörter) des Sendefachs minus dem ersten Wort mit der

Längenangabe. Parametrieren Sie die Länge des Sendefaches entsprechend Ihrer aktuellen Aufgabe.

Beispiel: Sendefach

Das Beispiel zeigt, wie Sie ein Sendefach im Datenbaustein 6 ab

Datenwort 2 mit einer Länge von 10 Wörtern parametrieren können. Es sollen 7 Byte gesendet werden.

DB 6

0:

1:

2:

3:

4:

5:

6:

7:

8:

9:

10:

11:

12:

:

KH =xxxx;

KH =xxxx;

KH =0007;

KH =0102;

KH =0304;

KH =0506;

KH =07yy;

KH =yyyy;

KH =yyyy;

KH =yyyy;

KH =yyyy;

KH =yyyy;

KH =xxxx; gehört nicht zum Sendefach, beliebiger

Inhalt

Längenangabe in Byte, Sendefachbeginn zu sendende Daten: 0102 zu sendende Daten: 0304 zu sendende Daten: 0506 zu sendende Daten: 07, yy wird nicht mehr gesendet

Inhalt des Sendefachs, wird hier nicht gesendet gehört nicht zum Sendefach, beliebiger

Inhalt, muss nicht vorhanden sein

15-16 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 15 Datenübertragung 3964(R)

Empfangsfach

Das Empfangsfach liegt im einem DB oder erweiterten DB (DX).

Das Empfangsfach enthält die empfangenen Daten, sowie im ersten Wort die Längenangabe (Angabe in Byte) der empfangenen Daten. Diese wird vom Systemprogramm eingetragen, damit Sie erkennen können, wieviele

Daten empfangen wurden. Die Längenangabe schließt das Wort mit der

Längenangabe selbst nicht ein.

Die Länge des Empfangsfaches beträgt maximal 2049 Wörter (4098 Byte).

Sie legen sie (Angabe in Wörter) im DX 2 fest. Es können nur so viele Byte empfangen werden, wie Sie im DX 2 als Länge (Angabe in Wörter) des

Empfangsfaches angegeben haben minus dem ersten Wort mit der

Längenangabe im Empfangsfach.

Beispiel: Empfangsfach

Das Beispiel zeigt, wie ein Empfangsfach im DB 8 ab DW 1 mit einer

Länge von 6 Wörtern aufgebaut ist. Es wurden 7 Byte empfangen.

DB8

0:

1:

2:

3:

4:

5:

6:

7:

KH =xxxx;

KH =0007;

KH =0102;

KH =0304;

KH =0506;

KH =07yy;

KH =yyyy;

KH =xxxx; gehört nicht zum Empfangsfach, beliebiger Inhalt

Längenangabe in Byte, Empfangsfachbeginn empfangene Daten: 0102 empfangene Daten: 0304 empfangene Daten: 0506 empfangene Daten: 07,yy wurde nicht mehr empfangen

Inhalt Empfangsfach, wurde nicht empfangen gehört nicht zum Empfangsfach, beliebiger Inhalt, muss nicht vorhanden sein

:

Rev. 00/27 15-17

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

Koordinierungsbytes Senden und Empfangen

(KBS, KBE)

Mit dem KBS können Sie folgende Aufträge starten:

SEND-Auftrag

• die Datenübertragung mit der Prozedur 3964(R) rücksetzen.

Mit dem KBE können Sie:

• das Empfangsfach freigeben und sperren.

Die Koordinierungsbytes können Merker bzw. S-Merker sein oder im einem

Datenbaustein bzw. erweiterten Datenbaustein liegen. Merker und S-

Merker sind in der CPU vorhanden, Datenbausteine und erweiterte Datenbausteine müssen Sie anlegen.

Darstellung im Merker- bzw. S-Merkerbereich:

7 0

MB-Nr.SY-Nr. z

MB-Nr./SY-Nr. z+1 xx yy

KBS

KBE

Darstellung im DB bzw. im erweiterten DB:

KBS KBE

DW-Nr. z

15 8 7 xx

DL yy

DR

0

15-18 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

KBS

Teil 15 Datenübertragung 3964(R)

Das Koordinierungsbyte Senden (KBS) ist folgendermaßen aufgebaut:

7 6 5 4 3 2 1 0 Bit-Nr.

reserviert

Auftrag läuft

Auftrag fertig ohne Fehler

Auftrag fertig mit Fehler reserviert

Schnittstelle rücksetzen

SEND-Auftrag starten

Die Bits haben folgende Bedeutung:

Bit 1 "Auftrag läuft"

• wird vom Systemprogramm gesetzt, wenn ein Auftrag gestartet ist.

• wird vom Systemprogramm zurückgesetzt, wenn der Auftrag beendet ist.

• können Sie auswerten, wenn Sie wissen wollen, ob es sinnvoll ist einen neuen Auftrag zu starten.

Bit 2 "Auftrag fertig ohne Fehler"

• wird vom Systemprogramm gesetzt, wenn der Auftrag ohne Fehler abgeschlossen wurde.

• können Sie nach erfolgter Auswertung zurücksetzen oder wird vom

Systemprogramm zurückgesetzt, sobald für einen neuen Auftrag das Bit

1 "Auftrag läuft" gesetzt wird.

• können Sie auswerten, wenn Sie wissen wollen, ob der Auftrag ohne

Fehler abgeschlossen wurde.

Bit 3 "Auftrag fertig mit Fehler"

• wird vom Systemprogramm gesetzt, wenn der Auftrag mit Fehler abgeschlossen wurde.

• können Sie nach erfolgter Auswertung zurücksetzen oder wird vom Systemprogramm zurückgesetzt, sobald für einen neuen

Auftrag das Bit 1 "Auftrag läuft" gesetzt wird.

• können Sie auswerten, wenn Sie wissen wollen, ob der Auftrag mit

Fehler abgeschlossen wurde.

Rev. 00/27 15-19

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

Bit 6 "Schnittstelle zurücksetzen"

• können Sie setzen, wenn Sie die Schnittstelle zurücksetzen wollen.

• wird vom Systemprogramm zurückgesetzt, sobald das Systemprogramm die Schnittstelle rückgesetzt hat.

Bit 7 "SEND-Auftrag starten"

• können Sie setzen, wenn Sie einen SEND-Auftrag starten wollen

• wird vom Systemprogramm zurückgesetzt, sobald das Systemprogramm den SEND-Auftrag beendet hat.

Wenn Sie die Schnittstelle zurücksetzen, werden die Parameter der

Sicherungsschicht des statischen Parametersatzes (ab DW 5) neu übernommen:

Modus

Priorität

Zeichenverzugszeit

Quittungsverzugszeit

Aufbauversuche

Wiederholversuche.

Haben Sie KBS-Bit 6 und KBS-Bit 7 gleichzeitig gesetzt oder im zeitlichen

Abstand von

10ms bei der CPU 928, zuerst KBS-Bit 6 und dann KBS-Bit

7 gesetzt, so führt das Systemprogramm zuerst das Zurücksetzen, danach den SEND- Auftrag aus.

Haben Sie im zeitlichen Abstand von

10ms bei der CPU 928 zuerst KBS-

Bit 7 und dann KBS-Bit 6 gesetzt, wird die Reihenfolge der beiden Aufträge nicht garantiert.

Mit dem Zurücksetzen brechen Sie einen laufenden Partner-SEND-Auftrag ab.

Hinweis!

Die Parameter der Bit-Übertragungsschicht der Übertragungsleitung (statischer Parametersatz bis einschließlich DW 4) können Sie nur durch einen

Neustart der CPU verändern.

Ein Zurücksetzen der Schnittstelle reicht dazu nicht aus.

15-20 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

KBE

Teil 15 Datenübertragung 3964(R)

Koordinierungsbyte Empfangen

Solange das KBE-Bit 7 zurückgesetzt ist, werden keine empfangenen

Daten ins Empfangsfach eingetragen.

7 6

0 reserviert

0=Empfangsfach belegt

1=Empfangsfach frei

Achtung!

Sorgen Sie in Ihrem Anwenderprogramm dafür, dass Ihre empfangenen

Daten möglichst schnell bearbeitet werden und geben Sie gleich im Anschluss daran das Empfangsfach über KBE-Bit 7 wieder frei.

Werden weitere Daten empfangen, während das Empfangsfach über KBE-

Bit 7 gesperrt ist, stehen diese solange im Dual-Port-RAM bis Sie das

Empfangsfach über KBE-Bit 7 wieder freigeben.

Es kann noch ein weiterer Empfang von Daten im Empfangspuffer des

Kommunikations-Prozessors zwischengespeichert werden, solange das

Empfangsfach gesperrt ist. Jeder weitere Empfang von Daten wird verworfen.

Hinweis

Bei Neustart und Spannungswiederkehr wird das KBS mit 00h (kein

Auftrag läuft) und das KBE mit 80h (Empfangsfach frei) vorbelegt.

Rev. 00/27 15-21

Teil 15 Datenübertragung 3964(R)

Inbetriebnahme

Handbuch VIPA CPU 928 - Band 2

Voraussetzung

Ihre CPU besitzt ein Schnittstellen-Hybridmodul für die 2. Schnittstelle SI2

Sie haben das Schnittstellenmodul in die CPU eingebaut, die CPU steckt im ZG-Rahmen und die Spannung ist ausgeschaltet.

Vorgehensweise

Für die Inbetriebnahme der Datenübertragung mit der Prozedur 3964(R) empfehlen wir folgende Vorgehensweise:

1)

2)

3)

Schritt Handlung

1

2

3

4

5

Verbinden Sie die CPU mit dem Partner über eine Standard-

Steckleitung.

Schalten Sie die Versorgungsspannung ein.

Übertragen Sie Ihr Anwenderprogramm zur CPU.

Das Anwenderprogramm muss folgende Datenbausteine oder erweiterte Datenbausteine enthalten, die die

Schnittstelle

SI 2 als Datenübertragung mit der Prozedur 3964(R) parametrieren:

DX 2

DB/DX mit dem statischen Parametersatz

DB/DX mit dem Sendefach

1)

DB/DX mit dem Empfangsfach

2)

DB/DX mit dem KBS und dem KBE

(nur wenn das KBS in einem DB/DX liegt)

3)

Führen Sie einen Neustart durch.

Bereiten Sie den Partner ebenfalls auf die Datenübertragung mit der Prozedur 3964(R) vor.

Nur wenn die CPU selbst aktive Aufträge anstößt.

Nur wenn die CPU selbst passive Aufträge empfängt.

Falls KBS und KBE ein Merker oder S-Merker ist, ist es bereits in der CPU vorhanden und Sie brauchen es nicht zu übertragen.

15-22 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 15 Datenübertragung 3964(R)

Ablauf

Das Systemprogramm prüft bei Neustart oder

Spannungswiederkehr das Vorhandensein von

DX 2

• dem statischen Parametersatz

KBS und KBE und die korrekte Parametrierung von DX 2

Vorhanden und korrekt parametriert

Das Systemprogramm initialisiert die Schnittstelle SI 2 für die Datenübertragung mit der Prozedur 3964(R)

Die rote LED SI 2 erlischt, sobald die Datenübertragung mit der Prozedur

3964(R) betriebsbereit ist

Das Systemprogramm setzt das KBS-Bit 7 zurück

(d.h. kein SEND-Auftrag läuft)

Das Systemprogramm setzt das KBE-Bit 7 (d.h. Empfangsfach freigegeben)

Die Datenübertragung mit der Prozedur 3964(R) ist betriebsbereit

DX 2 vorhanden und nicht korrekt parametriert

Die CPU bleibt in "STOP"

Zusätzlich zur STOP-LED leuchtet die rote LED SI 2

Das Systemprogramm gibt eine Fehlermeldung in BS

3 und BS 4 aus.

Rev. 00/27 15-23

Teil 15 Datenübertragung 3964(R)

Betrieb

Handbuch VIPA CPU 928 - Band 2

Voraussetzung

Die Schnittstelle SI 2 ist für die Datenübertragung mit der Prozedur

3964(R) parametriert.

Die LED SI 2 leuchtet nicht. Die Datenübertragung mit der Prozedur

3964(R) ist betriebsbereit.

Arbeitsweise

Das Systemprogramm prüft jetzt ständig, ob das Koordinierungsbyte Senden (KBS) und Empfangen (KBE) vorhanden ist. Ist es nicht vorhanden

(z.B. weil der DB/DX gelöscht wurde), ruft das Systemprogramm den OB

35 auf.

Die Fehlernummer wird in AKKU 1 eingetragen.

Das Systemprogramm bearbeitet jetzt die Aufträge, die Sie in Ihrem

Anwenderprogramm programmiert haben, bzw. die Aufträge, die von Ihrem

Partner angestoßen werden. Wie Sie die Aufträge in Ihrem Anwenderprogramm programmieren müssen, erfahren Sie in diesem Kapitel.

SEND-Auftrag

Wenn Sie einen SEND-Auftrag programmieren wollen, beachten Sie folgenden Ablauf.

Auftrag starten

KBS-Bit 7 prüfen

Bit 7 gesetzt, es läuft ein

Auftrag

Bit 7 ist zurückgesetzt, es läuft kein Auftrag

Das Sendefach und das

KBS dürfen nicht verändert werden

Kopieren Sie die zu sendenden Daten in das

Sendefach

Warten Sie, bis dieser

Auftrag beendet ist

Starten Sie den SENDoder FETCH-Auftrag durch

Setzen von KBS-Bit 7

Das Systemprogramm bearbeitet jetzt Ihren

Auftrag

15-24 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 15 Datenübertragung 3964(R)

Das nachfolgende Diagramm zeigt, welche Reaktionen auftreten können, wenn das KSB-Bit 7 gesetzt ist und das Systemprogramm Ihren Auftrag bearbeitet.

KBS-Bit 7 ist gesetzt

Das Sendefach ist vorhanden Das Sendefach ist nicht vorhanden

Das Systemprogramm überträgt die durch das Längenwort (erstes Wort im Sendefach) spezifizierten Daten. Das Längenwort wird nicht mitgesendet.

Der Auftrag wurde fehlerfrei bearbeitet

Das Systemprogramm hat:

- die Daten aus dem Sendefach zum Partner

übertragen

- das KBS-Bit 7 zurückgesetzt

Der Auftrag wurde mit einem Fehler beendet

Das Systemprogramm hat:

- den OB 35 aufgerufen: AKKU 1 enthält die

Fehlernummer

- das KBS-Bit 7 zurückgesetzt

Das Systemprogramm hat:

- den Auftrag nicht bearbeitet

- den OB 35 aufgerufen und eine Fehlernummer in AKKU 1 eingetragen

- das KBS-Bit 7 zurückgesetzt

Hinweis!

Sie dürfen erst dann einen neuen Auftrag starten, wenn der vorangegangene beendet ist.

Rev. 00/27 15-25

Teil 15 Datenübertragung 3964(R)

Schnittstelle rücksetzen

Handbuch VIPA CPU 928 - Band 2

Sie haben das KBS-Bit 6 gesetzt und damit einen Rücksetz-Auftrag abgegeben. Das nachfolgende Diagramm zeigt die möglichen Reaktionen.

KBS-Bit 6 gesetzt

Die CPU bearbeitet gerade einen Partner-Auftrag

Die CPU bearbeitet keinen

Partner-Auftrag

- Der Partner-Auftrag wird mit Fehler abgebrochen

- Der OB 35 wird aufgerufen:

AKKU 1 enthält die

Fehlernummer zu dem abgebrochenen Partner-

Auftrag

- Die statischen Parameter ab DW 5 werden übernommen und ausgewertet

- Wenn das Rücksetzen beendet ist, wird das

KBS-Bit 6 zurückgesetzt

- Die statischen Parameter ab DW 5 werden übernommen und ausgewertet

- Wenn das Rücksetzen beendet ist, wird das

KBS-Bit 6 zurückgesetzt

Partner-SEND-

Auftrag

Partner-SEND-Aufträge werden nicht vom Anwenderprogramm sondern vom Systemprogramm selbständig im Hintergrund bearbeitet.

Das Systemprogramm setzt das KBE-Bit 7 zurück (Empfangsfach gesperrt), wenn die Daten vollständig ins Empfangsfach eingetragen wurden.

Sie können nun die empfangenen Daten auswerten.

Das Empfangsfach kann erst wieder überschrieben werden, wenn Sie es

über KBE-Bit 7 wieder freigegeben haben.

15-26 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 15 Datenübertragung 3964(R)

Das folgende Diagramm zeigt, welche Situationen nach Ablauf eines

Partner-SEND-Auftrages auftreten können.

Partner-SEND-Auftrag läuft

Die CPU ist nicht in STOP oder

Wartezustand (Bearbeitungskontrolle)

Empfangsfach gesperrt KBE-Bit

7 zurückgesetzt

Empfangsfach freigegeben, KBE-

Bit 7 gesetzt

Die CPU ist in STOP oder Wartezustand

(Bearbeitungskontrolle)

Der Auftrag wurde fehlerfrei beendet

Das Systemprogramm hat

- die Daten des

Partners ins

Empfangsfach hinter das erste

DW übertragen

- die Anzahl der empfangenen

Daten (Angabe in Byte) in das erste Datenwort des Empfangsfachs eingetragen

- das KBE-Bit 7 zurückgesetzt

Der Auftrag wurde mit einen Fehler beendet

Das Systemprogramm hat

- den Partner-

SEND-Auftrag mit Fehler abgebrochen

- den OB 35 aufgerufen:

AKKU 1 enthält die Fehlernummer

Das Systemprogramm hat

- den Partner-SEND-

Auftrag mit Fehler abgebrochen

- nach Verlassen des

STOP- oder Wartezustandes den OB 35 aufgerufen:

AKKU 1 enthält die

Fehlernummer

Hinweis!

Sorgen Sie in Ihrem Anwenderprogramm dafür, dass Ihre empfangenen

Daten möglichst schnell bearbeitet werden und geben Sie gleich im

Anschluss daran das Empfangsfach über KBE- Bit 7 wieder frei.

Rev. 00/27 15-27

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

Besonderheiten beim Empfang

In das Empfangsfach kann immer nur ein Telegramm (max. 4096 Byte lang) eingetragen werden, wobei im Übergabepuffer-Empfang des Dual-

Port-RAM und im Empfangspuffer jeweils ein weiteres Telegramm zwischengespeichert werden kann.

Wenn Sie das Empfangsfach geleert haben, und im Koordinierungsbyte

Empfang (KBE) das Bit 7 (Empfangsfach frei) gesetzt haben, wird das nächste Telegramm, sofern vorhanden, vom Übergabepuffer-Empfang des

Dual-Port-RAM ins Empfangsfach und abermals das nächste Telegramm, sofern vorhanden, vom Empfangspuffer in den Übergabepuffer-Empfang im Dual-Port-RAM geschoben.

Anwenderprogramm

7

Empfangsfach

(max. 1 Telegramm)

0

KBE

Betriebssystem- /Standard-Prozessor

Übergabepuffer-

Empfang

(max. 1 Telegramm)

Dual-Port-RAM

Empfangspuffer

(max. 1 Telegramm)

Kommunikations-Prozessor

SI 2

15-28 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Verhalten bei speziellen

Betriebszuständen

Stoppzustand

Teil 15 Datenübertragung 3964(R)

Im Betriebszustand "STOP" findet keine Anwenderprogrammbearbeitung statt, d.h. Sie können keinen neuen Auftrag starten. Beim Übergang vom

Betriebszustand "RUN" in den Betriebszustand "STOP" gilt für einen bereits laufenden, vom Anwenderprogramm angestoßenen Auftrag:

Der Auftrag wird mit Fehler abgebrochen, wenn noch Daten zwischen dem Betriebssystem-Prozessor und dem Dual-Port-RAM transferiert werden müssen.

Der Auftrag wird normal beendet, wenn keine Daten mehr zwischen dem Betriebssystem-Prozessor und dem Dual-Port-RAM transferiert werden müssen.

Stößt der Koppelpartner im Betriebszustand "STOP" einen Auftrag an, wird dieser negativ quittiert. Eine entsprechende Fehlermeldung wird in den

Fehlerbereich der Schnittstelle eingetragen.

Beim Übergang vom Betriebszustand "RUN" in den Betriebszustand

"STOP" wird ein bereits laufender, vom Koppelpartner angestoßener

Auftrag mit Fehler abgebrochen, d.h. negativ quittiert. Eine entsprechende

Fehlermeldung wird in den Fehlerbereich der Schnittstelle eingetragen.

Wartezustand

Die CPU nimmt bei der PG-Online-Funktion "BEARBEITUNGSKON-

TROLLE" den Betriebszustand "Wartezustand" ein. Im "Wartezustand" findet keine Anwenderprogrammbearbeitung statt, d.h. Sie können keinen neuen Auftrag starten. Ein bereits laufender, vom Anwenderprogramm angestoßener Auftrag wird nach Beendigung des Betriebszustandes

"Wartezustand" fortgesetzt und abgeschlossen.

Stößt der Koppelpartner im Betriebszustand "Wartezustand" einen Auftrag an, wird dieser negativ quittiert. Eine entsprechende Fehlermeldung wird in den Fehlerbereich der Schnittstelle eingetragen. Bei Eintritt in den Betriebszustand "Wartezustand" wird ein bereits laufender, vom Koppelpartner angestoßener Auftrag mit Fehler quittiert. Eine entsprechende

Fehlermeldung wird in den Fehlerbereich der Schnittstelle eingetragen.

Rev. 00/27 15-29

Teil 15 Datenübertragung 3964(R)

Prozeduren

Handbuch VIPA CPU 928 - Band 2

Die Prozeduren 3964 und 3964R gestatten eine unkomplizierte Daten-

übertragung im Quasi-Vollduplexbetrieb mit guter Übertragungsqualität.

Partner können außer der CPU 928 noch Fremdgeräte und Fremdrechner sein.

Steuerzeichen

Beide Prozeduren steuern den Datenfluss zwischen Ihrer CPU 928 und dem Partner. Sie sind asynchrone, bitserielle Übertragungsverfahren.

Sende- und Empfangsparameter (Baudrate, Parity,...) müssen Sie in der

CPU 928 und im Partner gleich einstellen, die Priorität müssen Sie in der

CPU 928 und im Partner verschieden einstellen.

Beide Prozeduren fügen bei der Datenübertragung den Informationszeichen Steuerzeichen hinzu. Durch diese Steuerzeichen kann der

Partner kontrollieren, ob die Daten vollständig und fehlerfrei bei ihm angekommen sind.

Die CPU 928 bzw. der Partner sendet die Zeichen bitseriell wie folgt:

SA i 0 i 1 i 2 i 3 i 4 i 5 i 6 i 7 PA SO

SO = Stoppbit (Länge 1, 1,5 oder 2 bit)

PA = Paritätsbit

(sofern im statischen Parametersatz parametriert) nur vorhanden bei Parametrierung im statischen Parametersatz mit 8 bit pro Zeichen nur vorhanden bei Parametrierung im statischen Parametersatz mit 7 oder

8 bit pro Zeichen i 0...7 = Informationsbit Nr. 0 bis 7

SA = Startbit

Die Steuerzeichen für die Prozeduren sind der DIN-Norm 66003 für den 7-

Bit-Code entnommen. Übertragen wird jedoch mit der Zeichenlänge 6,7 oder 8 Bit.

Wird als Informationszeichen das Zeichen DLE übertragen, so wird dieses auf der Sendeleitung doppelt gesendet zur Unterscheidung vom Steuerzeichen DLE beim Verbindungsauf- und Verbindungsabbau (DLE-Verdopplung). Der Empfänger macht die DLE-Verdopplung wieder rückgängig.

Für die anderen Informationszeichen ist kein Code vorgeschrieben.

15-30 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Senden

Teil 15 Datenübertragung 3964(R)

Zum Aufbau der Verbindung sendet die Prozedur das Steuerzeichen STX.

Antwortet das Partnergerät vor Ablauf der Quittungsverzugszeit (QVZ) mit dem Zeichen DLE, geht die Prozedur in den Sendebetrieb über. Antwortet das Partnergerät mit NAK (Nachricht unbrauchbar), einem beliebigen anderen Zeichen (außer DLE) oder die QVZ verstreicht ohne Reaktion, wiederholt die Prozedur den Verbindungsaufbau. Nach der im statischen

Parametersatz festgelegten Anzahl vergeblicher Aufbauversuche bricht die

Prozedur den Verbindungsaufbau ab und sendet das Zeichen NAK an das

Partnergerät.

Das Systemprogramm ruft den OB 35 auf und meldet den Fehler im Verbindungsaufbau (Fehlernummer im AKKU 1).

Gelingt der Verbindungsaufbau, werden die im aktuellen Ausgabepuffer enthaltenen Nutzdaten mit den gewählten Übertragungsparametern an den

Partner gesendet. Dieser überwacht den zeitlichen Abstand der ankommenden Zeichen. Der Abstand zwischen zwei Zeichen darf nicht mehr als die Zeichenverzugzeit (ZVZ) betragen.

DLE-Verdopplung

Jedes im Puffer vorgefundene Zeichen DLE wird als zwei Zeichen DLE gesendet (DLE-Verdopplung), d.h. jedes Datum /10h/ wird zweimal gesendet. Der Empfänger macht die DLE-Verdopplung wieder rückgängig.

Blockprüfsumme

Nach dem Senden des Pufferinhalts fügt die Prozedur die Zeichen DLE,

ETX und nur bei 3964R die Blockprüfsumme BCC als Endekennung an und wartet auf ein Quittungszeichen. Das Blockprüfzeichen BCC ist ein

Byte. Es wird gebildet aus der geraden Längsparität aller Zeichen (EXOR-

Verknüpfung), beginnend mit dem ersten Zeichen nach dem Verbindungsaufbau und endet nach den Zeichen DLE ETX des Verbindungsabbaus. Die Prüfsumme wird nach der DLE-Verdopplung gebildet.

Sendet das Partnergerät innerhalb der QVZ das Zeichen DLE, wurde der

Datenblock fehlerfrei übernommen. Antwortet das Partnergerät mit NAK, einem beliebigen anderen Zeichen (außer DLE), einem gestörten Zeichen oder die QVZ verstreicht ohne Reaktion, beginnt die Prozedur das Senden erneut mit dem Verbindungsaufbau STX. Nach Ablauf der im statischen

Parametersatz spezifizierten Anzahl von Versuchen (Wiederholanzahl), den Datenblock zu senden, bricht die Prozedur das Verfahren ab und sendet NAK an das Partnergerät.

Das Systemprogramm ruft den OB 35 auf und meldet den Fehler

(Fehlernummer in AKKU 1).

Sendet das Partnergerät während einer laufenden Sendung das Zeichen

NAK, beendet die Prozedur den Block und wiederholt ihn in der oben beschriebenen Weise. Bei einem anderen Zeichen wartet die Prozedur zunächst auf den Ablauf der ZVZ und sendet anschließend NAK, um das

Partnergerät in den Ruhestand zu bringen. Danach beginnt die Prozedur das Senden erneut mit dem Verbindungsaufbau STX.

Rev. 00/27 15-31

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

Bedeutung

SEND-Telegramm

Startzeichen pos. Quittung

1. Datenbyte

2. Datenbyte

.

.

n. Datenbyte

Endekennung

Endekennung nur 3964R pos. Quittung

Beispiel für einen fehlerlosen Datenverkehr beim Senden

CPU 928 Partner

Inhalt

STX

DLE

1. Byte

2. Byte

.

.

n. Byte

DLE

ETX

BCC

DLE

02h

10h

10h

03h

10h

Nutzdaten

Empfangen

15-32

Im Ruhezustand, wenn kein Sendeauftrag zu bearbeiten ist, wartet die

Prozedur auf den Aufbau der Verbindung durch den Partner.

Empfängt die Prozedur im Ruhestand ein beliebiges Zeichen (außer STX oder NAK), wartet sie auf den Ablauf der Zeichenverzugszeit (ZVZ) und sendet dann ein Zeichen NAK. Das Systemprogramm ruft OB 35 auf und meldet den Fehler (Fehlernummer in AKKU 1).

Empfangspuffer

Empfängt die Prozedur das Zeichen STX und steht ihr ein leerer Empfangspuffer zur Verfügung, antwortet sie mit DLE. Ankommende Empfangszeichen werden nun im Empfangspuffer abgelegt. Werden zwei aufeinanderfolgende Zeichen DLE empfangen, wird nur ein Zeichen DLE in den Empfangspuffer übernommen. Ist der Empfangspuffer voll, bevor das

Partnergerät den Verbindungsabbau eingeleitet hat, wird die Verbindung mit NAK abgebrochen.

Nach jedem Empfangszeichen wird während der Zeichenverzugszeit (ZVZ) auf das nächste Zeichen gewartet. Verstreicht die ZVZ ohne Empfang, wird das Zeichen NAK an das Partnergerät gesendet. Das Systemprogramm ruft OB 35 auf und meldet den Fehler (Fehlernummer in AKKU 1).

Empfang fehlerfrei / fehlerhaft

Erkennt die Prozedur 3964 die Zeichenfolge DLE ETX, beendet sie den

Empfang und sendet DLE für einen fehlerfrei empfangenen oder NAK für einen fehlerhaft empfangenen Block an das Partnergerät.

Die Prozedur kehrt zurück in den Ruhestand.

Erkennt die Prozedur 3964R die Zeichenfolge DLE ETX BCC, beendet sie den Empfang. Sie vergleicht das empfangene Blockprüfzeichen BCC mit

Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Bedeutung

Startzeichen pos. Quittung

1. Datenbyte

2. Datenbyte

.

.

n. Datenbyte

Endekennung

Endekennung nur 3964R pos. Quittung

Teil 15 Datenübertragung 3964(R) der intern gebildeten Längsparität. Ist das Blockprüfzeichen korrekt und kein anderer Empfangsfehler aufgetreten, sendet die Prozedur 3964R DLE und kehrt zurück in den Ruhestand.

Bei fehlerhaftem BCC oder einem anderen Empfangsfehler wird NAK an das Partnergerät gesendet.

Anschließend wird eine Wiederholung erwartet.

Steht beim Verbindungsaufbau mit STX kein leerer Empfangspuffer zur

Verfügung, wird eine Wartezeit von 400 ms gestartet. Liegt nach dieser

Zeit noch kein leerer Empfangspuffer vor, ruft das Systemprogramm OB 35 auf und meldet den Fehler (Fehlernummer in AKKU 1).

Die Prozedur sendet ein Zeichen NAK und geht wieder in den Ruhestand zurück. Andernfalls sendet die Prozedur das Zeichen DLE und empfängt die Daten in der oben beschriebenen Weise.

Treten während des Empfangens Übertragungsfehler auf (verlorenes

Zeichen, Rahmenfehler, Paritätsfehler usw.), so wird bis zum Verbindungsabbau weiterempfangen und dann NAK an das Partnergerät gesendet. Anschließend wird eine Wiederholung erwartet. Kann der Block auch nach der im statischen Parametersatz spezifizierten Anzahl von

Wiederholversuchen nicht fehlerfrei empfangen werden oder wird die Wiederholung vom Partnergerät nicht innerhalb einer Wartezeit von 4 s gestartet, bricht die Prozedur den Empfang ab. Das Systemprogramm ruft OB

35 auf und meldet den Fehler (mit Fehlernummer in AKKU 1).

Beispiel für einen fehlerlosen Datenverkehr beim Empfang

CPU 928 Partner

Inhalt

STX

DLE

1. Byte

2. Byte

.

.

n. Byte

DLE

ETX

BCC

DLE

02h

10h

10h

03h

10h

Nutzdaten

Hinweis!

Die Prozedur 3964(R) sendet nach der Initialisierung oder dem Zurücksetzen das Zeichen NAK an den Partner, um das Partnergerät in den Ruhezustand zu bringen.

Rev. 00/27 15-33

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

Initialisierungskonflikt

Bedeutung

Antwortet ein Gerät auf den Sendewunsch (Zeichen STX) seines Partners innerhalb der Quittungsverzugszeit (QVZ) nicht mit der Quittung DLE oder

NAK, sondern ebenfalls mit dem Zeichen STX, so liegt ein Initialisierungskonflikt vor. Beide Geräte möchten einen vorliegenden Sendeauftrag ausführen. Das Gerät mit der niedrigeren Priorität stellt seinen Sendeauftrag zurück und antwortet mit dem Zeichen DLE. Das Gerät mit der höheren

Priorität sendet seine Daten in der zuvor beschriebenen Weise. Nach dem

Verbindungsabbau kann das Gerät mit der niedrigeren Priorität seinen

Sendeauftrag ausführen.

Priorität

Für den Fall des Initialisierungskonflikts können Sie die Priorität der CPU

928 einstellen. Beim Partner stellen Sie die entgegengesetzte Priorität ein.

Der Parameter Priorität wird im statischen Parametersatz eingestellt.

Beispiel zur Lösung des Initialisierungskonfliktes:

CPU 928 niedrige

Priorität

Inhalt

Partner höhere

Priorität

Startzeichen

Startzeichen pos. Quittung

1. Datenbyte

2. Datenbyte

.

.

n. Datenbyte

Endekennung

Endekennung nur 3964R pos. Quittung

Startzeichen pos. Quittung

DLE

ETX

BCC

DLE

STX

DLE

STX

STX

DLE

1. Byte

2. Byte

.

.

n. Byte

02h

02h

10h

10h

03h

10h

02h

10h

Nutzdaten

.

.

.

.

.

.

15-34 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2 Teil 15 Datenübertragung 3964(R)

Prozedurfehler

Die Prozedur erkennt Fehler, die durch ein fehlerhaftes Verhalten des

Partnergerätes ausgelöst werden und Fehler, die durch Störungen auf der

Leitung verursacht werden.

In beiden Fällen wird zunächst versucht, beim Wiederholen den

Datenblock richtig zu senden bzw. zu empfangen. Kann der Datenblock bis zur Maximalanzahl der Wiederholungen nicht fehlerfrei gesendet oder empfangen werden, bricht die Prozedur das Senden bzw. Empfangen ab.

Sie meldet die Fehlernummer für den ersten erkannten Fehler und begibt sich in den Ruhezustand. Das Systemprogramm ruft den OB 35 auf, die

Fehlernummer steht in AKKU 1.

Störeinflüsse

Falls das Systemprogramm des öfteren mit Fehlernummer in AKKU 1 für

Sende- und Empfangswiederholungen den OB 35 aufruft, sollten Sie auf gelegentliche Störungen des Datenverkehrs schließen.

Dies wird durch die Vielzahl der Wiederholungen jedoch ausgeglichen. In diesem Fall empfehlen wir Ihnen, die Übertragungsstrecke auf

Störeinflüsse zu untersuchen, da die Nutzdatenrate und Sicherheit der

Übertragungen bei vielen Wiederholungen sinkt. Die Ursache der Störung kann jedoch auch in einem fehlerhaften Verhalten des Partners liegen.

Hinweis!

Bei BREAK auf der Empfangsleitung wird vom Systemprogramm im OB 35

(AKKU 1) der BREAK-Zustand gemeldet. Es wird keine Wiederholung gestartet. Dieser Zustand wird solange anstehen, bis der BREAK-Zustand beseitigt ist. Der OB 35 wird erst wieder aufgerufen, wenn ein weiterer

Fehler aufgetreten ist.

Für alle erkannten Übertragungsfehler (verlorenes Zeichen, Rahmenfehler,

Paritätsfehler) wird eine einheitliche Nummer gemeldet, gleichgültig, ob der

Fehler beim Senden oder Empfangen eines Datenblocks erkannt wurde.

Der Fehler wird jedoch nur gemeldet, wenn die Wiederholungen zuvor erfolglos verliefen. Wird das gestörte Zeichen im Ruhezustand der Prozedur empfangen, ruft das Systemprogramm OB 35 und meldet den Fehler (Fehlernummer in AKKU 1), um Sie auf schwere Störeinflüsse auf der Übertragungsstrecke hinzuweisen.

Rev. 00/27 15-35

Teil 15 Datenübertragung 3964(R) Handbuch VIPA CPU 928 - Band 2

15-36 Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

A Anhang

Gesamtindex

Gesamtindex

Die Bände sind wie folgt gegliedert:

Band 1:

Band 2:

Teil 1 ... Teil 11

Teil 12 ... Teil 15

Hardware und Programmierung

Integrierte Funktionen und

Kommunikation

Rev. 00/27

2

20mA-Schnittstelle ................2-11

3

3964(R).................................15-1

Betrieb .................................. 15-24

Inbetriebnahme..................... 15-22

Parametrierung....................... 15-9

Prozeduren ........................... 15-30

A

Adressierungsarten.................1-9

AKKU ....................................4-13

Inhalte rollen ........................... 12-8 löschen ................................... 12-7

Alarm gemeinsam verzögern .......... 12-15

Prozess- ................................. 5-23

Reaktion ................................. 4-11 sperren ................................. 12-10

Analogwertbausteine...........13-32

Anlauf ..........................4-10; 5-11

Anwenderschnittstellen........... 5-13

-fehler ..................................... 6-24

-unterbrechung ....................... 5-14

-verhalten................................ 2-17

A-NR .....................................13-4

Anwenderkontrollpunkte........11-3

Anwenderprogramm ...............3-1 bearbeiten............................... 4-10

Anwendungsbereiche..............1-5

Anzeigenwort ........................8-16

Anzeigenwort ......................13-10

ANZW ...................................13-4

Arbeitsweise einer CPU ..........1-6

Aufbau CPU 928 .....................2-3

Aufruf im STOP.....................11-8

B

BA/BB-Bereich ........................8-9

BASP ......................................5-4

Baustein

Ablage im Speicher ................ 3-10

-adressliste im DB 0 ................. 8-7

-köpfe ....................................... 8-6 löschen ................................... 11-6

-schachtelung ........................... 4-6

-Stack lesen ......................... 12-45

übertragen .............................. 11-6

Betriebszustände ............ 5-1; 5-2

Anlauf ..................................... 5-11

RUN........................................ 5-15

Bit

STOP ....................................... 5-8

-anzeigen................................ 4-15

-belegung BS.......................... 8-12

BLGR ....................................13-5

Blockgröße..........................13-31

BS/BT-Bereich ........................8-9

C

CONTROL ..........................13-26

CPU 928-Varianten .................1-4

D

Darstellungsarten

FUP, KOP, AWL....................... 3-2

Datenbaustein .......................3-29 aufschlagen ............................ 3-31

Beispiele................................. 3-32

Datenblock kopieren ............ 12-56 erstellen.................................. 3-30

Merker übertragen..... 12-62; 12-65 spezielle ................................. 3-34 testen.................................... 12-54 variabler Zugriff .................... 12-50 verschieben, duplizieren....... 12-98

A-1

Gesamtindex

A-2

DB/DX testen ......................12-54

DBNR....................................13-5

DB-Zugriff variabel ..............12-50

Digitalverknüpfungen ............4-48

DX 0........................................7-2

Aufbau ...................................... 7-3

Parameter................................. 7-5

E

EPROM-Betrieb .............2-15; 4-8

Ergebnisanzeigen .................4-14

F

Fehler

Abbruch .................................. 6-48

Adressier- ............................... 6-43

ANLAUF ................................. 6-24

-anzeigen .................................. 5-3 im Anzeigenwort............... 13-11

Befehlscode-........................... 6-32

-behandlung.............................. 6-2

-behandlung über OBs ........... 6-21

DB 0........................................ 6-25

DB 1........................................ 6-26

DX0......................................... 6-27

-informationen .......................... 6-3

Laufzeit-.................................. 6-35

Memory-Card.......................... 6-29

Prozedur-.............................. 15-35

Quittungsverzug ..................... 6-43

RUN........................................ 6-30

SI 1, SI 2................................... 2-8

Weck- ..................................... 6-47

Zykluszeit- .............................. 6-46

FETCH................................13-25

Frontansicht

CPU 928-3UB12....................... 2-6

CPU 928-3UB21....................... 2-5

CPU 928-3UC11....................... 2-4

Funktionsbausteine...............3-19

Aufbau .................................... 3-20

Aufrufen und Parametrieren ... 3-24

Programmierung..................... 3-22

Spezialbausteine .................... 3-28

G

Grundlagen .............................1-1

H

Haltepunkte...........................11-8

Hardwarebeschreibung ...........2-1

I

Inbetriebnahme .....................2-16

Handbuch VIPA CPU 928 - Band 2

K

Kachel

Belegung .............................. 12-76 lesen..................................... 12-74 schreiben.............................. 12-72

-zugriff .................................. 12-70

Kontrollpunkte .....................11-16

L

L- und T-Operationen.. 4-18; 4-51

Längen-Wort .......................13-15

Leistungsmerkmale .................1-5

Leuchtdioden ..........................2-7

M

Memory-Card ........................5-10

O

OB 110..................................12-5

OB 111..................................12-7

OB 112/113...........................12-8

OB 120................................12-10

OB 121................................12-13

OB 122................................12-15

OB 123................................12-18

OB 134................................12-20

OB 135................................12-20

OB 136................................12-21

OB 139................................12-21

OB 150................................12-22

OB 151................................12-29

OB 152................................12-36

OB 160 bis 163 ...................12-43

OB 170................................12-45

OB 180................................12-50

OB 181................................12-54

OB 182................................12-56

OB 186................................12-60

OB 190/192.........................12-62

OB 191/193.........................12-65

OB 216................................12-72

OB 216 bis 218 ...................12-70

OB 217................................12-74

OB 218................................12-76

OB 220................................12-78

OB 221................................12-79

OB 222................................12-80

OB 228................................12-81

OB 230 bis 237 ...................12-83

OB 250................................12-91

OB 250/251.........................12-84

OB 251................................12-92

OB 254/255.........................12-98

OBs für Anwender.................3-15

Rev. 00/27

Handbuch VIPA CPU 928 - Band 2

Operanden der CPU 928 ........1-7

Operationen ..........................4-13

Arithmetische.......................... 4-28

Bearbeitungs- ......................... 4-62 ergänzende............................. 4-47

Grund- .................................... 4-16 mit Basisadressregister .......... 9-22 organisatorische ..................... 4-54

Schiebe- ................................. 4-56

Semaphor-.............................. 4-13

Speicher- ....................... 4-17; 4-34

Sprung-................................... 4-54

Umwandlungs-........................ 4-58

Zeit- und Zähl- ............... 4-23; 4-49

Organisationsbausteine ........3-13

P

PAE/PAA ..............................4-12

PAFE .........................13-5; 13-16

Parallelbetrieb .....................11-17

Ablauf ................................... 11-21

Betrieb .................................. 11-19

Inbetriebnahme..................... 11-19

Peripherie ansprechen ..........4-22

PG-Funktionen......................11-2

PID-Regler ..........................12-84

Abkürzungen ........................ 12-96 bearbeiten............................. 12-92

Funktionsbeschreibung ........ 12-84 initialisieren ........................... 12-91

Programmbearbeitung ............4-1

Ebenen ..................................... 5-5

Prinzip....................................... 4-2 zeitgesteuerte ......................... 5-19 zyklische ................................. 5-17

Programme einer CPU............1-6

Programmierung

Beispiele FUP, KOP, AWL ..... 4-31

Organisationsbaustein............ 3-13

Programmbausteine ............... 3-13

Programmiersprache................ 3-2

Programmorganisation ............. 4-3

Programmtest......................... 11-7

Schrittbaustein........................ 3-13 strukturierte .............................. 3-4

Vorgehensweise ..................... 1-10

Q

QANF/ZANF .........................13-5

QLAE/ZLAE ..........................13-5

QTYP/ZTYP..........................13-4

QTYP/ZTYP-Parameter ......13-17

R

RAM-Betrieb ...........................4-8

RECEIVE ............................13-22

RECEIVE-ALL.....................13-30

Gesamtindex

Rechenoperationen ...............4-52

RESET ................................13-27

RK512 ...................................14-1

Aufträge.................................. 14-4

Betrieb .................................. 14-30

Datenaustausch ................... 14-38

Inbetriebnahme .................... 14-28

Koordinierungsmerker.......... 14-26

Parametrierung .................... 14-10

Telegrammbeschreibung ..... 14-43

RS232C-Schnittstelle ............2-13

RS422-Schnittstelle.....................

2-14

RUN ......................................5-15

S

Schachteltiefe .........................4-6

Schalter...................................2-9

Schrittbausteine ....................3-13

SEND ..................................13-19

SEND-ALL ..........................13-29

Serielle Kopplung ................11-17

SI 1 .......................................2-10

SI 2 .......................................2-11

Sicherheitshinweis...................1-2

Sonderfunktionen ..................12-1

Akku-Schreibweise................. 12-3

Fehlerbearbeitung .................. 12-3

OBs für Standard-FBs.......... 12-83

Pseudobefehlsgrenzen........... 12-4

Schnittstellen .......................... 12-3

Übersicht ....................... 3-18; 12-1

Speicher

-belegung ................................. 8-3 komprimieren .............. 11-5; 12-60

-zugriff

Beispiele ............................ 9-13

über absol. Adressen ........... 9-1

über AKKU 1 ........................ 9-6

Speicherblöcke transferieren.9-15

Speicheroperationen .............4-48

Speicherorganisation ..............8-5

CPU 928................................... 8-5

Speicherung von PBs u. DBs ..4-8

SSNR ....................................13-4

Standard-HTBs .....................13-1

Parametrierung ...................... 13-6 indirekte ............................. 13-9

Status

Baustein ................................. 11-7

Information lesen.................. 12-81

Steuerbits................................6-8

STOP ......................................5-8

SYNCHRON........................13-28

Systemkontrollpunkte............11-3

Systemzeit stellen/lesen......12-22

Rev. 00/27 A-3

Gesamtindex

T

Transferoperationen..............9-23

U

Unterbrechungs

-behandlung.............................. 6-2

-ereignisse .............................. 4-12

-stack ........................................ 6-7

Unterschiede CPUs ..............1-12

Urlöschen.......................5-9; 11-5

USTACK

Beispiele ................................. 6-18

Inhalt....................................... 6-13

V

VKE ........................................3-5

VKE-Bildung .........................4-17

Vorzeichenerweiterung .......12-78

Handbuch VIPA CPU 928 - Band 2

W

WARTEZUSTAND ................11-4

Weckalarm............................5-20 einzeln verzögern ................. 12-18 sperren ................................. 12-13 uhrzeitgesteuert...................... 5-20 stellen/lesen ..................... 12-29

Weckfehler............................5-22

Wortanzeigen........................4-15

Z

Zahlendarstellung....................3-6

Zählschleifen .......................12-43

Zugriff auf Anzeigenbyte .......12-5

Zyklus ...................................4-10

-statistik ................................ 12-36

-überwachung einstellen.......................... 12-79 neu starten ....................... 12-80

-zeit......................................... 4-11

-zeitüberwachung ................... 4-12

A-4

M.Stich

Rev. 00/27

advertisement

Was this manual useful for you? Yes No
Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Related manuals

Download PDF

advertisement

Table of contents