Anda di halaman 1dari 158

GE Fanuc Automation

Speicherprogrammierbare Steuerungen

VersaMax SPS

Anwenderhandbuch
GFK-1503-GE Oktober 1998

GFL-002

Die Begriffe Vorsicht, Achtung und Hinweis, wie sie in dieser Publikation verwendet werden
Vorsicht
In dieser Verffentlichung zeigen VORSICHT-Hinweise an, da in den beschriebenen Gerten Spannungen, Strme, Temperaturen oder andere Bedingungen, die krperliche Schden hervorrufen knnen, vorkommen. Wo Unaufmerksamkeit krperliche Schden oder eine Beschdigung des Gerts verursachen knnen, werden VORSICHT-Hinweise verwendet.

Achtung
ACHTUNG-Hinweise werden dort verwendet, wo das Gert bei unsachgemer Vorgehensweise beschdigt werden knnte.

Hinweis
HINWEISE sollen nur die Aufmerksamkeit des Lesers auf Informationen lenken, die besonders wichtig fr Verstndnis und Bedienung des Gerts sind. Dieses Dokument sttzt sich auf Informationen, die zum Zeitpunkt seiner Verffentlichung verfgbar waren. Obwohl alle Anstrengungen unternommen wurden, den Inhalt so genau wie mglich zu gestalten, knnen die hier enthaltenen Informationen nicht den Anspruch erheben, alle Details oder Vernderungen von Software und Hardware abzudecken, oder jede Mglichkeit im Zusammenhang mit Installation, Betrieb oder Wartung zu bercksichtigen. In diesem Dokument knnen Merkmale beschrieben sein, die nicht in allen Hard- und Softwaresystemen vorhanden sind. GE Fanuc Automation bernimmt keine Verpflichtung, Besitzer dieses Dokuments ber nachtrglich durchgefhrte nderungen zu informieren. GE Fanuc Automation bernimmt keine Verantwortung fr Genauigkeit, Vollstndigkeit oder Ntzlichkeit der in diesem Dokument enthaltenen Informationen. Folgende Bezeichnungen sind Warenzeichen von GE Fanuc Automation North America, Inc.
Alarm Master CIMPLICITY CIMPLICITY Control CIMPLICITY 90ADS CIMPLICITY PowerTRAC Field Control Genet Genius Genius PowerTRAC Helpmate Logicmaster Modelmaster Motion Mate PowerMotion ProLoop PROMACRO Series Five Series 90 Series One Series Six Series Three VuMaster VersaMax Workmaster

Copyright 1998 GE Fanuc Automation North America, Inc. Alle Rechte vorbehalten.

Inhalt

Kapitel 1

Einleitung
Die VersaMax SPS CPU-Eigenschaften

1-1
1-3 1-4

Kapitel 2 Kapitel 3

CPU-Module Installation
Installation der CPU Installation der Stromversorgung Installation zustzlicher Module Pufferbatterie aktivieren oder auswechseln Serielle Schnittstellenanschlsse fr CPU001 Installationsanforderungen fr CE-Zeichen

2-1 3-1
3-2 3-5 3-6 3-7 3-8 3-14

Kapitel 4 Kapitel 5

Konfiguration CPU-Arbeitsweise
Komponenten des CPU-Zyklus Standardzyklusbetrieb der CPU Betrieb mit konstanter Zyklusdauer CPU STOP-Betriebsarten Programmausfhrung steuern Privilegebenen und Passworte Arbeitsweise des RUN/STOP-Betriebsartenumschalters

4-1 5-1
5-2 5-4 5-5 5-6 5-7 5-8 5-9

Kapitel 6

Elemente eines Anwenderprogramms


Struktur eines Anwenderprogramms Unterprogramme Programmsprachen Der Befehlssatz

6-1
6-2 6-3 6-5 6-7

Kapitel 7

Programmdaten
Datenspeicheradressen Datenremanenz Verwendung symbolischer Adressen und Beschreibungen fr Programmreferenzen System-Statusreferenzen Wie Programmfunktionen numerische Daten behandeln Zeitkontakte

7-1
7-2 7-5 7-6 7-7 7-11 7-14
iii

GFK-1503-GE

Inhalt

Kapitel 8

Die Bedienanforderungsfunktion

8-1

SVCREQ Funktionsnummern 8-2 Format der SVCREQ-Funktion 8-3 SVCREQ 1: Timer fr konstante Zyklusdauer verndern/lesen 8-5 SVCREQ 2: Fensterzeiten lesen 8-7 SVCREQ 3: Betriebsart des Programmiergerte-Kommunikationsfenster wechseln 8-8 SVCREQ 4: Betriebsart des System-Kommunikationsfensters wechseln 8-9 SVCREQ 6: Anzahl der Worte fr Prfsumme verndern/lesen 8-10 SVCREQ 7: Zeituhr lesen oder einstellen 8-12 SVCREQ 8: Watchdog-Zeitgeber rcksetzen 8-16 SVCREQ 9: Zyklusdauer seit Zyklusbeginn lesen 8-17 SVCREQ 10: Ordnername lesen 8-18 SVCREQ 11: SPS ID lesen 8-19 SVCREQ 13: SPS abschalten (Stop) 8-20 SVCREQ 14: Fehler lschen 8-21 SVCREQ 15: Zuletzt eingetragenen Fehlertabelleneintrag lesen 8-22 SVCREQ 16: Betriebszeituhr lesen 8-24 SVCREQ 18: E/A-OVERRIDE-Zustand lesen 8-25 SVCREQ 23: Hauptprfsumme lesen 8-26 SVCREQ 26/30: E/A abfragen 8-27 SVCREQ 29: Verstrichene Stromausfallzeit lesen 8-28

Kapitel 9

Serielles E/A / SNP / RTU Protokolls

9-1

Format der Kommunikationsanforderungsfunktion 9-2 Konfiguration der seriellen Schnittstellen mit der COMMREQ-Funktion 9-4 Aufruf serieller E/A COMMREQs aus dem SPS-Zyklus 9-10 COMMREQ-Befehle fr serielle E/A 9-13

Kapitel 10

Die PID-Funktion
Format der PID-Funktion Arbeitsweise der PID-Funktion Parameterblock fr die PID-Funktion Einstellung von PID-Algorithmen (PIDISA oder PIDIND) und Verstrkungen Festlegen der Prozesseigenschaften Einstellen der Parameter und Abgleich der Schleifenverstrkungen Beispiel eines PID-Aufrufs

10-1
10-2 10-4 10-6 10-10 10-14 10-15 10-17

Anhang A

Befehlsausfhrungszeiten

A-1

iv

VersaMax SPS AnwenderhandbuchOktober 1998

GFK-1503-GE

Kapitel

Einleitung

1
Fhrer durch die VersaMax Dokumentation
Dieses Handbuch enthlt allgemeine Informationen zur Arbeitsweise der CPU und zum Programminhalt. Es liefert auch ausfhrliche Beschreibungen spezifischer Anforderungen an die Programmierung. CPU-Module werden ausfhrlich in Kapitel 2 beschrieben. CPU-Installationsprozeduren werden in Kapitel 3 beschrieben. Dieses Kapitel erlutert auch Ausbau und Austausch der Batterie und den seriellen Schnittstellenanschlu. Die Konfiguration wird in Kapitel 4 beschrieben. Mit der Konfiguration werden bestimmte Eigenschaften der Modul-Arbeitsweise bestimmt und auch die von den einzelnen Modulen im System benutzten Programmreferenzen festgelegt. Die restlichen Kapitel erlutern die Arbeitsweise der CPU und die Programmiereigenschaften. n CPU-Zyklus: Kapitel 5 n Elemente eines Anwenderprogramms: Kapitel 6 n Programmdaten: Kapitel 7 n Die Service Request-Funktion: Kapitel 8 n Serielle E/A / SNP / RTU: Kapitel 9 n Die PID-Funktion: Kapitel 10 Die Anhnge zu diesem Handbuch enthalten ausfhrliche Referenzinformationen.

GFK-1503-GE

1-1

1 Weitere VersaMax Handbcher


VersaMax Module, Stromversorgungen und Trger, Anwenderhandbuch (Bestellnummer GFK-1504) VersaMax Profibus NIU Anwenderhandbuch (Bestellnummer GFK-1534) VersaMax Genius NIU Anwenderhandbuch (Bestellnummer GFK-1535) Beschreibt die zahlreichen VersaMax E/A- und Zusatzmodule, Stromversorgungen und Baugruppentrger. Jedes Kapitel beschreibt die Module eines bestimmten Typs. Darber hinaus enthlt dieses Handbuch ausfhrliche Installationsanleitungen. Beschreibt Installation und Arbeitsweise der Profibus NIU. Es beschreibt auch die Arbeitsweise von Modulen, die es nur in einem NIU-System gibt. Beschreibt Installation und Arbeitsweise der Genius NIU. Es beschreibt auch die Arbeitsweise von Modulen, die es nur in einem NIU-System gibt.

1-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Die VersaMax SPS


Die VersaMax SPS ist eine kompakt aufgebaute SPS zur Montage ohne Chassis auf einer Profilschiene. Die mit einem leistungsfhigen Befehlssatz und erweiterten Funktionen ausgestattete CPU kann bis zu 8 E/A- und Zusatzmodule bedienen, wodurch sich insgesamt 256 lokale E/A-Punkte ergeben. Das lokale System kann bis zu 8 Module enthalten, die ber eine auf der CPU angebrachte Stromversorgung gespeist werden. Fr Module mit hohem Stromverbrauch knnen weitere Stromversorgungen in das System eingebracht werden. Die E/A-Module werden auf einzelne Trger montiert. Diese Trger werden dann auf die Profilschiene aufgesetzt und liefern dem Modul Rckwandplatinen-Kommunikation und Anschluklemmen. Eine Vielfalt von Trgertypen erlaubt Flexibilitt bei Montage und Prozeanschlu. Die Abbildung unten zeigt ein lokales System mit 6 E/A-Modulen. Wie die Abbildung zeigt, knnen diese Module auf eine beliebige Kombination von Trgertypen montiert werden. Bei Trgern mit Steckverbindern werden die Module senkrecht zur Profilschiene montiert. Trger mit Steckverbindern besitzen einen 32-poligen Steckverbinder zum Anschlu eines E/A-Kabels. Die eigentlichen Anschluklemmen fr diese Trger befinden sich auf speziellen Koppelklemmenelementen (nicht dargestellt). Bei Trgern mit Anschluklemmen werden die Module parallel zur Profilschiene montiert. Trger mit Anschluklemmen besitzen 32 Schraubklemmen zum direkten Anschlu der Prozeverdrahtung. Werden zustzliche Klemmen bentigt, knnen weitere E/A-Zusatzklemmen hinzugefgt werden. Die nachstehende Abbildung zeigt eines dieser Zusatzklemmenelemente.
CPU-Modul mit Stromversorgung Zusatz-Stromversorgung (Option)

VersaMax ist fr industrielle und kommerzielle Automatisierung ausgelegt und erfllt die Forderungen von UL, CUL, CE, Class1 Zone 2 und Class I Division 2. Die automatische Konfiguration beim Einschalten legt die Adressierung der Module im System automatisch fest. Die Module besitzen einen StandardFunktionssatz, der fr einen weiten Anwendungsbereich geeignet ist.
GFK-1503-GE Kapitel 1 Einleitung 1-3

CPU-Eigenschaften
Die VersaMax CPU bietet einen umfangreichen Befehlssatz, der die Programmierung im Kontaktplan- und Ablaufsprachenformat (SFC) gestattet. Die Programme knnen Gleitpunktfunktionen (REAL) enthalten. Die CPU mit zwei seriellen Schnittstellen (IC200CPU001) bietet eine leistungsfhige SPS-Funktionalitt in einem kleinen und vielseitigen System. Die CPU001 arbeitet als Systemsteuerung fr bis zu 8 Module mit maximal 256 E/A-Punkten. Die CPU besitzt zwei serielle Schnittstellen fr RS232und RS485-Kommunikation. Beide Schnittstellen knnen ber die Software fr den Betrieb als SNP-Slave oder RTU-Slave konfiguriert werden. 2-Drahtund 4-Draht-RTU wird untersttzt. Darberhinaus gestatten es die seriellen E/A-Funktionen der CPU, da ein Anwenderprogramm die Lese/SchreibAktivitten einer Schnittstelle steuern kann, so da die meisten seriellen Protokolle implementiert werden knnen.

Programmspeicher
Anwenderprogramme werden mit der Programmiersoftware erstellt und zur SPS bertragen. Programme werden im batteriegepufferten Speicher der CPU abgelegt. Die CPU001 besitzt 12 kB zur Speicherung der Anwenderprogramme.

Unterprogramm
Das Programm kann entweder aus einem Hauptprogramm bestehen, das bei jedem CPU-Zyklus vollstndig bearbeitet wird, oder aber in Unterprogramme aufgeteilt sein. Bei der CPU001 ist die maximale Gre eines Hauptprogramms oder eines Unterprogrammblocks auf 12kB beschrnkt. Unterprogramme knnen die Programmierung vereinfachen und die Menge der insgesamt bentigten Logik verringern. Die einzelnen Unterprogramme knnen entsprechend den Anforderungen aufgerufen werden. Unterprogrammblcke knnen von der Programmiersoftware zur Erstellung unterschiedlicher Programmsicherheitsebenen gesperrt oder freigegeben werden. Es gibt vier verschiedene Sperrebenen.

System-Statusreferenzen
Die VersaMax CPU bietet einen vollstndigen Satz System-Statusreferenzen. Die CPU aktualisiert diese vordefinierten und benannten Speicherpltze automatisch mit Statusinformationen. Die Programmlogik kann bei Bedarf darauf zugreifen, um Zustandsnderungen des Systems abzuprfen und darauf zu reagieren. Zu den speziellen Statusreferenzen gehren die Zeitreferenzen T_10MS, T_100MS, T_SEC und T_MIN, sowie Funktionsreferenzen wie FST_SCN (erster Zyklus), ALW_ON (immer EIN) oder ALW_OFF (immer AUS).
1-4 VersaMax SPS Anwenderhandbuch Oktober 1998 GFK-1503-GE

1 Befehlssatz
Der Befehlssatz der VersaMax CPU beinhaltet alle von den anderen SPSSystemen von GE Fanuc (wie Series 90-30 und Series 90-70) bekannten Funktionen. Vollstndige Referenzinformationen finden Sie in der Dokumentation und Online-Hilfe zur Programmiersoftware.
Kontakte Schlieer ffner Spulen Schlieer Negierte positive & negative Transition SET / RESET SET remanent / RESET remanent Negiert remanent / remanent Arithmetische Funktionen Addition / Subtraktion / Multiplikation / Division Modulo Division Trigonometrische Funktionen: Sinus, Kosinus, Tangens, Arkussinus, Arkuskosinus, Arkustangens Umwandlung in Grad / Umwandlung in Radiant Quadratwurzel dekadischer Logarithmus /natrlicher Logarithmus natrliche Exponentialfunktion Bitoperationen Logisch UND / ODER / Antivalenz / NICHT Nach links verschieben / nach rechts verschieben Nach links rotieren / nach rechts rotieren Bit testen / Bit auf 1 setzen / Bit auf 0 setzen / Bitposition Vergleich mit Maske

Timer und Zhler Einschaltverzgerung Stoppuhr Abschaltverzgerung Einschaltverzgerung Aufwrtszhler Abwrtszhler

Relationale Funktionen Gleich Ungleich Grer als Grer als oder gleich Kleiner als Kleiner als oder gleich Bereich Datenkopierfunktionen Kopieren Block kopieren Block lschen Schieberegister Bitfolgesteuerung Kommunikationsanforderung Umwandlungsfunktionen Wandle ganze Zahl in BCD-4 Wandle reelle Zahl in Wort Wandle BCD-4 oder reelle Zahl in ganze Zahl Wandle BCD-4 oder reelle Zahl in doppeltgenaue ganze Zahl Wandle ganze Zahl, doppeltgenaue ganze Zahl, BCD-4 oder Wort in reelle Zahl Reelle Zahl auf ganze Zahl abschneiden Reelle Zahl auf doppeltgenaue ganze Zahl abschneiden

Tabellenfunktionen Feld kopieren Suchen: gleich / ungleich / grer als / grer als oder gleich /kleiner als /kleiner als oder gleich

Steuerfunktionen Unterprogrammaufruf E/A aktualisieren Unabhngiger PID-Algorithmus ISA-PID-Algorithmus Programmende Kommentar Bedienanforderung Geschachteltes Hauptsteuerrelais Sprung

GFK-1503-GE

Kapitel 1 Einleitung

1-5

1 SVCREQ- Funktionen
Die Service Request-Funktion des VersaMax-Befehlssatzes ist ein mchtiges Kommunikationswerkzeug, mit dem aus dem Anwenderprogramm heraus spezielle Daten zum Systembetrieb gelesen oder bestimmte Operationen verndert werden knnen. Mit Bedienanforderungen kann das Anwenderprogramm: n Timer fr konstante Zyklusdauer verndern/lesen. n Fensterzeiten lesen. n Betriebsart und Zeit des ProgrammiergerteKommunikationsfensters verndern. n Betriebsart und Zeit des System-Kommunikationsfensters verndern. n Zustand und Anzahl der eingeschlossenen Worte der Prfsummenfunktion lesen/verndern. n Uhrzeit verndern/lesen. n Watchdog rcksetzen. n Seit Zyklusbeginn verstrichene Zykluszeit lesen. n Ordnernamen lesen. n SPS-Kennung lesen. n RUN-Zustand der SPS lesen. n SPS abschalten. n Fehlertabellen lschen. n Zuletzt eingetragenen Fehlertabelleneintrag lesen. n Betriebszeituhr lesen. n E/A-OVERRIDE-Status lesen. n Hauptprfsumme lesen. n E/A abfragen. n Verstrichene Stromausfallzeit lesen.

1-6

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

1 Serielle E/A
Die serielle E/A ist eine weitere leistungsfhige Funktion, die in einem Anwenderprogramm zur direkten Steuerung der Schreib-/Leseaktivitten eines CPU-Schnittstellen aus dem Anwenderprogramm heraus verwendet werden kann. Mit dieser Funktion knnen die meisten seriellen Protokolle implementiert werden. Die serielle E/A kann zu folgenden Zwecken verwendet werden: n Schnittstelle initialisieren. n Gre des Empfangsdatenpuffers einstellen. n Empfangsdatenpuffer leeren. n Schnittstellenstatus lesen. n RTS an serieller Schnittstelle aktivieren / deaktivieren n Eine Operation abbrechen. n Automatische Modemwahl und Absenden einer festgelegten Bytefolge. n Bis zu 250 Zeichen aus dem Wortspeicher zu einem dezentralen Gert ber den angegebenen Schnittstelle senden. n Ein oder mehrere empfangene Zeichen aus einem internen Eingangspuffer lesen.

GFK-1503-GE

Kapitel 1 Einleitung

1-7

Kapitel

CPU-Module

2
Dieses Kapitel beschreibt Erscheinungsbild, Eigenschaften und Funktionalitt der CPU-Module der VersaMax SPS.

IC200CPU001 CPU mit zwei seriellen Schnittstellen

GFK-1503-GE

2-1

2
IC200CPU001 CPU mit zwei seriellen Schnittstellen
Die CPU mit zwei seriellen Schnittstellen (IC200CPU001) bietet leistungsstarke SPS-Funktionalitt in einem kleinen und vielseitigen System. CPU001 arbeitet als Systemsteuerung fr bis zu 8 Module mit maximal 256 lokalen E/A-Punkten. Die CPU besitzt zwei serielle Schnittstellen (Schnittstelle 1 (RS-232) und Schnittstelle 2 (RS-485)).
CPU001
PWR OK RUN FAULT FORCE PORT 1 PORT 2

IC200CPU001
PORT 1

RS232 PORT 2

CPU 12K BYTES USER PROG

IND CONT EQ FOR HAZ LOC CLASS I DIV 2 GROUPS ABCD Temp Code T4A Ambient 60C CLASS I ZONE 2 GROUP IIC T4A CLASS I ZONE 2 Ex nA IIC T4A 0C Ta 60C Ex nV II T4 Demko MADE IN USA RS485

Eigenschaften
n n n

n n n n n

12 k batteriegepufferter RAM fr Anwenderprogramme Nichtflchtige Flash Memory zur Programmspeicherung Programmierung in Kontaktplanprogramm, Ablaufsprache (SFC) oder Anweisungsliste Batteriepufferung fr Programm, Daten und Zeituhr RUN/STOP-Schalter Gleitpunkt-Arithmetikfunktionen (reelle Zahlen) Integrierte RS-232- und RS-485-Kommunikation. 70 mm Montagehhe auf Profilschiene mit Stromversorgung

2-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

2
IC200CPU001 CPU mit zwei seriellen Schnittstellen

Moduldaten
Gre Programmspeicherung Gleitpunktarithmetik Kommunikation Umgebungsbedingungen Boolesche Bearbeitungsgeschwindigkeit Genauigkeit der Echtzeituhr (fr Timerfunktionen) Uhrzeitgenauigkeit 66,8 mm (2,63) x 128 mm (5,04) System-Flash, batteriegepufferter RAM Ja RS-232, RS-485 Siehe VersaMax Module, Stromversorgungen und Trger, Anwenderhandbuch (GFK-1504). 1,8 ms/k (typisch) 100 ppm (0,01%) oder +/- 9 s/Tag

23 ppm (0,0023%) oder +/- 2 s/Tag bei 30C. 100 ppm (0.01%) oder +/- 9 s/Tag bei vollem Temperaturbereich

Betriebsartenschalter
Die CPU-Module besitzen einen Schalter, ber den die SPS in den STOPoder RUN-Modus geschaltet werden kann. ber den gleichen Schalter kann auch ein unbeabsichtigtes Schreiben in den CPU-Speicher sowie Fixieren oder berspeichern von diskreten Daten gesperrt werden. Der Einsatz dieser Eigenschaft ist konfigurierbar. In der Standardkonfiguration sind die Einstellung von RUN/STOP-Modus freigegeben und der Speicherschutz deaktiviert.

RUN/ON

STOP/OFF

GFK-1503-GE

Kapitel 2 CPU-Module

2-3

2
IC200CPU001 CPU mit zwei seriellen Schnittstellen

LEDs
Sieben durch die Modulklappe sichtbare LEDs geben an, ob Spannung anliegt und zeigen Betriebsart und Diagnosezustand der CPU, Fehler, Fixierungen und Kommunikation an den beiden Modulschnittstellen an.
PWR OK RUN FAULT FORCE PORT 1 PORT 2

POWER

OK

RUN

FAULT

FORCE PORT 1 PORT 2

EIN, wenn die CPU von der Stromversorgung mit 5 V versorgt wird. Diese LED zeigt nicht den Zustand des 3,3-V-Spannungsausgangs an. EIN: Die CPU hat die Einschalt-Diagnoseroutine fehlerfrei durchlaufen und arbeitet ordnungsgem. AUS: Es liegt ein CPUProblem vor. Schnelles Blinken: Die CPU durchluft die EinschaltDiagnoseroutine. Langsames Blinken: Die CPU konfiguriert die E/A-Module. Gleichzeitiges Blinken dieser LED und der grnen RUN-LED: Die CPU ist im Bootmodus und wartet auf die Firmwareaktualisierung ber Schnittstelle 1. Grn: Die CPU ist im RUN-Modus. Gelb: Die CPU ist im Modus "STOP mit E/A-Aktualisierung". Diese LED ist AUS, die LED OK ist EIN: Die CPU ist im Modus "STOP ohne E/A-Aktualisierung". LED blinkt grn und LED FAULT ist EIN: Modulschalter wurde von STOP auf RUN umgeschaltet, whrend ein fataler Fehler bestand. Beim Umschalten wird RUN-Modus fortgesetzt. EIN: Die CPU ist im Modus STOP/Strung, da ein fataler Fehler aufgetreten ist. Zum Lschen dieser LED mssen E/A-Fehlertabelle und SPS-Fehlertabelle gelscht werden. Diese LED blinkt und die LED OK ist AUS: Bei der SPS-Einschalt-Diagnoseroutine wurde ein fataler Fehler erkannt. Mit SPS-Vor-Ort-Service Kontakt aufnehmen. EIN: Bei einer Bitadresse ist ein OVERRIDE-Zustand aktiv. Blinken: An der betreffenden Schnittstelle laufen Aktivitten.

2-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

2
IC200CPU001 CPU mit zwei seriellen Schnittstellen

Serielle CPU-Schnittstellen
PORT 1

1 5
RS232 PORT 2

Die beiden seriellen Schnittstellen der CPU knnen ber die Software fr den Betrieb als SNP-Slave oder RTUSlave konfiguriert werden. Es wird 2-Draht- und 4-DrahtRTU untersttzt. Eine fr RTU benutzte Schnittstelle schaltet bei Bedarf automatisch auf SNP-Slavemodus um. Beide Schnittstellen stellen sich in der Standardeinstellung auf SNP-Slave ein und beide Schnittstellen gehen automatisch auf SNP-Slave zurck, wenn sich die CPU im STOP-Modus befindet und serielle E/A konfiguriert ist. Jede Schnittstelle kann ber die Software so konfiguriert werden, da er den Datenverkehr zwischen der CPU und unterschiedlichen seriellen Gerten aufbaut. Ein externes Gert kann ber Schnittstelle 2 mit Spannung versorgt werden (max. 100 mA bei 5 VDC).

8
RS485

Leitungslngen und bertragungsgeschwindigkeiten


Die maximalen Leitungslngen zwischen CPU und letztem angeschlossenen Gert betragen: Schnittstelle 1 (RS-232) = 15 m

Schnittstelle 2 (RS-485) = 1200 m Beide Schnittstellen untersttzen konfigurierbare bertragungsgeschwindigkeiten zwischen 4,8 und 38,4 kBd.

GFK-1503-GE

Kapitel 2 CPU-Module

2-5

2
IC200CPU001 CPU mit zwei seriellen Schnittstellen

Schnittstelle 1
Schnittstelle 1 ist eine RS-232-Schnittstelle mit einer 9-poligen Sub DBuchse. Er wird als Bootlader zum Hochrsten der CPU-Firmware verwendet. Der Kabelschirm ist am Steckergehuse aufgelegt. Durch die Anschlubelegung von Schnittstelle 1 kann der Anschlu an eine StandardAT-RS-232-Schnittstelle ber ein 1:1-durchverbundenes Kabel erfolgen.
Pin 1 2 3 4 5 6 7 8 9 Gehuse Signal offen TXD RXD offen GND offen CTS RTS offen SHLD -Anschlu Kabelschirmdraht / Schirmanschlu bei 100% (durchgngig) geschirmtem Kabel Eingang Ausgang Clear to Send-Eingang Request to Send-Ausgang -0 V/Massebezugspunkt Ausgang Eingang Transmit Data-Ausgang Receive Data-Eingang Richtung Funktion

2-6

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

2 Schnittstelle 2
Schnittstelle 2 ist eine RS-485-Schnittstelle mit einer 15-poligen Sub DBuchse. Er kann direkt an einen Schnittstellenwandler RS-485/RS-232 (IC690ACC901) angeschlossen werden.
Pin 1 2, 3, 4 5 6 7 8 9 10 11 12 13 14 15 Gehuse Signal SHLD offen P5V RTSA GND CTSB' RT RDA' RDB' SDA SDB RTSB CTSA' SHLD Richtung -Ausgang Ausgang -Eingang -Eingang Eingang Ausgang Ausgang Ausgang Eingang -Funktion Anschlu Schirm-Erdungsdraht +5,1 VDC zur Versorgung externer Gerte (max. 100 mA) Request to Send (A) -Ausgang Massebezugssignal Clear to Send (B) -Eingang Widerstandsabschlu (120 Ohm) fr RDA' Receive Data (A) -Eingang Receive Data (B) -Eingang Transmit Data (A) -Ausgang Transmit Data (B) -Ausgang Request to Send (B) -Ausgang Clear to Send (A) -Eingang Anschlu Kabelschirmdraht / Schirmanschlu bei 100% (durchgngig) geschirmtem Kabel

GFK-1503-GE

Kapitel 2 CPU-Module

2-7

Kapitel

Installation

3
In diesem Kapitel wird die Installation der CPU erlutert. Installation der CPU n Installation der Stromversorgung n Installation zustzlicher Module n Pufferbatterie aktivieren oder auswechseln n Serielle Schnittstellenanschlsse fr CPU001 n Installationsanforderungen fr CE-Zeichen n System-Installationsanleitungen mit Richtlinien zur Installation von Trger, Stromversorgung und Modulen sowie Angaben zu Prozeverdrahtung und Erdung finden Sie in VersaMax Module, Stromversorgungen und Trger, Anwenderhandbuch, GFK-1504.

GFK-1503-GE

3-1

Installation der CPU


ber und unter den Gerten ist ein Freiraum von 5,1 cm, nach links ein Freiraum von 2,5 cm erforderlich. Weitere erforderliche Abstnde zeigt die nachstehende Abbildung. Die Module mssen auf eine horizontal verlegte Profilschiene montiert werden.

2
133,35 mm (5.25 in)

66,80 mm (2.63 in)

3
1 2 3 Ausreichend Freiraum fr Finger zum ffnen der CPU-Klappe bercksichtigen. Ausreichend Freiraum fr den Anschlu der seriellen Schnittstellenkabel bercksichtigen. Ausreichend Platz fr Stromversorgungsanschlsse bercksichtigen.

3-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

3 Installation der CPU auf der Profilschiene


Die CPU und alle Trger mssen auf einem einzigen Abschnitt einer Profilschiene mit den Abmessungen 7,5 mm x 35 mm befestigt werden. Um den EMV-Schutz zu gewhrleisten, mu die Profilschiene elektrisch geerdet sein. Die Profilschiene mu eine leitende (unlackierte) korrosionsbestndige Oberflche aufweisen. Es sollten vorzugsweise Profilschiene eingesetzt werden, die DIN EN50032 entsprechen. Um Vibrationen widerstehen zu knnen, sollte die Profilschiene auf einer Schalttafel mit Schrauben befestigt werden, die im Abstand von jeweils etwa 5 cm gesetzt werden. An den beiden Enden der Profilschiene knnen auch Profilschienenklammern (Bestellnummer IC200ACC313) angebracht werden, die die Module in ihrer Lage fixieren. Bei Anwendungen, bei denen hchste Widerstandsfhigkeit gegen mechanische Schwingungen und Ste gefordert wird, sollten die CPU und die auf der Profilschiene montierten Trger ebenfalls an der Schalttafel befestigt werden. Zum Anreien der Montagelcher auf der Schalttafel knnen entweder der Trger als Schablone benutzt oder die in VersaMax Module, Stromversorgungen und Trger, Anwenderhandbuch (GFK-1504) enthaltenen Maangaben befolgt werden. Befestigungslcher vorbohren und CPU und Trger mit Schrauben M3,5 befestigen. Die Basis rastet einfach in die Profilschiene ein. Zur Montage oder Erdung an der Profilschiene werden keine Werkzeuge bentigt.

CPU von Profilschiene abnehmen


1. Spannungszufuhr zur Stromversorgung abschalten. 2. (Prfen, ob die CPU an der Schalttafel angeschraubt ist) Stromversorgungsmodul entfernen. Befestigungsschraube entfernen. 3. CPU von den anderen Modulen auf der Profilschiene wegschieben, bis sich die Steckverbindung gelst hat. 4. Mit einem kleinen Klingen-Schraubendreher die Verriegelungsfahne nach auen ziehen und dabei das andere Ende des Moduls nach unten kippen, um das Modul aus der Profilschiene zu lsen.

GFK-1503-GE

Kapitel 3 Installation

3-3

Schalttafelmontage
Um hchste Widerstandsfhigkeit gegen mechanische Schwingungen und Ste zu erzielen, mssen die auf der Profilschiene montierten Module ebenfalls an der Schalttafel befestigt werden. Mit dem Modul als Schablone die Lage des Befestigungslochs auf der Schalttafel anreien. Loch in die Schalttafel bohren und das Modul mit einer Schraube M3,5 befestigen.

Anm. 1: Anm. 2:

Bei allen Abmessungen betragen die Toleranzen +/- 0,13 mm (keine Summentoleranz). Die Stahlschrauben M3,5 sollten mit einem Drehmoment von 1,1-1,4 Nm in Material mit Innengewinde und einer Materialstrke von mindestens 2,4 mm eingedreht werden.
siehe Anm. 2.

4,3 mm (0.170 in)

M3.5 (#6) Schraube Sprengring Unterlegscheibe

4,3 mm (0.170 in) 5,1 mm (0.200 in)

15,9 mm (0.62 in)

Gewindeloch in Schalttafel

CPU

3-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Installation der Stromversorgung


1. Das Stromversorgungsmodul wird direkt auf der CPU installiert. Der Verriegelungshebel auf der Stromversorgung mu offen sein. 2. Steckverbinder und Einraststift ausrichten und Stromversorgung fest nach unten drcken, bis die beiden Fahnen unten an der Stromversorgung eingerastet sind. Darauf achten, da die Fahnen vollstndig in den Lchern an der unteren Kante der CPU sitzen. 3. Hebel in Verriegelungsstellung drehen, um die Stromversorgung auf dem CPUModul zu sichern.

Stromversorgung abnehmen
Bei allen Arbeiten mit Gerten, die in Betrieb sind, Vorsicht walten lassen. Die Gerte knnen sehr hei werden und Verletzungen hervorrufen. 1. Spannungszufhrung abschalten. 2. Hebel entriegeln (siehe Abbildung). 3. Die flexible Platte unten an der Stromversorgung eindrcken, um die Fahnen an der Stromversorgung aus den Lchern im Trger zu lsen. 4. Stromversorgung gerade herausziehen.

GFK-1503-GE

Kapitel 3 Installation

3-5

Installation zustzlicher Module


Die CPU kann bis zu 8 zustzliche E/A- und Zusatzmodule bedienen. Vor dem Anschlu von Trgern an der CPU die Steckverbinder-Abdeckung auf der rechten Seite der CPU entfernen. Diese Abdeckung jedoch nicht wegwerfen, sie mu am letzten Trger wieder angebracht werden. Die Abdeckung schtzt die Steckerstifte vor Beschdigungen und statischer Elektrizitt. Die Steckverbinder-Abdeckung auf der linken Seite nicht entfernen.
Steckerabdeckung Steckerabdeckung

Zustzliche Module werden installiert, indem sie auf ihre Trger aufgesetzt und die Profilschiene entlanggeschoben werden, bis die seitlichen Steckverbinder fest miteinander verbunden sind.

Die CPU versorgt die nachgeschalteten Module ber den passenden Stecker mit +5 V und +3,3 V. Die Anzahl der Module, die untersttzt werden kann, hngt vom Strombedarf der Module ab. Zur Versorgung der Module knnen bei Bedarf Zusatzstromversorgungen eingesetzt werden. Die Konfigurationssoftware ermglicht die Leistungsberechnung bei zulssiger Hardwarekonfiguration.

3-6

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Pufferbatterie aktivieren oder auswechseln


Bei Auslieferung ist die Batterie des CPU-Moduls bereits eingebaut. Die Batteriehalterung befindet sich oben am CPU-Modul. Vor dem ersten Gebrauch mu die Batterie aktiviert werden, indem der Isolierstreifen herausgezogen und entfernt wird.

Lithiumbatterie auswechseln
Zum Auswechseln der Batterie mit einem kleinen Schraubendreher vorsichtig die Batteriehalterung aufhebeln. Die Batterie nur durch einen der folgenden Typen ersetzen: GE Fanuc Panasonic IC200ACC001 BR2032

Die Verwendung anderer Batterien kann zu Brand oder Explosion fhren.

Achtung
Eine falsch behandelte Batterie kann explodieren. Niemals eine Batterie aufladen, zerlegen, Temperaturen ber 100 Grad Celsius aussetzen oder ins Feuer werfen.

GFK-1503-GE

Kapitel 3 Installation

3-7

Serielle Schnittstellenanschlsse fr CPU001


PORT 1

1 5
RS232 PORT 2

8
RS485

Spannungsversorgung eines externen Gertes ber Schnittstelle 2


Wird einer der Schnittstellens fr den Datenaustausch mit einem seriellen Gert eingestellt, das maximal 100 mA bei 5 VDC bentigt, dann kann dieses Gert ber Schnittstelle 2 gespeist werden.

Leitungslngen und bertragungsgeschwindigkeiten


Die maximalen Leitungslngen zwischen CPU und letztem angeschlossenen Gert betragen: Schnittstelle 1 (RS-232) = 15 m Schnittstelle 2 (RS-485) = 1200 m Beide Schnittstellens untersttzen konfigurierbare bertragungsgeschwindigkeiten zwischen 4,8 und 38,4 kBd.

3-8

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

3 CPU001 Schnittstelle 1: RS-232


Steckerbelegung fr Schnittstelle 1
Schnittstelle 1 ist eine RS-232-Schnittstelle mit einer 9-poligen Sub DBuchse. Diese wird auch zum bertragen der CPU-Firmware verwendet. Durch die Anschlubelegung von Schnittstelle 1 kann der Anschlu an einen Standard-AT-RS-232-Schnittstelle ber ein 1:1-durchverbundenes Kabel erfolgen. Der Kabelschirm ist am Steckergehuse aufgelegt.
Pin 1 2 3 4 5 6 7 8 9 Gehuse Signal offen TXD RXD offen GND offen CTS RTS offen SHLD -Anschlu Kabelschirmdraht / Schirmanschlu bei 100% (durchgngig) geschirmtem Kabel Eingang Ausgang Clear to Send-Eingang Request to Send-Ausgang -0 V/Massebezugspunkt Ausgang Eingang Transmit Data-Ausgang Receive Data-Eingang Richtung Funktion

RS-232 Punkt-zu-Punkt-Verbindung
Bei einer Punkt-zu-Punkt-Verbindung werden zwei Gerte an der gleichen Datenbertragungsleitung angeschlossen. Bei RS-232 betrgt die maximale Leitungslnge 15 Meter.

1 6 2 7 3 8 4 9 5

1 2 3 4 5 9 6 7 8

PC 9-poliger CPU serieller Port Port 1 9-p. Stecker 9-p. Buchse

(2) RXD (3) TXD (5) GND (7) RTS (8) CTS

(2) TXD (3) RXD (5) GND (7) CTS (8) RTS

Der Schirm mu an beiden Kabelenden am Gehuse aufgelegt werden.

GFK-1503-GE

Kapitel 3 Installation

3-9

3
CPU001: Technische Daten der Steckverbinder und Kabel fr Schnittstelle 1
Die nachstehend aufgefhrten Bestellnummern der Hersteller sind nur als Hinweis gedacht. Es knnen auch andere Komponenten verwendet werden, die die genannten technischen Daten einhalten.
Kabel: Belden 9610 9-poliger Stecker: Computerkabel, vollstndig geschirmt mit Geflecht ber Folie 5-adrig 30 Volt / 80C (176F) 0,2 mm2 verzinntes Kupfer, Litze 7x32 Hersteller: Typ: Buchse: Stift: ITT/Cannon Crimp DEA9PK87F0 030-2487-017 AMP 205204-1 66506-9 LtanITT/Cannon ZDE9P -schlu AMP 747904-2 -Satz * ITT Cannon DE121073-54 [9-poliger Gehusebausatz]: metallbeschichtetes Plastik (Plastik mit Nickel auf Kupfer) Kabelerdungsschelle (enthalten) 40 Kabelaustritt fr flache Installation Plus ITT Cannon 250-8501-010 [verlngerte Schraube]: Gewinde #4-40 fr sichere Befestigung am Schnittstelle von CPU001 Fr jedes Gehuse 2 Stck mitbestellen

Gehuse:

Kritische Daten andere Teile mssen mindestens diese Werte einhalten. Mit diesem Satz wird die Einbautiefe von 70 mm beibehalten.

3-10

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

3 CPU001 Schnittstelle 2: RS-485


Steckerbelegung fr Schnittstelle 2
Schnittstelle 2 ist eine RS-485-Schnittstelle mit einer 15-poligen Sub DBuchse. Sie kann direkt an einen Schnittstellenwandler RS-485/RS-232 angeschlossen werden.
Pin 1 2, 3, 4 5 6 7 8 9 10 11 12 13 14 15 Gehuse Signal SHLD offen P5V RTSA GND CTSB' RT RDA' RDB' SDA SDB RTSB CTSA' SHLD Ausgang Ausgang -Eingang -Eingang Eingang Ausgang Ausgang Ausgang Eingang -+5,1 VDC zur Versorgung externer Gerte (max. 100 mA) Request to Send (A) -Ausgang 0 V/Massebezugspunkt Clear to Send (B) -Eingang Widerstandsabschlu (120 Ohm) fr RDA' Receive Data (A) -Eingang Receive Data (B) -Eingang Transmit Data (A) -Ausgang Transmit Data (B) -Ausgang Request to Send (B) -Ausgang Clear to Send (A) -Eingang Anschlu Kabelschirmdraht / Schirmanschlu bei 100% (durchgngig) geschirmtem Kabel Richtung -Funktion Anschlu Schirm-Erdungsdraht

Technische Daten der Steckverbinder und Kabel fr Schnittstelle 2


Die nachstehend aufgefhrten Bestellnummern der Hersteller sind nur als Hinweis gedacht. Es knnen auch andere Komponenten verwendet werden, die die genannten technischen Daten einhalten.
Kabel: Belden 8105 Kapazittsarmes Computerkabel, vollstndig geschirmt mit Geflecht ber Folie 5 verdrillte Paare Schirm-Erdungsdraht 30 Volt / 80C (176F) 2 0,2 mm , Kupfer verzinnt, Litze 7x32 Ausbreitungsgeschwindigkeit = 78% Nennimpedanz = 100 Typ: Hersteller: Buchse: Stift: Crimp ITT/Cannon DAA15PK87F0 030-2487-017 AMP 205206-1 66506-9 LtanITT/Cannon ZDA15P -schlu AMP 747908-2 -Satz* ITT Cannon DA121073-50 [15-poliger Gehusebausatz]: metallbeschichtetes Plastik (Plastik mit Nickel auf Kupfer) Kabelerdungsschelle (enthalten) 40 Kabelaustritt fr flache Installation Plus ITT Cannon 250-8501-009 [verlngerte Schraube]: Gewinde M3x0,5 fr sichere Befestigung Fr jedes Gehuse 2 Stck mitbestellen

15-poliger Stecker:

Gehuse:

Kritische Daten andere Teile mssen mindestens diese Werte einhalten.

GFK-1503-GE

Kapitel 3 Installation

3-11

3
CPU001: RS-485 Punkt-zu-Punkt-Verbindung mit Handshaking
Bei einer Punkt-zu-Punkt-Konfiguration werden zwei Gerte an der gleichen Datenbertragungsleitung angeschlossen. Bei RS-485 betrgt die maximale Leitungslnge 1200 Meter. Bei greren Entfernungen knnen Modems eingesetzt werden.
Computer PIN RD ( A' ) RD ( B' ) SD ( A ) SD ( B ) CTS ( A' ) CTS ( B' ) RTS ( B ') RTS ( A ) GND SHLD bis zu 15,2 m (50 ft) ohne Potentialtrennung

geschirmte verdrillte Paare


PIN 12 13 10 11 9 6 14 8 15 3 2 7 1

CPU Port 2 SD ( A ) SD ( B ) RD ( A' ) RD ( B ' ) RT RTS ( A ) RTS ( B ) CTS ( B' ) CTS ( A' )

GND SHLD

3-12

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

3 CPU001: Serielle RS-485-Mehrpunktverbindungen


Bei einer Mehrpunktverbindung werden der Host als Master und eine oder mehrere SPS als Slave konfiguriert. Die maximale Entfernung zwischen dem Master und einem beliebigen Slave betrge 1200 Meter. Bei diesem Wert werden qualitativ hochwertige Kabel und eine relative ungestrte Umgebung vorausgesetzt. Bei RS-485 in einer verketteten oder Mehrpunktverbindung knnen bis zu 8 Slaves zusammengeschaltet werden. Die RS-485-Leitung mu Handshaking beinhalten und die weiter oben spezifizierten Leitungstypen verwenden.
Master Slave-Station letzte Station

Beim Anschlu der RS-485-Mehrpunktleitungen knnen Reflexionen auf der bertragungsleitung verringert werden, wenn die Verkettung der Kabel entsprechend nachstehender Abbildung durchgefhrt wird. Verbindungen in den an der SPS angeschlossenen Steckverbindern durchfhren. Auf der bertragungsstrecke mglichst keine Klemmenleisten zu anderen Steckverbindertypen verwenden.
Computer RS-232 Port
9-poliger Stecker 9-polige Buchse auf 25-pol. Stecker RS232 gesch. Kabel
PIN 3 2 5 20 (NC) 8 7

RS-232/RS-485 Konverter IC690ACC900


PIN DCD(A) 2 DCD(B) 3 RD(A) 10 RD(B) 11 SD(A) 12 SD(B) 13 RT 9 CTS(A) 15 CTS(B) 8 RTS(A) 6 RTS(B) 14 +5V 5 0V 7 SHLD 1 25-pol. Buchse RS-232 PORT 15-pol. Buchse RS-485 PORT 15-pol. Stecker 5V 0V

RS-485 Kabel Verbindung in Sub DStecker herstellen


PIN 2 3 12 13 10 11 9 6 14 15 8 5 7 1

CPU RS-485 Port


15-polige Buchse

PIN RD 2 TD 3 RTS 7 CTS 8 DCD 1 DTR 4 GND 5

RD TD CTS DTR DCD GND

SHLD

SD(A) SD(B) RD(A) RD(B) RT RTS(A) RTS(B) CTS(A) CTS(B) +5V 0V SHLD

Stromquelle fr Konverter. Mindestabstand 3 m vom Konverter.

zu anderen SPS

Der Abschluwiderstand fr das Signal Receive Data (RD) darf nur an die Gerte an den Leitungsenden angeschlossen werden. Bei der CPU wird dieser Abschlu erreicht, indem zwischen die Stifte 9 und 10 im Sub DSteckergehuse eine Brcke gelegt wird. Erdpotential: Damit das System ordnungsgem funktionieren kann, mssen Gerte, die nicht an der selben Stromquelle angeschlossen sind, erdfrei oder an einem gemeinsamen Erdpotential angeschlossen sein.
GFK-1503-GE Kapitel 3 Installation 3-13

Installationsanforderungen fr CE-Zeichen
Anwendungen, die das CE-Zeichen bentigen, mssen die folgenden Anforderungen bezglich des Schutzes gegen berspannung. elektrostatische Entladungen und schnelle Spannungsste erfllen: Die VersaMax SPS wird als offenes Gert betrachtet und sollte daher in n einem Gehuse (IP54) eingebaut sein. Dieses Gert ist fr den Einsatz in typischer Industrieumgebung n vorgesehen, bei der antistatische Materialien wie Beton- oder Holzfubden verwendet werden. Werden die Gerte in einer Umgebung eingesetzt, in der elektrostatisch anfllige Materialien (z.B. Teppichboden) verwendet werden, mu sich das Personal vor dem Zugriff auf die Gerte durch Berhrung einer sicher geerdeten Oberflche elektrostatisch entladen. Wird die E/A ber das Wechselspannungsnetz gespeist, dann mssen n diese Leitungen vor der Verteilung zur E/A so entstrt werden, da die Strgrenzen fr die E/A nicht berschritten werden. Die Entstrung der E/A-Wechselspannung kann ber MOVs durchgefhrt werden, die fr die Netzspannung ausgelegt und zwischen den Leitungen und von Leitung zu Erde geschaltet werden. Zu den Leitungs-Erde-MOVs mu eine gute Hochfrequenz-Erdverbindung hergestellt werden. Bei Gleich- oder Wechselspannungsquellen von weniger als 50 V wird n angenommen, da sie vor Ort vom Wechselspannungsnetz abgeleitet werden. Die Leitungen zwischen diesen Spannungsquellen und der SPS sollten nicht lnger als ca. 10 Meter sein. Die Installationen mssen im Innenbereich liegen, die eingehenden n Wechselspannungsleitungen mssen mit Primreinrichtungsberspannungschutz versehen sein. Bei Strungseinstreuungen kann die serielle Datenbertragung n unterbrochen werden.

3-14

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Kapitel

Konfiguration

4
In diesem Kapitel wird beschrieben, wie die VersaMax CPU und die von ihr bedienten Module konfiguriert werden. Mit der Konfiguration werden bestimmte Eigenschaften der Modul-Arbeitsweise bestimmt und auch die von den einzelnen Modulen im System benutzten Programmreferenzen festgelegt. Die CPU untersttzt sowohl Autokonfiguration als auch das Herunterladen einer Konfiguration von einem Programmiergert.

Herunterladen einer Konfiguration von einem Programmiergert


Eine Konfiguration kann ber den CPU-Schnittstelle von einem Programmiergert heruntergeladen werden. Durch das Herunterladen einer Konfiguration wird die Autokonfiguration gesperrt. Hinweis: Wird eine Hardwarekonfiguration in die CPU heruntergeladen, so wird diese Konfiguration fr die serielle Schnittstelle, an die das Programmiergert angeschlossen ist, erst nach Entfernung des Programmiergertes aktiv. Die bernahme des neuen Protokolls erfolgt mit einer Verzgerung, die der konfigurierten Zeit T3' entspricht. Wird eine vom Programmiergert heruntergeladene Konfiguration gelscht, so wird eine neue Autokonfiguration erzeugt. Autokonfiguration wird solange freigegeben, bis wieder eine Konfiguration vom Programmiergert heruntergeladen wird.

GFK-1503-GE

4-1

4 Autokonfiguration
Ist Autokonfiguration freigegeben und gibt es keine frhere Autokonfiguration, liest die CPU beim Einschalten automatisch die Konfiguration der im System installierten Module und erstellt eine GesamtSystemkonfiguration. Gibt es beim Einschalten eine frhere Autokonfiguration, erfolgt die Konfiguration entsprechend der Beschreibung im Abschnitt Autokonfiguration-Diagnosefunktionen. Module mit softwarekonfigurierbaren Eigenschaften verwenden bei der Autokonfiguration ihre Standardeinstellungen. Diese Eigenschaften werden im VersaMax Module, Stromversorgungen und Trger, Anwenderhandbuch (GFK-1504) beschrieben.

"Steckpltze
Jedes E/A- oder Zusatzmodul belegt im System einen "Steckplatz. Das Modul neben der CPU belegt Steckplatz 1. Erweiterungsstromversorgungen zhlen bei der Steckplatzbelegung nicht mit.
CPU ErweiterungsStromversorgung

Beim Einschalten erzeugt die CPU standardmig eine bei Steckplatz 1 beginnende Konfiguration, die alle physikalisch im System vorhandenen Module enthlt. Die Autokonfiguration hlt bei dem ersten leeren oder fehlerhaften Modul an. Beispiel: Sind Module in den Steckpltzen 1, 2, 3, 5 und 6 eingebaut, dann werden die Module in den Steckpltzen 5 und 6 nicht automatisch konfiguriert. Auf der nchsten Seite wird beschrieben, wie die Autokonfiguration hinzugefgte, entfernte oder fehlerhafte Module behandelt.

Autokonfiguration weist Referenzadressen zu


Den Modulen werden automatisch Referenzadressen in aufsteigender Reihenfolge zugewiesen. Beispiel: Enthlt das System ein Eingangsmodul mit 16 Punkten, ein Eingangsmodul mit 8 Punkten, ein Ausgangsmodul mit 16 Punkten und ein Eingangsmodul mit 16 Punkten (in dieser Reihenfolge), erhalten die Eingangsmodule die Referenzadressen %I0001, %I0017 und %I0025 zugewiesen. Bei Modulen, die unterschiedliche Datentypen verwenden (z.B. gemischte E/A-Module) werden jedem Datentyp die Referenzadressen einzeln zugewiesen.
4-2 VersaMax SPS Anwenderhandbuch Oktober 1998 GFK-1503-GE

4
Autokonfiguration-Diagnosefunktionen
Modul vorhanden, aber whrend der Autokonfiguration nicht aktiv: Ist ein Modul whrend der Autokonfiguration zwar physikalisch vorhanden, arbeitet aber nicht, dann wird das Modul nicht konfiguriert und die CPU erzeugt eine Diagnose Zustzliches Modul. Leerer Steckplatz bei Autokonfiguration: Die Autokonfiguration hlt beim ersten leeren Steckplatz an. Die Module hinter diesem leeren Steckplatz werden nicht mehr automatisch konfiguriert. Fr jedes dieser Module erzeugt die CPU eine Diagnose Zustzliches Modul. Zuvor konfigurierte Module bei Autokonfiguration vorhanden: Zuvor konfigurierte Module werden bei der Autokonfiguration nicht aus der Konfiguration entfernt. Eine Ausnahme ist,wenn im System keine Module vorhanden sind. Beispiel: Es werden zunchst Module in den Steckpltzen 1, 2 und 3 konfiguriert. Dann wird die Versorgungsspannung abgeschaltet und das Modul aus Steckplatz 1 entfernt. Wird die Spannung wieder eingeschaltet, werden die Module in den Steckpltzen 2 und 3 normal automatisch konfiguriert. Das ursprnglich in Steckplatz 1 gesteckte Modul wird nicht aus der Konfiguration entfernt. Die CPU erzeugt fr Steckplatz 1 eine Diagnose Verlorenes Modul. Bei Autokonfiguration unterschiedliches Modul vorhanden: Wurde in einem zuvor fr einen bestimmten Modultyp konfigurierten Steckplatz whrend der Autokonfiguration ein anderes Modul eingebaut, erzeugt die CPU eine Diagnose Diskrepanz bei Konfiguration. Der Steckplatz bleibt fr den ursprnglichen Modultyp konfiguriert. Nach der Autokonfiguration werden unkonfigurierte Module eingebaut: Wird nach dem Einschalten ein zuvor nicht konfiguriertes Modul eingebaut, erzeugt die CPU eine Diagnose Zustzliches Modul und das Modul wird der Konfiguration nicht hinzugefgt. Zuvor konfiguriertes Modul nach Autokonfiguration installiert: Wird ein zuvor konfiguriertes Module, das beim Einschalten fehlte, nach dem Einschalten installiert, erzeugt die CPU eine Diagnose Modul hinzugefgt und das Modul wird dem E/A-Zyklus wieder zugefhrt. Alle Module nach Autokonfiguration entfernt: Fehlen nach dem Einschalten alle Module, lscht die CPU die Konfiguration. Hierdurch knnen Module beim nchsten Einschalten gesteckt und zur Konfiguration hinzugefgt werden.

GFK-1503-GE

Kapitel 4 Konfiguration

4-3

4 Zusammenfassung der Autokonfiguration-Diagnosemeldungen


Modul hinzugefgt 1. Ein Modul ist beim Einschalten vorhanden, aber nicht konfiguriert. 2. Autokonfiguration ist freigegeben und das Modul kann automatisch konfiguriert werden. Modul hinzugefgt Nach dem Einschalten wird ein zuvor fehlendes Modul gesteckt. War das Modul zuvor konfiguriert, nimmt die CPU die Bearbeitung dieses Moduls wieder auf. War dies nicht der Fall, wird das Modul nicht zur Konfiguration hinzugefgt und nicht bearbeitet. Beim oder nach dem Einschalten wurde ein Modul erkannt, das nicht der Konfiguration des entsprechenden Steckplatzes entspricht. 1. Ein Modul ist beim Einschalten vorhanden, aber nicht konfiguriert. 2. Autokonfiguration ist nicht freigegeben. Verlorenes Modul Nicht untersttzte Funktion Ein konfiguriertes Modul fehlt beim Einschalten oder im Normalbetrieb. Ein Modul ist vorhanden, das von der CPU nicht untersttzt wird.

Diskrepanz bei Konfiguration Zustzliches Modul

4-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Kapitel

CPU-Arbeitsweise

5
Dieses Kapitel beschreibt die Betriebsarten der SPS CPU und zeigt die Beziehungen zwischen der Ausfhrung des Anwenderprogramms und den anderen von der CPU ausgefhrten Aufgaben auf.

CPU-Betriebsarten
Das Anwenderprogramm in einer SPS wird wiederholt abgearbeitet. Zustzlich zur Abarbeitung des Anwenderprogramms erhlt die SPS CPU regelmig Daten von Eingabegerten, schickt Daten an Ausgabegerte, erledigt die interne Organisation und fhrt Kommunikationsaufgaben durch. Diese Abfolge von Operationen wird Zyklus genannt.
n

Die Grundbetriebsart des SPS ist der Standardzyklus. In dieser Betriebsart fhrt die CPU alle Zyklusteile normal aus. Jeder Zyklus wird so schnell wie mglich ausgefhrt, wobei sich die bentigte Bearbeitungszeit bei jedem Zyklus ndert. Statt dessen kann die SPS auch in einer Betriebsart mit konstanter Zyklusdauer arbeiten. In dieser Betriebsart fhrt die CPU zwar die gleichen Aktionen aus, die einzelnen Zyklen belegen aber immer genau die gleiche Zeit. Die SPS kann auch eine von zwei STOP-Betriebsarten annehmen:
o o

STOP mit gesperrter E/A STOP mit freigegebener E/A

GFK-1503-GE

5-1

Komponenten des CPU-Zyklus


Zyklusbeginn Organisation

Organisation

E/A freigegeben ? Ja Eingangszyklus

Nein

Dateneingabe

RUNModus ? Ja LogikBearbeitung

Nein

Programmausfhrung

CPUZyklusdauer

E/A freigegeben ? Ja Ausgabezyklus

Nein

Datenausgabe

ProgrammiergerteKommunikation

Programmiergertedienst

SystemKommunikation

SystemKommunikation

Anwenderprogramm Prfsummenberechnung Beginn nchster Zyklus

Diagnose

5-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

5 Komponenten des CPU-Zyklus


ZyklusbeginnOrganisation Zur Organisation gehren die zur Vorbereitung des Zyklusstarts erforderlichen Aufgaben. Ehe der eigentliche Zyklus gestartet wird, mu die CPU die Zyklusdauer berechnen den Beginn des nchsten Zyklus planen die Betriebsart des nchsten Zyklus bestimmen die Fehlerreferenztabellen aktualisieren den Watchdog-Zeitgeber rcksetzen. Ist die SPS im Modus "konstante Zyklusdauer", wird der Zyklus am Ende solange verzgert, bis die erforderliche Zykluszeit abgelaufen ist. Ist diese Zykluszeit am Ende bereits abgelaufen, wird der Kontakt OV_SWP %SA0002 gesetzt und der Zyklus wird unverzglich fortgesetzt. Als nchstes aktualisiert die CPU die Timerwerte (1/100 s, 1/10 s und Sekunden). Am Anfang des Zyklus fragt die CPU zunchst die Eingnge der Eingangsmodule und der Zusatzmodule ab, die Eingangsdaten liefern. Die Module werden in der Reihenfolge aufsteigender Referenzadressen abgefragt. Diskrete Eingangsmodule werden vor analogen Eingangsmodulen abgefragt. Die CPU speichert diese neuen Eingangsdaten in den entsprechenden diskreten Speichern. Wurde die CPU so konfiguriert, da sie die E/A im STOP-Modus nicht aktualisiert, wird der Eingabezyklus bersprungen, wenn die CPU im STOP-Modus ist. Als nchstes bearbeitet die CPU die Logik des Anwenderprogramms. Sie beginnt immer bei der ersten Anweisung im Programm. Die Bearbeitung endet, wenn die Anweisung END ausgefhrt wird. Die Bearbeitung der Logik erzeugt einen neuen Satz Ausgangsdaten. Unmittelbar nach der Programmbearbeitung bearbeitet die CPU alle Ausgangsmodule in der Reihenfolge aufsteigender Referenzadressen. Der Ausgabezyklus ist beendet, wenn alle Ausgangsdaten gesendet wurden. Wurde die CPU so konfiguriert, da sie die E/A im STOP-Modus nicht aktualisiert, wird der Ausgabezyklus ebenfalls bersprungen. Ist ein Programmiergert angeschlossen, bearbeitet die CPU als nchstes das Programmiergerte-Kommunikationsfenster. Dieses Fenster wird nicht bearbeitet, wenn kein Programmiergert angeschlossen ist und im System kein Modul zu konfigurieren ist. Pro Zyklus wird jeweils nur ein Modul konfiguriert. Im eingeschrnkten Fenstermodus (Standardeinstellung) bercksichtigt die CPU in jedem Zyklus eine Bedienanforderung. Das Zeitlimit fr Programmiergertekommunikation betrgt 6 Millisekunden. Stellt das Programmiergert eine Anforderung, deren Bearbeitung mehr als 6 ms bentigt, dann wird die Bearbeitung ber mehrere Zyklen verteilt. Als nchstes bearbeitet die CPU Kommunikationsanforderungen von intelligenten Zusatzmodulen. Die Module werden nacheinander abgefragt (Round-Robin-Verfahren), so da kein Modul bevorzugt wird. Im Standardmodus ("vollstndige Bearbeitung) ist die Lnge des SystemKommunikationsfensters auf 400 ms beschrnkt. Stellt ein Modul eine Anforderung, deren Bearbeitung mehr als 400 ms bentigt, dann wird die Anforderung ber mehrere Zyklen verteilt. Im zeitbegrenzten Modus haben Zusatzmodule, die mit der SPS ber das Systemfenster verkehren, weniger Einflu auf die Zyklusdauer. Die Reaktion auf ihre Anforderungen wird aber langsamer. Am Ende jedes Zyklus wird fr das Anwenderprogramm eine Prfsummenberechnung durchgefhrt. Die Anzahl der in der Prfsumme einbezogenen Worte (0 bis 32) ist einstellbar. Stimmt die berechnete Prfsumme nicht mit der Referenzprfsumme berein, wird der Programmprfsummen-Ausnahmemerker gesetzt. Dies bewirkt, da ein Fehlereintrag in die SPS-Fehlertabelle geschrieben und die SPS in STOP-Modus versetzt wird. Das Programmiergerte-Kommunikationsfenster ist von einem Prfsummenfehler nicht betroffen.
Kapitel 5 CPU-Arbeitsweise 5-3

Eingabezyklus

Anwenderprogrammzyklus Ausgabezyklus

ProgrammiergerteKommunikationsfenster

SystemKommunikationsfenster

Berechnung der ProgrammPrfsumme

GFK-1503-GE

Standardzyklusbetrieb der CPU


Der Standardzyklusbetrieb ist die normal Betriebsart der SPS CPU. Im Standardzyklusbetrieb bearbeitet die CPU das Anwenderprogramm, aktualisiert die E/A und fhrt die in dem Bild dargestellten Kommunikationsund sonstige Aufgaben durch: 1. Die CPU fhrt die Zyklusanfangs-Organisationsaufgaben aus. 2. Sie liest Eingnge. 3. Sie bearbeitet das Anwenderprogramm. 4. Sie aktualisiert die Ausgnge. 5. Ist ein Programmiergert vorhanden, tauscht die CPU mit ihm Daten aus. 6. Sie kommuniziert mit anderen Gerten. 7. Sie fhrt Diagnosefunktionen durch. Mit Ausnahme des Datenaustauschs mit dem Programmiergert werden alle diese Schritte in jedem Zyklus durchgefhrt. Der Datenaustausch mit dem Programmiergert findet nur bei Bedarf statt. In dieser Betriebsart fhrt die CPU alle Zyklusteile normal aus. Jeder Zyklus wird so schnell wie mglich ausgefhrt, wobei sich die bentigte Bearbeitungszeit bei jedem Zyklus ndert.

Die Zyklusfenster
Programmiergerte-Kommunikationsfenster und SystemKommunikationsfenster kennen zwei Betriebsarten:
Zeitbegrenzter Modus Vollstndige Bearbeitung Die Bearbeitungsdauer des Fensters betrgt 6 ms. Das Fenster ist beendet, wenn es keine Aufgaben mehr gibt oder wenn die 6 ms abgelaufen sind. Unabhngig von der einem bestimmten Fenster zugewiesenen Zeit ist das Fenster solange offen, bis alle innerhalb dieses Fensters zu erledigenden Arbeiten abgeschlossen sind (maximal 400 ms).

Die aktuellen Zeiten der einzelnen Fenster knnen mit SVCREQ 2 aus dem Anwenderprogramm heraus abgefragt werden.

Der Watchdog-Zeitgeber
Wenn die CPU in der Betriebsart Standardzyklus arbeitet, erkennt der Watchdog-Zeitgeber Fehlerzustnde, die zu einem ungewhnlich langen Zyklus fhren knnen. Der Watchdog-Zeitgeber ist auf 500 ms eingestellt. Zu Beginn jedes Zyklus luft er wieder von Null aus an. Dauert ein Zyklus lnger als 500 ms, erlischt die OK-LED am CPU-Modul. Die CPU wird rckgesetzt, fhrt ihr Anlaufprogramm aus, erzeugt einen berwachungszeitfehler und geht in den STOP-Modus. Der Datenverkehr wird vorbergehend unterbrochen.

5-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Betrieb mit konstanter Zyklusdauer


Verlangt die Anwendung, da jeder CPU-Zyklus gleich lang dauert, kann die CPU fr den Betrieb mit konstanter Zyklusdauer konfiguriert werden. Dies stellt sicher, da die Eingnge und Ausgnge im System in konstanten Zeitabstnden aktualisiert werden. Mit dieser Betriebsart kann auch eine lngere Zyklusdauer realisiert werden, mit der sichergestellt wird, da die Eingnge nach dem Empfang von Ausgangsdaten vom Programm Zeit zum Stabilisieren haben.

Konfigurierten Standardwert fr Betriebsart "konstante Zyklusdauer" ndern


Die konfigurierte Betriebsart "konstante Zyklusdauer" kann bearbeitet werden, wenn die SPS im STOP-Modus ist. Damit die neue Konfiguration wirksam werden kann, mu sie in der CPU gespeichert werden. Nach dem Speichern wird die Betriebsart "konstante Zyklusdauer" zur StandardZyklusbetriebsart.

Der Timer fr konstante Zyklusdauer


Whrend des Betriebs in der Betriebsart "konstante Zyklusdauer" kontrolliert der Timer fr konstante Zyklusdauer der CPU die Lnge des Zyklus. Der Timer kann auf Werte zwischen 5 und 500 Millisekunden eingestellt werden. Um eine Hufung von Zykluszeitberschreitungs-Fehlern zu vermeiden, sollte in der Betriebsart "Standardzyklus" die eingestellte Zeit mindestens 10 ms lnger als die CPU-Zyklusdauer sein. Luft der Timer fr konstante Zyklusdauer vor Zyklusende ab, fhrt die CPU trotzdem den gesamten Zyklus einschlielich der Fenster aus. Auerdem meldet sie automatisch, da ein zu langer Zyklus aufgetreten ist. In dem auf die Zykluszeitberschreitung folgenden Zyklus trgt die CPU einen Zykluszeitberschreitungsalarm in die SPS-Fehlertabelle ein. Zu Beginn des nachfolgenden Zyklus setzt die CPU den Fehlerkontakt OV_SWP (%SA0002). Die CPU setzt den Kontakt OV_SWP automatisch zurck, sobald die Zyklusdauer nicht mehr die eingestellte Zeit berschreitet. Die CPU setzt den Kontakt OV_SWP auch zurck, wenn sie nicht in der Betriebsart "konstante Zyklusdauer" ist. Wie bei den anderen Fehlerkontakten kann das Anwenderprogramm diesen Kontakt berwachen, um sich ber das Auftreten von Zykluszeitberschreitungen zu informieren.

GFK-1503-GE

Kapitel 5 CPU-Arbeitsweise

5-5

5 Konstante Zyklusdauer aktivieren/deaktivieren, Timerwert lesen oder einstellen


Sie knnen SVCREQ 1 in das Anwenderprogramm einbauen, um die Betriebsart "konstante Zyklusdauer" zu aktivieren/deaktivieren, die Lnge der konstanten Zyklusdauer zu verndern, auszulesen, ob die konstante Zyklusdauer momentan aktiviert ist, oder die Lnge der konstanten Zyklusdauer auszulesen.

CPU STOP-Betriebsarten
Die SPS kann auch eine von zwei STOP-Betriebsarten annehmen: STOP mit gesperrter E/A n STOP mit freigegebener E/A n Ist die SPS im STOP-Modus, dann fhrt die CPU das Anwenderprogramm nicht aus. Sie knnen ber die Konfiguration festlegen, ob die E/A im STOPModus aktualisiert werden. Die Kommunikation mit dem Programmiergert und intelligenten Zusatzmodulen wird im STOP-Modus nicht unterbrochen. Ebenfalls wird die Abfrage fehlerhafter Module und die Ausfhrung der Modulkonfiguration im STOP-Modus fortgesetzt. Mit SVCREQ 13 im Anwenderprogramm kann die SPS am Ende des nchsten Zyklus angehalten werden. Die gesamten E/A gehen auf die konfigurierten Standardzustnde und in der SPS-Fehlertabelle wird eine Diagnosemeldung eingetragen.

5-6

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Programmausfhrung steuern
Der Befehlssatz der VersaMax CPU enthlt einige mchtige Steuerfunktionen, die in das Anwenderprogramm eingebracht werden knnen, um die Art und Weise, wie die CPU das Programm bearbeitet und die E/A aktualisiert, einzuschrnken oder zu verndern.

Aufruf eines Unterprogrammblocks


Mit der Funktion CALL kann die Programmausfhrung zu einem bestimmten Unterprogramm umgelenkt werden. Bedingungslogik vor dem Unterprogrammaufruf steuert die Umstnde, unter denen die CPU die Logik des Unterprogramms bearbeitet. Nachdem das Unterprogramm fertig bearbeitet ist, kehrt die Programmausfhrung wieder an den Punkt im Programm zurck, der unmittelbar auf die Anweisung CALL folgt.

Erstellen eines temporren Programmendes


Mit der Funktion END kann ein temporres Programmende erreicht werden. Dieser Befehl kann an jeder Stelle im Programm verwendet werden. Nach dem Befehl END wird keine Logik mehr bearbeitet und die Programmausfhrung geht direkt zurck an den Anfang. Diese Fhigkeit macht die Funktion END zum wertvollen Hilfsmittel beim Austesten eines Programms. Die Funktion END sollte nicht zustzlich in einer Logik eingesetzt werden, die mit einer SFC-Steuerungsstruktur verknpft ist oder davon aufgerufen wird. In diesem Falle wrde die SPS am Ende des aktuellen Zyklus in die Betriebsart STOP/FAULT versetzt werden und ein Fehler SFC_END wrde eingetragen.

Strompfade ohne logischen Stromflu ausfhren


Mit dem Hauptsteuerrelais knnen Teile der Programmlogik bearbeitet werden, ohne da dort logischer Stromflu anliegt. Spulen in diesem Programmteil werden mit negativem Stromflu bearbeitet. Fr die Hauptsteuerrelaisfunktionen sind in einem Programm bis zu 8 Schachtelungsebenen zulssig.

Sprung zu einem anderen Programmteil


Im Gegensatz zum Hauptsteuerrelais, das nur eine Vorwrtsbewegung durch das Programm gestattet, kann mit der Sprungfunktion die Programmausfhrung in der Logik nach vorne oder nach hinten verschoben werden. Ein weiterer Unterschied liegt darin, da bei einer aktiven Sprungfunktion die Spulen in dem bersprungenen Programmteil in ihrem vorherigen Zustand belassen werden (und nicht wie bei der Hauptsteuerrelaisfunktion mit negativem Stromflu ausgefhrt). Sprungfunktionen knnen auch geschachtelt werden.
GFK-1503-GE Kapitel 5 CPU-Arbeitsweise 5-7

5
Mit Sprngen knnen keine Blcke, SFC-Aktionen, SCF-Transitionen oder vor- oder nachbearbeitende SFC-Logik segmentiert werden.

5-8

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Privilegebenen und Passworte


Bei der VersaMax SPS knnen vier Systemsicherheitebenen eingestellt werden. Die erste Ebene, die immer verfgbar ist, gestattet nur Lesen von SPS-Daten. Die Anwendung kann nicht verndert werden. Bei den anderen drei Ebenen sind die Zugriffe jeweils ber Passworte geschtzt. In jeder hheren Ebene sind mehr nderungsmglichkeiten als in den jeweils niedrigeren Ebenen vorhanden.
Ebene Beschreibung

2 3 4

Lesen aller Datenspeicher (%I, %Q, %AQ, %R, etc.), Fehlertabellen und aller Programmblocktypen (Daten, Werte und Konstanten). Kein Lesen von Passworten Keine nderung von Werten in der SPS. "Alles lschen" vom Programmiergert aus mglich. Schreiben in alle Datenspeicher (%I, %R, usw.). "Alles lschen" vom Programmiergert aus mglich. Schreiben zum Anwenderprogramm nur in STOP-Modus. "Alles lschen" vom Programmiergert aus mglich. Lesen und Schreiben aller Speicher und Passworte in den Betriebsarten RUN und STOP mglich. (Konfigurationsdaten knnen nicht in RUN verndert werden.) "Alles lschen" vom Programmiergert aus mglich.

Ebene 4 ist die Standardebene, wenn kein Passwort eingestellt wurde. Wurden Passworte eingestellt, ist die hchste ungeschtzte Ebene die Standardebene. Privilegebene und Passwort knnen ber das Programmiergert verndert werden. Die CPU gestattet nur dann eine nderung, wenn zuvor das aktuelle Ebenenpasswort eingegeben wurde. Die nderung der Privilegebene bleibt solange wirksam, wie die Datenverbindung zwischen CPU und Programmiergert besteht. Gibt es 15 Minuten lang keine Datenverbindung, dann kehrt das System auf die hchste ungeschtzte Ebene zurck.

Passworte
Den Ebenen 2, 3 und 4 kann ein schtzendes Pawort zugewiesen werden. Passworte werden mit der Programmiersoftware eingegeben. Jedes Passwort kann fr seine Ebene einmalig sein, oder es kann das gleiche Passwort fr mehrere Ebenen verwendet werden.

Den gesamten Speicher lschen


In jeder Privilegebene der CPU kann der gesamte Speicherhinhalt vom Programmiergert aus gelscht werden. Hiermit kann ein Techniker den CPU-Speicher lschen und ein neues Anwenderprogramm in die CPU laden, ohne das Passwort zu kennen.
GFK-1503-GE Kapitel 5 CPU-Arbeitsweise 5-9

Arbeitsweise des RUN/STOP-Betriebsartenumschalters


Der CPU RUN/STOP-Betriebsartenumschalter der CPU kann fr das Umschalten der CPU auf RUN oder STOP konfiguriert werden. Er kann auch so konfiguriert werden, da er verhindert, da zum Programm- oder Konfigurationsspeicher geschrieben oder diskrete Daten berspeichert oder fixiert werden. In der Standardkonfiguration sind die Einstellung von RUN/STOP-Modus freigegeben und der Speicherschutz deaktiviert.

Konfigurierbarer RUN/STOP-Betrieb
Wurde der Betrieb mit dem RUN/STOP-Betriebsartenumschalter freigegeben, kann die CPU ber diesen Schalter in RUN-Modus versetzt werden.
n

Liegen in der CPU nur nicht-fatale Fehler vor und ist sie nicht in der Betriebsart STOP/Fehler, dann geht sie in den RUN-Modus, wenn dieser Schalter auf RUN geschaltet wird. Fehler werden NICHT gelscht. Liegen in der CPU fatale Fehler vor und ist sie in der Betriebsart STOP/Fehler, dann blinkt die RUN-LED 5 Sekunden lang, wenn dieser Schalter auf RUN geschaltet wird. Solange die RUN-LED blinkt, knnen ber den CPU-Schalter die Fehlertabelle gelscht und die CPU in RUNModus versetzt werden. Lassen Sie den Schalter mindestens Sekunde lang auf RUN stehen, ehe Sie ihn mindestens Sekunde lang auf STOP schalten. Nach dieser Zeit schalten Sie wieder zurck auf RUN. Die Fehler sind gelscht und die CPU geht in den RUN-Modus. Die LED leuchtet kontinuierlich. Falls erforderlich, knnen diese Schritte wiederholt werden. Wird der Schalter nicht wie beschrieben umgeschaltet, dann erlischt die RUN LED nach 5 Sekunden und die CPU bleibt im STOP/FEHLERModus. Die Fehler bleiben in der Fehlertabelle.

Konfigurierbarer Speicherschutz
Der Schalter kann so konfiguriert werden, da er verhindert, da zum Programm- oder Konfigurationsspeicher geschrieben oder diskrete Daten berspeichert oder fixiert werden.

5-10

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

5 Zusammenfassung der Arbeitsweise des RUN/STOP-Schalters der CPU


Konfiguration RUN/STOPModus Konfiguration E/A-Zyklus STOP Schalterstellung CPU-Betrieb

AUS EIN EIN AUS

ohne Wirkung ohne Wirkung ohne Wirkung ohne Wirkung

ohne Wirkung RUN/EIN STOP/AUS von STOP auf RUN umschalten

EIN

NEIN

EIN

JA

von RUN auf STOP umschalten von RUN auf STOP umschalten

Alle Betriebsarten mglich. Alle Betriebsarten mglich. CPU kann nicht in RUN gehen CPU geht nach RUN, wenn keine fatalen Fehler vorliegen. Andernfalls blinkt die RUN-LED 5 Sekunden lang. SPS geht auf STOPNO IO

SPS geht auf STOPIO

GFK-1503-GE

Kapitel 5 CPU-Arbeitsweise

5-11

Kapitel

Elemente eines Anwenderprogramms

6
In diesem Kapitel finden Sie grundlegende Informationen zum Anwenderprogramm.
n n n n

Struktur eines Anwenderprogramms Unterprogramme Programmsprachen Befehlssatz

GFK-1503-GE

6-1

Struktur eines Anwenderprogramms


Das Anwenderprogramm besteht aus der gesamten Logik, die bentigt wird, um die Operationen der SPS CPU und der Module im System zu steuern. Anwenderprogramme werden mit der Programmiersoftware erstellt und zur SPS bertragen. Programme werden im nichtflchtigen Speicher der CPU abgelegt. In der SPS stehen fr die Speicherung des Anwenderprogramms 12 kB Speicher zur Verfgung. Whrend des CPU-Zyklus (beschrieben im vorherigen Kapitel) liest die CPU die Eingangsdaten von den Modulen im System und legt diese Daten in ihren konfigurierten Eingangsspeicheradressen ab. Anschlieend bearbeitet die CPU das gesamte Anwenderprogramm einmal und benutzt dabei diese neuen Eingangsdaten. Durch die Bearbeitung des Anwenderprogramm entstehen neue Ausgangsdaten, die dann in die konfigurierten Ausgangsspeicheradressen eingetragen werden. Nachdem das Ende des Anwenderprogramms abgeschlossen wurde, schickt die CPU die Ausgangsdaten zu den Modulen im System.
Eing. lesen

Anwenderprogramm bearbeiten Ausg. schreiben

6-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Unterprogramme
Das Programm kann aus einem Hauptprogramm bestehen, das bei jedem CPUZyklus vollstndig bearbeitet wird.
Hauptprogramm

Oder ein Programm kann in Unterprogramme aufgeteilt werden. Die maximale Gre eines Hauptprogramms oder Unterprogrammblocks betrgt 12 kB. Unterprogramme knnen die Programmierung vereinfachen und die Menge der insgesamt bentigten Logik verringern. Die einzelnen Unterprogramme knnen entsprechend den Anforderungen aufgerufen werden. Das Hauptprogramm kann hauptschlich dazu verwendet werden, den Ablauf der Unterprogrammbearbeitung zu steuern.
Unterprog. 2
Programm

Unterprog. 3 Unterprog. 4

Whrend der Programmbearbeitung kann ein Unterprogrammblock beliebig oft aufgerufen werden. Logik, die wiederholt werden soll, kann in einen Unterprogrammblock gelegt werden, wodurch sich die insgesamt bentigte Programmgre verringert.

Programm

Unterprog. 2

Unterprogrammblcke knnen sowohl vom Hauptprogramm als auch von anderen Unterprogrammblcken aufgerufen werden. Ein Unterprogrammblock kann sich sogar selbst aufrufen.
Unterprog. 2 Unterprog. 3

Hauptprogramm

Unterprog. 4

Das Hauptprogramm bildet Ebene 1. Das Programm kann bis zu acht zustzlich geschachtelte Aufrufebenen enthalten.
GFK-1503-GE Kapitel 6 Elemente eines Anwenderprogramms 6-3

6 Unterprogrammvereinbarung
Ein Unterprogramm mu ber den Blockdeklarationseditor der Programmiersoftware vereinbart werden.

Unterprogrammaufruf
Ein im Programm aufgerufenes Unterprogramm verwendet eine CALLAnweisung. Fr jeden Block im Programm sind bis zu 64 Unterprogrammblockdeklarationen und 64 CALL-Anweisungen erlaubt.
%I0004 %Q0001

%I0006

Unterprog.-Aufruf %I0010 %Q0010

%I0003

Unterprogramme sperren/entsperren
Unterprogrammblcke knnen von der Programmiersoftware aus gesperrt und entsperrt werden. Es gibt vier verschiedene Sperrebenen.
Art der Sperre
View Edit Perm View Perm Edit

Beschreibung
Bei dieser Sperre kann das Unterprogramm nicht angezeigt werden. Bei dieser Sperre knnen die Daten im Unterprogramm nicht verndert werden. Hier ist das Unterprogramm dauernd gesperrt und kann nicht entsperrt werden. Hier ist das Unterprogramm dauernd gesperrt und kann nicht entsperrt werden.

Permanent gesperrte Unterprogramme knnen nicht entsperrt werden, selbst wenn das Programm kopiert, gesichert oder wiederhergestellt wird. Ein Unterprogramm kann entriegelt werden, wenn es gegen Anzeige oder Editieren verriegelt ist.

6-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Programmsprachen
Die grundlegende Sprache des Anwenderprogramms ist der Kontaktplan. Das Hauptprogramm oder die Unterprogramme innerhalb des Programms knnen auch im SFC-Format (Ablaufsprache) erstellt werden. Mit der SPSProgrammiersoftware knnen beide Programmarten erstellt werden.

Ablaufsprache
Die Ablaufsprache (SFC) ist eine graphische Methode, mit der die Funktionen eines sequentiell ablaufenden automatisierten Systems als Folge von Schritten und bergngen dargestellt werden knnen. Jeder Schritt stellt Befehle oder Aktionen dar, die entweder aktiv oder inaktiv sind. Die Ablaufsteuerung geht von einem Schritt zum nchsten, ber eine bedingte Transition, die entweder wahr (1) oder falsch (0) ist. Ist die Transitionsbedingung wahr (1), geht die Steuerung vom aktuellen Schritt (der inaktiv wird) zum nchsten Schritt ber, der dann aktiv wird. Die mit einem Schritt verknpfte Logik wird bearbeitet, wenn der Schritt aktiv wird. Diese Logik ist im Kontaktplanformat programmiert. Die Transitionen zwischen den Schritten werden ebenfalls als Kontaktplanlogik programmiert.
Schritt 1 Trans1

Transition 1
Schritt 2
Trans2

Transition 2
Schritt 3

GFK-1503-GE

Kapitel 6 Elemente eines Anwenderprogramms

6-5

6 Kontaktplan
Diese traditionelle SPS-Programmiersprache mit ihrer Netzwerkstruktur wird von oben nach unten abgearbeitet. Die Programmbearbeitung wird gedanklich als "Stromflu dargestellt, der entlang der linken "Stromschiene" der Leiter und in den einzelnen Strompfaden nacheinander von links nach rechts fliet.
Kontakt
Stromschiene %I0001 MUL_ INT

Stromflu in Funktion

Stromflu aus Funktion


%Q0001

%R0123 CONST 00002

I1 I2

%R0124 Multiplikationsfunktion Spule

Der logische Stromflu durch die einzelnen Strompfade wird von einer Reihe einfacher Programmfunktionen gesteuert, die wie mechanische Kontakte und Ausgangsspulen arbeiten. Ob ein Kontakt nun den logischen Stromflu entlang eines Strompfads weitergibt ist abhngig vom Inhalt einer Speicheradresse, mit der der Kontakt im Programm verknpft wurde. Ein Kontakt kann zum Beispiel Stromflu weitergeben, wenn seine Speicheradresse den Wert 1 enthlt. Der gleiche Kontakt wrde den Stromflu nicht weitergeben, wenn die Speicheradresse den Wert 0 enthalten wrde. Gibt ein Kontakt oder eine andere Funktion in einem Strompfad den logischen Stromflu nicht weiter, dann wird der Rest dieses Strompfads nicht bearbeitet. Der Stromflu geht dann entlang der linken Stromschiene zum nchsten Strompfad. Innerhalb eines Strompfads sind zahlreiche komplexe Funktionen mglich, die es zum Beispiel ermglichen, im Speicher abgelegte Daten zu kopieren, arithmetische Operationen auszufhren oder den Datenverkehr zwischen der CPU und anderen Teilnehmern im System zu steuern. Einige Programmfunktionen, wie zum Beispiel die Sprungfunktion oder das Hauptsteuerrelais, knnen zur Steuerung des Programmablaufs selbst benutzt werden. Insgesamt wird diese groe Gruppe von Kontaktplanrelaisspulen und Kontaktplanfunktionen als "Befehlssatz der CPU bezeichnet.

6-6

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Der Befehlssatz
Die CPU der VersaMax SPS stellt fr den Aufbau von Anwenderprogrammen einen leistungsfhigen Befehlssatz zur Verfgung. Um einen berblick ber die Programmiermglichkeiten der VersaMax SPS zu geben, wurden auf den folgenden Seiten alle Kontakte, Spulen, Funktionen und sonstigen Elemente des Befehlssatzes zusammengefat. Vollstndige Angaben finden Sie in der Dokumentation und Online-Hilfe zur Programmiersoftware.

Kontakte
| | |/| <+> Spulenkontakt ffnerkontakt Dauerkontakt Gibt den Stromflu weiter, wenn die zugehrige Referenz EIN ist. Gibt den Stromflu weiter, wenn die zugehrige Referenz AUS ist. Gibt Stromflu nach rechts weiter, wenn die vorhergehende Dauerspule durchgeschaltet ist.

Spulen
( ) (/) ( ) Spule Negierte Spule Positive Flanke Negative Flanke SET RESET SET remanent Schaltet die zugehrige Referenz EIN, wenn die Spule Stromflu empfngt. Andernfalls AUS. Schaltet die zugehrige Referenz EIN, wenn die Spule keinen Stromflu empfngt. Andernfalls AUS. Die Spule wird durchgeschaltet, wenn der Stromflu zu dieser Spule bei ihrer letzten Bearbeitung AUS war und bei der aktuellen Bearbeitung EIN ist. Andernfalls wird die Spule abgeschaltet. Die Spule wird durchgeschaltet, wenn der Stromflu zu dieser Spule bei ihrer letzten Bearbeitung EIN war und bei der aktuellen Bearbeitung AUS ist. Andernfalls wird die Spule abgeschaltet. Schaltet die zugehrige Referenz EIN, wenn die Spule Stromflu empfngt. Sie bleibt solange eingeschaltet, bis sie durch (R) rckgesetzt wird. Schaltet die zugehrige Referenz AUS, wenn die Spule Stromflu empfngt. Sie bleibt solange ausgeschaltet, bis sie durch (S) rckgesetzt wird. Schaltet die zugehrige Referenz EIN, wenn die Spule Stromflu empfngt. Die Referenz bleibt solange gesetzt, bis sie durch (RM) rckgesetzt wird. Ihr Zustand wird ber einen Spannungsausfall und einen STOP-TO-RUNbergang hinweg erhalten. Schaltet die zugehrige Referenz AUS, wenn die Spule Stromflu empfngt. Die Referenz bleibt solange gesetzt, bis sie durch (SM) rckgesetzt wird. Ihr Zustand wird ber einen Spannungsausfall und einen STOP-TO-RUNbergang hinweg erhalten. Schaltet die zugehrige Referenz EIN, wenn die Spule keinen Stromflu empfngt. Ihr Zustand wird ber einen Spannungsausfall und einen STOP-TO-RUN -bergang hinweg erhalten. Andernfalls AUS. Schaltet die zugehrige Referenz EIN, wenn die Spule Stromflu empfngt. Ihr Zustand wird ber einen Spannungsausfall und einen STOP-TO-RUN bergang hinweg erhalten. Andernfalls AUS. Ist der Stromflu zu der Spule durchgeschaltet, schaltet die Dauerspule den nchsten Dauerkontakt EIN. Ist der Stromflu abgeschaltet, schaltet die Dauerspule den nchsten Dauerkontakt AUS.

( )

(S) (R) (SM)

(RM)

RESET remanent

(/M)

Negiert remanent Remanent

(M)

<+>

Dauerspule

GFK-1503-GE

Kapitel 6 Elemente eines Anwenderprogramms

6-7

6
Timer und Zhler
ondtr Einschaltverzgerung Stoppuhr Abschaltverzgerung Einschaltverzgerung Aufwrtszhler Abwrtszhler Summiert die Zeit auf, solange Stromflu anliegt. Der aktuelle Wert wird auf Null rckgesetzt, wenn der Rcksetzeingang Stromflu empfngt. Summiert die Zeit auf, in der kein Stromflu anliegt. Summiert die Zeit auf, solange Stromflu anliegt. Der aktuelle Wert wird auf Null rckgesetzt, wenn kein Stromflu anliegt. Wird jedesmal um 1 erhht, wenn die Funktion einen Stromfluimpuls erhlt. Zhlt von einem Vorgabewert abwrts, wenn die Funktion einen Stromfluimpuls erhlt.

oftd tmr upctr dnctr

Arithmetische Funktionen
add sub mul div mod expt sin cos tan asin acos atan deg rad sqroot Log ln exp Addition Subtraktion Multiplikation Division Modulo-Division Potenz von X Sinus Kosinus Tangens Arkussinus Arkuskosinus Arkustangens Umwandlung in Grad Umwandlung in Radiant Quadratwurzel Dekadischer Logarithmus Natrlicher Logarithmus Natrliche Exponentialfunktion Addiert zwei Zahlen. Subtrahiert eine Zahl von einer anderen. Multipliziert zwei Zahlen miteinander. Dividiert eine Zahl durch eine andere; ergibt einen Quotienten. Dividiert eine Zahl durch eine andere; ergibt einen Rest. Erhebt X zu der durch IN spezifizierten Potenz und legt das Ergebnis in Q ab. Ermittelt den trigonometrischen Sinuswert einer Zahl. Ermittelt den trigonometrischen Kosinuswert einer Zahl. Ermittelt den trigonometrischen Tangenswert einer Zahl. Ermittelt den Arkussinuswert einer reellen Zahl. Ermittelt den Arkuskosinuswert einer reellen Zahl. Ermittelt den Arkustangenswert einer reellen Zahl. Fhrt eine Umwandlung RAD_TO_DEG eines reellen Radiantwertes durch. Fhrt eine Umwandlung DEG_TO_RAD eines reellen Gradwertes durch. Zieht die Quadratwurzel aus einem ganzzahligen oder reellen Wert. Ermittelt den dekadischen Logarithmus eines reellen Wertes. Ermittelt den natrlichen Logarithmus eines reellen Wertes. Erhebt die Basis des natrlichen Logarithmus zu der durch den Eingang festgelegten Potenz.

6-8

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

6
Relationale Funktionen
eq ne gt Gleich Ungleich Grer als Prft, ob zwei Zahlen gleich sind. Prft, ob zwei Zahlen ungleich sind. Prft, ob eine Zahl grer als eine andere ist. Schaltet den Stromflu nach rechts, wenn die erste Zahl grer ist als die zweite. Prft, ob eine Zahl grer als eine andere oder gleich ist. Prft, ob eine Zahl kleiner als eine andere ist. Prft, ob eine Zahl kleiner als eine andere oder gleich ist. Prft, ob der Eingabewert zwischen zwei Zahlen liegt.

ge lt le Bereich

Grer als oder gleich Kleiner als Kleiner als oder gleich Bereich

Bitoperationen
and or xor not shl shr rol ror bittst bitset bitclr bitpos mskcmp Logisch UND Logisch ODER Logisches ExklusivODER Logische Invertierung Nach links schieben Nach rechts schieben Nach links rotieren Fhrt eine logische UND-Verknpfung zweier Bitfolgen durch. Fhrt eine logische ODER-Verknpfung zweier Bitfolgen durch. Fhrt eine logische EXOR-Verknpfung zweier Bitfolgen durch. Fhrt eine logische Invertierung einer Bitfolge durch. Verschiebt eine Bitfolge nach links. Verschiebt eine Bitfolge nach rechts. Dreht eine Bitfolge nach links.

Nach rechts rotieren Dreht eine Bitfolge nach rechts. Bit testen Bit auf 1 setzen Bit auf 0 setzen Bitposition Prft ein Bit in einer Bitfolge. Setzt ein Bit in einer Bitfolge auf TRUE. Setzt ein Bit in einer Bitfolge auf FALSE. Sucht in einer Bitfolge ein auf TRUE gesetztes Bit.

Vergleich mit Maske Fhrt einen maskierten Vergleich zweier Felder durch.

GFK-1503-GE

Kapitel 6 Elemente eines Anwenderprogramms

6-9

6
Datenkopierfunktionen
move blkmov blkclr shfreg bitseq comreq Kopieren Block kopieren Block lschen Schieberegister Bitfolgesteuerung Kommunikationsanforderung Kopiert ein oder mehrere Datenbits an eine andere Stelle. Kopiert einen Block mit bis zu 7 Konstanten. Setzt ein oder mehrere Bytes/Worte im Speicher auf Null. Schiebt ein oder mehrere Worte oder Bits durch einen Speicherblock. Schiebt eine 1 durch eine Gruppe von Bits im SPS-Speicher. Sendet eine Kommunikationsanforderung.

Tabellenfunktionen
arrmov srh eq srh ne srh gt srh ge srh lt srh le Feld kopieren Suche gleiche Suche ungleiche Suche grer als Suche grer als/gleich Suche kleiner als Suche kleiner als/gleich Kopiert eine vorgegebenen Anzahl von Datenelementen aus einem Quellfeld in ein Zielfeld. Durchsucht ein Feld nach Werten, die gleich dem angegebenen Wert sind. Durchsucht ein Feld nach Werten, die nicht gleich dem angegebenen Wert sind. Durchsucht ein Feld nach Werten, die grer als der angegebene Wert sind. Durchsucht ein Feld nach Werten, die grer als ein angegebener Wert oder gleich sind. Durchsucht ein Feld nach Werten, die kleiner als der angegebene Wert sind. Durchsucht ein Feld nach Werten, die kleiner als ein angegebener Wert oder gleich sind.

Umwandlungsfunktionen
bcd-4 word int tdint real Umwandeln in BCD-4 (aus INT) Umwandeln in Wort (aus REAL) Umwandeln in INT (aus BCD-4 oder REAL) Umwandeln in DINT (aus BCD-4 oder REAL) Umwandeln in REAL (aus INT, DINT, BCD-4 oder WORD) Abschneiden auf INT (aus REAL) Abschneiden auf doppelt genaue INT (aus REAL) Wandelt eine Zahl in 4-stelliges BCD-Format um. Wandelt eine reelle Zahl in Wortformat um. Wandelt eine Zahl in vorzeichenbehaftetes ganzahliges Format um. Wandelt eine Zahl ins doppeltgenaue ganzzahlige Format um. Wandelt einen Wert in einen reellen Wert um.

int dint

Schneidet auf 16-Bit-Zahl mit Vorzeichen ab. Zulssiger Bereich: 32.768 bis +32.767. Schneidet auf 32-Bit-Zahl mit Vorzeichen ab. Zulssiger Bereich:-2.147.483.648 bis +2.147.483.647.

6-10

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

6
Steuerfunktionen
call do io Unterprogrammaufruf E/A-Aktualisierung Veranlat, da die Programmbearbeitung in dem angegebenen Unterprogrammblock fortgesetzt wird. Bedient den angegebenen Bereich Ein- oder Ausgnge unmittelbar (alle Ein- oder Ausgnge eines Moduls werden bedient, wenn die Funktion eine beliebige Adresse des Moduls enthlt es findet keine partielle E/A-Aktualisierung eines Moduls statt). Whlt den rckwirkungsfreien unabhngigen PID-Algorithmus. Whlt den ISA-PID-Algorithmus. Das Programm wird bearbeitet vom ersten Strompfad bis zum letzten Strompfad oder der END-Anweisung (was immer zuerst kommt). Diese Anweisung ist hilfreich beim Austesten. Eine Erluterung zum Strompfad. Eine spezielle SPS-Dienstfunktion. Beginnt einen Hauptsteuerrelaisbereich. Eine MCR-Funktion veranlat, da alle Strompfade zwischen MCR und dem darauffolgenden ENDMCR ohne Stromflu ausgefhrt werden. Es knnen bis zu 8 MCR-Funktionen geschachtelt werden. Beendet einen Hauptsteuerrelaisbereich. Springt zu einer bestimmten Adresse, die durch eine MARKE im Programm angegeben wird. Die Zieladresse einer JUMP-Anweisung. Mehrere Sprunganweisungen knnen die selbe Marke anspringen.

pidind pidisa end

Unabhngiger PIDAlgorithmus ISA-PIDAlgorithmus Temporres Programmende Kommentar Bedienanforderung Hauptsteuerrelais

commnt svcreq mcr

endmcr jump label

HauptsteuerrelaisEnde Sprung Marke

GFK-1503-GE

Kapitel 6 Elemente eines Anwenderprogramms

6-11

Kapitel

Programmdaten

7
Dieses Kapitel beschreibt die Datentypen, die in einem Anwenderprogramm verwendet werden knnen, und erlutert, wie diese Daten im Speicher der SPS abgelegt werden.

n n n n n n

Datenspeicheradressen Datenremanenz Verwendung symbolischer Adressen und Beschreibungen fr Programmreferenzen System-Statusreferenzen Zeitkontakte Wie Programmfunktionen numerische Daten behandeln

GFK-1503-GE

7-1

Datenspeicheradressen
Die SPS speichert Programmdaten im Bitspeicher und im Wortspeicher. Bitund Wortspeicher sind wiederum jeweils in unterschiedliche Typen mit spezifischen Eigenschaften unterteilt.

Speicherbelegung
Die folgende Tabelle zeigt die Typen und Gren der verfgbaren Speicher.
Programmspeicher Register (%R) Diskrete Eingnge (%I) Diskrete Ausgnge (%Q) Analogeingnge (%AI) Analogausgnge (%AQ) Diskrete interne Merker (%M) Diskrete temporre Merker (%T) Globale diskrete Genius-Merker (%G) 12288 Bytes 2048 Worte 2048 Punkte 2048 Punkte 128 Worte 128 Worte 1024 Punkte 256 Punkte 1280 Punkte

Per Vereinbarung wird jeder Speichertyp normalerweise fr einen speziellen Datentyp verwendet (siehe Tabelle). Die tatschliche Speicherbelegung erlaubt jedoch eine groe Flexibilitt. Die einzelnen Speicherpltze werden mit alphanumerischen Bezeichnern, den "Referenzen", indiziert. Buchstaben im Prfix der Referenz geben den Speicherbereich an. Der numerische Wert ist der Offset in diesem Speicherbereich.

Wortspeicher-Referenzen
Die einzelnen Wortspeicheradressen (Referenzen) liegen in einem 16-BitWortraster. Die SPS verwendet drei unterschiedliche Referenztypen zur Datenspeicherung im Wortspeicher.
%AI %AQ %R Normalerweise verwendet fr Analogeingnge. Normalerweise verwendet fr Analogausgnge. Register werden normalerweise zur Speicherung von Programmdaten im Wortformat benutzt.

Der Wortspeicher wird nachstehend dargestellt. Das Beispiel zeigt zehn Adressen. Jede Adresse umfat 16 Bits, die zusammen einen Wert enthalten. Die SPS kann im Wortspeicher keine einzelnen Bits ansprechen.

7-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

7
Adressen 1 2 3 4 5 6 7 8 9 10 12467 12004 231 359 14 882 24 771 735 0000

Bitspeicherreferenzen
Die einzelnen Bitspeicheradressen (Referenz) liegen in einem Bitraster. Die Speicherung der Daten im Bitspeicher wird nachstehend dargestellt. Die Abbildung zeigt 160 einzeln adressierbare Bits (Adresse 1 ist links oben, Adresse 160 rechts unten).
Adressen 1 2 3 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 4 5 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 1 ... 160

GFK-1503-GE

Kapitel 7 Programmdaten

7-3

7
Die SPS verwendet sechs unterschiedliche Referenztypen zur Datenspeicherung im Bitspeicher.
%I %Q Normalerweise verwendet fr diskrete Eingnge; anzeigbar in Eingangsstatustabelle. Normalerweise verwendet fr physikalische Ausgangseferenzen; anzeigbar in Ausgangsstatustabelle. Je nach ihrer Verwendung im Programm kann eine %Q-Referenz remanent oder nicht remanent sein. Normalerweise verwendet zur Darstellung interner Referenzen. Je nach ihrer Verwendung im Programm kann eine bestimmte %M-Referenz remanent oder nicht remanent sein. Verwendet fr temporre Referenzen, die im Programm wiederholt verwendet werden knnen. Daten mit %T-Referenzen werden bei einem Spannungsausfall oder einem bergang RUN-STOP-RUN nicht erhalten. %T-Referenzen knnen nicht mit remanenten Spulen verwendet werden.
Spezifisch vordefinierte System-Statusreferenzen.

%M %T

%S

n n n n

%S, %SA, %SB und %SC knnen fr beliebige logische Kontakte verwendet werden. %SA, %SB und %SC knnen fr nullspannungssichere Merker verwendet werden. %S knnen als Eingnge zu Funktionen oder Funktionsblcken verwendet werden. %SA, %SB und %SC knnen als Eingnge oder Ausgnge von Funktionen und Funktionsblcken verwendet werden.

%G

Verwendet fr Globaldaten. Die Daten in den %G-Referenz sind nullspannungssicher. %GReferenzen knnen mit Kontakten und remanenten Spulen, aber nicht mit nicht remanenten Spulen verwendet werden.

Transitionsbits und Overridebits


Transitionsbits sind von der CPU intern verwendete Bits, um Flanken zu erkennen. Overridebits werden benutzt, um bestimmte Referenzen feste vorgegebene Werte vom Programmiergert zuzuweisen (z.B. fr Simulation). %I-, %Q-, %M- und %G-Referenzen sind mit Transitions- und Overridebits verknpft. %T-, %S-, %SA-, %SB- und %SC-Referenzen sind nur mit Transitionsbits verknpft. Die CPU verwendet Transitionsbits fr flankengesteuerte Spulen. Wird ein Overridebit gesetzt, kann die zugehrige Referenz nur vom Programmiergert aus verndert werden.

7-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Datenremanenz
Daten sind remanent (nullspannungssicher), wenn sie beim Stoppen der SPS oder einem Spannungsausfall automatisch gerettet werden. Die folgenden Daten sind remanent:

n n n n n n n

Programmlogik Fehlertabellen und Diagnosefunktionen OVERRIDE-Zustnde Wortdaten (%R, %AI, %AQ) Bitdaten (%I, %SC, %G, Fehlerbits und reservierte Bits) In %Q und %M gespeicherte Wortdaten. Daten in %Q oder %M Referenzen, die als Funktionsblockausgnge oder zusammen mit remanenten Spulen verwendet werden: -(M)- remanente Spule -(/M)- negiert remanent Spulen -(SM)- remanente SET-Spulen -(RM)- remanente RESET-Spulen Bei der letzen Verwendung einer %Q- oder %M-Referenz zusammen mit einer Spule wird durch den Spulentyp festgelegt, ob die Daten remanent oder nicht remanent sind. Wurde zum Beispiel %Q0001 zuletzt als Referenz einer remanenten Spule programmiert, bleiben die Daten von %Q0001 remanent. Wurde jedoch %Q0001 zuletzt als Referenz einer nicht remanenten Spule programmiert, sind die Daten von %Q0001 nicht remanent.

%Q- oder %M-Referenzen, die remanent gemacht wurden, indem sie spezifisch als remanent vereinbart wurden. Die Standardeinstellung der %Q- und %M-Referenzen ist nicht remanent.

Die folgenden Daten sind nicht remanent:

n n n n n

Die Zustnde von Transitionsmerkern. %T-Daten %S-, %SA- und %SB-Daten (ABER: %SC-Bitdaten sind remanent). %Q- und %M-Referenzen, die nicht als remanent vereinbart wurden. %Q- und %M-Referenzen, die mit nicht remanenten Spulen verwendet werden: -( )Spule, -(/)negierte Spulen -(S)- SET-Spulen -(R)- RESET-Spulen

GFK-1503-GE

Kapitel 7 Programmdaten

7-5

Verwendung symbolischer Adressen und Beschreibungen fr Programmreferenzen


Um die Programmlogik bersichtlicher zu gestalten, werden in vielen Programmen beschreibende symbolische Adressen fr Referenzen verwendet.

Symbolische Adresse
Eine symbolische Adresse kann zwischen 1 und 7 Zeichen enthalten. Zulssige Zeichen sind: A bis Z, 0 bis 9, Unterstrich und die Sonderzeichen +, -, %, #, @, <, >, = und &. Das erste Zeichen mu immer ein Buchstabe sein. Jeder Programmreferenz kann eine symbolische Adresse zugewiesen werden. Die symbolischen Adressen werden in der Variablendeklarationstabelle zugeordnet. Die Verwendung symbolischer Adressen erfolgt wahlweise.
%Q0004
Referenz

----( )---Light_3
symbolische Adresse

----( )---Bei einer symbolischen Adresse wird nur zwischen Gro- und Kleinbuchstaben unterschieden, wenn eine globale symbolische Adresse im Unterprogramm erneut zugewiesen wurde. In diesem Fall ist die lokale Verwendung der symbolischen Adresse in Gro- und die globale Verwendung in Kleinbuchstaben.

Lokale symbolische Adressen in Unterprogrammen


Jeder Unterprogrammblock kann seine eigenen symbolischen Adressen lokal einsetzen. Eine Referenz kann unterschiedliche lokale symbolische Adressen in unterschiedlichen Unterprogrammblcken besitzen:
BLOCK A BLOCK B %R0001 %R0001 Light_1 Light_2

Sofern sie als lokale Variable deklariert wurde, knnen zwei Unterprogrammblcke die gleiche symbolische Adresse fr unterschiedliche Referenzen benutzen:
BLOCK A BLOCK B %R0001 %R0002 RESET RESET

Referenzbeschreibungen
Eine Referenzbeschreibung ist ein Zusatztext, der bis zu 32 Zeichen enthalten kann. Referenzbeschreibungen knnen mit Maschinenreferenzen oder impliziten Bezeichnern (z.B. Programmnamen, Unterprogrammblock oder JUMP/LABEL/MCR/ENDMCR) verknpft werden. Eine Referenzbeschreibung kann mit oder ohne symbolische Adresse verwendet werden.
7-6 VersaMax SPS Anwenderhandbuch Oktober 1998 GFK-1503-GE

System-Statusreferenzen
Die SPS speichert System-Statusdaten in vordefinierten Referenzen im %S-, %SA-, %SB- oder %SC-Speicher. Jede System-Statusreferenz kann eine beschreibende symbolische Adresse besitzen. Zeitreferenzen heien zum Beispiel T_10MS, T_100MS, T_SEC und T_MIN. Beispiele von Funktionsreferenzen sind FST_SCN, ALW_ON und ALW_OFF.

Benutzung der System-Statusreferenzen


System-Statusreferenzen knnen entsprechend den Erfordernissen in den Anwenderprogrammen eingesetzt werden. Der folgende Funktionsblock benutzt zum Beispiel die Statusreferenz FST_SCN (erster Zyklus) zum steuern des Stromflusses zu einer Funktion "Block lschen". In diesem Beispiel werden beim Einschalten ab der Adresse %Q0001 32 Worte im %Q-Speicher (512 Punkte) mit Nullen gefllt.
FST_SCN | |

BLK_ CLR WORD IN LEN 00032

%Q0001

GFK-1503-GE

Kapitel 7 Programmdaten

7-7

7 %S-Referenzen
Referenzen im %S-Speicher knnen nur gelesen werden.
Referenz
%S0001 %S0002 %S0003 %S0004 %S0005 %S0006 %S0007 %S0008 %S0009

Symbolische Adresse
FST_SCN LST_SCN T_10MS T_100MS T_SEC T_MIN ALW_ON ALW_OFF SY_FULL

Definition
Auf 1 gesetzt, wenn aktueller Zyklus erster Zyklus ist. Wird von 1 auf 0 rckgesetzt, wenn der aktuelle Zyklus der letzte Zyklus ist. Timerkontakt, 0,01 s Timerkontakt, 0,1 s Timerkontakt, 1 s Timerkontakt, 1 Minute Immer EIN Immer AUS Wird gesetzt, wenn die SPS-Fehlertabelle voll wird. Wird gelscht, wenn ein Eintrag entfernt wird oder die SPSFehlertabelle gelscht wird. Wird gesetzt, wenn die E/A-Fehlertabelle voll wird. Wird gelscht, wenn ein Eintrag aus der E/A-Fehlertabelle entfernt wird oder die E/A-Fehlertabelle gelscht wird. Wird gesetzt, wenn im %I-, %Q-, %M- oder %G-Speicher ein OVERRIDE-Zustand besteht. Reserviert

%S0010

IO_FULL

%S0011 %S0012 %S0013 %S0014 %S0015, 16 %S0017

OVR_PRE

PRG_CHK PLC_BAT

Wird gesetzt, wenn die Hintergrundprogrammberprfung aktiv ist. Wird gesetzt, um eine fehlerhafte Batterie in der CPU anzuzeigen. Die Kontaktreferenz wird einmal pro Zyklus aktualisiert. Reserviert

SNPXACT

Der SNP-X Host ist aktiv and CPU-Schnittstelle 1 angeschlossen. (Schnittstelle 2 ist in der Standardeinstellung inaktiv und mu mit einem CRQ aktiviert werden). Der SNP-X Host hat Daten vom CPU-Schnittstelle 1 gelesen. Der SNP-X Host hat Daten zum CPU-Schnittstelle 1 geschrieben. Wird gesetzt, wenn eine Vergleichsfunktion, die REAL-Daten verwendet, erfolgreich ausgefhrt wird. Wird gelscht, wenn einer der Eingnge keine Zahl ist.

%S0018 %S0019 %S0020

SNPX_RD SNPX_WT

%S0021 %S0022

FF_OVR USR_SW

Wird gesetzt, um fatalen OVERRIDE-Fehler zu melden. Wird gesetzt, um den Zustand des CPUBetriebsartenschalters wiederzugeben. 1 = RUN/EIN 0 = STOP/AUS Reserviert

%S0023-32

7-8

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

7 %SA-, %SB- und %SC-Referenzen


Referenzen im %SA-, %SB- oder %SC-Speicher knnen sowohl gelesen als auch beschrieben werden.
Referenz %SA0001 Symbolische Adresse PB_SUM Definition Wird gesetzt, wenn die fr das Programm berechnete Prfsumme nicht mit der Referenzprfsumme bereinstimmt. Wurde der Fehler durch eine vorbergehende Strung verursacht, kann das diskrete Bit gelscht werden, indem das Programm nochmals in die CPU geladen wird. Wurde der Fehler durch einen RAM-Defekt verursacht, mu die CPU ausgewechselt werden. Wird gesetzt, wenn die SPS in der Betriebsart "konstante Zyklusdauer" erkennt, da der vorhergehende Zyklus lnger als die angegebene Zeit dauerte. Wird gelscht, wenn die SPS erkennt, da der vorhergehende Zyklus nicht lnger als die angegebene Zeit dauerte. Wird auch gelscht beim bergang von STOP auf RUN. Wird gesetzt, wenn ein Anwendungsfehler auftritt. Wird gelscht, wenn die SPS von STOP auf RUN wechselt. Reserviert CFG_MM Wird gesetzt, wenn beim Einschalten oder einem Speichern der Konfiguration eine Diskrepanz bei der Konfiguration erkannt wird. Wird gelscht, wenn die SPS nach der Korrektur dieses Zustands wieder eingeschaltet wird. Wird gesetzt, wenn die Diagnosefunktionen ein Problem mit der CPU-Hardware erkennen. Wird gelscht, wenn das CPU-Modul ausgewechselt wird. Wird gesetzt, wenn ein Batteriefehler auftritt. Wird gelscht, wenn die Batterie ausgewechselt und die SPS danach wieder eingeschaltet wird. Reserviert LOS_IOM Wird gesetzt, wenn der Datenverkehr zwischen einem E/AModul und der CPU unterbrochen wird. Wird gelscht, wenn das Modul ausgewechselt und die Spannung ausund wieder eingeschaltet wird. Wird gesetzt, wenn der Datenverkehr zwischen einem Zusatzmodul und der CPU unterbrochen wird. Wird gelscht, wenn das Modul ausgewechselt und die Spannung zum Hauptchassis aus- und wieder eingeschaltet wird. Reserviert ADD_IOM Wird gesetzt, wenn ein E/A-Modul hinzugefgt wird. Wird gelscht, wenn die Spannung zur SPS aus- und wieder eingeschaltet wird und die Konfiguration nach einem Speichern mit der Hardware bereinstimmt. Wird gesetzt, wenn ein Zusatzmodul hinzugefgt wird. Wird gelscht, wenn die Spannung zur SPS aus- und wieder eingeschaltet wird und die Konfiguration nach einem Speichern mit der Hardware bereinstimmt.

%SA0002

OV_SWP

%SA0003 %SA0004-8 %SA0009

APL_FLT

%SA0010

HRD_CPU

%SA0011

LOW_BAT

%SA0012,13 %SA0014

%SA0015

LOS_SIO

%SA0016-18 %SA0019

%SA0020

ADD_SIO

GFK-1503-GE

Kapitel 7 Programmdaten

7-9

Referenz %SA0021-26 %SA0027

Symbolische Adresse Reserviert HRD_SIO

Definition

Wird gesetzt, wenn in einem Zusatzmodul ein Hardwarefehler erkannt wird. Wird gelscht, wenn das Modul ausgewechselt und die Spannung zur SPS aus- und wieder eingeschaltet wird. Reserviert Wird gesetzt, wenn in einem Zusatzmodul ein nicht behebbarer Softwarefehler erkannt wird. Wird gelscht, wenn die Spannung zur SPS aus- und wieder eingeschaltet wird und die Konfiguration mit der Hardware bereinstimmt. Reserviert Wird gesetzt,wenn die CPU einen nicht behebbaren Fehler in der Software erkennt. Wird gelscht, wenn die SPS-Fehlertabelle gelscht wird. Wird gesetzt, wenn bei einer Programmiergerte-Speicherung ein Fehler auftritt. Wird gelscht, wenn ein Speichervorgang erfolgreich beendet wurde. Reserviert Wird gesetzt, wenn ein beliebiger Fehler auftritt. Wird gelscht, wenn beide Fehlertabellen leer sind. Wird gesetzt, wenn ein Fehler auftritt, der einen Eintrag in die SPS-Fehlertabelle verursacht. Wird gelscht, wenn die SPSFehlertabelle leer ist. Wird gesetzt, wenn ein Fehler auftritt, der einen Eintrag in die E/A-Fehlertabelle verursacht. Wird gelscht, wenn die E/AFehlertabelle leer ist. Wird gesetzt, solange die SPS-Fehlertabelle noch mindestens einen Eintrag enthlt. Wird gelscht, wenn die SPS-Fehlertabelle leer ist. Wird gesetzt, solange die E/A-Fehlertabelle noch mindestens einen Eintrag enthlt. Wird gelscht, wenn die E/A-Fehlertabelle leer ist. Wird gesetzt, wenn ein Hardwarefehler auftritt. Wird gelscht, wenn beide Fehlertabellen leer sind. Wird gesetzt, wenn ein Softwarefehler auftritt. Wird gelscht, wenn beide Fehlertabellen leer sind.

%SA0028-30 %SA0031

SFT_SIO

%SB0012 %SB0013 SFT_CPU

%SB0014

STOR_ER

%SC0001-8 %SC0009 %SC0010 ANY_FLT SY_FLT

%SC0011

IO_FLT

%SC0012

SY_PRES

%SC0013

IO_PRES

%SC0014 %SC0015

HRD_FLT SFT_FLT

7-10

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Wie Programmfunktionen numerische Daten behandeln


Unabhngig von der Stelle, an der Daten im Speicher abgelegt werden in einem der bitstrukturierten Speicher oder in einem der wortstrukturierten Speicher - kann das Anwenderprogramm diese Daten als unterschiedliche Datentypen behandeln.
Typ BIT Bezeichnung Bit Beschreibung Der Datentyp "Bit" ist die kleinste Einheit im Speicher. Er kennt zwei Zustnde: 1 oder 0. Der Datentyp "Byte" hat einen 8-Bit-Wert. Zulssiger Bereich: 0 bis 255 (0 bis FF hexadezimal). Der Datentyp "Wort" benutzt im Speicher 16 aufeinanderfolgende Datenbits. Im Gegensatz zu den Bits in der Datenadresse, die eine Zahl darstellen, sind diese Bits voneinander unabhngig. Jedes Bit stellt seinen eigenen binren Zustand (1 oder 0) dar. Der zulssige Bereich von Wortwerten ist 0 bis +65.535 (FFFF). 4-stellige BCD-Zahl 4-stellige BCD-Zahlen belegen 16-BitDatenspeicheradressen. Jede BCD-Stelle belegt vier Bits und kann Zahlen zwischen 0 und 9 darstellen. Diese BCD-Codierung der 16 Bits ergibt einen Wertebereich von 0 bis 9999. Reelle Zahlen belegen zwei aufeinanderfolgende 16-Bit-Speicheradressen. Der Zahlenbereich, der in diesem Format gespeichert werden kann, ist: 1,401298E-45 bis 3,402823E+38. Weitere Informationen finden Sie auf der nchsten Seite.
Word 1 16 bit positions 16 1

Datenformat

BYTE

Byte

WORD

BCD-4

Word 1 4 3 2 9 5 1 4 BCD Stellen 1 Bit Position

16 13

REAL

Gleitpunkt

Word 1 Word 2 +/17 16 32 8 Bit Exponent 23 Bit Mantisse Zweierkomplementwerte

INT

Ganze Zahl Ganze Zahlen mit Vorzeichen belegen 16mit Vorzei- Bit-Speicheradressen. Ganze Zahl mit Vorzeichen werden im Zweierkomplement chen dargestellt. Bit 16 ist das Vorzeichenbit, (0 = positiv, 1 = negativ). Der Bereich ist 32.768 bis +32.767.

Word 1 +/16 1 16 Bitpositionen

GFK-1503-GE

Kapitel 7 Programmdaten

7-11

Typ DINT

Bezeichnung Doppeltgenaue ganze Zahl mit Vorzeichen

Beschreibung Doppeltgenaue ganze Zahlen mit Vorzeichen belegen zwei aufeinanderfolgende 16-Bit-Speicheradressen. Sie werden im Zweierkomplement dargestellt. Bit 32 ist das Vorzeichenbit, (0 = positiv, 1 = negativ). Ihr Bereich ist -2.147.483.648 bis +2.147.483.867.

Datenformat

Word 2 +/32

Word 1 17 16 1

Zweierkomplementwerte

Reelle Zahlen
Der Datentyp "REAL", der fr einige arithmetische und numerische Funktionen eingesetzt werden kann, entspricht im Prinzip den Gleitpunktdaten. Gleitpunktzahlen werden im einfach genauen IEEE-Standardformat abgelegt. Dieses Format bentigt 32 Bits, die zwei (nebeneinanderliegende) 16-Bit-SPSWrter belegen.
hherwertiges Register Bits 17-32 32 17 16 23-Bit Mantisse 8-Bit Exponent 1-Bit Vorzeichen (Bit 32) niederwertiges Register Bits 1-16 1

Belegt die Gleitpunktzahl zum Beispiel die Register %R0005 und %R0006, dann ist %R0005 das niederwertige Register und %R0006 ist das hcherwertige Register. Der Zahlenbereich, der in diesem Format gespeichert werden kann, ist 1,401298E45 bis 3,402823E+38, sowie der Zahl Null.

7-12

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

7 Fehler in reellen Zahlen und Operationen


Ein berlauf findet statt, wenn von einer REAL-Funktion eine Zahl erzeugt wird, die grer als 3,402823E+38 oder kleiner als -3,402823E+38 ist. Der Ausgang OK der Funktion wird abgeschaltet und das Ergebnis auf plus unendlich (bei einer Zahl grer als 3,402823E+38) bzw. minus unendlich (bei einer Zahl kleiner als 3,402823E+38) gesetzt. Durch eine Abfrage des Ausgangs OK knnen Sie feststellen, wo dies stattfindet.
POS_INF NEG_INF = 7F800000h IEEE-Hexadezimaldarstellung von "plus unendlich" = FF800000h IEEE-Hexadezimaldarstellung von "minus unendlich"

Werden die durch berlauf erzeugten Unendlichwerte als Operanden fr andere REAL-Funktionen verwenden, kann es dadurch zu einem undefinierten Ergebnis kommen. Dieses Ergebnis wird "keine Zahl" (NaN = Not a Number) genannt . Das Ergebnis der Addition von plus unendlich und minus unendlich ist zum Beispiel undefiniert. Wird die Funktion ADD_REAL aufgerufen mit den Operanden plus unendlich und minus unendlich, dann ist das Ergebnis "NaN". Wird ein NaN-Ergebnis in eine andere Funktion eingegeben, gibt sie das Ergebnis weiter. Beispiel: Ist NaN_ADD der erste Operand der Funktion SUB_REAL, dann ist NaN_ADD das Ergebnis von SUB_REAL. Sind beide Operatoren einer Funktion NaNs, dann geht der erste durch. ber diese Eigenschaft, die NaNs durch Funktionen weiterzugeben, knnen Sie feststellen, wo das NaN herstammt. Jede REAL-Funktion, die ein NaN erzeugen kann, besitzt ein spezielles NaN, ber das sie identifiziert werden kann.
NaN_ADD. NaN_SUB NaN_MUL NaN_DIV NaN_SQRT NaN_LOG NaN_POW0 NaN_SIN NaN_COS NaN_TAN NaN_ASIN NaN_ACOS NaN_BCD REAL_INDEF = = = = = = = = = = = = = = 7F81FFFFh 7F81FFFFh 7F82FFFFh 7F83FFFFh 7F84FFFFh 7F85FFFFh 7F86FFFFh 7F87FFFFh 7F88FFFFh 7F89FFFFh 7F8AFFFFh 7F8BFFFFh 7F8CFFFFh FFC00000h Reeller Additionsfehlerwert in Hex Reeller Subtraktionsfehlerwert in Hex Reeller Multiplikationsfehlerwert in Hex Reeller Divisionsfehlerwert in Hex Reeller Quadratwurzelfehlerwert in Hex Reeller Logarithmusfehlerwert in Hex Reeller Exponentfehlerwert in Hex Reeller Sinusfehlerwert in Hex Reeller Kosinusfehlerwert in Hex Reeller Tangensfehlerwert in Hex Reeller Arkussinusfehlerwert in Hex Reeller Arkuskosinusfehlerwert in Hex Fehler BCD-4 in reelle Zahl reell undefiniert, Fehler Division durch Null

GFK-1503-GE

Kapitel 7 Programmdaten

7-13

Zeitkontakte
Es gibt vier Zeitkontakte. Mit ihnen knnen in regelmigen Abstnden andere Programmfunktionen mit Stromfluimpulsen versorgt werden. Die Zeitwerte der vier Zeitkontakte sind 0,01 s, 0,1 s,, 1 s und 1 Minute. Der Zustand dieser Kontakte ndert sich whrend der Zyklusausfhrung nicht. Die von den Kontakten gelieferten Impulse haben ein 1:1-Taktverhltnis. Die Kontakte werden als T_10MS (0,01 s), T_100MS (0,1 s), T_SEC (1 s), und T_MIN (1 min) angesprochen. Das nachstehende Taktdiagramm zeigt das Schaltverhalten dieser Kontakte.
T XXXXX X SEC

X/2 SEC

X/2 SEC

Diese Zeitkontakte stellen bestimmte Adressen im %S-Speicher dar.

7-14

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Kapitel

Die Service Request Funktion

8
In diesem Kapitel wird die Bedienanforderungsfunktion (SVCREQ) erlutert, mit der ein spezieller SPS-Dienst angefordert wird. Es werden die SVCREQParameter fr die VersaMax CPU beschrieben.
n n n n n

SVCREQ-Funktionsnummern Format der SVCREQ-Funktion SVCREQ 1: Timer fr konstante Zyklusdauer verndern/lesen SVCREQ 2: Fensterzeiten lesen SVCREQ 3: Betriebsart des ProgrammiergerteKommunikationsfenster wechseln SVCREQ 4: Betriebsart des System-Kommunikationsfensters wechseln SVCREQ 6: Anzahl der Worte fr Prfsumme verndern/lesen SVCREQ 7: Zeituhr lesen oder einstellen SVCREQ 8: Watchdog-Zeitgeber rcksetzen SVCREQ 9: Zyklusdauer seit Zyklusbeginn lesen SVCREQ 10: Ordnername lesen SVCREQ 11: SPS ID lesen SVCREQ 13: SPS abschalten (Stop) SVCREQ 14: Fehler lschen SVCREQ 15: Zuletzt eingetragenen Fehlertabelleneintrag lesen SVCREQ 16: Betriebszeituhr lesen SVCREQ 18: E/A-OVERRIDE-Zustand lesen SVCREQ 23: Hauptprfsumme lesen SVCREQ 26/30: E/A abfragen

n n n n n n n n n n n n n

GFK-1503-GE

8-1

SVCREQ Funktionsnummern
Jede Bedienanforderung hat ihre eigene Funktionsnummer. Diese Funktionsnummern sind in der nachstehenden Tabelle zusammengefat.
Funktion #
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19-22 23 26, 30 27, 28 29 31-255 Fensterzeiten lesen Betriebsart und Zeit des ProgrammiergerteKommunikationsfenster verndern Betriebsart und Zeit des System-Kommunikationsfensters ndern Reserviert Anzahl der Worte fr Prfsumme verndern/lesen Zeituhr einstellen/lesen Watchdog-Zeitgeber rcksetzen Zyklusdauer seit Zyklusbeginn lesen Ordnername lesen SPS ID lesen Reserviert SPS abschalten Fehlertabellen lschen Zuletzt eingetragenen Fehlertabelleneintrag lesen Betriebszeituhr lesen Reserviert E/A-OVERRIDE-Zustand lesen Reserviert Hauptprfsumme lesen E/A abfragen Reserviert Verstrichene Stromausfallzeit lesen Reserviert

Beschreibung
Timer fr konstante Zyklusdauer verndern/lesen

8-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Format der SVCREQ-Funktion


Die SVCREQ-Funktion besitzt drei Eingnge und einen Ausgang.
Freigabe Funktionsnummer Anfangsadresse SVC_ REQ FNC PARM OK

Erhlt die SVCREQ Stromflu, wird die SPS aufgefordert, die an FNC angegebene Funktionsnummer auszufhren. Die Parameter fr die Funktion liegen ab der fr PARM angegebenen Referenz. Dies ist der Anfang des "Parameterblocks" fr die Funktion. Die Nummer der bentigten 16-BitAdressen hngt von der verwendeten SVCREQ-Funktion ab. Parameterblcke knnen als Eingnge fr die Funktion sowie als Adresse benutzt werden, bei der die Daten nach der Bearbeitung der Funktion ausgegeben werden knnen. Auf die von der Funktion zurckgegebenen Daten wird daher auf die gleiche Adresse zugegriffen, die auch fr PARM spezifiziert wurde. Die SVCREQ-Funktion gibt den Stromflu weiter, solange keine falsche Funktionsnummer, falsche Parameter, oder auerhalb des zulssigen Bereichs liegenden Adressen angegeben wurden. Bei bestimmten SVCREQ-Funktionen gibt es noch andere Fehlerursachen.

Parameter der SVCREQ-Funktion


Eingang/ Ausgang Freigabe FNC PARM ok Wahlmglichkeiten Stromflu Beschreibung Bedienanforderung wird ausgefhrt, wenn Freigabe stromfhrend ist.

I, Q M, T, G, R, Enthlt die Konstante oder Referenz fr den angeforderten Dienst. AI, AQ, Konstante I, Q M, T, G, R, AI, AQ Stromflu, kein Stromflu Enthlt die Anfangsadresse des Parameterblocks fr den angeforderten Dienst. OK wird durchgeschaltet, wenn die Funktion fehlerfrei ausgefhrt wurde.

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-3

8 Beispiel der SVCREQ-Funktion


Ist in dem Beispiel der Freigabeeingang %I0001 EIN, dann wird die SVCREQFunktion Nummer 7 mit dem bei der Adresse %R0001 beginnenden Parameterblock aufgerufen. Ausgangsspule %Q0001 wird durchgeschaltet, wenn die Operation erfolgreich war.
%I0001 SVC_ REQ CONST 00007 %R0001 FNC PARM %Q0001

8-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

SVCREQ 1: Timer fr konstante Zyklusdauer verndern/lesen


Sie knnen mit SVCREQ 1 die Betriebsart "konstante Zyklusdauer" aktivieren/deaktivieren, die Lnge der konstanten Zyklusdauer verndern, auslesen, ob die konstante Zyklusdauer momentan aktiviert ist, oder die Lnge der konstante Zyklusdauer auslesen.

Eingangsparameterblock fr SVCREQ 1
Bei dieser Funktion ist der Parameterblock zwei Worte lang.

Betriebsart "konstante Zyklusdauer" deaktivieren


Um die Betriebsart "konstante Zyklusdauer" zu deaktivieren geben Sie die SVCREQ-Funktion #1 mit diesem Parameterblock ein:
Adresse Adresse + 1 0 wird ignoriert

Betriebsart "konstante Zyklusdauer" aktivieren


Um die Betriebsart "konstante Zyklusdauer" zu aktivieren geben Sie die SVCREQ-Funktion #1 mit diesem Parameterblock ein:
Adresse Adresse + 1 1 0 oder Timerwert

Hinweis: Soll der Timer einen neuen Wert benutzen, geben Sie diesen in das zweite Wort ein. Soll der Timerwert nicht verndert werden, geben Sie 0 in das zweite Wort ein. Wurde zuvor noch kein Timerwert eingestellt, schaltet die Funktion den Ausgang OK ab, wenn 0 eingegeben wird.

Konstante Zyklusdauer ndern


Um den Timerwert zu verndern ohne die Einstellung des Zyklusmodus zu verndern, geben Sie die SVCREQ-Funktion #1 mit diesem Parameterblock ein:
Adresse Adresse + 1 2 neuer Timerwert

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-5

8
Zustand und Zeit von konstantem Zyklus lesen
Um den aktuellen Wert und Zustand des Timers zu lesen ohne dabei etwas zu verndern, geben Sie die SVCREQ-Funktion #1 mit diesem Parameterblock ein:
Adresse Adresse + 1 3 wird ignoriert

Die Funktion wird erfolgreich ausgefhrt, wenn nicht 1. als angeforderte Operation eine von 0, 1, 2 oder 3 verschiedene Zahl eingegeben wird. 2. der Wert der Zyluszeit grer ist als 500 ms (0,5 s). 3. die konstante Zyklusdauer aktiviert ist, ohne da ein Timerwert programmiert wurde, oder ein alter Wert von 0 fr den Timer eingestellt wurde. Nach der Ausfhrung der Funktion gibt sie den Timerstatus und -wert unter den gleichen Parameterblockadressen zurck.
0 = inaktiv Adresse Adresse + 1 1 = aktiv aktueller Timerwert

Beispiel fr SVCREQ 1
Wird in diesem Beispiel Kontakt OV_SWP gesetzt, dann wird der Timer fr konstante Zyklusdauer gelesen, um zwei Millisekunden erhht und der neue Timerwert zur SPS zurckgeschickt. Der Parameterblock liegt im lokalen Speicher unter de Adresse %R0050. Da die Funktionen MOVE und ADD drei horizontale Kontaktpositionen bentigen, wird in dem Programmbeispiel der diskrete interne Merker %M00001 als temporre Adresse verwendet, um das erfolgreiche Ergebnis der ersten Strompfadzeile zu halten. Bei jedem Zyklus, bei dem OV_SWP nicht gesetzt wird, wird %M00001 abgeschaltet.
OV_SWP MOVE WORD CONST 00003 IN Q CONST 00001 %R0050 SVC_ REQ FNC PARM %R0051 CONST 00002 ADD_ INT I1 I2 Q %R00051 %M00001 ( )

%M00001 MOVE WORD CONST 00001 IN Q %R00050 CONST 00001 %R00050 SVC_ REQ FNC PARM

8-6

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

SVCREQ 2: Fensterzeiten lesen


Mit SVCREQ 2 knnen die Zeitwerte von ProgrammiergerteKommunikationsfenster und System-Kommunikationsfenster gelesen werden. Diese Fenster knnen im zeitbegrenzten Modus oder im Modus "vollstndige Bearbeitung" betrieben werden.
Modus
Zeitbegrenzter Modus

Wert
0

Beschreibung
Die Bearbeitungszeit des Fensters ist auf 6 ms begrenzt. Das Fenster ist beendet, wenn es keine Aufgaben mehr gibt oder wenn die 6 ms abgelaufen sind. Unabhngig von der einem Fenster zugewiesenen Zeit ist das Fenster solange offen, bis alle innerhalb dieses Fensters zu erledigenden Arbeiten abgeschlossen sind (maximal 400 ms).

Vollstndige Bearbeitung

Ein Fenster wird deaktiviert, wenn der Zeitwert Null ist.

Ausgangsparameterblock fr SVCREQ 2
Der Parameterblock ist drei Worte lang:
Oberes Byte Adresse Adresse + 1 Adresse + 2 Modus Modus Unteres Byte Wert in ms Wert in ms Programmiergertefenster SystemKommunikationsfenster

mu Null sein mu Null sein Reserviert

Alle Parameter sind Ausgangsparameter. Zur Programmierung dieser Funktion brauchen keine Werte in den Parameterblock eingegeben zu werden.

Beispiel fr SVCREQ 2
Wird im nachstehenden Beispiel der Freigabeausgang %Q00102 gesetzt, schreibt die CPU den aktuellen Zeitwert des Fensters ab der Adresse %R0010 in den Parameterblock.
%Q00102 SVC_ REQ CONST 00002 %R0010 FNC PARM

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-7

SVCREQ 3: Betriebsart des ProgrammiergerteKommunikationsfensters wechseln


Mit SVCREQ 3 stellen Sie den Modus des ProgrammiergerteKommunikationsfensters (zeitbegrenzter Modus oder vollstndige Bearbeitung) ein. Der Wechsel erfolgt in dem auf den Funktionsaufruf folgenden nchsten CPU-Zyklus. Die Dauer des Fensters kann nicht verndert werden, sie betrgt immer 6 ms. SVCREQ 3 gibt Stromflu nach rechts weiter, sofern der Wert 0 (zeitbegrenzter Modus) oder 2 (vollstndige Bearbeitung) eingegeben wurde. Der Parameterblock ist ein Wort lang:

Betriebsart des Programmiergerte-Kommunikationsfensters wechseln


Zum Verndern des Programmiergertefensters geben Sie SVCREQ 3 mit diesem Parameterblock ein:
Oberes Byte Adresse Modus Unteres Byte 6

Beispiel fr SVCREQ 3
Wird im folgenden Beispiel der Freigabeeingang %I006 stromfhrende dann wird das Programmiergerte-Kommunikationsfenster aktiviert und erhlt einen Wert von 6 ms zugewiesen. Der Parameterblock steht in der ReferenzSpeicheradresse %R0051.
%I0006 MOVE WORD CONST 0006 IN Q %R0051 CONST 00003 %R0051 SVC_ REQ FNC PARM

8-8

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

SVCREQ 4: Betriebsart des SystemKommunikationsfensters wechseln


Mit SVCREQ 4 stellen Sie den Modus des System-Kommunikationsfensters (zeitbegrenzter Modus oder vollstndige Bearbeitung) ein. Der Wechsel erfolgt in dem auf den Funktionsaufruf folgenden nchsten CPU-Zyklus. Die Dauer des Fensters kann nicht verndert werden, sie betrgt immer 6 ms. SVCREQ 4 gibt Stromflu nach rechts weiter, sofern der Wert 0 (zeitbegrenzter Modus) oder 2 (vollstndige Bearbeitung) eingegeben wurde. Der Parameterblock ist ein Wort lang:

Betriebsart des System-Kommunikationsfensters wechseln.


Zum Verndern des Programmiergertefensters geben Sie SVCREQ 4 mit diesem Parameterblock ein:
Oberes Byte Adresse Modus Unteres Byte 6

Beispiel fr SVCREQ 4
Wird im folgenden Beispiel der Freigabeeingang %I0003 stromfhrend, wechselt das System-Kommunikationsfenster in die Betriebsart "vollstndige Bearbeitung". Der Parameterblock steht beider Adresse %R0025.
%I0003 MOVE_ WORD CONST 0200 IN Q %R0025 CONST 0004 %R0025 SVC_ REQ FNC PARM

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-9

SVCREQ 6: Anzahl der Worte fr Prfsumme verndern/lesen


Mit SVCREQ 6 knnen Sie die Anzahl der Worte lesen oder einstellen, die im Programm zur Bildung der Prfsumme verwendet werden. Die Funktion wird ausgefhrt, solange als geforderte Operation keine von 0 oder 1 verschiedene Zahl eingegeben wird.

Parameterblockformate fr SVCREQ 6
Der Parameterblock ist zwei Worte lang: Zum Lesen der Anzahl der Worte mu das erste Wort im Parameterblock eine Null enthalten:
Adresse Adresse + 1 0 (Anzahl Worte lesen) wird ignoriert

Im zweiten Wort des Parameterblocks gibt die Funktion die aktuelle Anzahl Worte zurck.
Adresse Adresse + 1 0 Aktuelle Anzahl Worte

Zum Verndern der Anzahl Worte mu das erste Wort im Parameterblock eine Eins enthalten:
Adresse Adresse + 1 1 (Anzahl Worte verndern) neue Anzahl Worte (0 oder 32)

Die SPS stellt die Anzahl der in der Prfsumme verwendeten Worte auf den neuen Wert ein.

8-10

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

8 Beispiel fr SVCREQ 6
Wird in dem Beispiel der Freigabekontakt FST_SCN durchgeschaltet, dann werden die Parameterblcke fr die Prfsummenfunktion aufgebaut. Wird weiter hinten im Programm der Eingang %I0137 stromfhrend, dann liest die SVCREQ-Funktion die Anzahl der in der Prfsummenbildung bercksichtigten Wrter. Der Parameterblock fr die Lesefunktion steht in %R0150-151. Die Funktion ADD addiert 32 zu der aktuellen Anzahl Worte in %R0151 und trgt das Ergebnis in %R0153 ein. Der Parameterblock fr die nderungsfunktion steht in %R00152-153. Die zweite SVCREQ wechselt dann auf die neue Anzahl Worte, die in %R0153 spezifiziert ist.
FST_SCN XOR_ INT %R0150 %R0150 I1 I2 Q %R0150 CONST 00001 MOVE INT IN Q %R0152

%I0137 SVC_ REQ CONST 00006 %R0150 FNC PARM %R0151 CONST 00032 ADD_ INT I1 I2 Q %R0153 CONST 00006 %R0152 SVC_ REQ FNC PARM

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-11

SVCREQ 7: Zeituhr lesen oder einstellen


Mit SVCREQ 7 knnen Sie die Zeituhr in der SPS lesen oder einstellen. Die Daten knnen in BCD oder ASCII sein. Die Jahreszahl kann mit zwei oder vier Stellen angegeben werden. Die Funktion wird erfolgreich ausgefhrt, sofern bei der geforderten Operation nicht eine von 0 (lesen) oder 1 (ndern) verschiedene Zahl eingegeben oder ein ungltiges Datenformat angegeben oder die Daten in einem hier nicht erlaubten Format zur Verfgung gestellt werden.

Parameterblockformat fr SVCREQ 7
Bei den Datum/Zeitfunktionen ist die Lnge des Parameterblocks vom Datenformat abhngig. Der Datenblock kann in BCD oder ASCII sein. Das BCD-Format belegt 6 Worte, gepacktes ASCII-Format bentigt 12 Worte (13 Worte bei 4-stelliger Jahreszahl). Fr beide Datentypen gilt: n Die Stunden werden im 24-Stunden-Format gespeichert. n Der Wochentag ist eine Zahl zwischen 1 (Sonntag) und 7 (Samstag).
2-stellige Jahreszahl Adresse 0 = Zeit und Datum lesen 1 = Zeit und Datum einstellen 1 = BCD-Format 3 = gepacktes ASCIIFormat Daten 4-stellige Jahreszahl 0 = Zeit und Datum lesen 1 = Zeit und Datum einstellen 81h = BCD-Format 83h = gepacktes ASCIIFormat Daten

Adresse + 1

Adresse + 2 bis Ende

Die Worte ab Wort 3 bis zum Ende des Parameterblocks enthalten Ausgangsdaten, die von einer Lesefunktion zurckgegeben wurden, oder neue Daten, die von einer nderungsfunktion geliefert wurden. In beiden Fllen ist das Format dieser Datenworte das gleiche. Beim Lesen von Datum und Zeit werden die Worte zwischen (Adresse + 2) und dem Ende des Parameterblocks bei der Eingabe ignoriert.

8-12

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

8 SVCREQ 7 Parameterblockinhalt: BCD-Format


Im BCD-Format belegt jedes Datum- und Zeitelement ein Byte. Der Parameterblock ist somit sechs Worte lang.

2-stellige Jahreszahl
Das letzte Byte des sechsten Wortes wird nicht verwendet. Beim Einstellen von Datum und Uhrzeit wird dieses Byte ignoriert. Beim Lesen von Datum und Uhrzeit gibt die Funktion 00 zurck.
Parameterblockformat: Oberes Byte Unteres Byte Beispiel: Datum und Uhrzeit im BCD-Format lesen (Sonntag, 3. Juli 1998, 14:45:30 Uhr)

1 = einstellen oder

0 = lesen Adresse Adresse + 1 Adresse + 2 Adresse + 3 Adresse + 4 Adresse + 5

0 (lesen) 1 (BCD-Format) 07 (Juli) 14 (Stunden) 30 (Sekunden) 00 98 (Jahr) 03 (Tag) 45 (Minuten) 06 (Freitag)

1 (BCD-Format) Monat Stunden Sekunden (Null) Jahr Tag Minuten Wochentag

4-stellige Jahreszahl
Der Parameterblock ist sechs Worte lang. Alle Bytes werden verwendet.
Parameterblockformat: Oberes Byte Unteres Byte Beispiel: Datum und Uhrzeit im BCD-Format lesen (Sonntag, 3. Juli 1998, 14:45:30 Uhr)

1 = einstellen oder

0 = lesen Adresse Adresse + 1 Adresse + 2 Adresse + 3 Adresse + 4 Adresse + 5

00 00 19 (Jahr) 03 (Tag) 45 (Minuten) 06 (Freitag)

00 (lesen) 81h (BCD, 4stellig) 98 (Jahr) 07 (Juli) 14 (Stunden) 30 (Sekunden)

81h (BCD-Format, 4-stellig) Jahr Tag Minuten Wochentag Jahr Monat Stunden Sekunden

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-13

8 SVCREQ 7 Parameterblockinhalt: Gepacktes ASCII-Format


Im gepackten ASCII-Format ist jede Stelle der Zeit- und Datumelemente ein Byte im ASCII-Format. Zur Formatierung von Ausdruck oder Anzeige sind Leerzeichen und Doppelpunkte in den Daten eingebettet. Das ASCII-Format bentigt 12 Worte im Parameterblock (13 Worte fr 4-stellige Jahreszahl).

2-stellige Jahreszahl
Parameterblockformat: Oberes Byte Unteres Byte 1 = einstellen oder 0 = lesen Beispiel: Daten und Zeit im gepackten ASCII-Format lesen (Montag, 5. Okt. 1998, 23:13:00 Uhr)

Adresse Adresse + 1 Adresse + 2 Adresse + 3 Adresse + 4 Adresse + 5 Adresse + 6 Adresse + 7 Adresse + 8 Adresse + 9 Adresse + 10 Adresse + 11
38 (8) 31 (1) 20 (Leerzeichen) 35 (5) 31 (1) 3A ( : ) 33 (3) 30 (0) 20 (Leerzeichen) 32 (2: Mon.)

0 (lesen) 3 (ASCII-Format) 39 (9) 20 (Leerzeichen) 30 (0) 30 (fhrende 0) 20 (Leerzeichen) 31 (1) 31 (1) 3A ( : ) 30 (0) 30 (fhrende 0)

3 (ASCII-Format) Jahr Monat (Leerzeichen) Tag Stunden : Minuten Sekunden (Leerzeichen) Wochentag Jahr (Leerzeichen) Monat Tag (Leerzeichen) Stunden Minuten : Sekunden Wochentag

4-stellige Jahreszahl
Parameterblockformat: Oberes Byte Unteres Byte 1 = einstellen oder 0 = lesen Beispiel: Daten und Zeit im gepackten ASCII-Format lesen (Montag, 5. Okt. 1998, 23:13:00 Uhr)

Adresse Adresse + 1 Adresse + 2 Adresse + 3 Adresse + 4 Adresse + 5 Adresse + 6 Adresse + 7 Adresse + 8 Adresse + 9 Adresse + 10 Adresse + 11 Adresse + 12
39 (9) 38 (8) 31 (1) 20 (Leerzeichen) 35 (5) 31 (1) 3A ( : ) 33 (3) 30 (0) 20 (Leerzeichen) 32 (2: Mon.)

0 (lesen) 83h (ASCII 4-stellig) 31 (1) 39 (9) 20 (Leerzeichen) 30 (0) 30 (fhrende 0) 20 (Leerzeichen) 31 (1) 31 (1) 3A ( : ) 30 (0) 30 (fhrende 0)

83h (ASCII 4-stellig) Jahr (Hunderter) Jahr (Einer) Monat (Zehner) (Leerzeichen) Tagesdatum (Einer) Stunden (Zehner) : (Doppelpunkt) Minuten (Einer) Sekunden (Zehner) (Leerzeichen) Wochentag (Einer) Jahr (Tausender) Jahr (Zehner) (Leerzeichen) Monat (Einer) Tagesdatum (Zehner) (Leerzeichen) Stunden (Einer) Minuten (Zehner) : (Doppelpunkt) Sekunde (Einer) Wochentag (Zehner)

8-14

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

8 Beispiel fr SVCREQ 7
Wird das Beispiel von der vorausgehenden Logik aufgerufen, dann wird ein Parameterblock fr die Zeituhr aufgebaut. Es fordert die aktuellen Werte von Datum und Uhrzeit an und stellt dann die Uhr im BCD-Format auf 12 Uhr mittags ein. Der Parameterblock liegt bei der Adresse %R0300. Das Feld NOON wurde an anderer Stelle im Programm so eingerichtet, da es die Werte 12, 0 und 0 enthlt. (Das Feld NOON mu auch die Daten an der Stelle %R0300 enthalten.) Das BCD-Format macht sechs zusammenhngende Speicherpltze fr den Parameterblock erforderlich.
FST_SCN MOVE INT CONST +04608 %I0016 MOVE INT CONST +00000 IN Q %R0300 CONST +00001 MOVE INT IN Q %R0301 CONST +00007 %R0300 SVC_ REQ FNC PARM IN Q NOON CONST +00000 MOVE INT IN Q MIN_SEC

%T0001

%T0001

%I0017 AND_ WOR %R0303 CONST 00FF I1 I2 Q %R0303 %R0303 NOON ADD_ INT I1 I2 Q %R0303

%T0001

%I0017 MOVE INT MIN_SEC IN Q %R0304 CONST +00001 MOVE INT IN Q %R0300 CONST +00007 %R0300 SVC_ REQ FNC PARM

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-15

SVCREQ 8: Watchdog-Zeitgeber rcksetzen


Mit SVCREQ 8 wird der Watchdog-Zeitgeber whrend eines Zyklus rckgesetzt. Normalerweise wird bei Ablauf des Watchdog-Zeitgebers die SPS ohne Warnung abgeschaltet. Mit SVCREQ 8 kann der Timer bei einer zeitaufwendigen Aufgabe (z.B. beim Warten auf die Antwort einer Kommunikationsstrecke) am Laufen gehalten werden.

Achtung
Stellen Sie sicher, da das Rcksetzen des WatchdogZeitgebers keine negativen Auswirkungen auf den gesteuerten Proze hat.

Parameterblockformat fr SVCREQ 8
Diese Funktion besitzt keinen zugehrigen Parameterblock.

Beispiel fr SVCREQ 8
In diesem Beispiel veranlat Stromflu ber Freigabeausgang %Q0027 oder Eingang %I1476 oder internen Merker %M00010, da der WatchdogZeitgeber rckgesetzt wird.
%Q0127 %I1476 SVC_ REQ FNC PARM

CONST 0008

%M0010

8-16

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

SVCREQ 9: Zyklusdauer seit Zyklusbeginn lesen


Mit SVCREQ 9 knnen Sie die Zeit (in Millisekunden) lesen, die seit Beginn des Zyklus verstrichen ist. Das Datenformat ist eine 16-Bit-Zahl ohne Vorzeichen.

Ausgangs Parameterblockformat fr SVCREQ 9


Der Parameterblock besitzt nur Ausgangswerte und ist ein Wort lang.
Adresse Zeit seit Zyklusbeginn

Beispiel fr SVCREQ 9
Im folgenden Beispiel wird die seit dem Anfang des Zyklus verstrichene Zeit immer in die Adresse %R0200 eingetragen. Der interne Merker %M0200 wird durchgeschaltet, wenn der Wert grer als 100 ms ist.
SVC_ REQ CONST 00009 %R0200 FNC PARM %R0200 CONST 0100 GT_ INT I1 I2 Q

%M0200

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-17

SVCREQ 10: Ordnername lesen


Verwenden Sie SVCREQ 10, um den Namen des Ordners zu lesen, der gerade bearbeitet wird.

Ausgangs-Parameterblockformat fr SVCREQ 10
Der Ausgangsparameterblock ist vier Worte lang. Er gibt acht ASCII-Zeichen zurck. Das letzte dieser Zeichen ist ein Nullzeichen (00h). Hat der Programmname weniger als sieben Zeichen, werden am Ende Nullzeichen hinzugefgt.
Unteres Byte Adresse Adresse + 1 Adresse + 2 Adresse + 3 Zeichen 1 Zeichen 3 Zeichen 5 Zeichen 7 Oberes Byte Zeichen 2 Zeichen 4 Zeichen 6 00

Beispiel fr SVCREQ 10
Wird in diesem Beispiel der Freigabeeingang %I0301 abgeschaltet, dann wird ein Wert 10 (dem Funktionscode von "Ordnername lesen") in die Registeradresse %R0099 geladen. Der Programmblock READ_ID wird dann aufgerufen, um den Ordnernamen abzufragen. Der Parameterblock liegt unter der Adresse %R0100.
%I0301 MOVE UINT CONST 0010 IN Q %R0099 READ_ID

Program Block READ_ID

SVC_ REQ %R0099 %R0100 FNC PARM

8-18

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

SVCREQ 11: SPS ID lesen


Verwenden Sie SVCREQ 11, um den Namen des SPS zu lesen, die gerade das Programm bearbeitet.

Ausgangs-Parameterblockformat fr SVCREQ 11
Der Ausgangsparameterblock ist vier Worte lang. Er gibt acht ASCII-Zeichen zurck. Das letzte dieser Zeichen ist ein Nullzeichen (00h). Hat die SPSKennung weniger als sieben Zeichen, werden am Ende Nullzeichen hinzugefgt.
Unteres Byte Adresse Adresse + 1 Adresse + 2 Adresse + 3 Zeichen 1 Zeichen 3 Zeichen 5 Zeichen 7 Oberes Byte Zeichen 2 Zeichen 4 Zeichen 6 00

Beispiel fr SVCREQ 11
Wird in diesem Beispiel der Freigabeeingang %I0302 abgeschaltet, dann wird ein Wert 11 (dem Funktionscode von "SPS ID lesen") in die Registeradresse %R0099 geladen. Der Programmblock READ_ID wird dann aufgerufen, um die Kennung abzufragen. Der Parameterblock liegt unter der Adresse %R0100.
%I0303 MOVE UINT CONST 0011 IN Q %R0099 READ_ID

Programmblock READ_ID

SVC_ REQ %R0099 %R0100 FNC PARM

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-19

SVCREQ 13: SPS abschalten (Stop)


Mit SVCREQ 13 wird die SPS am Ende des nchsten Zyklus abgeschaltet. Zu Beginn des nchsten SPS-Zyklus nehmen alle Ausgnge ihre vorgegebenen Standardzustnde an. Ein informatorischer "SPS abgeschaltet" Fehler wird in der SPS-Fehlertabelle eingetragen. Der E/A-Zyklus wird entsprechend der Konfiguration fortgesetzt.

Parameterblock fr SVCREQ 13
Diese Funktion besitzt keinen Parameterblock.

Beispiel fr SVCREQ 13
In dem Beispiel wird SVCREQ 13 ausgefhrt, wenn ein Fehler "Verlust des E/A-Moduls" auftritt. Der Eingang PARM wird nicht verwendet. Dieses Beispiel benutzt eine JUMP-Funktion zum Programmende, um ein Abschalten zu erzwingen, wenn die Funktion "SPS abschalten" erfolgreich ausgefhrt wird. Die Funktionen JUMP und LABEL sind erforderlich, da der bergang in den STOP-Modus erst am Ende des Zyklus stattfindet, in dem die Funktion ausgefhrt wird.
LOS_MD %T0001

%T0001 SVC_ REQ CONST 00013 FNC PARM >> END_PRG

END_PRG

8-20

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

SVCREQ 14: Fehler lschen


Mit SVCREQ 14 knnen Sie entweder die SPS-Fehlertabelle oder die E/AFehlertabelle lschen. Der SVCREQ-Ausgang wird durchgeschaltet, solange als geforderte Operation keine von 0 oder 1 verschiedene Zahl eingegeben wird.

Eingangsparameterblock fr SVCREQ 14
Bei dieser Funktion ist der Parameterblock ein Wort lang. Der Parameterblock hat nur Eingnge. Es gibt keinen Ausgangsparameterblock.
0 = SPS-Fehlertabelle lschen. 1 = E/A-Fehlertabelle lschen.

Beispiel fr SVCREQ 14
In diesem Beispiel wird die SPS-Fehlertabelle gelscht, wenn die Eingnge %I0346 und %I0349 beide stromfhrend sind. Die E/A-Fehlertabelle wird gelscht, wenn die Eingnge %I0347 und %I0349 beide stromfhrend sind. Beide Fehlertabellen werden gelscht, wenn die Eingnge %I0348 und %I0349 stromfhrend sind. Der Parameterblock fr die SPS-Fehlertabelle steht in %R0500, der fr die E/A-Fehlertabelle in %R0550. Beide Parameterblcke werden an anderer Stelle im Programm eingerichtet.
%I0349 %I0346 SVC_ REQ %I0348 CONST 00014 %R0500 %I0349 %I0347 SVC_ REQ %I0348 CONST 00014 %R0550 FNC PARM FNC PARM

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-21

SVCREQ 15: Zuletzt eingetragenen Fehlertabelleneintrag lesen


Mit SVCREQ 15 knnen Sie den zuletzt gemachten Eintrag in der SPSFehlertabelle oder der E/A-Fehlertabelle lesen. Der SVCREQ-Ausgang wird durchgeschaltet, sofern nicht eine von 0 oder 1 verschiedene Zahl als gewnschte Operation eingegeben wird oder die Fehlertabelle leer ist.

Eingangsparameterblock fr SVCREQ 15
Bei dieser Funktion ist der Parameterblock 22 Worte lang. Der Eingangsparameterblock besitzt folgendes Format:
2-stellige Jahreszahl Adresse 1 = E/A-Fehlertabelle lesen. 4-stellige Jahreszahl 9 = E/A-Fehlertabelle lesen. 0 = SPS-Fehlertabelle lesen. 8 = SPS-Fehlertabelle lesen.

Das Format des Ausgangsparameterblocks hngt davon ab, ob die Funktion die Daten aus der SPS-Fehlertabelle oder der E/A-Fehlertabelle liest.
Ausgabeformat fr SPS-Fehlertabelle
Oberes Byte Reserve Reserve Steckplatz Fehleraktion Unteres Byte 0 lang/kurz Reserve Chassis Task Fehlergruppe Fehlercode fehlerspezifische Daten

Ausgabeformat fr E/A-Fehlertabelle
Oberes Byte Adresse + 1 Adresse + 2 Adresse + 3 Adresse + 4 Adresse + 5 Adresse + 6 Adresse + 7 Adresse + 8 bis Adresse + 18 Speichertyp Unteres Byte 1 lang/kurz

Steckplatz
Block Fehleraktion Fehlertyp fehlerspezifische Daten

Offset Chassis
Bus

Punkt
Fehlergruppe Fehlerkategorie Fehlerbeschreibung

Minuten Tag

Sekunden Stunde Monat

Adresse + 19 Adresse + 20 Adresse + 21

Minuten Tag Jahr

Sekunden Stunde Monat

2-stellige Jahr Jahreszahl oder 4-stellige Reserve Jahreszahl Format


8-22

Monat Jahr

Adresse + 21 Adresse + 22

Reserve

Monat Jahr
GFK-1503-GE

VersaMax SPS Anwenderhandbuch Oktober 1998

8
Langer/kurzer Wert
Das erste Byte von Wortadresse +1 enthlt eine Zahl, die die Lnge der fehlerspezifischen Daten im Fehlereintrag angibt. Mgliche Werte sind:
SPS-Fehlertabelle. E/A-Fehlertabelle. 00 = 8 Bytes (kurz) 01 = 24 Bytes (lang) 02 = 5 Bytes (kurz) 03 = 21 Bytes (lang)

Beispiel fr SVCREQ 15
Sind beide Eingnge %I0250 und %I0251 stromfhrend, dann schreibt die erste MOVE-Funktion eine Null (SPS-Fehlertabelle lesen) in den Parameterblock fr SVCREQ 15. Ist der Eingang %I0250 stromfhrend und der Eingang %I0251 abgeschaltet, schreibt die MOVE-Anweisung stattdessen eine Eins (E/AFehlertabelle lesen) in den SVCREQ-Parameterblock. Der Parameterblock liegt unter der Adresse %R0600.
%I0250 %I0251 MOVE INT CONST 00000 %I0250 %I0251 MOVE INT CONST 00001 ALW_ON SVC_ REQ CONST 00015 %R0600 FNC PARM IN Q LEN 00001 %R0600 IN Q LEN 00001 %R0600

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-23

SVCREQ 16: Betriebszeituhr lesen


Mit SVCREQ 16 knnen Sie die Betriebszeituhr des Systems lesen. Die Betriebszeituhr mit die Zeit (in Sekunden), die seit dem Einschalten der SPS verstrichen ist.

Ausgangsparameterblock fr SVCREQ 16
Diese Funktion besitzt nur einen Ausgangsparameterblock mit einer Lnge von drei Worten.
Adresse Adresse + 1 Adresse + 2 Sekunden seit Einschalten (niederwertig) Sekunden seit Einschalten (hherwertig) 100-Mikrosekunden-Zeitimpulse

Die ersten beiden Worte geben die verstrichene Zeit in Sekunden an. Das letzte Wort ist die Anzahl der 100-Mikrosekunden-Zeitimpulse der aktuellen Sekunde.

Beispiel fr SVCREQ 16
Ist in dem Beispiel der interne Merker %M0233 durchgeschaltet, liest die SVCREQ mit einem Parameterblock bei %R0127 die System-Betriebszeituhr und setzt den internen Merker %M0234 auf Eins. Ist der Merker %M0233 abgeschaltet, liest die SVCREQ mit einem Parameterblock bei %R0131 die Betriebszeituhr erneut. Mit der Subtraktionsfunktion wird die Differenz zwischen den beiden in den SVCREQ-Parameterblcken gespeicherten Werten ermittelt. Bei der Subtraktion werden die 100-Mikrosekunden-Zeitimpulse ignoriert. Die ermittelte Differenz wird in die Speicheradresse %R0250 eingetragen.
%M0223 SVC_ REQ CONST 00016 %R0127 %M0233 FNC PARM %M0234 SVC_ REQ CONST 00016 %R0131 FNC PARM %R0131 %R0127 SUB_ D INT I1 I2 Q %R0250 %M0234 R %M0234 S

8-24

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

SVCREQ 18: E/A-OVERRIDE-Zustand lesen


Mit der SVCREQ 18 knnen Sie die %I- und %Q-Speicher der CPU auf OVERRIDE-Zustnde berprfen.

Ausgangsparameterblock fr SVCREQ 18
Diese Funktion besitzt nur einen Ausgangsparameterblock mit einer Lnge von einem Wort.
Adresse 0 = Kein OVERRIDE-Zustand eingestellt. 1 = OVERRIDE-Zustnde eingestellt.

Beispiel fr SVCREQ 18
Die folgende SVCREQ liest den Status des E/A-Overridespeichers in die Adresse %R1003 ein. Mit der Gleichheitsfunktion wird %R1003 berprft um herauszufinden, ob es gleich (der Konstanten) 1 ist. Ist dies der Fall, schaltet die Gleichheitsfunktion den Ausgang %T0001 durch.
%I0001 SVC_ REQ CONST 00018 %R1003 FNC PARM CONST 00001 %R1003 EQ_ INT I1 I2 Q %T0001

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-25

SVCREQ 23: Hauptprfsumme lesen


Mit SVCREQ 23 knnen Sie die Hauptprfsumme von Anwenderprogramm und Konfiguration lesen. Der SVCREQ-Ausgang ist immer durchgeschaltet, wenn die Funktion freigegeben ist.

Ausgangsparameterblock fr SVCREQ 23
Der Ausgangsparameterblock fr diese Funktion ist 12 Worte lang und hat folgendes Format: Die ersten beiden Elemente im Ausgangsparameterblock geben an, ob die Prfsummen von Programm und Konfiguration in Ordnung sind. (ProgrammPrfsummen knnen bei einem Speichern im RUN-Modus ungltig sein.)
Adresse Adresse + 1 Adresse + 2 Adresse + 3 Adresse + 5 Adresse + 6 Adresse + 8 Adresse + 9 Adresse + 10 Haupt-Programmprfsumme gltig (0 = nicht gltig, 1 = gltig) Haupt-Konfigurationsprfsumme gltig (0 = nicht gltig, 1 = gltig) Anzahl Programmblcke (including _MAIN) Anwenderprogrammgre in Bytes (Datentyp DWORD) Additive Prfsumme von Programm CRC-Prfsumme von Programm (Datentyp DWORD) Lnge der Konfigurationsdaten in Bytes Additive Prfsumme der Konfiguration CRC-Prfsumme von Konfiguration (Datentyp DWORD)

Beispiel fr SVCREQ 23
Wird in dem Beispiel der Eingang %I0251 stromfhrend, wird die Hauptprfsumme in den Parameterblock bei %R0050 eingetragen und die Ausgangsspule (%Q0001) durchgeschaltet.
%I0251 SVC_ REQ CONST 00023 %R0050 FNC PARM %Q0001

8-26

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

SVCREQ 26/30: E/A abfragen


Mit den SVCREQs 26 und 30 knnen Sie berprfen, ob die eingebauten Module mit der Softwarekonfiguration bereinstimmen. Ist dies nicht der Fall, tragen diese SVCREQs entsprechende Fehler (hinzugefgt, verloren, Diskrepanz) in die SPS- oder E/A-Fehlertabelle ein. Die SVCREQs 26 und 30 fhren beide die gleiche Funktion aus. Die von diesen SVCREQs bentigte Bearbeitungszeit wchst mit der Anzahl der Konfigurationsfehler. Diese SVCREQs besitzen keinen Parameterblock. Sie geben immer Stromflu aus.

Beispiel fr SVCREQ 26
Ist in diesem Beispiel der Eingang %I0251 stromfhrend, berprft die SVCREQ die installierten Module und vergleicht sie mit der Softwarekonfiguration. Der Ausgang %Q0001 wird durchgeschaltet, nachdem die SVCREQ abgeschlossen ist.
%I0251 SVC_ REQ CONST 00026 %R0050 FNC PARM %Q0001

GFK-1503-GE

Kapitel 8 Die Service Request Funktion

8-27

SVCREQ 29: Verstrichene Stromausfallzeit lesen


Mit SVCREQ 29 knnen Sie die zwischen dem letzten Netzausfall und dem letzten Einschalten verstrichene Zeit lesen. Luft der Watchdog-Zeitgeber vor dem Abschalten ab, kann die SPS die whrend des Stromausfalls verstrichene Zeit nicht berechnen und diese Zeit wird auf 0 gesetzt. Der SVCREQ-Ausgang ist immer durchgeschaltet.

Ausgangsparameterblock fr SVCREQ 29
Diese Funktion besitzt nur einen Ausgangsparameterblock Der Parameterblock ist drei Worte lang.
Adresse Adresse + 1 Adresse + 2 Netzausfallzeit in Sekunden (niederwertig) Netzausfallzeit in Sekunden (hherwertig) Null

Die ersten beiden Worte geben die Netzausfallzeit in Sekunden an. Das letzte Wort ist immer 0.

Beispiel fr SVCREQ 29
Wird in dem Beispiel der Eingang %I0251 stromfhrend, wird die Stromausfallzeit in den bei %R0050 beginnende Parameterblock eingetragen und die Ausgangsspule (%Q0001) durchgeschaltet.
%I0251 SVC_ REQ CONST 00029 %R0050 FNC PARM %Q0001

8-28

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Kapitel

Serielles E/A / SNP / RTU-Protokoll

9
Dieses Kapitel beschreibt die serielle E/A-Funktion der VersaMax CPU, mit der die Schreib-/Leseaktivitten einer der CPU-Schnittstellen direkt aus dem Anwenderprogramm heraus gesteuert werden knnen. Dieses Kapitel enthlt auch Anweisungen fr den Einsatz von COMMREQs zur Konfiguration der seriellen CPU-Schnittstellen fr das SNP-, RTU- oder serielle E/A-Protokoll.
n n

Format der COMMREQ-Funktion Konfiguration der seriellen Schnittstellen mit der COMMREQ-Funktion RTU-Slave-/SNP-Slave-Betrieb mit angeschlossenem Programmiergert o COMMREQ-Befehlsblock zur Konfiguration des SNP-Protokolls o COMMREQ-Datenblock zur Konfiguration des RTU-Protokolls o COMMREQ-Datenblock zur Konfiguration der seriellen E/A COMMREQ-Befehle fr serielle E/A
o o o o o o o o o o o

Schnittstelle initialisieren Eingangspuffer einrichten Eingangspuffer leeren Schnittstellenstatus lesen Schnittstellensteuerung schreiben Operation abbrechen Automatische Einwahl Bytes schreiben Bytes lesen

Zeichenfolge lesen Eine ausfhrliche Beschreibung der RTU- und SNP-Protokolle finden Sie in Serielle Kommunikation, Anwenderhandbuch (GFK-0582).

GFK-1503-GE

9-1

Format der Kommunikationsanforderungsfunktion


Die serielle E/A wird durch Verwendung der Kommunikationsanforderungsfunktionen (COMMREQ) implementiert. Die Operationen des Protokolls, wie die bertragung eines Zeichens ber die serielle Schnittstellen oder das Warten auf ein Eingangszeichen, werden ber den COMMREQ-Funktionsblock implementiert. Vor der Ausfhrung der COMMREQ mssen alle Befehlsdaten in der richtigen Reihenfolge (in einem Befehlsblock) im CPU-Speicher eingetragen sein. Um ein wiederholtes Senden der Daten zu vermeiden, sollte die COMMREQ dann durch den Wischerkontakt ausgefhrt werden. Zum Erstellen eines Befehlsblocks in den Registertabellen werden die Worte mit einer Reihe von BLKMV-Befehlen (Block kopieren) kopiert. Die COMMREQ-Funktion besitzt drei Eingnge und einen Ausgang. Empfngt die Funktion Stromflu, wird ein Befehlsblock mit Daten zu dem angegebenen Modul geschickt.
Freigabe 1. Wort von Befehlsblock Adresse Taskkennung COMM_ REQ IN FT SYSID TASK

Parameter der COMMREQ-Funktion


Eingang/ Ausgang
Freigabe IN SYSID

Wahlmglichkeiten
Stromflu R, AI, AQ

Beschreibung
Die Kommunikationsanforderung wird ausgefhrt, wenn die Funktion stromfhrend ist. IN enthlt das erste Wort des Befehlsblocks.

I, Q, M, T, G, SYSID enthlt Chassisnummer (hherwertiges Byte) und Steckplatznummer (niederwertiges Byte) des Zielgertes. Fr die R, AI, AQ, CPU mu SYSID Chassis/Steckplatz 0 angeben. Konstante R AI, AQ, Konstante Stromflu, kein Stromflu TASK gibt die Schnittstelle an, fr die die Operation gedacht ist: Task 19 fr Schnittstelle 1 Task 20 fr Schnittstelle 2 FT wird durchgeschaltet, wenn bei der Bearbeitung der COMMREQ ein Fehler erkannt wird: Die angegebene Zieladresse ist nicht vorhanden (SYSID). Die angegebene Task ist fr das Gert nicht zulssig (TASK). Die Datenlnge ist 0. Die Statuspointeradresse (im Befehlsblock) des Gerts existiert nicht.

TASK

FT

9-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9
Befehlsblock fr die COMMREQ-Funktion
Der Befehlsblock beginnt bei der im COMMREQ-Parameter IN angegebenen Referenz. Die Lnge des Befehlsblocks ist von der zu dem Gert geschickten Datenmenge abhngig. Der Befehlsblock enthlt die Daten, die zu dem anderen Gert bertragen werden sollen, sowie Informationen bezglich der Ausfhrung des COMMREQ. Der Befehlsblock besitzt folgende Struktur:
Adresse Adresse + 1 Adresse + 2 Adresse + 3 Adresse + 4 Adresse + 5 Adresse + 6 bis Adresse + 133 Lnge (in Worten) Merker "WAIT/NO WAIT" Statuspointerspeicher Statuspointeroffset Pausenberwachungswert Maximale Kommunikationszeit Datenblock

Beispiel der COMMREQ-Funktion


Ist in dem Beispiel %M0021 stromfhrend, wird ein Befehlsblock, der bei %R0032 beginnt, zur CPU-Schnittstelle 2 (Chassis 0, Steckplatz 0) gesendet (Kommunikationstask 20). Tritt bei der Bearbeitung des COMMREQ ein Fehler auf, wird %Q0110 gesetzt.
%M0021 | | %R0032 CONST 0000 CONST 00020 COMM_ REQ IN FT SYSID TASK

%Q0110 ( )

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-3

Konfiguration der seriellen Schnittstellen mit der COMMREQ-Funktion


Die nachstehenden Tabellen geben die zum Einstellen einer seriellen Schnittstelle fr SNP, RTU und serielle E/A bentigten Befehlsblockwerte an. Sofern nicht anders angegeben, sind alle Werte in Hexadezimaldarstellung. Die zur Erstellung des Befehlsblocks verwendeten BLKMV-Befehle werden in dem Beispiel beschrieben.

Zeitablauf
Wird eine Schnittstellenkonfigurations-COMMREQ zu einer seriellen Schnittstelle geschickt, an den gerade ein SNP/SNPX-Master (zum Beispiel das Programmiergert) angeschlossen ist, dann wird die von der COMMREQ spezifizierte Konfiguration der seriellen Schnittstelle erst wirksam, nachdem die CPU einen Verlust des SNP/SNPX-Masters erkannt hat. Dies geschieht, nachdem die konfigurierte Zeit T3' nach dem Abschalten des Masters verstrichen ist. Das COMMREQ-Statuswort fr die Schnittstellenkonfigurations-COMMREQ wird aktualisiert, sobald die CPU erkennt, da die angegebene Konfiguration gltig ist. Das heit, da die Schnittstellenkonfigurations-COMMREQ einen Wert "COMMREQ erfolgreich" zurckgeben kann, ehe die angegebene Konfiguration tatschlich installiert wird.

Eine weitere COMMREQ zur gleichen Schnittstelle schicken


Nachdem ein neues serielles Schnittstellenprotokoll installiert wurde, mu das Anwenderprogramm mindestens 2 Sekunden lang warten, ehe es eine weitere auf dieses Protokoll bezogene COMMREQ zur Schnittstelle schicken kann. Dies gilt fr ein neues Protokoll, das durch das Speichern einer neuen Hardwarekonfiguration oder eine Schnittstellenkonfigurations-COMMREQ installiert wurde. Wurde die Schnittstelle fr serielle E/A konfiguriert, mu diese Wartezeit auch nach allen STOP-RUN-bergngen der CPU eingehalten werden.

Unzulssige Kombinationen bei der Schnittstellenkonfiguration


Die Konfigurationen beider Schnittstellen mssen kompatibel sein. Die CPU lehnt folgende Kombinationen ab:
Schnittstelle 1 inaktiv inaktiv Serielle E/A (CPU RUN/STOP-Schalter inaktiv) Serielle E/A (CPU RUN/STOP-Schalter inaktiv) Schnittstelle 2 inaktiv Serielle E/A (CPU RUN/STOP-Schalter inaktiv) inaktiv Serielle E/A (CPU RUN/STOP-Schalter inaktiv)

9-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9 RTU-Slave/SNP-Slave-Betrieb mit angeschlossenem Programmiergert


An Schnittstelle 1 oder Schnittstelle 2 kann ein Programmiergert (Computer) angeschlossen werden, whrend an dieser Schnittstelle RTU-Slavemodus aktiv ist. Bei Mehrpunktverbindungen mu die CPU zur Nutzung einer entsprechenden SPS IS = konfiguriert worden sein. Beachten Sie, da bei einer Mehrpunkt-SNPVerbindung mit der aktuell fr RTU konfigurierten Schnittstelle die mit den CPUEinstellungen verknpfte SNP ID mit der Mehrpunkt-ID bereinstimmen mu. Damit das Programmiergert erkannt werden kann, mu es die gleichen seriellen Kommunikationsparameter (bertragungsgeschwindigkeit, Paritt, Stoppbits, usw.) wie das momentan aktive RTU Slave-Protokoll verwenden. Erkennt die CPU das Programmiergert, entfernt sie das RTU Slave-Protokoll aus der Schnittstelle und installiert SNP Slave als momentan aktives Protokoll. SNP ID, Modem-Durchlaufzeit und Standard-Pausenzeit fr diese neue SNP SlaveSitzung kommen von den konfigurierten CPU-Einstellungen, nicht von den Konfigurationen von Schnittstelle 1 und Schnittstelle 2. Die Verbindung mu innerhalb von 12 Sekunden aufgebaut sein. Nachdem der Programmieranschlu aktiviert wurde, kann der normale Datenverkehr mit dem Programmiergert aufgenommen werden. (Nimmt das Programmiergert den Datenverkehr nicht innerhalb von 12 Sekunden auf, wird dies als ein Verlust der Programmiergerteverbindung betrachtet). Das Programmiergert kann ber Konfiguration oder eine COMMREQ "serielle Schnittstelle einstellen" ein neues Protokoll schicken (vom SNP Slave-Protokoll nicht untersttzte COMMREQs werden abgewiesen). Ein neues Protokoll wird erst wirksam, nachdem das Programmiergert abgeklemmt wurde. Nachdem das Programmiergert entfernt wurde, gibt es eine leichte Verzgerung (entsprechend der konfigurierten SNP-Zeitsperre T3'), ehe die CPU sein Fehlen bemerkt. Whrend dieser Zeit bearbeitet die Schnittstelle keine Nachrichten. Die CPU erkennt das Abklemmen des Programmiergertes als eine Zeitberschreitung im SNP Slave-Protokoll. Gehen Sie daher bei einer Deaktivierung der vom SNP Slave-Protokoll benutzten Zeitberwachungen sehr sorgfltig vor. Erkennt die CPU das Abklemmen, installiert sie wieder das RTU Slave-Protokoll (sofern kein neues Protokoll empfangen wurde). Wurde ein neues Protokoll empfangen, installiert die CPU dieses neue Protokoll anstelle des RTU SlaveProtokolls.

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-5

Beispiel
1. Schnittstelle 1 benutzt das RTU Slave-Protokoll mit 9600 Baud. 2. An Schnittstelle 1 ist ein Programmiergert angeschlossen. Das Programmiergert verwendet 9600 Baud. 3. Die CPU installiert SNP Slave in Schnittstelle 1 und das Programmiergert kommuniziert normal. 4. Das Programmiergert speichert eine neue Konfiguration in Schnittstelle 1. Die neue Konfiguration stellt die Schnittstelle fr SNP Slave auf 4800 Baud ein (wird erst wirksam, nachdem die Schnittstelle die Datenverbindung mit dem Programmiergert verloren hat). 5. Die neue Konfiguration wird wirksam, nachdem die Schnittstelle die Datenverbindung mit dem Programmiergert verloren hat.

9-6

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9 COMMREQ-Befehlsblock zur Konfiguration des SNP-Protokolls


Werte Adresse Adresse + 1 Adresse + 2 Adresse + 3 10H 0 = NO WAIT 0008 = %R, Registerspeicher Zahl, die die Adresse des COMMREQStatuswortes ab Null angibt (zum Beispiel gibt ein Wert 99 eine Statuswort-Adresse 100 an). 0 (nur im Modus WAIT/NO WAIT verwendet) 0 (nur im Modus WAIT/NO WAIT verwendet) FFF0H 0001 0000=Slave 7=38400, 6=19200, 5=9600, 4=4800 0 = keine, 1 = ungerade, 2 = gerade 1 = keine 0 = keine, 1 = 10 ms, 2 = 100 ms, 3 = 500 ms 0 = lang, 1 = mittel, 2 = kurz, 3 = keine 1 = 8 Bits 0 = 1 Stoppbit, 1 = 2 Stoppbits nicht benutzt nicht benutzt anwenderspezifisch* anwenderspezifisch* anwenderspezifisch* anwenderspezifisch* Bedeutung Datenblocklnge Merker WAIT/NO WAIT Statuswortpointer-Speichertyp Statuswortpointer-Offset

Adresse + 4 Adresse + 5 Adresse + 6 Adresse + 7 Adresse + 8 Adresse + 9 Adresse + 10 Adresse + 11 Adresse + 12 Adresse + 13 Adresse + 14 Adresse + 15 Adresse + 16 Adresse + 17 Adresse + 18 Adresse + 19 Adresse + 20 Adresse + 21

Pausenberwachungswert Maximale Kommunikationszeit Befehlswort (serielle Schnittstelle einstellen) Protokoll: 1=SNP Schnittstellenmodus bertragungsgeschwindigkeit Paritt Ablaufsteuerung Durchlaufverzgerung Zeitberwachung Bits pro Zeichen Stoppbits Schnittstelle Duplexmodus Teilnehmerkennung Bytes 1 und 2 Teilnehmerkennung Bytes 3 und 4 Teilnehmerkennung Bytes 5 und 6 Teilnehmerkennung Bytes 7 und 8

Die Teilnehmerkennung fr SNP Slave-Schnittstellen ist in Worte gepackt, wobei das niederwertige Zeichen im niederwertigen Byte des Wortes steht. Sind zum Beispiel die ersten beiden Zeichen "A und "B, dann enthlt Adresse + 18 den Hexadezimalwert 4241.

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-7

9 COMMREQ-Datenblock zur Konfiguration des RTU-Protokolls


Werte
Erste 6 Worte Adresse + 6 Adresse + 7 Adresse + 8 Adresse + 9 Adresse + 10 Adresse + 11 Adresse + 12 Adresse + 13 Adresse + 14 Adresse + 15 Adresse + 16 Adresse + 17 Adresse + 18 Adresse + 1921 FFF0H 0003 0000 6=19200, 5=9600, 4=4800 0 = keine, 1 = ungerade, 2 = gerade 0 = Hardware, 1 = keine nicht benutzt nicht benutzt nicht benutzt nicht benutzt nicht benutzt 0 = 2-Draht, 1 = 4-Draht Stationsadresse (1-247) nicht benutzt Befehl Protokoll: 0003=RTU Schnittstellenmodus 0000=Slave bertragungsgeschwindigkeit Paritt Ablaufsteuerung Durchlaufverzgerung Zeitberwachung Bits pro Zeichen Stoppbits Schnittstelle Duplexmodus Teilnehmerkennung Teilnehmerkennung

Bedeutung
Reserviert fr COMMREQ-Verwendung.

9-8

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9 COMMREQ Datenblock zur Konfiguration des seriellen E/A-Protokolls


Werte
Erste 6 Worte Adresse + 6 Adresse + 7 Adresse + 8 Adresse + 9 Adresse + 10 Adresse + 11 Adresse + 12 Adresse + 13 Adresse + 14 Adresse + 15 Adresse + 16 Adresse + 17 Adresse + 1821 FFF0H 0005 0 = Slave 6=19200, 5=9600, 4=4800 0 = keine, 1 = ungerade, 2 = gerade 0 = Hardware, 1 = keine 0 = keine 0 = Lang 0=7 Bits, 1=8 Bits 0 = 1 Stoppbit, 1 = 2 Stoppbits nicht benutzt 0 = 2-Draht, 1 = 4-Draht nicht benutzt Befehl Protokoll: 0005=Serielle E/A Schnittstellenmodus bertragungsgeschwindigkeit Paritt Ablaufsteuerung Durchlaufverzgerung Zeitberwachung Bits pro Zeichen Stoppbits Schnittstelle Duplexmodus Teilnehmerkennung

Bedeutung
Reserviert fr COMMREQ-Verwendung.

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-9

Aufruf serieller E/A COMMREQs aus dem SPS-Zyklus


Die Implementation eines seriellen Protokolls mittels COMMREQs "serielle E/A" kann durch die SPS-Zykluszeit eingeschrnkt werden. Beispiel: Verlangt das Protokoll, da die Antwort auf eine bestimmte Meldung vom entfernten Teilnehmer innerhalb von 5 ms nach dem Empfang der Meldung erfolgt, dann kann diese Methode nicht erfolgreich sein, wenn der SPS-Zyklus 5 ms oder mehr dauert und dadurch keine Antwort innerhalb der geforderten Zeit ermglicht. Da die serielle E/A vollstndig vom Anwenderprogramm betrieben wird, geht eine als serielle E/A konfigurierte Schnittstelle im STOP-Modus automatisch auf SNP Slave, um den Datenverkehr mit dem Programmiergert zu ermglichen. Im STOPModus ist daher das serielle E/A-Protokoll nicht aktiv. Es ist nur aktiv, wenn die SPS im RUN-Modus ist.

Kompatibilitt
Die von der seriellen E/A untersttzten COMMREQ-Funktionsblcke werden nicht von anderen momentan bestehenden Protokollen (z.B. SNP Slave, SNP Master oder RTU Slave) untersttzt. Bei einem Versuch, sie fr eine mit diesen Protokollen konfigurierte Schnittstelle zu benutzen, wird eine Fehlermeldung zurckgegeben.

9-10

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9 Statuswort fr COMMREQs "serielle E/A"


Nachdem die COMMREQ erfolgreich beendet wurde, wird im COMMREQStatuswort eine 1 zurckgegeben. Jeder andere Rckgabewert stellt einen Fehlercode dar, bei dem das untere Byte einen Hauptfehlercode und das obere Byte einen Nebenfehlercode darstellt.
Hauptfehlercode
1 (01h) 12 (0Ch)

Beschreibung
Erfolgreicher Abschlu (dies ist der erwartete Abschluwert im COMMREQ-Statuswort). Lokaler Fehler Fehler beim Bearbeiten eines lokalen Befehls. Der Nebenfehlercode kennzeichnet den spezifischen Fehler. 1 (01h) Befehl vom Wartetyp ist nicht erlaubt. Befehl ohne Warten benutzen. 2 (02h) COMMREQ-Befehl ist nicht untersttzt. 5 (05h) Fehler beim Schreiben von COMMREQ-Statuswort in den SPS-Speicher. 6 (06h) Unzulssiger SPS-Speichertyp angegeben. 7 (07h) Unzulssiger SPS-Speicheroffset angegeben. 8 (08h) Kein Zugriff auf SPS-Speicher mglich. 9 (09h) Datenlnge berschritten. 12 (0Ch) COMMREQ-Datenblocklnge ist zu gro. 14 (0Eh) COMMREQ-Daten ungltig. 15 (0Fh) Zuordnung von System-Betriebsmitteln zur Ausfhrung von COMMREQ nicht mglich. Abgesetzter Fehler Fehler beim Bearbeiten eines abgesetzten Befehls. Der Nebenfehlercode kennzeichnet den spezifischen Fehler. 2 (02h) Lnge der Zeichenfolge geht ber Ende vom Referenzspeichertyp hinaus. 3 (03h) COMMREQ-Datenblocklnge ist zu klein. Zeichenfolgendaten fehlen oder sind unvollstndig. 4 (04h) Empfangs-Zeitberschreitung beim Warten auf serielle Daten. 48 (30h) Serielle Ausgangs-Zeitberschreitung. Die serielle Schnittstelle konnte die Zeichenfolge nicht bertragen (mglicherweise wegen fehlendem CTS-Signal, wenn die serielle Schnittstelle fr Hardware-Ablaufsteuerung konfiguriert ist). 50 (32h) COMMREQ-Zeitberschreitung. Die COMMREQ wurde nicht innerhalb einer 20-SekundenZeitbegrenzung beendet. Fehler bei automatischer Einwahl Whrend des Versuchs, einen Befehlsfolge an ein angeschlossenes externes Modem zu senden, ist ein Fehler aufgetreten. Der Nebenfehlercode kennzeichnet den spezifischen Fehler. 1 (01h) nicht benutzt. 2 (02h) Die Lnge der Modem-Befehlsfolge geht ber das Ende des Referenzspeichertyps hinaus. 3 (03h) COMMREQ-Datenblocklnge ist zu klein. Fehlende oder unvollstndige AusgangsBefehlsfolgedaten. 4 (04h) Serielle Ausgangs-Zeitberschreitung. Die serielle Schnittstelle konnte die automatische Einwahlausgabe des Modems nicht bertragen. 5 (05h) Vom Modem kam keine Antwort. Modem und Kabel berprfen. 6 (06h) Modem hat mit BUSY [besetzt] geantwortet. Modem kann die geforderte Verbindung nicht aufbauen. Das entfernte Modem ist bereits in Gebrauch. Anschluanforderung spter nochmals versuchen. 7 (07h) Modem hat mit NO CARRIER [kein Trgersignal] geantwortet. Modem kann die geforderte Verbindung nicht aufbauen. Lokales und entferntes Modem und Telefonleitung berprfen. 8 (08h) Modem hat mit NO DIALTONE [kein Whlsignal] geantwortet. Modem kann die geforderte Verbindung nicht aufbauen. Modemanschlsse und Telefonleitung berprfen. 9 (09h) Modem hat mit ERROR [Fehler] geantwortet. Modem kann die geforderte Verbindung nicht aufbauen. Modem-Befehlsfolge und Modem berprfen. 10 (0Ah) Modem hat mit RING [Anruf] geantwortet. Dies zeigt an, da das Modem von einem anderen Modem gerufen wird. Modem kann die geforderte Verbindung nicht aufbauen. Modembefehl spter erneut versuchen. 11 (0Bh) Vom Modem wurde eine unbekannte Antwort empfangen. Modem kann die geforderte Verbindung nicht aufbauen. Modem-Befehlsfolge und Modem berprfen. Die Antwort mu CONNECT
Kapitel 9 Serielles E/A / SNP / RTU-Protokoll 9-11

13 (0Dh)

14 (0Eh)

GFK-1503-GE

9
Hauptfehlercode
50 (32h)

Beschreibung
[verbunden] oder OK sein. COMMREQ-Zeitberschreitung. Die COMMREQ wurde nicht innerhalb einer 20-SekundenZeitbegrenzung beendet.

9-12

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

COMMREQ-Befehle fr serielle E/A


Zur Implementierung der seriellen E/A werden folgende COMMREQs verwendet:
n

Lokale COMMREQs - Daten werden ber die serielle Schnittstelle weder empfangen noch gesendet.
o o o o o o

Schnittstelle initialisieren (4300) Eingangspuffer einrichten (4301) Eingangspuffer leeren (4302) Schnittstellenstatus lesen (4303) Schnittstellensteuerung schreiben (4304) Operation abbrechen (4399)

Abgesetzte COMMREQs - Daten werden ber die serielle Schnittstelle empfangen und/oder gesendet.
o o o o

Automatische Einwahl (4400) Bytes schreiben (4401) Bytes lesen (4402) Zeichenfolge lesen (4403)

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-13

9
berlappende COMMREQs
Whrend einige der seriellen E/A COMMREQs vollstndig bearbeitet sein mssen, ehe eine andere COMMREQ bearbeitet werden kann, knnen andere in Wartestellung belassen werden, solange eine andere COMMREQ bearbeitet wird.

COMMREQs, die abgeschlossen sein mssen


n n n n n n n n

Automatische Einwahl (4400) Schnittstelle initialisieren (4300) Eingangspuffer einrichten (4301) Eingangspuffer leeren (4302) Schnittstellenstatus lesen (4303) Schnittstellensteuerung schreiben (4304) Operation abbrechen (4399) Serielle Schnittstelle einstellen (FFF0)

COMMREQs, die warten knnen, whrend andere ausgefhrt werden


Die nachstehende Tabelle zeigt, ob eine der COMMREQs "Bytes schreiben", "Bytes lesen" und "Zeichenfolge lesen" warten kann, whrend eine andere COMMREQ ausgefhrt wird.
NEUE COMMREQ Aktuell Automatisc Bytes Schnittstell Eingangsp Eingangsp Schnittstell Schnittstell wartende he Einwahl schreiben e initialisie- uffer uffer enstatus ensteueCOMMREQs (4400) (4401) ren (4300) einrichten entleeren lesen rung (4301) (4302) (4303) schreiben (4304 Bytes schreiben (4401) Bytes lesen (4402) Zeichenfolge lesen (4403) Nein Nein Nein Nein Ja Ja Ja Ja Ja Ja Nein Nein Ja Nein Nein Ja Ja Ja Ja Ja Ja Bytes Zeichenfol Operation Serielle lesen ge lesen abbre- Schnittstell (4402) (4403) chen e (4399) einstellen (FFF0) Ja Nein Nein Ja Nein Nein Ja Ja Ja Nein Nein Nein

9-14

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9 Funktion "Schnittstelle initialisieren" (4300)


Diese Funktion veranlat, da zu der angegebenen Schnittstelle ein Rcksetzbefehl geschickt wird. Sie hebt auch alle COMMREQs auf, die aktuell bearbeitet werden und leert den internen Eingangspuffer. RTS wird inaktiv geschaltet.

Beispiel eines Befehlsblocks fr die Funktion "Schnittstelle initialisieren"


WERT (dezimal) Adresse Adresse +1 Adresse +2 Adresse +3 Adresse +4 Adresse +5 Adresse +6 0001 0000 0008 0000 0000 0000 4300 WERT (hexadezimal) 0001 0000 0008 0000 0000 0000 10CC BEDEUTUNG Datenblocklnge NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (%R0001) nicht benutzt nicht benutzt Befehl "Schnittstelle initialisieren"

Betriebshinweise
Hinweis: Bei COMMREQs, die durch die Ausfhrung dieses Befehls abgebrochen wurden, wurden die entsprechenden COMMREQ-Statusworte nicht aktualisiert. Achtung: Wird diese COMMREQ gesendet, whrend eine COMMREQ "Bytes schreiben" (4401) eine Zeichenfolge von einer seriellen Schnittstelle aus sendet, wird die bertragung angehalten. Die Stelle in der Zeichenfolge, an der die bertragung angehalten wurde, ist unbestimmt. Darberhinaus ist das Abschluzeichen, das das Gert von der CPU empfngt, ebenfalls unbestimmt.

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-15

9 Funktion "Eingangspuffer einrichten" (4301)


Mit dieser Funktion kann die Lnge des internen Pufferspeichers verndert werden, in dem die Eingangsdaten beim Empfang abgelegt werden. In der Standardeinstellung ist dieser Puffer fr maximal 2 kB eingerichtet.

Daten aus dem Puffer abrufen


Mit den Funktionen "Zeichenfolge lesen" oder "Bytes lesen" knnen Daten aus dem Buffer abgerufen werden. Die Daten sind vom Anwenderprogramm aus nicht direkt zugnglich. Werden die Daten nicht rechtzeitig aus dem Puffer abgerufen, knnen einige Zeichen verloren gehen.

Beispiel eines Befehlsblocks fr die Funktion "Eingangspuffer einrichten"


Wert (dezimal) Adresse Adresse +1 Adresse +2 Adresse +3 Adresse +4 Adresse +5 Adresse +6 Adresse +7 0002 0000 0008 0000 0000 0000 4301 0064 Wert (hexadezimal) 0002 0000 0008 0000 0000 0000 10CD 0040 Bedeutung Datenblocklnge NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (%R0001) nicht benutzt nicht benutzt Befehl "Eingangspuffer einrichten" Pufferlnge (in Worten)

Betriebshinweise
Die Pufferlnge kann nicht auf Null eingestellt werden. Wird Null als Pufferlnge eingegeben, dann wird die Pufferlnge auf den Standardwert 2 kB eingestellt. Ein Fehler wird erzeugt, wenn ein Wert von mehr als 2 kB eingestellt wird.

9-16

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9 Funktion "Eingangspuffer leeren" (4302)


Diese Operation leert den Eingangspuffer von allen Zeichen, die ber die serielle Schnittstelle empfangen, aber noch nicht mit einem Lesebefehl abgerufen wurden. Alle davon betroffenen Zeichen gehen verloren.

Beispiel eines Befehlsblocks fr die Funktion "Eingangspuffer leeren"


WERT (dezimal) Adresse Adresse +1 Adresse +2 Adresse +3 Adresse +4 Adresse +5 Adresse +6 0001 0000 0008 0000 0000 0000 4302 WERT (hexadezimal) 0001 0000 0008 0000 0000 0000 10CE Bedeutung Datenblocklnge NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (%R0001) nicht benutzt nicht benutzt Befehl "Eingangspuffer leeren"

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-17

9 Funktion "Schnittstellenstatus lesen" (4303)


Diese Funktion gibt den aktuellen Status der Schnittstelle zurck. Es knnen folgende Ereignisse erkannt werden: 1. Es wurde zuvor eine Leseanforderung angestoen und die erforderliche Anzahl Zeichen wurde jetzt empfangen, oder die angegebenen berwachungszeit ist abgelaufen. 2. Es wurde zuvor eine Schreibanforderung angestoen und die erforderliche Anzahl Zeichen wurde jetzt gesendet, oder eine berwachungszeit ist abgelaufen. Der von der Funktion zurckgegebene Status zeigt die beendeten Ereignisse an. Es knnen mehrere Zustnde gleichzeitig auftreten, wenn zuvor sowohl ein Lese- als auch ein Schreibvorgang angestoen wurden.

Beispiel eines Befehlsblocks fr die Funktion "Schnittstellenstatus lesen"


WERT (dezimal) Adresse Adresse +1 Adresse +2 Adresse +3 Adresse +4 Adresse +5 Adresse +6 Adresse +7 Adresse +8 0003 0000 0008 0000 0000 0000 4303 0070 0000 WERT (hexadezimal) 0003 0000 0008 0000 0000 0000 10CF 0046 0000 Bedeutung Datenblocklnge NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (%R0001) nicht benutzt nicht benutzt Befehl "Schnittstellenstatus lesen" Schnittstellenstatus-Speichertyp (%I) Schnittstellenstatus-Speicheroffset (%I0001)

9-18

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9
Schnittstellenstatus
Der Schnittstellenstatus besteht aus einem Statuswort und der Anzahl Zeichen im Eingangspuffer, die von der Anwendung noch nicht abgeholt wurden (Zeichen, die empfangen wurden und verfgbar sind).
Wort 1 Wort 2 Schnittstellen-Statuswort (siehe unten) Im Eingangspuffer vorhandene Zeichen

Das Schnittstellen-Statuswort kann sein:


Bit 15 Bezeichnung RI Definition Lesevorgang luft Bedeutung "1" "0" 14 13 RS RT Lesen erfolgreich Zeitberschreitung beim Lesen Schreibvorgang luft Schreiben erfolgreich Zeitberschreitung beim Schreiben Zeichen vorhanden berlauffehler Rahmenfehler Parittsfehler CTS ist aktiv "1" "0" "1" "0" 12 11 10 WI WS WT "1" "0" "1" "0" "1" "0" 9 8 7 6 5 CA OF FE PE CT "1" "0" "1" "0" "1" "0" "1" "0" "1" "0" 4-0 U nicht benutzt, mu 0 sein "Bytes lesen" oder "Zeichenfolge lesen" aufgerufen Letzter Befehl "Bytes lesen" oder "Zeichenfolge lesen": Zeitberlauf, Abbruch oder Ende "Bytes lesen" oder "Zeichenfolge lesen" erfolgreich beendet Neuer"Bytes lesen" oder "Zeichenfolge lesen" aufgerufen Zeitberschreitung beim Empfang whrend "Bytes lesen" oder "Zeichenfolge lesen" Neue "Bytes lesen" oder "Zeichenfolge lesen" aufgerufen Neues "Bytes schreiben" aufgerufen Letzter Befehl "Bytes schreiben": Zeitberlauf, Abbruch oder Ende. Letzter "Bytes schreiben" erfolgreich beendet Neues "Bytes schreiben" aufgerufen Zeitberschreitung beim Senden whrend "Bytes schreiben" Neues "Bytes schreiben" aufgerufen Ungelesene Zeichen im Puffer Keine ungelesenen Zeichen im Puffer berlauffehler an der seriellen Schnittstelle oder im internen Puffer "Schnittstellenstatus lesen" aufgerufen Rahmenfehler an serieller Schnittstelle aufgetreten "Schnittstellenstatus lesen" aufgerufen Parittsfehler an serieller Schnittstelle aufgetreten "Schnittstellenstatus lesen" aufgerufen Die CTS-Leitung an serieller Schnittstelle ist aktiv oder die serielle Schnittstelle hat keine CTS-Leitung Die CTS-Leitung an serieller Schnittstelle ist nicht aktiv

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-19

9 Funktion "Schnittstellensteuerung schreiben" (4304)


Diese Funktion erzwingt RTS fr die angegebene Schnittstelle:

Beispiel eines Befehlsblocks fr die Funktion "Schnittstellensteuerung schreiben"


WERT (dezimal) Adresse Adresse +1 Adresse +2 Adresse +3 Adresse +4 Adresse +5 Adresse +6 Adresse +7 0002 0000 0008 0000 0000 0000 4304 xxxx WERT (hexadezimal) 0002 0000 0008 0000 0000 0000 10D0 xxxx Bedeutung Datenblocklnge NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (%R0001) nicht benutzt nicht benutzt Befehl "Schnittstellensteuerung schreiben" Schnittstellen-Steuerwort

Schnittstellen-Steuerwort
15 RTS 14 U 13 U 12 U 11 U 10 U 9 U 8 U 7 U 6 U 5 U 4 U 3 U 2 U 1 U 0 U

Das Schnittstellen-Steuerwort kann sein:


15 RTS Befohlener Zustand des RTS-Ausgangs 1 = aktiviert RTS 0 = deaktiviert RTS nicht benutzt (mu Null sein)

0-14

Betriebshinweis
Bei der CPU-Schnittstelle 2 (RS-485) ist das RTS-Signal mit dem Sendetreiber gekoppelt. Die RTS-Steuerung hngt daher vom aktuellen Status des Sendetreibers ab. Ist der Sendetreiber nicht aktiviert, wird durch ein Erzwingen von RTS mit der COMMREQ "Schnittstellensteuerung schreiben" kein RTS auf der seriellen Leitung erzwungen. Der Zustand des Sendetreibers wird durch das Protokoll gesteuert und hngt vom aktuellen Duplexmodus der Schnittstelle ab. Im 2-Drahtund 4-Draht-Duplexmodus wird der Sendetreiber nur whrend des Sendens freigegeben. Daher wird auf der seriellen Leitung RTS nur dann an Schnittstelle 2 aktiv (fr 2-Draht- oder 4-Draht-Duplexmodus konfiguriert), wenn Daten gesendet werden. Bei Punkt-zu-Punkt-Duplexmodus ist der Sendetreiber immer freigegeben. In Punkt-zu-Punkt-Duplexmodus gibt daher RTS auf der seriellen Leitung wieder, was mit der COMMREQ "Schnittstellensteuerung schreiben" ausgewhlt wurde.

9-20

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Funktion "COMMREQ abbrechen" (4399)


Diese Funktion bricht die aktuell bearbeiteten Operationen ab. Mit ihr knnen alle Operationen, Leseoperationen oder Schreiboperationen abgebrochen werden. Wird eine Leseoperation gerade ausgefhrt und enthlt der Eingangspuffer dabei nicht bearbeitete Zeichen, dann bleiben diese Zeichen im Eingangspuffer erhalten und sind fr zuknftige Lesevorgnge verfgbar. Die serielle Schnittstelle wird nicht rckgesetzt.

Beispiel eines Befehlsblocks fr die Funktion "Operation abbrechen"


WERT (dezimal) Adresse Adresse +1 Adresse +2 Adresse +3 Adresse +4 Adresse +5 Adresse +6 Adresse +7 0001 0000 0008 0000 0000 0000 4399 0001 WERT (hexadezimal) 0001 0000 0008 0000 0000 0000 112F 0001 Bedeutung Datenblocklnge NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (%R0001) nicht benutzt nicht benutzt Befehl "Operation abbrechen" Transaktionstyp, der abgebrochen werden soll 1 2 3 Alle Operationen Leseoperationen Schreiboperationen

Betriebshinweise
Diese Funktion aktualisiert nicht den Status von Worten der abgebrochenen COMMREQs. Achtung: Die Stelle in der Zeichenfolge, an der die bertragung angehalten wurde, ist unbestimmt. Darberhinaus ist das Abschluzeichen, das das Gert von der CPU empfngt, ebenfalls unbestimmt.

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-21

9 Funktion "Automatische Einwahl" (4400)


Mit dieser Funktion kann die VersaMax CPU automatisch eine Modemwahl durchfhren und eine vorgegebene Bytefolge senden. Um diese Funktion implementieren zu knnen, mu die Schnittstelle fr serielle E/A konfiguriert sein. Personenrufausgabe kann zum Beispiel ber drei Befehle realisiert werden, wobei drei COMMREQ-Befehlsblcke bentigt werden: Automatische Einwahl: 04400 (1130h) Modemwahl.

Bytes schreiben: 04401 (1131h) Gibt eine ASCII-Zeichenfolge mit einer Lnge zwischen 1 und 250 Bytes an, die von der seriellen Schnittstelle aus gesendet werden soll. Automatische Einwahl: 04400 (1130h) Die Unterbrechung der Telefonverbindung liegt in der Verantwortung des SPSAnwenderprogramms. Dies wird bewirkt, indem der Befehl "Automatische Einwahl" erneut ausgegeben und die Befehlsfolge zum Einhngen gesendet wird.

Befehlsblock "Automatische Einwahl"


Der Befehl "Automatische Einwahl" sendet automatisch eine Umschaltzeichenfolge gem der Hayes-Konvention. Wenn Sie ein Modem verwenden, das die HayesKonvention nicht untersttzt, knnen Sie zur Modemwahl eventuell den Befehl "Bytes schreiben" verwenden. Die nachstehende Tabelle zeigt Beispiele hufig benutzter Befehlsfolgen fr Hayes-kompatible Modems:
Befehlsfolge ATDP15035559999<CR> ATDT15035559999<CR> ATDT9,15035559999<CR> ATH0<CR> ATZ <CR> Lnge 16 (10h) 16 (10h) 18 (12h) 5 (05h) 4 (04h) Funktion Impulswahl der Nummer 1-503-555-9999 Mehrfrequenzwahl der Nummer 1-503555-9999 Mehrfrequenzwahl ber Auenleitung mit Pause Hrer auflegen Modemkonfiguration mit intern gespeicherten Werte wiederherstellen

9-22

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9
Beispiel eines Befehlsblocks "Automatische Einwahl"
Der COMMREQ-Befehlsblock in diesem Beispiel whlt die Nummer 234-5678 ber ein Hayes-kompatibles Modem.
Wort 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Definition 0009h 0000h 0008h 0000h 0000h 0000h 04400 (1130h) 00030 (001Eh) 0012 (000Ch) 5441h 5444h 3332h 3534h 3736h 0D38h Werte Kundenspezifische Datenblocklnge (einschlielich Befehlsfolge) NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (Register 1) nicht benutzt nicht benutzt Befehlsnummer "Automatische Einwahl" Modemantwort-berwachungszeit (30 Sekunden) Anzahl Bytes in Befehlsfolge A (41h), T (54h) D (44h), T (54h) Telefonnummer: 2 (32h), 3 (33h) 4 (34h), 5 (35h) 6 (36h), 7 (37h) 8 (38h) <CR> (0Dh)

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-23

9 Funktion "Bytes schreiben" (4401)


Mit dieser Operation knnen ein oder mehrere Zeichen ber die angegebene serielle Schnittstelle zum fernen Teilnehmer geschickt werden. Die zu sendenden Zeichen mssen in einem Wortspeicher stehen. Sie drfen erst verndert werden, nachdem die Operation beendet ist. Mit einem einzigen Aufruf dieser Funktion knnen bis zu 250 Zeichen gesendet werden. Der Status der Operation ist erst abgeschlossen, nachdem alle Zeichen bertragen wurden oder wenn eine Zeitberschreitung auftritt (wenn zum Beispiel Hardware-Ablaufsteuerung benutzt wird und der abgesetzte Teilnehmer die Sendung nicht freigibt).

Beispiel eines Befehlsblocks fr die Funktion "Bytes schreiben"


WERT (dezimal) Adresse Adresse +1 Adresse +2 Adresse +3 Adresse +4 Adresse +5 Adresse +6 Adresse +7 Adresse +8 Adresse +9 Adresse +10 Adresse +11 0006 0000 0008 0000 0000 0000 4401 0030 0005 25960 27756 0111 WERT (hexadezimal) 0006 0000 0008 0000 0000 0000 1131 001E 0005 6568 6C6C 006F Bedeutung Datenblocklnge (einschlielich zu sendende Zeichen) NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (%R0001) nicht benutzt nicht benutzt Befehl "Bytes schreiben" Sende-berwachungszeit (30 Sekunden). Siehe Hinweis unten. Anzahl zu schreibende Bytes 'h' (68h), 'e' (65h) 'l' (6Ch), 'l' (6Ch) 'o' (6Fh)

In diesem Beispiel werden zwar druckbare ASCII-Zeichen verwendet, es gibt aber keine Einschrnkungen bezglich der Werte der bertragbaren Zeichen.

Betriebshinweise
Hinweis: Wird bei der Sende-berwachungszeit Null eingegeben, dann wird der berwachungszeitwert auf die Zeit eingestellt, die tatschlich zur bertragung der Daten bentigt wird, plus 4 Sekunden. Achtung: Wird eine COMMREQ "Schnittstelle initialisieren" (4300) oder eine COMMREQ "Operation abbrechen" (4399) im Modus "Alle abbrechen" oder "Schreiben abbrechen" gesendet, whrend diese COMMREQ eine Zeichenfolge von einer seriellen Schnittstelle aus sendet, dann wird der Sendevorgang angehalten. Die Stelle in der Zeichenfolge, an der die bertragung angehalten wurde, ist unbestimmt. Darberhinaus ist das Abschluzeichen, das das Gert von der CPU empfngt, ebenfalls unbestimmt.

9-24

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9 Funktion "Bytes lesen" (4402)


Diese Funktion bewirkt, da ein oder mehrere Zeichen von der angegebenen Schnittstelle gelesen werden. Die Zeichen werden aus einem internen Eingangspuffer gelesen. Die Funktion gibt sowohl die Anzahl abgerufener Zeichen als auch die Anzahl der im Eingangspuffer noch verbliebenen unbearbeiteten Zeichen zurck. Wurden Null-Eingangszeichen angefordert, dann wird nur die Anzahl der unbearbeiteten Zeichen im Eingangspuffer zurckgegeben. Sind nicht gengend Zeichen vorhanden, um die Forderung zu erfllen und wurde als Anzahl der zu lesenden Zeichen ein von Null verschiedener Wert angegeben, dann ist der Status der Operation erst abgeschlossen, nachdem entweder eine ausreichende Anzahl Zeichen empfangen wurde oder die berwachungszeit abgelaufen ist. In beiden Fllen gibt der Schnittstellenstatus den Grund fr den Abschlu der Leseoperation an. Das Statuswort wird erst aktualisiert, nachdem die Leseoperation abgeschlossen ist (entweder wegen Zeitberschreitung oder weil alle Daten empfangen wurden). Wird die berwachungszeit auf Null eingestellt, bleibt die COMMREQ solange unerledigt, bis sie die geforderte Datenmenge empfangen hat oder bis sie abgebrochen wird. Ist diese COMMREQ aus irgendeinem Grund fehlerhaft, werden keine Daten in den Puffer geschrieben. Alle im Puffer bereits vorhandenen Daten bleiben erhalten und knnen mit der nchsten Leseanforderung abgerufen werden.

Beispiel eines Befehlsblocks fr die Funktion "Bytes lesen"


WERT (dezimal) Adresse Adresse +1 Adresse +2 Adresse +3 Adresse +4 Adresse +5 Adresse +6 Adresse +7 Adresse +8 Adresse +9 Adresse +10 0005 0000 0008 0000 0000 0000 4402 0030 0005 0008 0000 WERT (hexadezimal) 0005 0000 0008 0000 0000 0000 1132 001E 0005 0008 0000 Bedeutung Datenblocklnge NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (%R0001) nicht benutzt nicht benutzt Befehl "Bytes lesen" Lese-berwachungszeit (30 Sekunden). Anzahl zu lesende Bytes Eingangsdatenspeichertyp (%R). Eingangsdaten-Speicheradresse (%R0001)

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-25

9
Format der Rckgabedaten fr die Funktion "Bytes lesen"
Die Rckgabedaten bestehen aus der Anzahl der momentan bereits gelesenen Zeichen, der Anzahl Zeichen, die nach dem Lesevorgang im Eingangspuffer eventuell noch vorhanden sind, und den eigentlichen Eingangszeichen.
Adresse Adresse + 1 Adresse + 2 Adresse + 3 Adresse + n Anzahl gelesener Zeichen Anzahl im Eingangspuffer eventuell noch vorhandener Zeichen Die ersten beiden Zeichen (erstes Zeichen ist im unteren Byte) Drittes und viertes Zeichen (drittes Zeichen ist im unteren Byte) Nchste Zeichen

Betriebshinweis
Wird der Eingangsdatenspeicher als wortorientierter Speicher angegeben, dann wird beim Empfang einer ungeraden Anzahl Bytes das obere Byte des zuletzt geschriebenen Wortes auf Null gesetzt.

9-26

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

9 Funktion "Zeichenfolge lesen" (4403)


Mit dieser Funktion werden Zeichen solange aus der angegebenen Schnittstelle gelesen, bis ein bestimmtes Endezeichen empfangen wird. Die Funktion gibt sowohl die Anzahl abgerufener Zeichen als auch die Anzahl der im Eingangspuffer noch verbliebenen unbearbeiteten Zeichen zurck. Wurden Null Eingangszeichen angefordert, dann wird nur die Anzahl der unbearbeiteten Zeichen im Eingangspuffer zurckgegeben. Steht das Endezeichen nicht im Eingangspuffer, ist der Status der Operation erst dann abgeschlossen, wenn entweder das Endezeichen empfangen wird oder die berwachungszeit abgelaufen ist. In beiden Fllen gibt der Schnittstellenstatus den Grund fr den Abschlu der Leseoperation an. Wird die berwachungszeit auf Null eingestellt, bleibt die COMMREQ solange unerledigt, bis sie die mit dem angegebenen Endezeichen abgeschlossene geforderte Zeichenfolge empfangen hat. Ist diese COMMREQ aus irgendeinem Grund fehlerhaft, werden keine Daten in den Puffer geschrieben. Alle im Puffer bereits vorhandenen Daten bleiben erhalten und knnen mit der nchsten Leseanforderung abgerufen werden.

Beispiel eines Befehlsblocks fr die Funktion "Zeichenfolge lesen"


WERT (dezimal) 0005 0000 0008 0000 0000 0000 4403 0030 0013 0008 0000 WERT (hexadezimal) 0005 0000 0008 0000 0000 0000 1133 001E 000D 0008 0000 Bedeutung Datenblocklnge NOWAIT-Modus Statuswort-Speichertyp (%R) Statuswortadresse minus 1 (%R0001) nicht benutzt nicht benutzt Befehl "Zeichenfolge lesen" Lese-berwachungszeit (30 Sekunden). Endezeichen (Wagenrcklauf): Mu zwischen 0 und 255 (0xFF) liegen Eingangsdatenspeichertyp (%R) Eingangsdaten-Speicheradresse (%R0001)

Adresse Adresse +1 Adresse +2 Adresse +3 Adresse +4 Adresse +5 Adresse +6 Adresse +7 Adresse +8 Adresse +9 Adresse +10

GFK-1503-GE

Kapitel 9 Serielles E/A / SNP / RTU-Protokoll

9-27

9
Format der Rckgabedaten fr die Funktion "Zeichenfolge lesen"
Die Rckgabedaten bestehen aus der Anzahl der momentan bereits gelesenen Zeichen, der Anzahl Zeichen, die nach dem Lesevorgang im Eingangspuffer eventuell noch vorhanden sind, und den eigentlichen Eingangszeichen:
Adresse Adresse + 1 Adresse + 2 Adresse + 3 Adresse + n Anzahl gelesener Zeichen Anzahl im Eingangspuffer eventuell noch vorhandener Zeichen Die ersten beiden Zeichen (erstes Zeichen ist im unteren Byte) Drittes und viertes Zeichen (drittes Zeichen ist im unteren Byte) Nchste Zeichen

Betriebshinweis
Wird der Eingangsdatenspeicher als wortorientierter Speicher angegeben, dann wird beim Empfang einer ungeraden Anzahl Bytes das obere Byte des letzten geschriebenen Wortes auf Null gesetzt.

9-28

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Kapitel

Die PID-Funktion

10
Dieses Kapitel beschreibt die PID-Funktion (Proportional-Integral-Differential), die bei Regelungsprozessen eingesetzt wird. Die PID-Funktion vergleicht den Rckfhrungswert von einer Prozessvariablen mit dem gewnschten ProzessSollwert und aktualisiert eine Steuervariable auf der Grundlage der Abweichung.
n n n n n n n

Format der PID-Funktion Arbeitsweise der PID-Funktion Parameterblock fr die PID-Funktion Auswahl des PID-Algorithmus Festlegen der Prozesseigenschaften Einstellen der Parameter und Abgleich der Schleifenverstrkung Beispiel eines PID-Aufrufs

GFK-1503-GE

10-1

10

Format der PID-Funktion


Zur Lsung des PID-Algorithmus im gewnschten Zeitabschnitt, verwendet die PID-Funktion die PID-Schleifenverstrkung und weitere Parameter, die in einem Feld von 40 16-Bit-Worten stehen. Alle Parameter sind ganzzahlige 16-Bit-Worte. Hierdurch kann der %AI-Speicher zur Eingabe von Prozessvariablen und der %AQ-Speicher zur Ausgabe von Regelgren verwendet werden.
Freigabe Sollwert Prozessvariable (Logik) (Logik) (Logik) PID_ IND SP CV PV MAN UP DN OK Regelgre

Referenzfeldadresse

Die PID-Funktion gibt keinen Stromflu weiter, wenn die konfigurierbaren Parameter fehlerhaft sind. Beim ndern von Daten kann die Funktion mit einem temporren Merker berwacht werden.

Parameter der PID-Funktion


Eingang/ Ausgang
Freigabe SP

Wahlmglichkeiten
Stromflu

Beschreibung
Bei Freigabe ber Kontakt wird PID-Algorithmus ausgefhrt.

I, Q, M, T, G, R, Dies ist der Regelsollwert. Wird er mit Prozessvariablen-Zhlwerten AI, AQ, Konstante eingestellt, pat die PID-Funktion die Ausgangsregelgre so an, da die Prozessvariable dem Sollwert entspricht (Nullfehler). I, Q, M, T, G, R, AI, AQ Stromflu Prozessvariableneingang vom geregelten Prozess (hufig ein %AIEingang). Ist MAN stromfhrend (ber einen Kontakt), ist der PID-Block im Handbetrieb. Ist Handbetrieb abgeschaltet, ist der PID-Block im Automatikbetrieb. Der CV-Ausgang wird bei jeder Ausfhrung um 1 Zhlwert erhht, wenn dieser Eingang und MAN stromfhrend sind.* Der CV-Ausgang wird bei jeder Ausfhrung um 1 Zhlwert erniedrigt, wenn dieser Eingang und MAN stromfhrend sind.* Adresse der PID-Steuerblockinformation (Anwenderparameter und interne Parameter). Benutzt 40 %R-Worte, die nicht gemeinsam genutzt werden knnen. OK wird durchgeschaltet, wenn die Funktion fehlerfrei ausgefhrt wurde. Abgeschaltet, wenn Fehler vorliegt. Ausgang der Regelgre zum Prozess (hufig ein %AQ-Ausgang).

PV MAN

UP DN Adresse

Stromflu Stromflu R

ok CV *

Stromflu, kein Stromflu I, Q, M, T, G, R, AI, AQ

Wird pro Zugriff auf die PID-Funktion um 1 erhht (UP-Parameter) oder erniedrigt (DNParameter).

10-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

10

Als skalierte ganzzahlige 16-Bit-Zahlen mssen zahlreiche Parameter in Prozessvariablen-Zhlwerten (PV) oder in Regelgren-Zhlwerten (CV) oder Einheiten definiert werden. Der Sollwerteingang (SP) mu zum Beispiel ber den gleichen Bereich wie die Prozessvariable skaliert werden, da der PID-Block die Abweichung durch eine Subtraktion dieser beiden Eingnge berechnet. In bereinstimmung mit der Analogskalierung knnen die PV- und CV-Zhlwerte 32000 oder 0 bis 32000 sein oder, zur Anzeige von Variablen als 0,00% bis 100,00%, von 0 bis 10000 reichen. Die Prozessvariablen- und RegelgrenZhlwerte brauchen nicht die gleiche Skalierung zu besitzen. In diesem Fall werden die Skalierungsfaktoren in den PID-Verstrkungen eingerechnet.

GFK-1503-GE

GFK-1503-GEKapitel 10 Die PID-Funktion

10-3

10

Arbeitsweise der PID-Funktion


Automatikbetrieb
Die PID-Funktion kann in jedem Zyklus aufgerufen werden. Hierzu mu am Freigabeeingang (enable) Stromflu anliegen und die Eingabekontakte fr Handbetrieb mssen stromfrei sein. Der Block vergleicht den aktuellen Wert der SPS-Betriebszeituhr mit der im internen RefArray gespeicherten Zeit, zu der der PID-Block zuletzt bearbeitet wurde. Ist diese Zeitdifferenz grer als das im dritten Wort (%Ref+2) von RefArray definierte Ausfhrungsintervall, wird der PIDAlgorithmus mit der Zeitdifferenz bearbeitet. Hierbei werden die letzte Ausfhrungszeit und der Regelgren-Ausgangswert aktualisiert. Im Automatikbetrieb wird der Regelgren-Ausgangswert im Handbefehlparameter %Ref+13 eingetragen.

Handbetrieb
Der PID-Block wird in Handbetrieb versetzt, indem Stromflu an die beiden Eingangskontakte enable und MAN gelegt wird. Der Regelgren-Ausgangswert wird aus dem Handbefehlparameter %Ref+13 heraus eingestellt. Liegt an den Eingngen UP bzw. DN Stromflu, wird bei jeder Bearbeitung des PID-Blocks das Handbetriebs-Befehlswort um einen CV-Zhlwert erhht bzw. erniedrigt. Um schnellere manuelle nderungen der Regelgre zu erzielen, kann auch jeder beliebige CV-Zhlwert direkt zum Handbetriebs-Befehlswort addiert bzw. von ihm abgezogen werden. Mit der oberen und unteren CV-Begrenzung grenzt der PID-Block den CVAusgangswert ein. Wird eine positive Nachfhrgrenze definiert, beschrnkt dies die Geschwindigkeit, mit der sich der CV-Ausgangswert ndern kann. Werden entweder die CV-Amplitude oder die nderungsgeschwindigkeit berschritten, wird der im Integrator gespeicherte Wert so eingestellt, da CV an der Grenze liegt. Dieser berschwingschutz bedeutet, da sich der CV-Ausgangswert von der Begrenzung wegbewegt, sobald sich das Vorzeichen der Strgre ndert, selbst wenn die Strgre ber einen lngeren Zeitraum versucht hat, CV ber (oder unter) die Begrenzung zu zwingen. Durch diese Arbeitsweise, zusammen mit der Handbefehl-Nachfhrung von CV im Automatikbetrieb und der Einstellung von CV im Handbetrieb, wird ein stofreier bergang zwischen Hand- und Automatikbetrieb gewhrleistet. Die obere und untere CV-Begrenzung sowie die Nachfhrgrenze gelten fr den CV auch im Handbetrieb, und der im Integrator gespeicherte interne Wert wird aktualisiert. Das heit, da bei einer nderung des Handbefehls im Handbetrieb die CV-Ausgabe sich maximal mit der in der Nachfhrgrenze angegebenen Geschwindigkeit ndert und die obere bzw. untere Begrenzung nicht ber- oder unterschreitet.

10-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

10 Zeitintervall fr PID-Funktion
Die PID-Funktion kann hchstens einmal alle 10 Millisekunden ausgefhrt werden. Ist die PID-Funktion so eingestellt, da sie in jedem Zyklus ausgefhrt werden soll, und ist die Zyklusdauer krzer als 10 Millisekunden, dann wird die PID-Funktion erst ausgefhrt, wenn gengend Zyklen durchlaufen wurden, da eine Zeit von 10 Millisekunden aufgelaufen ist. . Betrgt die Zyklusdauer zum Beispiel 9 Millisekunden, dann wird die PID-Funktion in jedem zweiten Zyklus mit einer Zeit von 18 Millisekunden zwischen zwei Ausfhrungen bearbeitet. Eine bestimmte PID-Funktion darf nicht mehr als einmal pro Zyklus aufgerufen werden. Die lngste Zeitspanne zwischen zwei aufeinanderfolgenden Ausfhrungen sind 10,9 Minuten. Die PID-Funktion gleicht die seit der letzten Ausfhrung verstrichene Zeit mit einer Genauigkeit von 100 Mikrosekunden aus. Der PID-Algorithmus wird nur bearbeitet, wenn sich der Wert der SPSBetriebszeituhr seit der letzten Bearbeitung mindestens um das Ausfhrungsintervall gendert hat. Wird das Ausfhrungsintervall auf 0 gesetzt, wird die Funktion jedesmal ausgefhrt, wenn sie freigegeben wird. Die weiter oben erwhnte 10-Millisekunden-Grenze gilt aber auch hier.

Skalierung der Ein- und Ausgnge


Um kompatibel zu den 16-Bit-Analog-Prozessvariablen zu sein, sind alle Parameter ganzzahlige 16-Bit-Worte. Einige Parameter mssen entweder in Prozessvariablen-Zhlwerten (PV) oder -Einheiten oder in RegelgrenZhlwerten (CV) oder -Einheiten definiert werden. Der Sollwerteingang mu ber den gleichen Bereich wie die Prozessvariable skaliert werden, da die PID-Funktion die Abweichung durch eine Subtraktion dieser beiden Eingnge berechnet. Die Zhlwerte fr Prozessvariable und Regelgre brauchen nicht die gleiche Skalierung zu verwenden. In bereinstimmung mit der Analogskalierung knnen diese Werte -32000 oder 0 bis 32000 sein oder, zur Anzeige von Variablen als 0,00% bis 100,00%, von 0 bis 10000 gehen. Verwenden Prozessvariablen- und Regelgren-Zhlwerte nicht die gleiche Skalierung, werden die Skalierungsfaktoren in den PID-Verstrkungen eingerechnet.

Beispiel der PID-Funktion


Das nachstehende Beispiel zeigt mgliche Eingangsbelegungen.

GFK-1503-GE

GFK-1503-GEKapitel 10 Die PID-Funktion

10-5

10
%S0007

Freigabe Sollwert Prozessvariable


%R00010 +21000 %AI0001 +20950 %M0001 %M0002

PID_ IND SP CV PV MAN UP


%M0002

Stromfluausgabe wenn OK

%AQ0001 +25000

Regelgre

DN RefArray ist 40 Worte lang

%R00100

Parameterblock fr die PID-Funktion


Der Parameterblock fr die PID-Funktion belegt 40 Worte im %R-Speicher. Viele dieser 40 Worte werden von der SPS benutzt und knnen nicht konfiguriert werden. Jeder Aufruf der PID-Funktion mu einen anderen Speicherbereich von 40 Worten verwenden, selbst wenn alle 13 konfigurierbaren Parameter gleich sind. Vor Ausfhrung der PID-Funktion mssen die ersten 13 Worte des Parameterblocks spezifiziert werden. Fr die meisten Standardwerte kann Null verwendet werden. Nachdem geeignete PID-Werte ausgewhlt wurden, knnen Sie in einem BLKMOV als Konstanten definiert werden, so da sie vom Programm nach Bedarf verndert werden knnen.

Interne Parameter im Adrefeld (RefArray)


Die PID-Funktion liest 13 Anwendungsparameter und verwendet den Rest des 40Wort-Adrefeldes zur internen PID-Speicherung. Normalerweise brauchen Sie diese Werte nicht zu verndern. Wenn Sie den PID-Block nach einer langen Verzgerung im Automatikbetrieb aufrufen, knnen Sie mit SVC_REQ 16 die aktuelle SPS-Betriebszeit in %Ref+23 laden, um die letzte Bearbeitungszeit zu aktualisieren und damit einen Schrittwechsel am Integrator zu vermeiden. Haben Sie das Overridebit im Steuerwort (%Ref+14) auf 1 gesetzt, mssen die nchsten vier Bits des Steuerwortes zur Steuerung der Eingangskontakte des PID-Blocks gesetzt werden. Die internen SP und PV mssen eingestellt werden, da sie die Kontrolle ber den PID-Block vom Kontaktplanprogramm weggenommen haben.
Parameter Adresse Kreisnummer Algorithmus Ausfhrungsintervall 10 ms Einheiten unteres Bit Ganze Zahl Bereich 0 bis 255. Beschreibung Wahlfreie Nummer des PID-Blocks. Die ber eine Bedienerschnittstelle definierte Kreisnummer ermglicht eine gemeinsame Identifizierung in der SPS. 1 = ISA-Algorithmus 2 = unabhngiger Algorithmus

Adresse +1 Adresse+2

Von SPS eingestellt

0 (jeder Die Mindestzeit (in 10-ms-Schritten) zwischen zwei Zyklus) bis Ausfhrungen des PID-Algorithmus. Beispiel: Eingabe 10 fr ein 65535 (10,9 100-ms-Intervall. min); mind. 10 ms.

10-6

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

10
Parameter Adresse+3 Adresse+4 Totzone + und Totzone Einheiten unteres Bit PVZhlwerte Bereich 0 bis 32000 (+ nie negativ) (- nie positiv) Beschreibung INT-Werte, die die obere (+) und untere (-) Grenze der Totzone in PV-Zhlwerten festlegen. Wird keine Totzone bentigt, mssen diese Werte 0 sein. Liegt die PID-Regelabweichung (SP - PV) bzw. (PV - SP) zwischen den Werten (-) und (+) der Totzone, wird die PID-Berechnung mit dem Fehlerwert 0 gelst. Ist der Wert von Null verschieden, mu der Wert (+) grer als 0 und der Wert (-) kleiner als Null sein, damit der PID-Block funktioniert. Lassen Sie diese Werte auf 0, bis die PID-Regelverstrkung eingestellt oder verndert wird. Danach kann eine Totzone erforderlich werden, um kleine nderungen der CV-Ausgabe zu verhindern, die durch Schwankungen der Regelabweichung verursacht werden. Adresse+5 P-Verstrkung Kp (Steuerungs verstrkung, Kc, in ISAVersion) D-Verstrkung Kd 0,01 CV%/PV% 0 bis 327,67% nderung der Regelgre CV in CV-Zhlwerten bei einer nderung von 100 PV-Zhlwerten in der Regelabweichung. Wird fr Kp ein Wert 450 eingegeben, wird dieser Wert als 4,50 angezeigt und ergibt einen Beitrag zur PID-Ausgabe von Kp*Fehler/100 oder 450*Fehler/100. Bei der Einstellung eines PID-Regelkreises wird immer zuerst Kp eingestellt. 0 bis 327,67 s nderung der Regelgre CV in CV-Zhlwerten bei einer nderung von 1 PV-Zhlwert pro 10 ms in Fehler oder Prozessvariable. Eingabe als Zeitwert, bei dem das untere Bit 10 ms angibt. Beispiel: Wird fr Kd ein Wert 120 eingegeben, wird dieser Wert als 1,20 s angezeigt und ergibt einen Beitrag zur PID-Ausgabe von Kd * Fehlerdelta / Zeitdelta bzw., wenn sich der Fehler alle 30 ms um 4 PV-Zhlwerte ndert, um 120*4/3. Mit Kd kann eine langsame Reaktion des Regelkreises beschleunigt werden; es ist allerdings sehr anfllig gegenber Strungen des PV-Eingangssignals.

Adresse+6

0,01 s

Adresse+7

I-Zeit Ki

Wiederholungen/ 1000 s

0 bis 32.767 nderung der Regelgre CV in CV-Zhlwerten, wenn die Wiederholunge Regelabweichung konstant 1 PV-Zhlwert wre. Anzeige als n/s 0,000 Wiederholungen/s mit implizit 3 Dezimalstellen. Beispiel: Wird fr Ki ein Wert von 1400 eingegeben, wird dieser Wert als 1,400 Wiederholungen/s angezeigt und ergibt einen Beitrag zur PID-Ausgabe von Ki * Fehler *dt oder, bei einem Fehler von 20 Zhlwerten und einer SPS-Zykluszeit von 50 ms (Ausfhrungsintervall 0), 1400 * 20 * 50/1000. Ki ist normalerweise nach Kp der zweite Verstrkungsparameter, der eingestellt wird. -32000 bis 32000 (zum Integratorausg ang) Anzahl CV-Zhlwerte, die vor Geschwindigkeits- und Amplitudenbegrenzung zum PID-Ausgang addiert werden. Kann zum Einstellen von CV-Werten ungleich Null verwendet werden, wenn nur Kp-Proportionalverstrkungen benutzt werden, bzw. zur Vorwrtsregelung dieses PID-Regelkreises von einem anderen Regelkreis aus. Anzahl CV-Zhlwerte, die die hchsten und niedrigsten Werte von CV festlegen. Diese Werte mssen eingegeben werden. Die obere Begrenzung mu positiver als die untere Begrenzung sein, sonst funktioniert der PID-Block nicht. Mit diesen Werten werden normalerweise die auf physikalischen Grenzen beruhenden Grenzwerte des CV-Ausgangs festgelegt. Mit ihnen wird auch die Balkenanzeige von CV festgelegt. Der Block besitzt einen berschwingschutz, mit dem der Integratorwert verndert werden kann, wenn eine CV-Begrenzung erreicht ist.

Adresse+8

CVAnhebung/A usgangsoffset Obere und untere CVBegrenzung

CVZhlwerte

Adresse+9 Adresse+10

CVZhlwerte

-32000 bis 32000 (>%Ref+10)

GFK-1503-GE

GFK-1503-GEKapitel 10 Die PID-Funktion

10-7

10
Parameter Adresse+11 Nachfhrgrenze Einheiten unteres Bit Sekunde/ Vollausschlag Bereich 0 (keine) bis 32000 s bis zu 32000 CV Beschreibung Mindestzeit, die der CV-Ausgang braucht, um von 0 auf Vollausschlag von 100% oder 32000 CV-Zhlwerten zu kommen. Dies ist die umgekehrte Grenzgeschwindigkeit, mit der sich der CV-Ausgangswert ndern kann. Ist der Wert positiv, kann CV nicht schneller als mit 32000 CVZhlwerten * Zeitdelta (s) / Nachfhrgrenze verndert werden. Beispiel: Bei einem Ausfhrungsintervall von 2,5 s und einer Nachfhrgrenze von 500 s kann CV sich pro PID-Bearbeitung um maximal 32000*2,5/500 oder 160 CV-Zhlwerte ndern. Der Integratorwert wird eingestellt, wenn die CVGrenzgeschwindigkeit berschritten wird. Bei einer Nachfhrgrenze von 0 gibt es keine CV-Grenzgeschwindigkeit. Beim Einstellen der PID-Schleifenverstrkung mssen Sie die Nachfhrgrenze auf 0 einstellen.

10-8

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

10
Parameter Adresse+12 Konfigurationswort Einheiten unteres Bit Untersten 5 Bits benutzt Bereich Bit 0 bis 2 fr Fehler +/-, Ausgangspolaritt, Diff. Beschreibung Mit den untersten 5 Bits dieses Wortes werden drei PIDStandardeinstellungen verndert. Die brigen Bits mssen auf 0 gesetzt werden. Setzen Sie das unterste Bit auf 1, um die Standard-PID-Regelabweichung von normalerweise (SP PV) auf (PV SP) abzundern und dadurch das Vorzeichen der Rckfhrungsgre zu ndern. Diese Funktion bentigen Sie fr Abwrtsregelungen, bei denen CV mit ansteigendem PV reduziert werden mu. Setzen Sie das zweite Bit auf 1, um die Ausgangspolaritt zu verndern, so da CV am PID-Ausgang negativ und nicht wie normal positiv ist. Setzen Sie das vierte Bit auf 1, um den Differenzanteil so zu verndern, da er die nderung in der PV-Rckfhrungsgre und nicht die normale nderung in der Regelabweichung benutzt. Die unteren 5 Bits im Konfigurationswort werden nachstehend detailliert beschrieben: Bit 0: Regelabweichung. Ist dieses Bit 0, dann ist die Regelabweichung SP - PV. Ist dieses Bit 1, dann ist die Regelabweichung PV - SP. Bit 1: Ausgangspolaritt. Ist dieses Bit 0, dann wird der CVAusgang auf den Ausgangswert der PID-Berechnung eingestellt. Ist dieses Bit 1, dann wird der CV-Ausgang auf den negativen Ausgangswert der PID-Berechnung eingestellt. Bit 2: Differentialwirkung auf PV. Ist dieses Bit 0, dann wirkt das Differentialverhalten auf die Regelabweichung. Ist dieses Bit 1, dann wirkt das Differentialverhalten auf PV. Alle anderen Bits mssen 0 sein. Bit 3: Wirkung der Totzone. Wird das Totzonenbit auf Null gesetzt, ist die Totzone ohne Wirkung. Liegt die Regelabweichung innerhalb der Grenzen der Totzone, wird sie auf Null gesetzt. Im anderen Fall wird die Regelabweichung von den Grenzen der Totzone nicht beeinflut. Wird das Totzonenbit auf 1 gesetzt, zeigt die Totzone Wirkung. Liegt die Regelabweichung innerhalb der Grenzen der Totzone, wird sie zwangsweise auf Null gesetzt. Liegt die Regelabweichung auerhalb dieser Grenzen, wird sie um die Totzonen-Grenzen reduziert (Regelabweichung = Regelabweichung Totzonengrenze). Bit 4: berschwingschutz. Ist dieses Bit 0, verwendet der berschwingschutz eine Rckwrtsberechnung. Ist der Ausgang begrenzt, ersetzt dieses den akkumulativen Restwert von Y mit dem zur exakten Erzeugung des begrenzten Ausgangs erforderlichen Wert. Ist das Bit auf Null gesetzt, wird der akkumulative Y-Wert mit dem Wert ersetzt, den Y zu Beginn der Berechnung hatte. In diesem Fall wird der Y-Wert vor der Begrenzung solange gehalten, wie der Ausgang begrenzt ist. Denken Sie daran, da die Bits in Potenzen von 2 gesetzt werden. Beispiel: Um das Konfigurationswort fr die StandardPID-Konfiguration auf 0 einzustellen, addieren Sie 1, um die Regelabweichung von SPPV auf PVSP zu verndern, oder Sie addieren 2, um die Ausgangspolaritt von CV = PID auf CV = PID abzundern, oder Sie addieren 4, um die Differentialwirkung von nderung Regelabweichung auf PVnderung umzuschalten, usw. Adresse+13 Handbefehl CVZhlwerte CVNachfhrung in Auto oder CVEinstellung in Hand Wird im Automatikbetrieb auf den aktuellen CV-Ausgang gesetzt. Wird der Block auf Handbetrieb umgeschaltet, werden mit diesem Wert der CV-Wert und der interne Wert des Integrators innerhalb der oberen und unteren Begrenzung und der Nachfhrgrenzen eingestellt.

GFK-1503-GE

GFK-1503-GEKapitel 10 Die PID-Funktion

10-9

10
Parameter Adresse+14 Steuerwort Einheiten unteres Bit Von SPS unterhalten, auer wenn Bit 1 gesetzt ist. Bereich Sofern nicht anders eingestellt, von SPS unterhalten: Unteres Bit setzt Override, wenn 1. Beschreibung Wird das Overridebit auf 1 gesetzt, mssen dieses Wort und die anderen internen SP-, PV- und CV-Parameter fr dezentralen Betrieb dieses PID-Blocks verwendet werden (siehe unten). Hierdurch knnen dezentrale Bedienerschnittstellen, wie zum Beispiel Computer, die Kontrolle vom SPS-Programm wegnehmen. Achtung: Wollen Sie dies verhindern, mssen Sie das Steuerwort auf 0 setzen. Ist das untere Bit 0, knnen die nchsten 4 Bits gelesen werden, um die Zustnde der PIDEingangskontakte solange zu verfolgen, wie am PIDFreigabeeingang Stromflu anliegt. Diskrete Datenstruktur mit den ersten fnf Bitstellen im folgenden Format:
Bit: 0 1 2 3 4 Wortwer t: 1 2 4 8 16 Funktion: Override Manuell /Automatik Freigabe UP /hher DN /niedrig Status oder externe Aktion wenn Overridebit = 1: 0: Blockkontakte berwachen. 1: Blockkontakte extern einstellen 1: Block ist in Handbetrieb; andere Werte: Block ist in Automatikbetrieb. Mu normalerweise 1 sein, sonst wird Block nie aufgerufen. 1 und Handbetrieb (Bit 1 = 1): CV wird bei jedem Durchlauf erhht. 1 und Handbetrieb (Bit 1 = 1): CV wird bei jedem Durchlauf erniedrigt.

Adresse+15

Interner Sollwert

Von SPS eingestellt und unterhalten " "

Nicht konfigurierbar

Verfolgt SP-Eingang; mu extern gesetzt werden, wenn Override = 1.

Adresse+16 Adresse+17 Adresse+18

Interner CV Interner PV

" " "

Verfolgt CV-Ausgang. Verfolgt PV-Eingang; mu extern gesetzt werden, wenn Overridebit = 1. Wortwert mit Vorzeichen, das den Ausgang des Funktionsblocks vor wahlweiser Invertierung darstellt. Wurde keine Invertierung konfiguriert und wurde das Ausgangspolarittsbit im Steuerwort auf 0 gesetzt, ist dieser Wert gleich dem CV-Ausgang. Wurde Invertierung konfiguriert und wurde das Ausgangspolarittsbit im Steuerwort auf 1 gesetzt, ist dieser Wert gleich dem negierten CV-Ausgang.

Ausgangswe " rt

Adresse+19 Adresse+20 Adresse+21 Adresse+22

Speicherung D-Gre Speicherung I-Gre Speicherung nderungsgr e Uhr Interne Speicherung der Betriebszeit (letzte Ausfhrung des PID-Blocks). Diese Adressen nicht beschreiben. Enthlt den Rest von Integrator-Teilungsskalierung fr stationre Regelabweichung = 0. PVZhlwerte -32000 bis 32000 Wahlfreie INT-Werte in PV-Zhlwerten, die den kleinsten und grten Anzeigewert definieren. (Ref +27 mu kleiner als Ref+28 sein) 29-34 sind fr interne Benutzung reserviert. 35-39 sind fr externe Benutzung reserviert. Sie drfen nicht fr andere Zwecke benutzt werden. Intern zur Speicherung von Zwischenwerten verwendet. Diese Adressen nicht beschreiben.

Adresse+23 bis Adresse+25 Adresse+26 Adresse+27 Adresse+28

Speicherung Y-Rest Unterer und oberer SPund PVBereich Reserviert

Adresse+29 bis Adresse+39

--

Nicht konfigurierbar

10-10

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

10

Einstellung von PID-Algorithmen (PIDISA oder PIDIND) und Verstrkungen


Bei der Programmierung des PID-Blocks kann entweder die unabhngige (PID_IND) oder die Standardversion des PID-Algorithmus gewhlt werden. Der einzige Unterschied zwischen diesen Algorithmen besteht in der Art, in der die Iund D-Verstrkungen definiert sind. Beide PID-Typen berechnen die Regelabweichung als SP - PV bzw. bei Rckwrtsregelung als PV - SP, indem sie die Regelabweichung (unteres Bit 0 im Konfigurationswort %Ref+12) auf 1 setzen. Rckwrtsregelung kann eingesetzt werden, wenn sich die nderungen des CVAusgangssignals im Gegensatz zum Normalbetrieb (CV steigt, wenn PV steigt) in unterschiedliche Richtungen bewegen sollen (CV fllt bei steigendem PV).
Regelabweichung = (SP - PV) oder (PV - SP) wenn das untere Bit des Konfigurationswortes 1 ist.

Die Differentiation basiert normalerweise auf der nderung der Regelabweichung seit der letzten PID-Bearbeitung. Hierdurch kann sich bei einer nderung des SPWertes eine groe nderung der Ausgangsgre ergeben. Ist dies nicht erwnscht, knnen Sie das dritte Bit des Konfigurationswortes auf 1 setzen, um den auf PV basierenden Differentialanteil zu berechnen. Das dt (Zeitdifferenz) wird bestimmt, indem der Zeitwert der letzten PID-Bearbeitung dieses Blocks von der aktuellen SPS-Betriebszeit abgezogen wird.
dt = aktuelle SPS-Betriebszeit - SPS-Betriebszeit bei der letzten PID-Bearbeitung Differentialanteil = (Regelabweichung - vorherige Regelabweichung)/dt oder (PV - vorheriger PV)/dt wenn 3. Bit des Konfigurationswortes = 1

Der unabhngige PID-Algorithmus (PID_IND) berechnet die Ausgangsgre als:


PID-Ausgang = Kp * Regelabweichung + Ki * Regelabweichung * dt + Kd * Differentialanteil + CV-Anhebung

Der Standard-ISA-Algorithmus (PID_ISA) sieht anders aus:


PID-Ausgang = Kc * (Regelabweichung + Regelabweichung * dt/Ti + Td * Differentialanteil) + CV-Anhebung

mit: Kc = Verstrkungsfaktor der Steuerung, Ti = Nachstellzeit, Td = Vorhaltezeit. Der Vorteil von ISA liegt darin, da eine Vernderung von Kc den Anteil der I-, Dund P-Gren verndert, wodurch der Regelkreisabgleich einfacher wird. Haben Sie PID-Verstrkungen als Ausdrcke von Ti und Td, verwenden Sie
Kp = Kc Ki = Kc/Ti undKd = Kc/Td

um sie fr die Verwendung als PID-Anwenderparametereingabe umzuwandeln. Der Ausdruck CV-Anhebung ist eine additive Gre, die von den PIDKomponenten getrennt ist. Diese Gre kann bentigt werden, wenn Sie nur die Proportionalverstrkung Kp verwenden und wnschen, da CV bei PV = SP und Regelabweichung = 0 von Null verschieden ist. In diesem Fall setzen Sie die CVAnhebung auf den gewnschten CV-Wert, wenn PV am SP ist. CV-Anhebung

GFK-1503-GE

GFK-1503-GEKapitel 10 Die PID-Funktion

10-11

10
knnen Sie auch zur Vorwrtsregelung einsetzen, wenn der CV-Ausgang dieses PID-Kreises ber einen anderen PID-Kreis oder Steueralgorithmus eingestellt wird. Wird eine Integrationsverstrkung Ki verwendet, wre CV-Anhebung normalerweise 0, da der Integrator als automatische Anhebung arbeitet. Starten Sie im Handbetrieb, stellen Sie den Integrator ber das Hand-Befehlswort (%Ref+13) auf den gewnschten CV ein, und schalten Sie dann um auf Automatikbetrieb. Dies funktioniert auch, wenn Ki = 0, nur wird hierbei nach dem Umschalten in Automatikbetrieb der Integrator nicht auf die Basis der Regelabweichung eingestellt.

Unabhngiger PID-Algorithmus (PIDIND)


Die nachstehende Abbildung zeigt die Funktionsweise des PID-Algorithmus:
PROPORTIONAL - Kp BIAS

SP

Strg.-Vz.

Totzone

INTEGRAL - Ki TIME

Nachf. grenz e

obere/untere Begrzg.

Polaritt

CV

PV

Diff. Aktion Wert Zeit DIFFERENT. - Kd

Der ISA-Algorithmus (PIDISA) ist hnlich. Lediglich der Verstrkungsfaktor Kp hngt mit Ki und Kd zusammen, so da sich die Integralverstrkung zu Kp * Ki und die Differentialverstrkung zu Kp * Kd ergibt. Regelabweichungs-Vorzeichen, Differentialwirkung, Polaritt werden ber Bits im Anwenderparameter "Konfigurationswort" eingestellt.

10-12

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

10 CV-Amplitude und Grenzgeschwindigkeiten


Der Block sendet den berechneten PID-Ausgangswert nicht direkt an CV. Beide PID-Algorithmen knnen der Ausgangs-Regelgre Grenzen bezglich Amplitude und nderungsgeschwindigkeit auferlegen. Die maximale nderungsgeschwindigkeit wird bestimmt, indem der maximale 100% CV-Wert (32000) durch die minimale Nachfhrzeit (falls >0 angegeben wurde) dividiert wird. Beispiel: Die Nachfhrgrenze betrgt 100 Sekunden, die Grenzgeschwindigkeit ist dann 320 CV-Zhlwerte/Sekunde. Mit einer dtBearbeitungszeit von 50 ms darf sich der neue CV-Ausgangswert um nicht mehr als 320*50/1000 oder 16 CV-Zhlwerte vom vorherigen CV-Ausgangswert unterscheiden. Der CV-Ausgangswert wird dann mit den oberen und unteren CV-Begrenzungen verglichen. Wird eine dieser Grenzen ber- oder unterschritten, dann wird der CVAusgang auf den begrenzten Wert gesetzt. Werden bei der Vernderung von CV entweder nderungs- oder Amplitudengrenzwert berschritten, dann wird der interne Integratorwert so angepat, da er dem Grenzwert entspricht, wodurch berschwingen vermieden wird. Zuletzt berprft der Block die Ausgangsparitt (2. Bit des Konfigurationswortes %Ref+12) und ndert das Vorzeichen des Ausgangs, wenn das Bit 1 ist. CV = begrenzter PID-Ausgang oder - begrenzter PID-Ausgang, wenn das Ausgangs-Polarittsbit gesetzt ist Ist der Block im Automatikmodus, wird der letzte CV im Handbefehl %Ref+13 eingetragen. Ist der Block im Handmodus, wird die PID-Gleichung bersprungen, da CV durch den Handbefehl eingestellt wird. Es werden jedoch alle Grenzwerte fr nderungsgeschwindigkeit und Amplitude berprft. Das bedeutet, da mit dem Handbefehl der Ausgangswert nicht ber den oberen Grenzwert bzw. unter den unteren Grenzwert hinaus verndert werden kann. Auerdem kann sich der Ausgangswert nur mit der maximalen nderungsgeschwindigkeit ndern.

GFK-1503-GE

GFK-1503-GEKapitel 10 Die PID-Funktion

10-13

10 Ausfhrungsintervall und zeitlicher Ablauf der PID-Blcke


Der PID-Block ist eine digitale Realisierung einer analogen Steuerungsfunktion. Aus diesem Grund ist die Abtastzeit dt in der PID-Ausgangsgleichung nicht die bei Analogsteuerungen verfgbare unendlich kleine Zeitspanne. Die meisten der geregelten Prozesse knnen als eine Verstrkung mit einer Verzgerung erster oder zweiter Ordnung angenhert werden, mglicherweise mit einer reinen Zeitverzgerung. Der PID-Block stellt einen CV-Ausgangswert zum Prozess ein und benutzt den Rckkopplungs-PV vom Prozess, um den Fehler zu bestimmen, mit dem die nchste CV-Ausgabe angepat wird. Die Gesamtzeitkonstante ist ein Schlssel-Prozessparameter, der festlegt, wie schnell der PV reagiert, wenn sich der CV ndert. Wie im Abschnitt "Schleifenverstrkungs-Einstellung" weiter unten besprochen wird, ist die Gesamtzeitkonstante Tp+Tc bei einem System erster Ordnung die von PV bentigte Zeit, um bei einer sprunghaften nderung von CV 63% des Endwertes zu erreichen. Der PID-Block kann einen Prozess nur steuern, wenn das Ausfhrungsintervall deutlich unter der halben Gesamtzeitkonstanten liegt. Grere Ausfhrungsintervalle machen den Vorgang instabil. Das Ausfhrungsintervall sollte nicht grer sein als die Gesamtzeitkonstante geteilt durch 10 (oder, im schlimmsten Fall, herunter bis 5). Beispiel: Erreicht PV 2/3 seines Endwertes in 2 Sekunden, sollte das Ausfhrungsintervall kleiner als 0,2 Sekunden (oder maximal 0,4 Sekunden) sein. Auf der anderen Seite sollte das Ausfhrungsintervall nicht zu klein sein (wie zum Beispiel kleiner als die Gesamtzeitkonstante dividiert durch 1000), da sonst der Ausdruck Ki * Regelabweichung * dt fr den PID-Integrator auf Null gerundet wird. Beispiel: Bei einem sehr langsamen Prozess, der 10 Stunden bzw. 36000 Sekunden bentigt, um den 63%-Wert zu erreichen, sollte das Ausfhrungsintervall auf 40 Sekunden oder mehr eingestellt werden. Sofern der Prozess nicht gerade sehr schnell abluft, braucht man kein Ausfhrungsintervall von 0 einzustellen, bei dem der PID-Algorithmus in jedem PID-Zyklus gelst wird. Werden viele PID-Kreise verwendet, bei denen das Ausfhrungsintervall grer als die Zykluszeit ist, knnen sich bei der SPSZykluszeit groe Schwankungen ergeben, wenn viele Kreise den Algorithmus gleichzeitig lsen. Eine einfache Lsung besteht darin, ein oder mehrere auf 1 gesetzte Bits durch ein Bitfeld von Nullen zu schicken, so da dadurch Stromflu zu einzelnen PID-Blcken durchgeschaltet wird.

10-14

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

10

Festlegen der Prozesseigenschaften


Die PID-Schleifenverstrkungen Kp, Ki und Kd werden von den Daten des gesteuerten Prozesses bestimmt. Beim Einstellen einer PID-Schleife stellen sich zwei Fragen: 1. Wie gro ist die nderung von PV, wenn wir CV um einen festen Betrag ndern, bzw. wie gro ist die Leerlaufverstrkung? 2. Wie schnell reagiert das System, oder wie schnell ndert sich PV nach einer sprunghaften nderung von CV? Zahlreiche Prozesse knnen durch eine Prozessverstrkung, eine Verzgerung erster oder zweiter Ordnung, und eine reine Zeitverzgerung angenhert werden. Im Frequenzbereich ist die bertragungsfunktion eines Verzgerungssystems zweiter Ordnung mit reiner Zeitverzgerung gegeben durch: PV(s)/CV(s) = G(s) = K * e **(-Tp s)/(1 + Tc s) Mit einer sprunghaften nderung zum Zeitpunkt t0 im Zeitbereich ergibt sich folgende nderung der Regelgre:
1 CV-Einheitsschrittausgabe zu Prozess K 0.632K PV-Reaktion vom Prozess

t0

t0 Tp

Tc

Aus der PV-bergangsfunktion knnen folgende Prozessmodellparameter bestimmt werden:


K Tp Tc Leerlaufverstrkung = letzte nderung von PV / nderung von CV zum Zeitpunkt t0 (beachten Sie, da K keinen Index hat). Prozess- oder Pipeline-Zeitverzgerung oder Totzeit nach t0, bis sich der Prozessausgang PV anfngt zu bewegen. Prozesszeitkonstante erster Ordnung; nach Tp von PV bentigte Zeit, um 63,2% des PV-Endwerts zu erreichen.

Normalerweise knnen Sie diese Parameter am schnellsten messen, indem Sie den PID-Block in Handmodus schalten und den CV-Ausgang um einen kleinen Schritt verndern. Hierzu verndern Sie den Handbefehl %Ref+13 und zeigen die PVAntwort als Funktion der Zeit an. Bei langsamen Prozessen kann dies von Hand durchgefhrt werden; bei schnelleren Prozessen sollten Sie einen Schreiber oder ein Computergraphik-Datenerfassungspaket verwenden. Die Sprunghhe von CV sollte zwar gro genug sein, um eine merkliche nderung von PV zu bewirken, aber nicht so gro, da sie den gemessenen Prozess unterbrechen wrde. Als Richtwert knnen Sie 2 bis 10% des Unterschieds zwischen oberer und unterer Begrenzung annehmen.

GFK-1503-GE

GFK-1503-GEKapitel 10 Die PID-Funktion

10-15

10

Einstellen der Parameter und Abgleich der Schleifenverstrkungen


Da alle PID-Parameter vollstndig vom geregelten Prozess abhngen, gibt es keine funktionierenden Standardwerte. Eine brauchbare Schleifenverstrkung knnen Sie mit schrittweiser Annherung an die exakte Lsung wie nachfolgend beschrieben ermitteln: 1. Setzen Sie zunchst alle Anwenderparameter auf 0. Setzen Sie dann die obere und untere CV-Begrenzung auf den hchsten bzw. niedrigsten CVWert, der zu erwarten ist. Stellen Sie das Ausfhrungsintervall auf die geschtzte Prozesszeitkonstante (oben) /10 bis 100. 2. Schalten Sie den Block auf Handbetrieb und stellen Sie Handbefehl (%Ref+13) auf unterschiedliche Werte ein. Prfen Sie dabei, ob CV dadurch auf die obere oder untere Begrenzung gebracht werden kann. Schreiben Sie den PV an einem PV-Punkt auf und laden Sie diesen Wert in SP. 3. Stellen Sie Kp auf eine kleine Verstrkung (z.B. 100 * max. CV / max. PV) ein und schalten Sie den Handmodus ab. Verndern Sie SP sprunghaft auf 2 bis 10% des maximalen PV-Bereichs und beobachten Sie die Reaktion von PV. Erhhen Sie Kp, wenn die PV-Sprungantwort zu langsam ausfllt bzw. verkleinern Sie Kp, wenn PV berschwingt und oszilliert, ohne einen stationren Wert anzunehmen. 4. Haben Sie Kp ermittelt, erhhen Sie Ki so, da ein berschwingen auftritt, welches in 2 oder 3 Zyklen auf einen stationren Wert gedmpft wird. Es kann dabei erforderlich werden, Kp zu reduzieren. Probieren Sie es auch mit unterschiedlichen Sprunghhen und CV-Arbeitspunkten. 5. Nachdem Sie passende Werte fr Kp und Ki gefunden haben, addieren Sie versuchsweise Kd, um eine schnelle Reaktion auf Eingangsnderungen zu erhalten (vorausgesetzt, das System beginnt nicht zu schwingen). Kd wird hufig nicht bentigt und funktioniert nicht bei verrauschtem PV. 6. berprfen Sie die Verstrkungswerte ber verschiedenen SPArbeitspunkten. Stellen Sie bei Bedarf zustzlich Totzone und Nachfhrgrenze ein. Bei einigen Prozessen mit umgekehrter Wirkungsrichtung kann es erforderlich sein, die Vorzeichen- oder Polarittsbits im Konfigurationswort zu setzen.

10-16

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

10 Abgleich nach Ziegler und Nichols


Nachdem Sie die drei Parameter K, Tp und Tc des Prozessmodells ermittelt haben, knnen Sie sie zur Abschtzung der PID-Anfangsschleifenverstrkungen benutzen. Mit dem folgenden Verfahren kann eine gute Antwort auf Systemstrungen mit Verstrkungsfaktoren erzielt werden, die ein Amplitudenverhltnis von 1/4 erzeugen. Das Amplitudenverhltnis ist das Verhltnis des zweiten zum ersten Maximum im Regelkreis-bertragungsverhalten. 1. Berechnen Sie die Reaktionsgeschwindigkeit: R = K/Tc 2. Berechnen Sie bei Proportionalregelung die Proportionalverstrkung Kp: Kp = 1/(R * Tp) = Tc/(K * Tp) Berechnen Sie bei PI-Regelung: Kp = 0,9/(R * Tp) = 0,9 * Tc/(K * Tp) Ki = 0,3 * Kp/Tp Berechnen Sie bei PID-Regelung: Kp = G/(R * Tp) mit G von 1,2 bis 2,0 Ki = 0,5 * Kp/Tp Kd = 0,5 * Kp * Tp 3. berprfen Sie, ob das Ausfhrungsintervall in diesem Bereich liegt: (Tp + Tc)/10 bis (Tp + Tc)/1000

Die ideale Abstimmungsmethode


Bei der "idealen Abstimmungsmethode" erzielen Sie die besten Reaktionen auf nderungen von SP, die nur von der Prozessverzgerung Tp oder der Totzeit verzgert werden. Kp = 2 * Tc/(3 * K * Tp) Ki = Tc Kd = Ki/4 wenn der Differentialanteil verwendet wird. Nachdem die Anfangsverstrkungsfaktoren ermittelt wurden, mssen sie in ganze Zahlen umgewandelt werden. Berechnen Sie die Prozessverstrkung K als eine nderung der Eingangs-PV-Zhlwerte dividiert durch die sprunghafte Ausgangsnderung in CV-Zhlwerten und nicht in technischen Prozess-PV- oder CV-Einheiten. Geben Sie alle Werte in Sekunden an. Nachdem Kp, Ki und Kd bestimmt wurden, knnen Kp und Kd mit 100 multipliziert und als ganze Zahlen eingegeben werden. Ki kann mit 1000 multipliziert werden und in den Anwenderparameter %RefArray eingetragen werden.

GFK-1503-GE

GFK-1503-GEKapitel 10 Die PID-Funktion

10-17

10

Beispiel eines PID-Aufrufs


Das nachstehende Beispiel hat ein Ausfhrungsintervall von 100 ms, eine KpVerstrkung von 4,00 und eine Ki-Verstrkung von 1,500. Der Sollwert SP wird in %R0001 gespeichert, whrend die Regelgre CV in %AQ0002 ausgegeben und die Prozessvariable in %AI0003 zurckgefhrt wird. Die oberen und unteren Begrenzungen mssen in diesem Fall auf 20000 und 4000 eingestellt werden; eine schmale Totzone von +5 und -5 wurde wahlweise eingesetzt. Das aus 40 Worten bestehende Adrefeld beginnt bei %R0100. Normalerweise werden die Anwenderparameter im Adrefeld eingestellt. Es kann jedoch auch %M0006 gesetzt werden, um die 14 Worte ab %R0102 (%Ref+2) aus den im Programm gespeicherten Konstanten neu zu initialisieren (eine ntzliche Technik).
%M0006 BLK_ CLR WORD %R0100 IN LEN 00035 BLKMV INT IN1 Q IN2 IN3 IN4 IN5 IN6 IN7 BLKMV INT IN1 Q IN2 IN3 IN4 IN5 IN6 IN7 %T0001 PID_ IND %R0001 %AI0003 %M0001 %M0004 UP %M0004 DN %M0002 ADD_ INT %R0113 %R0002 %M0003 SUB_ INT %R0113 %R0002 I1 I2 Q %R0113 I1 I2 Q %R0113 %R0100 SP CV PV MAN %AQ0002

CONST +00010 CONST +00005 CONST +00005 CONST +00400 CONST +00000 CONST +01500 CONST +00000

%R00102

CONST +20000 CONST +00400 CONST +00000 CONST +00000 CONST +00000 CONST +00000 CONST +00000

%R00109

ALW_ON

Der Block kann mit %M1 auf Handmodus umgeschaltet werden, so da der Handbefehl %R113 eingestellt werden kann. Mit den Bits %M4 und %M5 knnen %R113, PID CV und Integrator in jeder 100-ms-Bearbeitung um 1 erhht oder erniedrigt werden. Fr schnelleren Handbetrieb kann mit den Bits %M2 und %M3 in jedem SPS-Zyklus der Wert aus %R2 zu %R113 addiert bzw. davon abgezogen werden. Der Ausgang %T1 ist durchgeschaltet, wenn die PID-Funktion in Ordnung ist.

10-18

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Anhang

Befehlsausfhrungszeiten

A
Dieser Anhang enthlt die CPU-Befehlsausfhrungszeiten der einzelnen im CPU-Befehlssatz verfgbaren Funktionen. Die unter "Freigegeben" angezeigte Zeit gilt fr Einheiten einfacher Lnge vom Typ %R.

Erforderliche Zeitangaben.
Fr die Tabellenfunktionen sind die Inkremente in Lngeneinheiten angegeben; fr Bitoperationen in Mikrosekunden/Bit; fr Datenkopierfunktionen in Mikrosekunden/Anzahl Bits oder Worte. Die freigegebene Zeit ist fr Einheiten einfacher Lnge vom Typ %R, %AI oder %AQ. DOIO ist die Zeit zur Ausgabe von Werten an diskrete Ausgangsmodule. Wo mehrere Flle mglich sind, wird der Wert des ungnstigsten Falles angegeben. Bei Anweisungen mit Inkrementalwert wird das Inkrement mit (Lnge 1) multipliziert. Dieser Wert ist dann zur Grundzeit hinzuzuzhlen.

Ausfhrungszeiten
Fr jede Funktion werden zwei Ausfhrungszeiten angegeben:
Freigegeben Von einer Funktion oder einem Funktionsblock bentigte Zeit, wenn Stromflu in die Funktion hinein und aus der Funktion heraus mglich ist. Die krzesten Zeiten treten normalerweise auf, wenn der Block im Anwender-RAM steht (wortstrukturierter Speicher) und nicht im ISCP-Cache (bitstrukturierter Speicher). Fr die Ausfhrung einer Funktion bentigte Zeit, wenn zwar Stromflu in die Funktion bzw. den Funktionsblock mglich ist, diese aber in einem Gesperrten Zustand ist (z.B. ein Timer, der im Rcksetzzustand gehalten wird).

Gesperrt

Hinweis
Timer und Zhler werden immer aktualisiert, wenn sie in der Logik angetroffen werden; Timer um den seit dem letzten Zyklus aufgelaufenen Zeitwert und Zhler um einen Zhlwert.

GFK-1503-GE

A-1

A Timer, Zhler, arithmetische Funktionen, trigonometrische Funktionen, Logarithmusfunktionen


Gruppe Timer Funktion Einschaltverzgerung Timer Abschaltverzgerung Zhler Aufwrtszhler Abwrtszhler Arithmetikfunktio Addition (INT) nen Addition (DINT) Addition (REAL) Subtraktion (INT) Subtraktion (DINT) Subtraktion (REAL) Multiplikation (INT) Multiplikation (DINT) Multiplikation (REAL), Division (INT) Division (DINT), Division (REAL) Modulo Division (INT) Modulo Division (DINT) Quadratwurzel (INT) Quadratwurzel (DINT) Quadratwurzel (REAL) Trigonometrische SIN (REAL) Funktionen COS (REAL) TAN (REAL) ASIN (REAL) ACOS (REAL) ATAN (REAL) Logarithmische Funktionen LOG (REAL) LN (REAL) Freigegeb en Gesperrt Inkrement Gre 15 15 15 13 13 13 19 17 13 19 17 13 19 17 13 19 17 13 19 10 13 11 11 11 11 11 11 11 11 11

A-2

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

A Exponentialfunktionen, Radiantumwandlung, relationale Funktionen


Gruppe Exponentialfunktion RadiantUmwandlung Relationale Funktionen EXP, EXPT Umwandeln RAD in DEG Umwandeln DEG in RAD Gleich (INT) Gleich (DINT) Gleich (REAL) Ungleich (INT) Ungleich (DINT) Ungleich (REAL) Grer als (INT) Grer als (DINT) Grer als (REAL) Grer als/gleich (INT) Grer als/gleich (DINT) Grer als/gleich (REAL) Kleiner als (INT) Kleiner als (DINT) Kleiner als (REAL) Kleiner als/gleich (INT) Kleiner als/gleich (DINT) Kleiner als/gleich (REAL) Bereich (INT) Bereich (DINT) Bereich (WORD) Funktion Freigegeb en Gesperrt Inkrement Gre 11 17 11 11 10 16 14 10 16 14 10 16 14 10 10 14 10 16 14 10 16 14 13 22 13

GFK-1503-GE

Anhang A Befehlsausfhrungszeiten

A-3

A Bitoperationen, Datenkopierfunktionen
Gruppe Bit Operation Funktion Logisch UND Logisch ODER Logisches Exklusiv-ODER Logisch invertiert, NOT Bit nach links verschieben Bit nach rechts verschieben Bit nach links rotieren Bit nach rechts rotieren Bitposition Bit auf 0 setzen Bit testen Bit auf 1 setzen Vergleich mit Maske (WORD) Vergleich mit Maske (DWORD) Daten kopieren Kopieren (INT) Kopieren (BIT) Kopieren (WORD) Kopieren (REAL) Block kopieren (INT) Block kopieren (WORD) Block kopieren (REAL) Block lschen Schieberegister (BIT) Schieberegister (WORD) Bitfolgesteuerung Freigegebe n Gesperrt Inkrement Gre 13 13 13 10 16 16 16 16 13 13 13 13 25 25 10 13 10 13 28 28 13 11 16 16 16

A-4

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

A Tabellenfunktionen
Gruppe Tabelle Funktion Feld kopieren INT DINT BIT BYTE WORD Suche gleiche INT DINT BYTE WORD Suche ungleiche INT DINT BYTE WORD Suche grer als INT DINT BYTE WORD Suche Grer als/gleich INT DINT BYTE WORD Suche kleiner als INT DINT BYTE WORD Suche kleiner als/gleich INT DINT BYTE WORD Freigegeb en Gesperrt Inkrement Gre

22 22 22 22 22 19 22 19 19 19 22 19 19 19 22 19 19 19 22 19 19 19 22 19 19 19 22 19 19

GFK-1503-GE

Anhang A Befehlsausfhrungszeiten

A-5

A Umwandlungs- und Steuerfunktionen


Gruppe Umwandlung Funktion Umwandeln in INT Umwandeln in BCD-4 Umwandeln in REAL Umwandeln in WORD Abschneiden auf INT Abschneiden auf DINT Steuerung Unterprogrammaufruf E/A-Aktualisierung PID ISA-Algorithmus PID IND-Algorithmus Ende-Anweisung Bedienanforderung #6 #7 (lesen) #7 (setzen) #14 #15 #16 #18 #23 #26//30 #29 Geschachtelte MCR/ENDMCR Kombiniert COMM_REQ Freigegeb en Gesperrt Inkrement Gre

A-6

VersaMax SPS Anwenderhandbuch Oktober 1998

GFK-1503-GE

Index
A
Ablaufsprache 6-5 Analogausgnge 7-2 Analogeingnge 7-2 Anwenderprogramm 6-1 verfgbarer Speicher 6-2 Arithmetische Funktionen 6-9 Aufrufebenen 6-3 Ausfhrungszeiten A-1 Ausgabezyklus 5-3 Ausgangsreferenzen 7-2 Ausgangsreferenzen, diskrete 7-4 Autokonfiguration 4-2 Automatische Einwahl 922 Befehlsfolgen fr Hayes-kompatible Modems 9-22 Betriebsartenschalter 2-3 Betriebszeituhr, lesen 8-2 Bitoperationen 6-10 Bitspeicher 7-3 Blocksperrung 6-4 Bytes lesen 9-25 Bytes schreiben 9-24

C
CE 1-3 COMMREQ 9-2 4300 9-15 4301 9-16 4302 9-17 4303 9-18 4304 9-20 4399 9-21 4400 9-22 4401 9-24 4402 9-25 4403 9-27 fr serielle E/A 9-2 CPU001 2-2 CPU-Gre 2-3 CPU-Zyklus 5-1

B
Batterie auswechseln 3-7 Bedienanforderung Betriebszeituhr lesen 8-24 E/A abfragen 8-27 E/A-OVERRIDE-Zustand lesen 8-25 Fehlertabellen lschen 8-21 Funktionsnummern 8-2 Hauptprfsumme lesen 8-26 SPS abschalten (Stop) 8-20 Verstrichene Stromausfallzeit lesen 8-28 Zeituhr einstellen/lesen 8-121 Zuletzt eingetragenen Fehlertabelleneintra g lesen 8-22 Bedienanforderungsfunktion 8-3 Befehlssatz 1-6, 6-7 Befestigungslcher 3-3 Beispiele

CPU-Installation 3-3

D
Datenkopierfunktionen 6-11 Datenremanenz 7-5 Datentypen BCD-4 7-12 BIT 7-12 BYTE 7-12 DINT 7-13 INT 7-12 REAL 7-12 WORD 7-12 Diagnose, Modul hinzugefgt 4-5 Diagnose, nicht untersttztes Modul 4-5 Diagnose, verlorenes Modul 4-5 Diagnose, zustzliches Modul 4-5 Diagnosefunktionen 4-4 Diskrete Referenzen 7-4 Dokumentation 1-2
Index-1

GFK-1503-GE

Index E
E/A, abfragen 8-2 E/A-Modul, Installation 3-6 E/A-Punkte 1-3 Eingabeszyklus 5-3 Eingangspuffer einrichten 9-16 Eingangspuffer entleeren 9-17 Eingangsreferenzen 7-2, 7-4 Endefunktion 5-8 Keine Zahl (NaN) 7-14 Kommunikationsanforderungsfunktion 9-2 Kommunikationsfenster 5-3 Konstante Zyklusdauer 5-5 Kontaktplan 6-6

L
LEDs 2-4 Leitungslngen 2-5

M
Mehrpunktverbindungen 3-13 Modem Hayes-kompatibel 9-22 Module pro Station 1-3

F
Fehlertabellen, lschen 8-2 Fensterzeiten lesen 8-2 Freiraum 3-2 Funktion "Schnittstelle initialisieren" 9-15

N
NaN 7-14

G
Genius NIU Anwenderhandbuch 1-2 Gleitpunktzahlen 7-13 Globaldatenreferenzen 7-4 Gre von Hauptprogramm oder Unterprogramm 1-5, 6-3

O
Ordnername, lesen 8-2 Overridebits 7-4 OVERRIDE-Zustand, lesen 8-2

P
Passworte 5-10 PID-Funktion 10-4 Zeitintervall 10-5 Schnittstelle 1 2-6 Schnittstelle 2 2-6 Schnittstellentatus lesen 9-18 Profibus NIU Anwenderhandbuch 1-2 Profilschiene 3-3 ProgrammiergerteKommunikationsfenster 5-3 Programmiergerte-Kommunikationsfenster ndern 8-2 Programm-Prfsumme 5-3 Programmzyklus 5-3 Protokollfehler 9-10 Prfsumme 5-3, 8-10 Anzahl Worte ndern/lesen 8-2
GFK-1503-GE

H
Handbcher 1-2 Hauptprogramm 6-3

I
IC200CPU001 2-2 Installationsanforderungen fr CE-Zeichen 3-14

K
Kabelschirm 2-6
Index-2 VersaMax SPS AnwenderhandbuchOktober 1998

Index
Prfsumme, lesen 8-2 Punkt-zu-Punkt-Verbindung RS-232 3-9 Punkt-zu-Punkt-Verbindungen RS-485 3-12 Funktion "Schnittstellenstatus lesen" 9-18 Funktion "Schnittstellensteuerung schreiben" 9-20 Funktion "Zeichenfolge lesen" 9-27 Serielle Schnittstellen 2-5 Serielle Schnittstelle und Kabel, Mehrpunktverbindungen 3-13 RS-485 Punkt-zu-Punkt-Verbindung 3-9, 3-12 Sicherheit, System Passworte 5-10 SNP 9-5 SNP Master 9-10 Speicher fr Anwenderprogramm 6-2 Speicher, Bit 7-4 Speicherbelegung 7-2 SPS ID, lesen 8-2 SPS-Zyklus Aufruf serielle E/A 9-10 Standardzyklusbetrieb 5-4 Statusreferenzen 7-4, 7-6 Steckpltze 4-2 Steuerfunktionen 6-12 CALL 5-8 END 5-8 Stromausfallzeit, lesen 8-2 Strombedarf 3-6 Stromversorgung, Installation 3-5 SVCREQ 8-2 Anzahl der Worte fr Prfsumme verndern/lesen (#6) 8-2 Betriebszeituhr lesen (#16) 8-2 E/A abfragen (#26 oder 30) 8-2 E/A-OVERRIDE-Zustand lesen (#18) 8-2 Fehlertabellen lschen (#14) 8-2 Fehlertabellen, lesen (#15) 8-2 Fensterwerte lesen (#2) 8-2 Fensterzeiten lesen (#2) 8-6 Hauptprfsumme lesen (#23) 8-2 Ordnername lesen (#10) 8-2, 8-17 ProgrammiergerteKommunikationsfenster ndern (#3) 8-2 Prfsumme ndern/lesen (#6) 8-2 SPS abschalten (#13) 8-2 SPS ID lesen (#11) 8-2, 8-19

R
Reelle Zahlen 7-13 Referenzbeschreibung 7-6 Referenzen 7-2 analog 7-2 Registerreferenzen 7-2 Relaisfunktionen 6-7 Relationale Funktionen 6-10 Remanenz, Daten 7-5 RS-232 1-4, 2-2, 3-9 RS-485 2-2, 3-9 RTU 2-5 RTU Slave 9-10

S
Schalttafelmontage 3-4 Schrauben 3-3 Schutz gegen schnelle Spannungsste Anforderungen fr CEZeichen 3-14 Schutz gegen statische Entladungen Anforderungen fr CEZeichen 3-14 Serielle E/A Eingangspufferfunktion 916 Funktion "Bytes lesen" 925 Funktion "Bytes schreiben" 9-22, 9-24 Funktion "Eingangspuffer entleeren" 9-17 Funktion "Operation abbrechen" 9-21 Funktion "Schnittstelle initialisieren" 9-15
GFK-1503-GE Index

Index-3

Index
SystemKommunikationsfen ster ndern (#4) 8-2 Timer fr konstante Zyklusdauer verndern/lesen (#1) 8-2, 8-5 Verstrichene Stromausfallzeit lesen (#29) 8-2 Zeituhr einstellen/lesen (#7) 8-2 Zyklusdauer lesen (#9) 8-16 Zykluszeit lesen (#9) 8-2 SVCREQ-Funktionen 1-7 Symbolische Adressen 7-6 System-Kommunikationsfenster 5-3 ndern (#4) 8-2

berspannungsschutz 3-14 bertragungsgeschwindigkeiten 2-5 Watchdog-Zeitgeber 5-4 Umwandlungsfunktion 6-11 Unterprogrammaufruf-Funktion 5-8 Unterprogramme Aufruf 6-4 lokale Bezeichnungen 7-6 sperren/entsperren 6-4

V
Vibrationsfestigkeit 3-3

W
Watch-Zeitgeber rcksetzen 8-2, 8-16

T
Tabellenfunktionen 6-11 Technische Daten 2-3 Temporre Referenzen 7-4 Timer 6-9 Timer fr konstante Zyklusdauer 5-5 verndern/lesen (#1) 8-2 Timer, Watchdog-Zeitgeber 54 Trger 1-3 Transitionsbits 7-4

Wortspeicher Referenzen 7-2

Z
Zhler 6-9 Zeichenfolge lesen 9-27 Zeitkontakte 7-15 Zuweisung Referenzadressen 4-2 Zyklus, CPU 5-1 konstante Zyklusdauer 5-5 Standardzyklus 5-4

Index-4

VersaMax SPS AnwenderhandbuchOktober 1998

GFK-1503-GE