Sie sind auf Seite 1von 587

Cat. No.

W353-DE1-02

Variablen: Vor Druckbeginn bitte entfernen!!!

SYSMAC CPM1(A)/CPM2_/SRM1(-V2)

Cat. No. W353-DE1-02


Programmierbare Steuerungen

SYSMAC CPM1(A)/CPM2_/SRM1(-V2)
Bedienerhandbuch

Bedienerhandbuch
Kurzübersicht
1 SPS-Konfiguration
159 Erweiterungsbaugruppen
285 Speicherbereiche
337 Befehlssatz
OMRON EUROPE B.V. – Wegalaan 67-69 – 2132 JD Hoofddorp – The Netherlands
phone: + 31 - 23 56 81 300 – fax: + 31 - 23 56 81 388 – www.europe.omron.com
Advanced Industrial Automation

Technische Änderungen vorbehalten.


Cat. No. W353-DE1-02
CPM1/CPM1A/CPM2A/CPM2C/SRM1(-V2)
Speicherprogrammierbare
Steuerungen
Bedienerhandbuch
Version Januar 2002

i
E Copyright by OMRON, Langenfeld, Januar 2002
Alle Rechte vorbehalten. Kein Teil dieser Veröffentlichung darf in irgendeiner
Form, wie z. B. Druck, Fotokopie oder einem anderen Verfahren, ohne schriftliche
Genehmigung der Firma OMRON, Langenfeld, reproduziert, vervielfältigt oder
veröffentlicht werden.
Änderungen vorbehalten.

ii
Vorwort
In diesem Bedienerhandbuch der SPS CPM1/CPM1A/CPM2A/SRM1(–V2)
finden Sie detaillierte Informationen über die Programmierung der SPS ein-
schließlich der Speicherstruktur, der Speicherbereiche und der Kontaktplan–
Programmierung. Weitere Informationen über die Hardware und den Einsatz
der Programmierkonsole finden Sie in den Technischen Handbüchern der
jeweiligen Steuerung. Die Programmiersoftware SYSWIN ist im SYSWIN–Be-
dienerhandbuch dargestellt.
Es werden nur die CPM1/CPM1A/CPM2A/SRM1(–V2)–spezifischen Befehle
und Anweisungen in diesem Bedienerhandbuch vorgestellt. Für alle anderen
OMRON–Steuerungen müssen separate Bedienerhandbücher angefordert
werden.
Die englischsprachige Version dieses Handbuches kann unter der Kat–Nr.
W353–E1–3 bestellt werden.
Um die Arbeit mit diesem Handbuch für Sie besonders effizient zu gestalten,
beachten Sie bitte folgendes:
– Das Gesamt–Inhaltsverzeichnis finden Sie im direkten Anschluß an das
Vorwort.
– Die eingesetzten Symbole und deren Bedeutungen sind nachfolgend dar-
gestellt.

! Gefahr Ein Nichtbeachten hat mit hoher Wahrscheinlichkeit den Tod oder schwere
Personenschäden zur Folge.

! Achtung Ein Nichtbeachten hat möglicherweise den Tod oder schwere


Personenschäden zur Folge.

! Vorsicht Ein Nichtbeachten kann zu leichten bis mittelschweren Personenschäden,


Sachschäden oder Betriebsstörungen führen.

Hinweis Gibt besondere Hinweise für den effizienten und sachgerechten Umgang mit
dem Produkt.

1, 2, 3... 1. Unterteilt Handlungsabläufe in einzelne Schritte, beinhaltet Checklisten


usw.

iii
Inhalt

KAPITEL 1 – SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1-1 SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1-1-1 Änderung der SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1-1-2 CPM1–/CPM1A–SPS–Konfigurationseinstellungen . . . . . . . . . . . . . . 3
1-1-3 CPM2A–/CPM2C–SPS–Konfigurationseinstellungen . . . . . . . . . . . . . 8
1-1-4 SRM1(–V2) SPS–Konfigurationseinstellungen . . . . . . . . . . . . . . . . . . 15
1-2 SPS–Basisoperationen und E/A–Verarbeitungen . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1-2-1 Start–Betriebsart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1-2-2 Systemhaftmerker–Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1-2-3 Programmspeicher–Schreibschutz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1-2-4 RS–232C–Schnittstellen–Servicezeit
(nur CPM2A/CPM2C/SRM1(–V2)) . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1-2-5 Servicezeit der Peripherieschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1-2-6 Zyklusüberwachungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1-2-7 Minimum–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1-2-8 Eingangs–Zeitkonstanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1-2-9 |Fehlerprotokoll–Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
KAPITEL 2 – Besonderheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2-1 CPM2A/CPM2C–Interrupt–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2-1-1 Eingangsgesteuerte Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2-1-2 Intervall–Zeitgeber–gesteuerter Interrupt . . . . . . . . . . . . . . . . . . . . . . . 34
2-2 CPM2A/CPM2C Schneller Zähler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2-2-1 Anwendung des Schnellen Zählers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2-2-2 Eingangsgesteuerte Interrupts im Zählmodus . . . . . . . . . . . . . . . . . . . . 61
2-3 CPM1/CPM1A–Interrupt–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2-3-1 Arten von Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2-3-2 Eingangs–Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2-3-3 Maskierung aller Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2-3-4 Intervall–Zeitgeber–gesteuerte Interrupts . . . . . . . . . . . . . . . . . . . . . . 78
2-3-5 Schnelle Zähler–Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2-4 SRM1(–V2) Interrupt–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2-4-1 Interrupt–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2-4-2 Intervall–Zeitgeber–Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2-5 CPM2A/CPM2C–Impulsausgabefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2-5-1 Einsatz von einphasigen Impulsausgaben ohne Beschleunigung und Bremsung
(festes Tastverhältnis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2-5-2 Verwendung der Impulsausgänge mit variablem Tastverhältnis . . . . . . 106
2-5-3 Impulsausgaben mit trapezförmiger Beschleunigung and Abbremsung 111
2-6 CPM1A–Impulsausgabefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
2-6-1 Programmbeispiel für die Betriebsart Ununterbrochen . . . . . . . . . . . . 126
2-6-2 Programmbeispiel in der Betriebsart Unabhängig . . . . . . . . . . . . . . . . 126
2-6-3 Verwendung der Impuls–Ausgabebefehle . . . . . . . . . . . . . . . . . . . . . . . 126
2-6-4 Ändern der Frequenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
2-6-5 Anhalten der Impulsausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
2-7 Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) . . . . . . . . . . . . . . . . . . . 129
2-8 Toleranzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2-8-1 Impulsausgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2-8-2 Synchronisierte Impulssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2-9 Analoge E/A–Funktionen (nur CPM1/CPM1A/CPM2A/CPM2C) . . . . . . . . . . . . 142
2-10 Temperaturfühler–Eingangsfunktionen (nur CPM1A/CPM2A/CPM2C) . . . . . . . 142
2-11 CompoBus/S–E/A–Slavefunktionen (nur CPM1A/CPM2A/CPM2C) . . . . . . . . . 143
2-12 CompoBus/S–E/A–Master–Funktionen (nur SRM1(–V2)) . . . . . . . . . . . . . . . . . . 143
2-13 Einstellschaltungen (nur CPM1/CPM1A/CPM2A) . . . . . . . . . . . . . . . . . . . . . . . . 145
2-14 Eingänge mit Impulsspeicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
2-14-1 CPM1/CPM1A–Eingänge mit Impulsspeicherung . . . . . . . . . . . . . . . . 147
2-14-2 CPM2A/CPM2C–Eingänge mit Impulsspeicherung . . . . . . . . . . . . . . . 148
2-15 Makrofunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

v
Index

2-16 Berechnungen mit vorzeichenbehafteten Binärdaten . . . . . . . . . . . . . . . . . . . . . . . 153


2-16-1 Definition vorzeichenbehafteter Binärdaten . . . . . . . . . . . . . . . . . . . . . 153
2-16-2 Arithmetische Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2-16-3 Eingabe vorzeichenbehafteter Binärdaten unter Verwendung
von Dezimalwerten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2-17 Flankenüberwachung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2-18 Erweiterte Befehle (nur CPM2A/CPM2C/SRM1(–V2) ) . . . . . . . . . . . . . . . . . . . 154
2-18-1 Erweiterte Befehle der CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . 156
2-18-2 Erweiterte Befehle der SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
2-19Verwendung der CPM2A/CPM2C–Uhrfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2-19-1 Datenbereichs–Worte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2-19-2 Einstellung der Zeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
KAPITEL 3 – Anschluss von Erweiterungsbaugruppen . . . . . . . . . . . . . . . 159
3-1 Analoge E/A–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
3-1-1 Analoge E/A–Baugruppen CPM1/CPM1A/CPM2A . . . . . . . . . . . . . . 160
3-1-2 Analoge E/A–Baugruppen der CPM2C . . . . . . . . . . . . . . . . . . . . . . . . 169
3-2 Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
3-2-1 Temperaturfühler–Baugruppen der CPM1A/CPM2A . . . . . . . . . . . . . . 181
3-2-2 Temperaturfühler–Baugruppen der CPM2C . . . . . . . . . . . . . . . . . . . . . 182
3-2-3 Verwendung der Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . . 184
3-2-4 Anschließen von Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . . 184
3-2-5 Einstellung der Temperaturbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
3-2-6 Anschluss der Temperaturfühler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
3-2-7 Kontaktplanprogrammierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
3-2-8 Zwei–Dezimalstellen–Betriebsart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
3-3 CompoBus/S–E/A–Link–Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

KAPITEL 4 – Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . 207


4-1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
4-1-1 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
4-1-2 Schnittstellenverdrahtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
4-2 CPM1–/CPM1A–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
4-2-1 Host–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
4-2-2 1:1–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . 211
4-2-3 1:1–PC–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . . 212
4-3 CPM2A–/CPM2C–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . 214
4-3-1 Host–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
4-3-2 Ohne Protokoll–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . 231
4-3-3 1:1–NT–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
4-3-4 1:1–PC–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
4-4 SRM1(–V2)–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
4-4-1 Host–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
4-4-2 Ohne Protokoll–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . 251
4-4-3 1:1–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . 256
4-4-4 1:n–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . 257
4-4-5 1:1–PC–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . . 258
4-5 Host–Link–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
4-5-1 IR/SR–Bereich lesen – RR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
4-5-2 LR–Bereich lesen – RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
4-5-3 HR–Bereich lesen – RH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
4-5-4 Istwert lesen – RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
4-5-5 TC–Status lesen – RG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
4-5-6 DM–Bereich lesen – RD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
4-5-7 AR–Bereich lesen – RJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
4-5-8 IR/SR–Bereich schreiben – WR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
4-5-9 LR–Bereich schreiben – WL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
4-5-10 HR–Bereich schreiben – WH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
4-5-11 Istwert schreiben – WC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
4-5-12 TC–Status schreiben – WG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
4-5-13 DM–Bereich schreiben – WD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
4-5-14 AR–Bereich schreiben – WJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
4-5-15 Sollwert lesen 1 – R# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

vi
Index

4-5-16 Sollwert lesen 2 – R$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269


4-5-17 Sollwert ändern 1 – W# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
4-5-18 Sollwert ändern 2 – W$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
4-5-19 Status lesen – MS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
4-5-20 Status schreiben – SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
4-5-21 Fehler lesen – MF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
4-5-22 Zwangsweises setzen – KS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
4-5-23 Zwangsweises rücksetzen – KR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
4-5-24 Mehrfaches zwangsweises setzen/rücksetzen – FK . . . . . . . . . . . . . . . 277
4-5-25 Zwangsweises Setzen/Rücksetzen aufheben – KC . . . . . . . . . . . . . . . . 278
4-5-26 SPS–Typ lesen – MM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
4-5-27 Test – TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
4-5-28 Programm lesen – RP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
4-5-29 Programm speichern – WP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
4-5-30 Zusammengefaßte Lesedaten – QQ . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
4-5-31 Abbruch – XZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
4-5-32 Initialisieren – :: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
4-5-33 TXD–Antwort – EX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
4-5-34 Nicht definierter Befehl – IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
KAPITEL 5 – Speicherbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
5-1 Speicherbereichsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
5-1-1 Speicherbereichsstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
5-1-2 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
5-1-3 CPM1/CPM1A/SRM1(-V2) Flash–Speicher . . . . . . . . . . . . . . . . . . . . 291
5-2 E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme . . . . . . . . . . . . . . . . 292
5-2-1 CPU–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
5-2-2 E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
5-2-3 Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
5-2-4 Beispiele für die Zuweisung von Erweiterungs– und
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
5-3 E/A–Zuweisung für CPM2C–SPS–Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
5-3-1 CPU–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
5-3-2 E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
5-3-3 Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
5-3-4 Beispiele für die Zuweisung von Erweiterungs– und
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
KAPITEL 6 – Kontaktplan–Programmierung . . . . . . . . . . . . . . . . . . . . . . . 309
6-1 Generelle Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
6-2 Befehlsterminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
6-3 Kontaktplanstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
6-3-1 Basis–Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
6-3-2 AWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
6-3-3 Kontaktplanbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
6-3-4 OUTPUT und OUTPUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
6-3-5 Der END–Befehl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
6-3-6 Logikblock–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
6-3-7 Programmierung mehrerer Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
6-3-8 Strompfad–Verzweigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
6-3-9 Sprungbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
6-4 Steuerung des Bitzustands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
6-4-1 SET und RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
6-4-2 DIFFERENTIATE UP– und DIFFERENTIATE DOWN
(Flankengesteuerte Ausführung) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
6-4-3 KEEP (Bistabiles Flip–Flop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
6-4-4 Selbsthaltemerker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
6-5 Arbeitsmerker (interne Relais) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
6-6 Vorsichtsmaßnahmen bei der Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
6-7 Programmausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

vii
Index

KAPITEL 7 – Befehlssatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337


7-1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
7-2 Befehlsformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
7-3 Datenbereiche, Zuweiserwerte und Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
7-4 Befehle mit flankengesteuerter Ausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
7-5 Eingabe von rechts angeordneten Befehlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
7-6 Befehlstabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
7-6-1 CPM1/CPM1A–Funktionscodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
7-6-2 CPM2A/CPM2C–Funktionscodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
7-6-3 SRM1(–V2) Funktionscodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
7-6-4 Alphabetischsortierte AWL–Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
7-7 Kontaktplanbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
7-7-1 LOAD, LOAD NOT, AND, AND NOT, OR und OR NOT . . . . . . . . . 350
7-7-2 AND LOAD und OR LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
7-8 Bitsteuerungs–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
7-8-1 OUTPUT und OUTPUT NOT – OUT und OUT NOT . . . . . . . . . . . . 352
7-8-2 SET und RESET – SET und RSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
7-8-3 KEEP (R–S– Flip–Flop) – KEEP(11) . . . . . . . . . . . . . . . . . . . . . . . . . . 353
7-8-4 DIFFERENTIATE UP and DOWN (Ausführung bei steigender/fallender Flanke)
DIFU(13) und DIFD(14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
7-9 NO OPERATION (Keine Funktion) – NOP(00) . . . . . . . . . . . . . . . . . . . . . . . . . . 355
7-10 END (ENDE) – END(01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
7-11 INTERLOCK und INTERLOCK CLEAR (Verriegelungsbefehle) –
IL(02) und ILC(03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
7-12 JUMP und JUMP END (Sprungbefehle) – JMP(04) und JME(05) . . . . . . . . . . . . 358
7-13 Anwenderdefinierte Fehlerbefehle
FAILURE ALARM AND RESET und SEVERE FAILURE ALARM –
FAL(06) und FALS(07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
7-14 Schrittbefehle
STEP DEFINE und STEP START (Schritt und nächster Schritt) –
STEP(08)/SNXT(09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
7-15 Zeitgeber– und Zählerbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
7-15-1 TIMER (ZEITGEBER) – TIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
7-15-2 HIGH–SPEED TIMER (Schneller Zeitgeber) – TIMH(15) . . . . . . . . . 364
7-15-3 VERY HIGH-SPEED TIMER (Sehr schneller Zeitgeber) –
TMHH(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
7-15-4 LONG TIMER (Langer Zeitgeber) – TIML(––) . . . . . . . . . . . . . . . . . . 367
7-15-5 COUNTER (Zähler) – CNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
7-15-6 REVERSIBLE COUNTER (Aufwärts–/Abwärtszähler) – CNTR(12) 370
7-15-7 REGISTER COMPARISON TABLE (Vergleichstabelle) – CTBL(63) 371
7-15-8 MODE CONTROL (Zählersteuerung) – INI(61) . . . . . . . . . . . . . . . . . 374
7-15-9 HIGH–SPEED COUNTER PV READ (Schneller Zähler–Istwert einlesen) –
PRV (62) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
7-16 Schiebebefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
7-16-1 SHIFT REGISTER (Schieberegister) – SFT(10) . . . . . . . . . . . . . . . . . 379
7-16-2 WORD SHIFT (Wortweises Verschieben) – WSFT(16) . . . . . . . . . . . 380
7-16-3 ARITHMETIC SHIFT LEFT (Verschiebung nach links) – ASL (25) . 381
7-16-4 ARITHMETIC SHIFT RIGHT (Arithmetisches Verschieben nach rechts) –
ASR(26) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
7-16-5 ROTATE LEFT (Rotation nach links) – ROL(27) . . . . . . . . . . . . . . . . 382
7-16-6 ROTATE RIGHT (Rotation nach rechts) – ROR(28) . . . . . . . . . . . . . . 382
7-16-7 ONE DIGIT SHIFT LEFT (Eine Stelle nach links verschieben) –
SLD(74) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
7-16-8 ONE DIGIT SHIFT RIGHT (Verschiebung um eine Stelle nach rechts) –
SRD(75) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
7-16-9 REVERSIBLE SHIFT REGISTER (Links/Rechts–Schieberegister) –
SFTR(84) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
7-16-10 ASYNCHRONOUS SHIFT REGISTER (Asynchrones Schieberegister) –
ASFT (17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
7-17 Datenübertragungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
7-17-1 MOVE (Übertragen) – MOV(21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
7-17-2 MOVE NOT (Invertiertes Übertragen) – MVN(22) . . . . . . . . . . . . . . . 388
7-17-3 BLOCK TRANSFER (Blockweise übertragen) – XFER(70) . . . . . . . . 389

viii
Index

7-17-4 BLOCK SET (Blockweise vorbesetzen) – BSET(71) . . . . . . . . . . . . . 390


7-17-5 DATA EXCHANGE (Datenaustausch) – XCHG(73) . . . . . . . . . . . . . . 391
7-17-6 SINGLE WORD DISTRIBUTE (Datenverteilung) – DIST(80) . . . . . 392
7-17-7 DATA COLLECT (Daten sammeln) – COLL(81) . . . . . . . . . . . . . . . . 393
7-17-8 MOVE BIT (Bit übertragen) – MOVB(82) . . . . . . . . . . . . . . . . . . . . . 395
7-17-9 MOVE DIGIT (Digit–Übertragung) – MOVD(83) . . . . . . . . . . . . . . . 396
7-18 Datensteuerungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
7-18-1 SCALING (Skalierung) – SCL(66) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
7-18-2 SIGNED BINARY TO BCD SCALING (Vorzeichenbehafteten Binärwert in
BCD–Wert konvertieren) – SCL2(––) . . . . . . . . . . . . . . . . . . . . . . . . . 399
7-18-3 BCD TO SIGNED BINARY SCALING (BCD–Wert in vorzeichenbehafteten
Binärwert konvertieren) – SCL3(––) . . . . . . . . . . . . . . . . . . . . . . . . . . 401
7-18-4 PID CONTROL (PID–Regelung) – PID(––) . . . . . . . . . . . . . . . . . . . . 403
7-19 Vergleichsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
7-19-1 COMPARE (Vergleich) – CMP(20) . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
7-19-2 TABLE COMPARE (Tabellenvergleich) – TCMP(85) . . . . . . . . . . . . . 410
7-19-3 BLOCK COMPARE (Blockweiser Vergleich) – BCMP(68) . . . . . . . . 411
7-19-4 DOUBLE COMPARE (Doppeltgenauer Vergleich) – CMPL(60) . . . . 413
7-19-5 – AREA RANGE COMPARE (Bereichsvergleich) – ZCP(––) . . . . . . 414
7-19-6 DOUBLE AREA RANGE COMPARE (Doppelwort– Bereichsvergleich) –
ZCPL(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
7-20 Konvertierungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
7-20-1 BCD–TO–BINARY (BCD–Binär–Konvertierung) – BIN(23) . . . . . . . 416
7-20-2 BINARY–TO–BCD (BIN–BCD–Konvertierung) – BCD(24) . . . . . . . 417
7-20-3 DOUBLE BINARY–TO–DOUBLE BCD (BCD–Doppelwort–zu–
BIN–Doppelwort–Konvertierung) – BINL(58) . . . . . . . . . . . . . . . . . . 418
7-20-4 DOOUBLE BINARY–TO–DOUBLE BCD (BIN–Doppelwort–zu–
BCD–Doppelwort–Konvertierung) – BCDL(59) . . . . . . . . . . . . . . . . . 418
7-20-5 4–TO–16 DECODER (4–in–16–Dekoder) – MLPX(76) . . . . . . . . . . . 419
7-20-6 16–TO–4 ENCODER (16–in–4–Enkoder) – DMPX(77) . . . . . . . . . . . 421
7-20-7 7–SEGMENT DECODER (Dekodierung für 7–Segment–Anzeige) –
SDEC(78) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
7-20-8 ASCII CONVERT (ASCII–Konvertierung) – ASC(86) . . . . . . . . . . . . 426
7-20-9 ASCII–TO–HEXADECIMAL (in Hexadezimal–Wort konvertieren) –
HEX(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
7-20-10 HOURS–TO–SECONDS (Stunden–in–Sekunden) – SEC(––) . . . . . . 430
7-20-11 SECONDS–TO–HOURS (Sekunden–in–Stunden) – HMS(––) . . . . . . 431
7-20-12 2’S COMPLEMENT (2er–Komplement) – NEG(––) . . . . . . . . . . . . . 432
7-21 BCD–Rechenbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
7-21-1 SET CARRY (Übertragsmerker setzen) – STC(40) . . . . . . . . . . . . . . . 434
7-21-2 CLEAR CARRY (Übertragsmerker rücksetzen) – CLC(41) . . . . . . . . 434
7-21-3 BCD ADDITION (BCD–Addition) – ADD(30) . . . . . . . . . . . . . . . . . . 434
7-21-4 BCD SUBTRACT (BCD–Subtraktion) – SUB(31) . . . . . . . . . . . . . . . 435
7-21-5 BCD MULTIPY (BCD–Multiplikation) – MUL(32) . . . . . . . . . . . . . . 437
7-21-6 BCD DIVIDE (BCD–Division) – DIV(33) . . . . . . . . . . . . . . . . . . . . . 438
7-21-7 DOUBLE BCD ADD (BCD–Doppelwort–Addition) – ADDL(54) . . . 439
7-21-8 DOUBLE BCD SUBTRACT (BCD–Doppelwort–Subtraktion) –
SUBL(55) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
7-21-9 DOUBLE BCD MULTIPLY (BCD–Doppelwort–Multiplikation) –
MULL(56) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
7-21-10 DOUBLE BCD DIVIDE (BCD–Doppelwort–Division) – DIVL(57) . 443
7-22 Binäre Rechenbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
7-22-1 BINÄR ADD (Binäre Addition) – ADB(50) . . . . . . . . . . . . . . . . . . . . 444
7-22-2 SBB(51) – BINARY SUBTRACT (Binäre Subtraktion) . . . . . . . . . . . 445
7-22-3 BINARY MULTIPLY (Binäre Multiplikation) – MLB(52) . . . . . . . . . 446
7-22-4 BINARY DIVIDE (Binäre Division) – DVB(53) . . . . . . . . . . . . . . . . . 447
7-23 Spezielle mathematische Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
7-23-1 DATA SEARCH (Datenbereiche durchsuchen) – SRCH(––) . . . . . . . . 448
7-23-2 FIND MAXIMUM (Maximum suchen) – MAX(––) . . . . . . . . . . . . . . 449
7-23-3 FIND MINIMUM (Minimum suchen) – MIN(––) . . . . . . . . . . . . . . . . 451
7-23-4 AVERAGE VALUE (Mittelwerte berechnen) – AVG(––) . . . . . . . . . . 453
7-23-5 SUM (Addition) – SUM(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
7-24 Logikbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
7-24-1 COMPLEMENT (Komplement) – COM(29) . . . . . . . . . . . . . . . . . . . . 457

ix
Index

7-24-2 LOGICAL AND (Wortweise UND–Verknüpfung) – ANDW(34) . . . . 458


7-24-3 LOGICAL OR (Wortweise ODER–Verknüpfung) – ORW(35) . . . . . . 458
7-24-4 EXCLUSIVE OR (Wortweise EXKLUSIV–ODER–Verknüpfung) –
XORW(36) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
7-24-5 EXCLUSIVE NOR (Wortweise EXKLUSIV–ODER–NICHT–Verknüpfung) –
XNRW(37) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
7-25 Inkrementier/Dekrementier–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
7-25-1 BCD INCREMENT (BCD–Wert inkrementieren) – INC(38) . . . . . . . 460
7-25-2 BCD DECREMENT (BCD–Wert dekrementieren) – DEC(39) . . . . . . 461
7-26 Unterprogramm–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
7-26-1 SUBROUTINE ENTER (Unterprogramm–Aufruf) – SBS(91) . . . . . . 462
7-26-2 SUBROUTINE DEFINE und RETURN (Unterprogramm–Anfang und
Unterprogramm–Ende) – SBN(92)/RET(93) . . . . . . . . . . . . . . . . . . . . 464
7-26-3 MACRO (Unterprogramm–Struktur) – MCRO(99) . . . . . . . . . . . . . . . 464
7-27 Impulsausgabe–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
7-27-1 SET PULSES (Impulsausgabe) – PULS(65) . . . . . . . . . . . . . . . . . . . . 466
7-27-2 SPEED OUTPUT (Geschwindigkeitsausgabe) – SPED(64) . . . . . . . . 467
7-27-3 ACCELERATION CONTROL (Beschleunigungssteuerung) –
ACC(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
7-27-4 PULSE WITH VARIABLE DUTY RATIO (Impulsausgabe mit
variablem Tastverhältnis) – PWM(––) . . . . . . . . . . . . . . . . . . . . . . . . . 473
7-27-5 SYNCHRONIZED PULSE CONTROL (Synchronisierte Impulsausgabe) –
SYNC(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
7-28 Spezielle Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
7-28-1 MESSAGE DISPLAY (Meldungsanzeige) – MSG(46) . . . . . . . . . . . . 477
7-28-2 I/O REFRESH (E/A–Auffrischung) – IORF(97) . . . . . . . . . . . . . . . . . 478
7-28-3 BIT COUNTER (Bits zählen) – BCNT(67) . . . . . . . . . . . . . . . . . . . . . 479
7-28-4 FRAME CHECKSUM (Rahmenprüfsumme berechnen) – FCS(––) . . 479
7-29 Interrupt–Verarbeitungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
7-29-1 INTERRUPT CONTROL (Interrupt–Steuerung) – INT(89) . . . . . . . . 481
7-29-2 INTERVAL TIMER (Intervall–Zeitgeber) – STIM(69) . . . . . . . . . . . . 484
7-30 Kommunikationsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
7-30-1 RECEIVE (Empfangen) – RXD(47) . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
7-30-2 TRANSMIT (Daten senden) – TXD(48) . . . . . . . . . . . . . . . . . . . . . . . 487
7-30-3 CHANGE RS-232C SETUP (RS–232C–Konfiguration ändern) –
STUP(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
KAPITEL 8 – SPS–Betrieb und –Verarbeitungszeiten . . . . . . . . . . . . . . . . 493
8-1 CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . 494
8-1-1 Der CPM1/CPM1A–Zyklus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
8-1-2 CPM1/CPM1A–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
8-1-3 E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
8-1-4 1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
8-1-5 Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
8-1-6 Befehlsausführungszeiten der CPM1/CPM1A . . . . . . . . . . . . . . . . . . . 500
8-2 CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . 505
8-2-1 CPM2A/CPM2C–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
8-2-2 E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
8-2-3 1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
8-2-4 Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
8-2-5 Befehlsausführungszeiten der CPM2A/CPM2C . . . . . . . . . . . . . . . . . . 510
8-3 SRM1(–V2)–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
8-3-1 Der SRM1(–V2)–Zyklus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
8-3-2 SRM1(–V2)–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
8-3-3 E/A–Reaktionszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
8-3-4 1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
8-3-5 Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
8-3-6 SRM1(-V2)–Befehlsausführungszeiten . . . . . . . . . . . . . . . . . . . . . . . . 525

x
Index

KAPITEL 9 – Fehlersuche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531


9-1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
9-2 Fehlermeldung der Programmierkonsole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
9-3 Programmierfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
9-4 Anwenderdefinierte Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
9-5 Betriebsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
9-5-1 Geringfügige Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
9-5-2 Schwerwiegende Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
9-5-3 Weitere Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
9-6 Fehlerprotokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
9-7 Host–Link–Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
9-8 Ablaufdiagramm zur Fehlerbehebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
A – Programmierbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
B – Fehler– und arithmetischen Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
C – Speicherbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
D – E/A–Zuweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
E – Programm–Codierblatt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
F – Liste der FAL– Nummern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
G – Erweiteter ASCII–Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579

xi
KAPITEL 1
SPS–Konfiguration
Dieser Abschnitt beschreibt die SPS–Konfiguration der SPS der Serien CPM1, CPM1A, CPM2A, CPM2C und SRM1(–V2).
Die SPS–Konfiguration wird zur Steuerung des SPS–Betriebs verwendet. Sehen Sie für eine Änderung der SPS–Konfigura-
tion mit der Programmierkonsole das technische Handbuch der SPS.
Sehen Sie bitte das Bedienerhandbuch W 501 für die SYSWIN–Programmiersoftware für SPS–Systeme der C–Serie. Sehen
Sie das CX-Programmer–Handbuch(W 02–CXPM1) für die CX-Programmer–Programmiersoftware für alle lieferbaren
SPS–Systeme.
Lesen Sie den Abschnitt 1-1 SPS–Konfiguration als Übersicht über die für die CPM1/CPM1A, CPM2A/CPM2C und SRM1
(–V2) verfügbaren Betriebsparameter, wenn Sie nicht mit OMRON SPS–Systemen oder der Kontaktplan–Programmierung
vertraut sind. Des Weiteren würden wir Ihnen empfehlen, die folgenden Kapitel zu lesen: Speicherbereiche, Kontaktplan–
Programmierung und Befehle in Befehlssatz.

1-1 SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1-1-1 Änderung der SPS–Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1-1-2 CPM1–/CPM1A–SPS–Konfigurationseinstellungen . . . . . . . . . . . . . . 3
1-1-3 CPM2A–/CPM2C–SPS–Konfigurationseinstellungen . . . . . . . . . . . . . 8
1-1-4 SRM1(–V2) SPS–Konfigurationseinstellungen . . . . . . . . . . . . . . . . . . 15
1-2 SPS–Basisoperationen und E/A–Verarbeitungen . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1-2-1 Start–Betriebsart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1-2-2 Systemhaftmerker–Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1-2-3 Programmspeicher–Schreibschutz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1-2-4 RS–232C–Schnittstellen–Servicezeit
(nur CPM2A/CPM2C/SRM1(–V2)) . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1-2-5 Servicezeit der Peripherieschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1-2-6 Zyklusüberwachungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1-2-7 Minimum–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1-2-8 Eingangs–Zeitkonstanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1-2-9 |Fehlerprotokoll–Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1
SPS–Konfiguration Abschnitt 1-1

1-1 SPS–Konfiguration
Bei der Konfiguration werden verschiedene Parameter festgelegt, die den SPS-
Betrieb steuern. Um die SPS–Systeme bei der Verwendung von Interrupt-Ver-
arbeitungs- und Kommunikationsfunktionen optimal zu nutzen, können die Pa-
rameter an die anwendungsspezifischen Betriebsbedingungen angepaßt wer-
den.
Vor dem Versand wurde die SPS–Systeme werksseitig auf die Vorgabewerte für
allgemeine Betriebsbedingungen eingestellt; die Systeme können daher ohne
Änderung der Einstellungen verwendet werden. Die Vorgabewerte müssen je-
doch vor dem Betrieb überprüft werden.
Standardwerte Der Standardwert für die SPS–Konfiguration beträgt 0000 für alle Worte (bis auf
den Batteriespannung niedrig–Fehler, dessen Erkennung in DM 6655 Bit 12 bis
15 für CPM2A CPU–Baugruppen aktiviert ist). Die Standardwerte können jeder-
zeit zurückgesetzt werden, indem SR 25210 in der PROGRAM–Betriebsart ein-
geschaltet wird.

! Vorsicht Wird der Datenwortbereich (DM) über ein Programmiergerät gelöscht, werden
die Konfigurationseinstellungen ebenfalls auf Null zurückgesetzt.

1-1-1 Änderung der SPS–Konfiguration


Die Änderungen der SPS–Konfigurationseinstellungen sind nur zu bestimmtem
Zeitpunkten wirksam (sehen Sie die nachfolgende Beschreibung).
• 6600 DM bis 6614 DM: Nur beim Einschalten der SPS–Spannungsversor-
gung.
• 6615 DM bis 6644 DM: Nur zu Beginn der Programmausführung wirksam.
• 6645 DM bis 6655 DM: Sofort nach der Übertragung in den SPS–Speicher
wirksam.
Die Konfigurationsänderungen sind nur zu den angegebenen Zeitpunkten wirk-
sam. Die SPS und die Programmausführung muss deshalb neu gestartet wer-
den, damit die Änderungen in DM 6600 bis DM 6614 (SPS) und in DM 6615 bis
DM 6644 (Programm) wirksam werden.
Werden die Bits 00 bis 03 von DM 6602 zum Schutz des Programmspeichers
gesetzt, kann der Programmschutz nicht im SPS–Konfigurationsfenster der
Programmier–Software geändert werden. Ändern Sie DM 6602 direkt in der Da-
tenansicht mit Hex–Werten.
Änderungen über ein Die SPS–Konfiguration kann vom Anwenderprogramm zwar gelesen, aber
Programmiergerät nicht überschrieben werden. Dies kann nur mit einem Programmiergerät erfol-
gen.
Obwohl die SPS–Konfiguration in den Datenwortbereichen DM 6600 bis
DM 6655 gespeichert wird, können Einstellungen nur über ein Programmierge-
rät (z.B. über SYSWIN, CX–Programmer oder über eine Programmierkonsole)
vorgenommen und geändert werden. DM 6600 bis DM 6644 können nur in der
PROGRAM-Be–triebsart und DM 6645 bis DM 6655 entweder in der PRO-
GRAM- oder in der MONITOR-Betriebsart eingestellt bzw. geändert werden.
Die Zykluszeit ist verhältnismäßig lang, wenn die SPS–Konfiguration in der MO-
NITOR–Betriebsart geändert wird.
Die folgenden Einstellungen können in der PROGRAM–Betriebsart über
SYSWIN oder den CX–Programmer unter Anwendung von Menüoperationen
erfolgen. Alle anderen Einstellungen müssen per Hexadezimal–Zahlen vorge-
nommen werden.
• Start–Betriebsart (DM 6600)
• E/A–Haftmerkerstatus und Zwangsetzungs–Haftmerkerstatus (DM 6601)
• Zyklusüberwachungszeit (DM 6618)
• Zykluszeit (DM 6619)

2
SPS–Konfiguration Abschnitt 1-1

• RS–232C–Schnittstelleneinstellungen (DM 6645 bis DM 6649)


Hinweis Die RS–232C–Schnittstelleneinstellungen (DM 6645 bis DM 6649) werden in
der CPM1/CPM1A nicht verwendet, da diese nicht mit einer RS–232C–Schnitt-
stelle ausgerüstet ist.

Fehler in der SPS–


Konfiguration Wird auf eine falsche SPS–Konfigurationseinstellung zugegriffen, wird ein ge-
ringfügiger Fehler (Fehlercode 9B) generiert, der entsprechende Fehlermerker
(AR 1300 bis AR 1302) eingeschaltet; die Vorgabeeinstellung wird statt der fal-
schen Einstellung verwendet.

1-1-2 CPM1–/CPM1A–SPS–Konfigurationseinstellungen
Die SPS–Konfiguration ist in vier Kategorien eingeteilt: 1. Einstellungen in Be-
zug auf Basis–SPS Betrieb– und E/A–Vorgänge, 2. Einstellungen bezüglich der
Zykluszeit, 3. Interrupt–Einstellungen und 4. Kommunikationseinstellungen. In
diesem Abschnitt werden die Einstellungen, entsprechend dieser Klassifikation,
erläutert.
Die folgende Tabelle zeigt die Einstellungen für die CPM1/CPM1A–SPS in nu-
merischer Reihenfolge. Weitere Informationen finden Sie unter den angegebe-
nen Seiten.
Wort(e) Bit(s) Funktion Seite
Einschaltverarbeitung (DM 6600 bis DM 6614)
Die folgenden Einstellungen sind erst nach der Übertragung in die SPS und nach dem erneuten Einschalten der SPS
wirksam.
DM 6600 00 bis 07 Start–Betriebsart (wirksam, wenn Bits 08 bis 15 auf 02 gesetzt werden) 19
00: PROGRAM
01: MONITOR
02: RUN
08 bis 15 Spezifikation der Start–Betriebsart
00: Programmierkonsolenschalter
01: Fortsetzen der vor dem Ausschalten verwendeten Betriebsart (sehen Sie den
Hinweis 1)
02: Einstellung in 00 bis 07
DM 6601 00 bis 07 Nicht verwendet. 20
08 bis 11 E/A–Speicher–Haltemerker(SR 25212)–Status beim Einschalten
0: Rücksetzen
1: Beibehalten (sehen Sie den Hinweis 3)
12 bis 15 Zwangssetzungsstatus–Systemmerker(SR 25211)–Status beim Einschalten
0: Rücksetzen
1: Beibehalten (sehen Sie den Hinweis 3)
DM 6602 00 bis 03 Programmspeicher–Schreibschutz 20
0: Programmspeicher ohne Schreibschutz
1: Programmspeicher mit Schreibschutz (außer DM 6602)
04 bis 07 Programmierkonsolen–Display–Sprache
0: Englisch
1: Japanisch
08 bis 15 Nicht verwendet
DM 6603 00 bis 15 Nicht verwendet
DM 6604 00 bis 07 00: Kein Speicherfehler wird generiert, wenn Daten nicht über den integrierten Kondensator
(AR 1314 EIN) nullspannungssicher gespeichert werden konnten
01: Ein Speicherfehler wird generiert, wenn Daten nicht über den integrierten Kondensator
(AR 1314 EIN) nullspannungssicher gespeichert werden konnten
08 bis 15 Nicht verwendet
DM 6605 bis 00 bis 15 Nicht verwendet
DM 6614
Zykluszeit–Einstellungen (DM 6615 bis DM 6619)
Die folgenden Einstellungen sind nach der Übertragung in die SPS und dem erneuten Start des RUN– oder MONITOR-
Betriebs wirksam.
DM 6615, 00 bis 15 Nicht verwendet.
DM 6616

3
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


DM 6617 00 bis 07 Servicezeit der Peripherieschnittstelle (wirksam, wenn Bits 08 bis 15 auf 01 ge- 21
setzt werden)
00 bis 99 (BCD): Prozentsatz der Zykluszeit, die zum Service der Peripherie ver-
wendet wird
08 bis 15 Aktivierung der Serviceeinstellung für die Peripherieschnittstelle
00: 5% der Zykluszeit
01: Verwendung der in 00 bis 07 eingestellten Zeit
DM 6618 00 bis 07 Zykluszeit–Überwachung (wirksam, wenn Bits 08 bis 15 auf 01, 02 oder 03 gesetzt 21
werden)
00 bis 99 (BCD): Einstellung (sehen Sie 08 bis 15)
08 bis 15 Aktivierung der Zykluszeit–Überwachung (Einstellung in 00 bis 07 x Einheit; 99 s
max.)
00: 120 ms (Einstellung in Bits 00 bis 07 deaktiviert)
01: Einheit: 10 ms
02: Einheit: 100 ms
03: Einheit: 1 s
DM 6619 00 bis 15 Zykluszeit 22
0000: Variable (kein Minimum)
0001 bis 9999 (BCD): Mindestzeit in ms
Interrupt–Verarbeitung (DM 6620 bis DM 6639)
Die folgenden Einstellungen sind nach der Übertragung in die SPS und dem erneuten Start des RUN– oder MONITOR-
Betriebs wirksam.
DM 6620 00 bis 03 Eingangs–Zeitkonstante für IR 00000 bis IR 00002 22
0: 8 ms; 1: 1 ms; 2: 2 ms; 3: 4 ms; 4: 8 ms; 5: 16 ms; 6: 32 ms; 7: 64 ms; 8: 128
ms
04 bis 07 Eingangs–Zeitkonstante für IR 00003 und IR 00004 (Werte wie für Bits 00 bis 03)
08 bis 11 Eingangs–Zeitkonstante für IR 00005 und IR 00006 (Werte wie für Bits 00 bis 03)
12 bis 15 Eingangs–Zeitkonstante für IR 00007 bis IR 00011 (Werte wie für Bits 00 bis 03)
DM 6621 00 bis 07 Eingangs–Zeitkonstante für IR 001
00: 8 ms; 01: 1 ms; 02: 2 ms; 03: 4 ms; 04: 8 ms; 05: 16 ms; 06: 32 ms; 07: 64 ms;
08: 128 ms
08 bis 15 Eingangs–Zeitkonstante für IR 002 (gleiche Einstellung wie für IR 001)
DM 6622 00 bis 07 Eingangs–Zeitkonstante für IR 003 (gleiche Einstellung wie für IR 001)
08 bis 15 Eingangs–Zeitkonstante für IR 004 (gleiche Einstellung wie für IR 001)
DM 6623 00 bis 07 Eingangs–Zeitkonstante für IR 005 (gleiche Einstellung wie für IR 001)
08 bis 15 Eingangs–Zeitkonstante für IR 006 (gleiche Einstellung wie für IR 001)
DM 6624 00 bis 07 Eingangs–Zeitkonstante für IR 007 (gleiche Einstellung wie für IR 001)
08 bis 15 Eingangs–Zeitkonstante für IR 008 (gleiche Einstellung wie für IR 001)
DM 6625 00 bis 07 Eingangs–Zeitkonstante für IR 009 (gleiche Einstellung wie für IR 001)
08 bis 15 Nicht verwendet
DM 6626 bis 00 bis 15 Nicht verwendet
DM 6627
DM 6628 00 bis 03 Interrupt–Aktivierung für IR 00003 (0: Standard–Eingang; 1: Interupt–Eingang; 2: 73
schnelle Ansprechzeit)
04 bis 07 Interrupt–Aktivierung für IR 00004 (0: Standard–Eingang; 1: Interupt–Eingang; 2:
schnelle Ansprechzeit)
08 bis 11 Interrupt–Aktivierung für IR 00005 (0: Standard–Eingang; 1: Interupt–Eingang; 2:
schnelle Ansprechzeit)
12 bis 15 Interrupt–Aktivierung für IR 00006 (0: Standard–Eingang; 1: Interupt–Eingang; 2:
schnelle Ansprechzeit)
DM 6629 bis 00 bis 15 Nicht verwendet
DM 6641
Einstellungen des Schnellen Zählers (DM 6640 bis DM 6644)
Die folgenden Einstellungen sind nach der Übertragung in die SPS und dem erneuten Start des RUN– oder MONITOR-
Betriebs wirksam.
DM 6640 bis 00 bis 15 Nicht verwendet.
DM 6641

4
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


DM 6642 00 bis 03 Schnelle Zähler–Betriebsart 80
0: Aufwärts–/Abwärts–Zählermodus
4: Inkremental–Zähler–Betriebsart
04 bis 07 Schneller Zähler–Rücksetzbetriebsart
0: Z–Phase und Software–Rücksetzung
1: Nur Software–Rücksetzung
08 bis 15 Aktivierung des Schnellen Zählers
00: Schnellen Zähler nicht verwenden
01: Schnellen Zähler mit Einstellungen in 00 bis 07 verwenden
DM 6643, 00 bis 15 Nicht verwendet.
DM 6644
Einstellungen der Peripherieschnittstelle
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6645 bis 00 bis 15 Nicht verwendet. 208
DM 6649
DM 6650 00 bis 07 Schnittstelleneinstellungen
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
08 bis 11 Link–Bereich für 1:1 PC–Link über Peripherieschnittstelle:
0: LR 00 bis LR 15
12 bis 15 Kommunikationsbetriebsart
0: Host–Link
2: 1:1–PC–Link–Verbindung (Slave)
3: 1:1–PC–Link–Verbindung (Master)
4: 1:1–NT–Link
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
DM 6651 00 bis 07 Baudrate
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2K, 05 bis 07: Kann nicht verwendet
werden (sehen Sie den Hinweis 2)
(Andere Einstellungen generieren einen geringfügigen Fehler und AR 1302 wird
eingeschaltet)
08 bis 15 Rahmenformat
Start Länge Stop Parität
00: 1 Bit 7 Bits 1 Bit Gerade
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Kein
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Kein
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Kein
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Kein
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
DM 6652 00 bis 15 Übertragungsverzögerung (Host–Link) (sehen Sie den Hinweis 4)
0000 bis 9999: In ms
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
DM 6653 00 bis 07 Teilnehmernummer (Host–Link)
00 bis 31 (BCD)
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
08 bis 15 Nicht verwendet
DM 6654 00 bis 15 Nicht verwendet

5
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


Fehlerprotokoll–Einstellungen (6655 DM)
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6655 00 bis 03 Ausführung 24
0: Verschiebung nach der Speicherung von 7 Aufzeichnungen
1: Speichern der ersten 7 Aufzeichnungen (keine Verschiebung)
2 bis F: Kein Speichern der Aufzeichnungen
04 bis 07 Nicht verwendet.
08 bis 11 Aktivierung der Zykluszeitüberwachung
0: Auswertung langer Zyklen als geringfügige Fehler
1: Lange Zyklen werden nicht erkannt
12 bis 15 Nicht verwendet

Hinweis 1. Wird die Start–Betriebsart eingestellt, um den zu letzt vor dem Ausschalten
verwendeten Betrieb fortzusetzen, erfolgt die Nullspannungssicherung
über den integrierten Kondensator. Die Daten können verlorengehen,
wenn die Versorgungsspannung für eine die Sicherungszeit des Kondensa-
tors übersteigende Zeit ausgeschaltet bleibt. (Sehen Sie das CPM1A oder
CPM1–Programmierhandbuch für eine genauere Beschreibung der Spei-
cherzeit.)
2. Stellen Sie keinen Wert zwischen “05” bis “07” ein. Wird dieser Wert einge-
stellt, arbeitet die CPM1/CPM1A nicht richtig und der SPS–Konfigurations–
Fehlermerker (AR 1302) wird nicht aktiviert.
3. Beibehaltung des E/A–Speicher–Haltemerker(SR 25212)–Status
Wird der “E/A–Speicher–Haltemerker–Status beim Einschalten (”DM 6601,
Bit 08 bis 11) auf ”Beibehalten” – bei aktiviertem E/A–Speicher–Haltemer-
ker (SR 25212) – gesetzt, kann der Betrieb mit dem E/A–Speicherhaltesta-
tus (E/A, IR, LR) fortgesetzt werden, der anlag, bevor die Versorgungsspan-
nung ausgeschaltet wurde. (Der Eingangsbereich wird jedoch beim Ein-
schalten aufgefrischt, d. h. er wird von dem neuesten aktualisierten Ein-
gangsstatus überschrieben.)
Beibehaltung des Zwangssetzungs–Haftmerkerstatus (SR 25211)
Wird der “Zwangssetzungs–Haftmerker–Status beim Einschalten (”DM
6601, Bit 12 bis 15) auf ”Beibehalten” – bei aktiviertem Zwangssetzungs–
Haftmerker (SR 25211) – gesetzt, wird der Zwangssetzungs–/Rückset-
zungsbetrieb fortgesetzt, der anlag, bevor die Versorgungsspannung aus-
geschaltet wurde. (Beim Einschalten in der RUN–Betriebsart wird jedoch
der Zwangssetzungs–/Rücksetzungsstatus gelöscht.)
Auch wenn der “E/A–Speicher–Haltemerker–Status beim Einschalten”
oder der “Zwangssetzungsstatus–Haftmerker–Status beim Einschalten”
auf “Beibehalten” eingestellt wird, kann der E/A–Speicher–Haltemer-
ker(SR 25212)– oder Zwangssetzungsstatus–Haftmerker(SR 25211)–Sta-
tus gelöscht werden, falls die Versorgungsspannung für eine die Siche-
rungszeit des integrierten Kondensators übersteigende Zeit ausgeschaltet
bleibt. (Sehen Sie das CPM1A– oder CPM1–Programmierhandbuch für
eine genauere Beschreibung der Sicherungszeit.) Zu diesem Zeitpunkt
wird auch der E/A–Speicher gelöscht; konfigurieren Sie das System des-
halb so, dass das Löschen des E/A–Speichers keine Probleme verursacht.
4. Die Übertragungsverzögerung ist die Verzögerung zwischen der vorherge-
henden Übertragung und der folgenden Übertragung.

Host–Computer Befehl Befehl

SPS Antwort Antwort


Übertragungs–
Verzögerungszeit

6
SPS–Konfiguration Abschnitt 1-1

5. Wird ein außerhalb des Bereiches liegender Wert eingestellt, so ergeben


sich die folgenden Kommunikationsbedingungen. Setzen Sie in diesem Fall
den Wert zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsbetriebsart: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Startbit, 7 Datenbits; gerade Parität,
2 Stopbits, 9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer: 00

7
SPS–Konfiguration Abschnitt 1-1

1-1-3 CPM2A–/CPM2C–SPS–Konfigurationseinstellungen
Die SPS–Konfiguration ist in vier Kategorien eingeteilt: 1) Einstellungen für
SPS–Basisbetrieb und E/A–Verarbeitungen, 2) Einstellungen für Impulsausga-
befunktionen, 3) Interrupt–Einstellungen und 4) Kommunikationseinstellungen.
In diesem Abschnitt werden die Einstellungen, entsprechend dieser Klassifika-
tion, erläutert.
Die folgende Tabelle zeigt die Einstellungen der CPM2A in numerischer Reihen-
folge. Weitere Informationen finden Sie unter den angegebenen Seiten.
Wort(e) Bit(s) Funktion Seite
Einschaltverarbeitung (DM 6600 bis DM 6614)
Die folgenden Einstellungen sind erst nach der Übertragung in die SPS und nach dem erneuten Einschalten der SPS
wirksam.
DM 6600 00 bis 07 Start–Betriebsart (wirksam, wenn Bits 08 bis 15 auf 02 gesetzt werden) 19
00: PROGRAMM
01: MONITOR
02: RUN
08 bis 15 Spezifikation der Start–Betriebsart
00: Entsprechend dem Kommunikationsschnittstellen–DIP–Schalter und
Peripherieschnittstellen–Anschluss
(sehen Sie die Tabelle unten auf dieser Seite)
01: Fortsetzung der vor dem Ausschalten verwendeten Betriebsart.
02: Einstellung in 00 bis 07
DM 6601 00 bis 07 Nicht verwendet. 20
08 bis 11 E/A–Speicher–Haltemerker(SR 25212)–Status beim Einschalten
0: Rücksetzen auf 0; 1: vorhergehenden Status beibehalten
12 bis 15 Zustand des Zwangssetzungsstatus–Haftmerkers (SR 25211) beim Einschalten
0: Rücksetzen auf 0; 1: vorhergehenden Status beibehalten
DM 6602 00 bis 03 Programmspeicher–Schreibschutz 20
0: Programmspeicher ohne Schreibschutz
1: Programmspeicher mit Schreibschutz (außer DM 6602)
04 bis 07 Programmierkonsolen–Display–Sprache
0: Englisch
1: Japanisch
08 bis 11 Codezuweisungen für erweiterte Befehle 156
0: Standardeinstellungen
1: Anwenderzuweisungen
12 bis 15 Nicht verwendet
DM 6603 00 bis 15 Nicht verwendet
DM 6604 00 bis 07 00: Kein Speicherfehler wird generiert, wenn Daten nicht über den integrierten Kondensator
nullspannungssicher gespeichert werden konnten
01: Ein Speicherfehler wird generiert, wenn Daten nicht über den integrierten Kondensator
nullspannungssicher gespeichert werden konnten
08 bis 15 Nicht verwendet
DM6605 bis 00 bis 15 Nicht verwendet
DM 6614

Hinweis Die SPS–Betriebsart nach dem Einschalten entspricht der in der folgenden Ta-
belle gezeigten, falls Bits 08 bis 15 von 6600 DM auf 00 gesetzt werden.

Peripherieschnitt– Kommunikationsschnittstellen–DIP–Schalter
stelle verbunden
verb nden
mit Schalter 2 AUS Schalter 2 EIN
Frei Programm RUN
Programmier– Betriebsart mit dem PROGRAM (die CPM2C wird
konsole Betriebsartenschalter der nicht mit der
Programmierkonsole Programmierkonsole
eingestellt kommunizieren können.)
Anderes PROGRAM (die CPM2C wird PROGRAM
Programmiergerät nicht mit einem
Programmiergerät
kommunizieren können.)

8
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


Zykluszeit–Einstellungen (DM 6615 bis DM 6619)
Die folgenden Einstellungen sind nach der Übertragung in die SPS und dem erneuten Start des RUN– oder MONITOR–
Betriebs wirksam.
DM 6615 00 bis 15 Nicht verwendet
DM 6616 00 bis 07 Servicezeit der RS–232C–Schnittstelle (wirksam, wenn Bits 08 bis 15 auf 01 ge- 21
setzt sind)
00 bis 99 (BCD): Prozentsatz der Zykluszeit, die zum Service der RS–232C–
Schnittstelle benötigt wird
08 bis 15 Aktivierung der RS–232C–Schnittstellen–Serviceeinstellung
00: 5% der Zykluszeit
01: Verwendung der über die Bits 00 bis 07 eingestellten Zeit
DM 6617 00 bis 07 Servicezeit der Peripherieschnittstelle (wirksam, wenn Bits 08 bis 15 auf 01 gesetzt 21
sind)
00 bis 99 (BCD): Prozentsatz der Zykluszeit, die zum Service der Peripherieschnitt-
stelle benötigt wird
08 bis 15 Aktivierung der Serviceeinstellung für die Peripherieschnittstelle
00: 5% der Zykluszeit
01: Verwendung der über die Bits 00 bis 07 eingestellten Zeit
DM 6618 00 bis 07 Zykluszeit–Überwachung (wirksam, wenn Bits 08 bis 15 auf 01, 02 oder 03 gesetzt 21
werden).
00 bis 99 (BCD): Einstellung (sehen Sie Bits 08 bis 15, unten)
Ein schwerwiegender Fehler wird generiert und der SPS–Betrieb abgebrochen,
wenn die Zykluszeit die hier eingestellte Zyklusüberwachungszeit–Einstellung über-
schreitet.
08 bis 15 Aktivierung der Zykluszeit–Überwachung (Einstellung in 00 bis 07 × Einheiten;
max. 99 s)
00: 120 ms (Einstellung in Bits 00 bis 07 deaktiviert)
01: Einstelleinheit: 10 ms
02: Einstelleinheit: 100 ms
03: Einstelleinheit: 1 s
DM 6619 00 bis 15 Kleinste Zykluszeit 22
0000: Variable (keine Mindestzeit)
0001 bis 9999 (BCD): Mindestzeit in ms
Interrupt–Verarbeitung (DM 6620 bis DM 6639)
Die folgenden Einstellungen sind nach der Übertragung in die SPS und dem erneuten Start des RUN– oder MONITOR–
Betriebs wirksam.
DM 6620 00 bis 03 Eingangs–Zeitkonstante für IR 00000 bis IR 00002 22
0: 10 ms; 1: 1 ms; 2: 2 ms; 3: 3 ms; 4: 5 ms; 5: 10 ms; 6: 20 ms; 7: 40 ms; 8: 80 ms
04 bis 07 Eingangs–Zeitkonstante für IR 00003 und IR 00004 (gleiche Einstellung wie für Bits
00 bis 03)
08 bis 11 Eingangs–Zeitkonstante für IR 00005 und IR 00006 (gleiche Einstellung wie für Bits
00 bis 03)
12 bis 15 Eingangs–Zeitkonstante für IR 00007 und IR 00011 (gleiche Einstellung wie für Bits
00 bis 03)
DM 6621 00 bis 07 Eingangszeit–Konstante für IR 001
00: 10 ms 01: 1 ms 02: 2 ms 03: 3 ms 04: 5 ms
05: 10 ms 06: 20 ms 07: 40 ms 08: 80 ms
08 bis 15 Eingangs–Zeitkonstante für IR 002 (gleiche Einstellung wie für IR 001)
DM 6622 00 bis 07 Eingangs–Zeitkonstante für IR 003 (gleiche Einstellung wie für IR 001)
08 bis 15 Eingangs–Zeitkonstante für IR 004 (gleiche Einstellung wie für IR 001)
DM 6623 00 bis 07 Eingangs–Zeitkonstante für IR 005 (gleiche Einstellung wie für IR 001)
08 bis 15 Eingangs–Zeitkonstante für IR 006 (gleiche Einstellung wie für IR 001)
DM 6624 00 bis 07 Eingangs–Zeitkonstante für IR 007 (gleiche Einstellung wie für IR 001)
08 bis 15 Eingangs–Zeitkonstante für IR 008 (gleiche Einstellung wie für IR 001)
DM 6625 00 bis 07 Eingangs–Zeitkonstante für IR 009 (gleiche Einstellung wie für IR 001)
08 bis 15 Nicht verwendet
DM 6626 bis 00 bis 15 Nicht verwendet
DM 6627

9
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


DM 6628 00 bis 03 Interrupt–Aktivierung für IR 00003 (0: Standard–Eingang; 1: Interrupt–Eingang; 2: 27
schnelle Ansprechzeit)
04 bis 07 Interrupt–Aktivierung für IR 00004 (0: Standard–Eingang; 1: Interrupt–Eingang; 2:
schnelle Ansprechzeit)
08 bis 11 Interrupt–Aktivierung für IR 00005 (0: Standard–Eingang; 1: Interrupt–Eingang; 2:
schnelle Ansprechzeit)
(In CPM2C CPU–Baugruppen mit 10 E/A auf 0 einstellen)
12 bis 15 Interrupt–Aktivierung für IR 00006 (0: Standard–Eingang; 1: Interrupt–Eingang; 2:
schnelle Ansprechzeit)
(Dieser Eingang ist in CPM2C CPU–Baugruppen mit 10 E/A nicht vorhanden)
DM 6629 00 bis 03 Istwert–Koordinatensystem für Impulsausgabe 0 95
0: Relative Koordinaten; 1: Absolute Koordinaten
04 bis 07 Istwert–Koordinatensystem für Impulsausgabe 1
0: Relative Koordinaten; 1: Absolute Koordinaten
08 bis 15 Nicht verwendet
DM6630 bis 00 bis 15 Nicht verwendet
DM6641
Einstellungen des Schnellen Zählers (DM 6640 bis DM 6644)
Die folgenden Einstellungen sind nach der Übertragung in die SPS und dem erneuten Start des RUN– oder MONITOR–
Betriebs wirksam.
DM 6640 bis 00 bis 15 Nicht verwendet
DM 6641
DM 6642 00 bis 03 Schneller Zähler-Betrieb 42, 50
0: Differentialphasen–Betriebsart (5 kHz)
1: Impuls– und Richtungseingangs–Betriebsart (20 kHz)
2: Auf–/Abwärts–Eingangs–Betriebsart (20 kHz)
4: Inkremental–Betriebsart (20 kHz)
04 bis 07 Schneller Zähler–Rücksetzbetriebsart
0: Z–Phase und Software–Rücksetzung
1: Nur Software–Rücksetzung
08 bis 15 Schneller Zähler/synchronisierte Impulssteuerung für IR 00000 bis IR 00002
00: Keine der beiden Funktionen verwenden
01: Als Schneller Zähler verwenden
02: Verwendung für eine synchronisierte Impulssteuerung (10 bis 500 Hz).
03: Verwendung für eine synchronisierte Impulssteuerung (20 Hz bis 1 kHz)
04: Verwendung für eine synchronisierte Impulssteuerung (300 Hz bis 20 kHz)
DM 6643, 00 bis 15 Nicht verwendet.
DM 6644

10
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


RS–232C–Schnittstelleneinstellungen
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
Ist der Kommunikationsschalter der CPM2A CPU–Baugruppe eingeschaltet, wird die Kommunikation über die
RS–232C–Schnittstelle der CPM2A durch die Vorgabeeinstellungen (alle 0), ohne Rücksicht auf die Einstellungen in DM
6645 bis DM 6649, bestimmt.
Ist Schalter 1 des DIP–Schalters der CPM2C CPU–Baugruppe eingeschaltet, wird die Kommunikation über die
RS–232C–Schnittstelle der CPM2C durch die Vorgabeeinstellungen (alle 0), ohne Rücksicht auf die Einstellungen in DM
6645 bis DM 6649, bestimmt.
DM 6645 00 bis 03 Schnittstelleneinstellungen 208
0: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 b/sek.), Host–
Link–Baugruppennummer 0
1: Einstellungen in DM 6646
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
04 bis 07 CTS–Handshake–Einstellungen
0: CTS–Handshake deaktiviert; 1: CTS–Handshake aktiviert
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
08 bis 11 Link–Worte für 1:1 Data–Link
0: LR 00 bis LR 15 (andere Einstellungen sind unwirksam)
12 bis 15 Kommunikationsmodus
0: Host–Link
1: Ohne Protokoll (RS–232C);
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: NT–Link
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
DM 6646 00 bis 07 Baudrate 208
00: 1.200 b/sek.; 01: 2.400 b/sek.; 02: 4.800 b/sek.; 03: 9.600 b/sek.; 04: 19.200
b/sek.
08 bis 15 Rahmenformat
Startbit Datenbits Startbits Parität
00: 1 Bit 7 Bits 1 Bit Gerade
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Keine
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Keine
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Keine
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Keine
(Alle anderen Einstellungen spezifizieren Standardeinstellungen (1 Startbit, 7 Da-
tenbits; gerade Parität, 2 Stopbits, 9.600 b/sek.), verursachen einen geringfügigen
Fehler und aktivieren AR 1302.)
DM 6647 00 bis 15 Übertragungsverzögerung (0000 bis 9999 BCD stellt eine Verzögerung von 0 bis 208
99.990 ms. ein)
(Alle anderen Einstellungen spezifizieren eine Verzögerung von 0 ms, verursachen
einen geringfügigen Fehler und aktivieren AR 1302.)

11
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


DM 6648 00 bis 07 Teilnehmernummer (Host–Link) 208
00 bis 31 (BCD)
(Alle anderen Einstellungen spezifizieren eine Teilnehmernummer von 00, verursa-
chen einen geringfügigen Fehler und aktivieren AR1302)
08 bis 11 Startcode–Auswahl für eine (RS–232C–)Kommunikation ohne Protokoll
0: Deaktiviert den Startcode
1: Aktiviert den Startcode in 6649 DM
(Alle anderen Einstellungen deaktivieren den Startcode, verursachen einen gering-
fügigen Fehler und aktivieren AR 1302)
12 bis 15 Endcode–Auswahl für eine (RS–232C–)Kommunikation ohne Protokoll
0: Deaktiviert den Endcode
1: Aktiviert den Endcode in 6649 DM
2: Setzt den Endcode auf CR, LF
(Alle anderen Einstellungen deaktivieren den Endcode, verursachen einen gering-
fügigen Fehler und aktivieren AR 1302)
DM 6649 00 bis 07 Startcode 00 bis FF 208
(Diese Einstellung ist nur gültig, wenn die Bits 8 bis 11 von DM 6648 auf 1 einge-
stellt werden.)
08 bis 15 Bits 12 bis 15 des Datenwortes DM 6648 auf 0 gesetzt:
spezifiziert die Anzahl der zu empfangenden Bytes (00: 256 Bytes; 01 bis FF: 1 bis
255 Bytes)
Bits 12 bis 15 des Datenwortes DM 6648 auf 1 gesetzt:
Spezifiziert den Ende–Code (00 bis FF)

12
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


Peripherieschnittstelleneinstellungen
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
Ist der Kommunikationsschalter der CPM2A CPU–Baugruppe eingeschaltet, wird die Kommunikation über die Periphe-
rieschnittstelle der CPM2A durch die Vorgabeeinstellungen (alle 0), ohne Rücksicht auf die Einstellungen in DM 6650 bis
DM 6654, bestimmt.
Die Kommunikationsschaltereinstellung der CPM2A besitzt keinen Einfluss auf die Kommunikation mit einer an die Peri-
pherieschnittstelle angeschlossenen Programmierkonsole. Die CPM2A CPU–Baugruppe erkennt die Programmierkon-
sole und baut automatisch die Kommunikation auf.
Schalter 1 des DIP–Schalters der CPM2C CPU–Baugruppe muss aus– und Schalter 2 eingeschaltet sein, damit die
Kommunikation über die Peripherieschnittstelle der CPM2C durch die Einstellungen in DM 6650 DM bis DM 6654 be-
stimmt werden kann.
Ist Schalter 2 ausgeschaltet, wird die Kommunikation über die Peripherieschnittstelle der CPM2C vom Programmierkon-
solen–Protokoll bestimmt. Sind Schalter 1 und 2 des DIP–Schalters der CPM2C CPU–Baugruppe eingeschaltet, wird die
Kommunikation von den Standard–Host–Link–Einstellungen bestimmt (1 Startbit, 7 Datenbits; gerade Parität, 2 Stopbits,
9.600 b/sek.).
DM 6650 00 bis 03 Schnittstelleneinstellungen 208
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 b/sek.),
Host–Link–Baugruppennummer: 0
01: Einstellungen im Datenwort DM 6651
(Alle anderen Einstellungen spezifizieren Standardeinstellungen, verursachen ei-
nen geringfügigen Fehler und aktivieren AR1302.)
04 bis 11 Nicht verwendet.
12 bis 15 Kommunikationsbetriebsart
0: Host–Link oder Toolbus
1: Ohne Protokoll
(Alle anderen Einstellungen spezifizieren die Host–Link–Einstellung, verursachen
einen geringfügigen Fehler und aktivieren AR 1302.)
DM 6651 00 bis 07 Baudrate
00: 1.200 b/sek.; 01: 2.400 b/sek.; 02: 4.800 b/sek.; 03: 9.600 b/sek.; 04: 19.200
Baud
08 bis 15 Rahmenformat
Startbit Datenbits Startbits Parität
00: 1 Bit 7 Bits 1 Bit Gerade
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Keine
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Keine
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Keine
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Keine
(Alle anderen Einstellungen spezifizieren Standardeinstellungen (1 Startbit, 7 Da-
tenbits, gerade Parität, 2 Stopbits, 9.600 b/sek.), verursachen einen geringfügigen
Fehler und aktivieren AR 1302.)

13
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


DM 6652 00 bis 15 Übertragungsverzögerung (0000 bis 9999 BCD stellt eine Verzögerung von 0 bis 208
99.990 ms. ein)
(Alle anderen Einstellungen spezifizieren eine Verzögerung von 0 ms, verursachen
einen geringfügigen Fehler und aktivieren AR 1302)
DM 6653 00 bis 07 Teilnehmernummer (Host–Link)
00 bis 31 (BCD)
(Alle anderen Einstellungen spezifizieren eine Teilnehmernummer von 00, verursa-
chen einen geringfügigen Fehler und aktivieren AR1302)
08 bis 11 Startcode–Auswahl für eine (RS–232C–)Kommunikation ohne Protokoll
0: Deaktiviert den Startcode
1: Aktiviert den Startcode in DM 6654
(Alle anderen Einstellungen deaktivieren den Startcode, verursachen einen gering-
fügigen Fehler und aktivieren AR 1302)
12 bis 15 Endcode–Auswahl für eine (RS–232C–)Kommunikation ohne Protokoll
0: Deaktiviert den Endcode
1: Aktiviert den Endcode in DM 6654
2: Setzt den Endcode auf CR, LF.
(Alle anderen Einstellungen deaktivieren den Endcode, verursachen einen gering-
fügigen Fehler und aktivieren AR 1302)
DM 6654 00 bis 07 Startcode 00 bis FF 208
(Diese Einstellung ist nur gültig, wenn die Bits 8 bis 11 von DM 6653 auf 1 einge-
stellt werden)
08 bis 15 Bits 12 bis 15 des Datenwortes DM 6653 auf 0 gesetzt:
spezifiziert die Anzahl der zu empfangenden Bytes. (00: 256 Bytes; 01 bis FF: 1 bis
255 Bytes)
Bits 12 bis 15 des Datenwortes DM 6653 auf 1 gesetzt:
Spezifiziert den Ende–Code (00 bis FF)
Fehlerprotokoll–Einstellungen (DM 6655)
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6655 00 bis 03 Ausführung 24
0: Verschiebung nach der Speicherung von 7 Aufzeichnungen
1: Speichern der ersten 7 Aufzeichnungen (keine Verschiebung)
2 bis F: Kein Speichern der Aufzeichnungen
04 bis 07 Nicht verwendet
08 bis 11 Aktivierung der Zyklusüberwachungszeit
0: Generiert einen geringfügigen Fehler für eine zu lange Zykluszeit
1: Generiert keinen geringfügigen Fehler
12 bis 15 Aktivierung der Fehlergenerierung für eine zu niedrige Batteriespannung
0: Generiert einen geringfügigen Fehler
1: Generiert keinen geringfügigen Fehler
Die Batteriespannung niedrig–Fehlererfassung ist normalerweise in CPU–Baugrup-
pen deaktiviert (d.h. Einstellung auf 1), die über keine Uhr verfügen. Wird die SPS–
Konfiguration gelöscht, wird die Einstellung auf 0 geändert und ein Batteriespan-
nung niedrig–Fehler wird generiert.
Bits 12 bis 15 sollten immer auf 0 gesetzt werden, wenn die optionale CPM2C–
BAT01 installiert ist

14
SPS–Konfiguration Abschnitt 1-1

1-1-4 SRM1(–V2) SPS–Konfigurationseinstellungen


Die SPS–Konfiguration wird in drei Kategorien eingeteilt: 1) Einstellungen in be-
zug auf SPS–Basisbetrieb und E/A–Verarbeitungen, 2) Einstellungen bezüglich
der Zykluszeit und 3) Kommunikations–Einstellungen. In diesem Abschnitt wer-
den die Einstellungen, entsprechend dieser Klassifikation, erläutert.
Die folgende Tabelle zeigt die Einstellungen für die SPS–Systeme der
SRM1(-V2)–Serie in numerischer Reihenfolge. Weitere Informationen finden
Sie unter den angegebenen Seiten.
Wort(e) Bit(s) Funktion Seite
Einschaltverarbeitung (DM 6600 bis DM 6614)
Die folgenden Einstellungen sind erst nach der Übertragung in die SPS und nach dem erneuten Einschalten der SPS
wirksam.
DM 6600 00 bis 07 Start–Betriebsart (wirksam, wenn Bits 08 bis 15 auf 02 gesetzt werden) 19
00: PROGRAMM
01: MONITOR
02: RUN
08 bis 15 Spezifikation der Start–Betriebsart
00: Programmierkonsolenschalter
01: Fortsetzung der vorherigen Betriebsart
02: Einstellung in 00 bis 07
DM 6601 00 bis 07 Nicht verwendet 20
08 bis 11 E/A–Speicher–Haltemerker(SR 25212)–Status beim Einschalten
0: Rücksetzen
1: Aufrechterhalten (sehen Sie “Vorsicht” auf Seite 20.)
12 bis 15 Zwangssetzungsstatus–Haftmerker(SR 25211)–Status beim Einschalten
0: Rücksetzen
1: Status nicht ändern
DM 6602 00 bis 03 Programmspeicher–Schreibschutz 20
0: Programmspeicher ohne Schreibschutz
1: Programmspeicher mit Schreibschutz (außer DM 6602)
04 bis 07 Programmierkonsolen–Display–Sprache
0: Englisch
1: Japanisch
08 bis 11 Erweiterte Befehle
0: Grundeinstellungen
1: Anwendereinstellungen
12 bis 15 Nicht verwendet.
DM 6603 00 bis 03 Maximale Anzahl der CompoBus/S–Geräte
0: Max. Anzahl 32
1: Max. Anzahl 16
04 bis 07 CompoBus/S–Kommunikationsmodus–Einstellung (nur –V2)
0: Hochgeschwindigkeits–Kommunikation
1: Long–Distance–Kommunikation
08 bis 15 Nicht verwendet
DM 6604 00 bis 07 00: Kein Speicherfehler wird generiert, wenn keine Daten auf Grund eines Versorgungs-
spannungsausfalls (AR 1314 EIN) gespeichert werden konnten
01: Ein Speicherfehler wird generiert, wenn keine Daten auf Grund eines Versorgungsspan-
nungsausfalls (AR 1314 EIN) gespeichert werden konnten
08 bis 15 Nicht verwendet
DM6605 bis 00 bis 15 Nicht verwendet
DM 6614
Zykluszeit–Einstellungen (DM 6615 bis DM 6619)
Die folgenden Einstellungen sind nach der Übertragung in die SPS und dem erneuten Start des RUN– oder MONITOR–
Betriebs wirksam.
DM 6615 00 bis 15 Nicht verwendet
DM 6616 00 bis 07 Servicezeit der RS–232C–Schnittstelle (wirksam, wenn Bits 08 bis 15 gesetzt wer- 21
den)
00 bis 99 (BCD): Prozentsatz der zum Service der RS–232C–Schnittstelle benötig-
ten Zykluszeit
08 bis 15 Aktivierung der RS–232C–Schnittstellen–Serviceeinstellung
00: 5% der Zykluszeit
01: Verwendung der in 00 bis 07 eingestellten Zeit.

15
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


DM 6617 00 bis 07 Servicezeit der Peripherieschnittstelle (wirksam, wenn Bits 08 bis 15 auf 01 gesetzt 21
werden)
00 bis 99 (BCD): Prozentsatz der zum Service der Peripherieschnittstelle verwen-
deten Zykluszeit
08 bis 15 Aktivierung der Peripherieschnittstellen–Serviceeinstellung
00: 5% der Zykluszeit
01: Verwendung der in 00 bis 07 eingestellten Zeit
DM 6618 00 bis 07 Zykluszeit–Überwachung (wirksam, wenn Bits 08 bis 15 auf 01, 02 oder 03 gesetzt 21
werden)
00 bis 99 (BCD): Einstellung (sehen Sie 08 bis 15)
08 bis 15 Aktivierung der Zykluszeit–Überwachung (Einstellung in 00 bis 07 x Einheit; 99 s
max.)
00: 120 ms (Einstellung in Bits 00 bis 07 deaktiviert)
01: Einheit: 10 ms
02: Einheit: 100 ms
03: Einheit: 1 s
DM 6619 00 bis 15 Zykluszeit 22
0000: Variable (keine Mindestzeit)
0001 bis 9999 (BCD): Mindestzeit in ms
DM 6620 bis 00 bis 15 Nicht verwendet.
DM 6644
RS–232C–Schnittstelleneinstellungen
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6645 00 bis 03 Schnittstelleneinstellungen 248
00: Standard (1 Startbit, 7–Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen in DM 6646
04 bis 07 CTS–Handshake–Einstellungen
0: Deaktiviert
1: Aktiviert
08 bis 11 Bei Einsatz einer 1:1 Data–Link–Verbindung: Stellt den Schnittstellenbereich auf
1:1–PC–Link ein
0: LR 00 bis LR 15
Ungleich 0: Deaktiviert
Bei Einsatz einer 1:n–NT–Link–Verbindung: Spezifiziert die höchste Bedien–Termi-
nal–Teilnehmernummer
1 bis 7
12 bis 15 Kommunikationsbetriebsart
0: Host–Link;
1: Ohne Protokoll (RS–232C)
2: 1:1–PC–Link–Verbindung (Slave)
3: 1:1–PC–Link–Verbindung (Master)
4: 1:1–NT–Link; 5: 1:n–NT–Link
(Alle anderen Einstellungen spezifizieren den Host–Link–Modus, verursachen ei-
nen geringfügigen Fehler und aktivieren AR 1302.)
Die 1:n–NT–Link–Verbindung wird nur von der SRM1–C02–V2 unterstützt

16
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


DM 6646 00 bis 07 Baudrate
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2K
08 bis 15 Rahmenformat
Start Länge Stop Parität
00: 1 Bit 7 Bits 1 Bit Gerade
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Keine
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Keine
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Keine
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Keine
Andere: 1 Bit 7 Bits 2 Bits Gerade
AR 1302 wird aktiviert, um einen geringfügigen System–Konfigurationsfehler anzu-
zeigen, wenn kein Wert zwischen 00 und 11 spezifiziert wird.
DM 6647 00 bis 15 Übertragungsverzögerung (Host–Link)
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms, z.B. Einstellung von
0001 gleich 10 ms
DM 6648 00 bis 07 Teilnehmernummer (Host–Link, wirksam, wenn Bits 12 bis 15 von DM 6645 auf 0
gesetzt werden)
00 bis 31 (BCD)
08 bis 11 Startcode–Auswahl (RS–232C–Schnittstelle, wirksam, wenn Bits 12 bis 15 von DM
6645 auf 1 gesetzt werden)
0: Deaktiviert
1: Einstellung
12 bis 15 Endcode–Auswahl (RS–232C–Schnittstelle, wirksam, wenn Bits 12 bis 15 von DM
6645 auf 1 gesetzt werden).
0: Deaktiviert (Anzahl der empfangenen Bytes)
1: Einstellung (spezifizierter Endcode)
2: CR, LF
DM 6649 00 bis 07 Startcode–Auswahl (RS–232C–Schnittstelle) 248
00 bis FF (binär)
08 bis 15 Bits 12 bis 15 des Datenwortes DM 6648 auf 0 gesetzt:
spezifiziert die Anzahl der zu empfangenden Bytes
(00: 256 Bytes; 01 bis FF: 1 bis 255 Bytes)
Bits 12 bis 15 des Datenwortes DM 6648 auf 1 gesetzt:
Spezifiziert den Ende–Code
(00 bis FF)

17
SPS–Konfiguration Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


Einstellungen der Peripherieschnittstelle
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam
DM 6650 00 bis 03 Schnittstelleneinstellungen 248
00: Standard (1 Startbit, 7–Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
04 bis 07 Nicht verwendet
08 bis 11 Nicht verwendet
12 bis 15 Kommunikationsbetriebsart
0: Host–Link;
1: Ohne Protokoll
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
DM 6651 00 bis 07 Baudrate
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2K
08 bis 15 Rahmenformat
Start Länge Stop Parität
00: 1 Bit 7 Bits 1 Bit Gerade
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Keine
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Keine
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Keine
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Keine
Andere: 1 Bit 7 Bits 2 Bits Gerade
AR 1302 wird aktiviert, um einen geringfügigen System–Konfigurationsfehler anzu-
zeigen, wenn kein Wert zwischen 00 und 11 spezifiziert wird
DM 6652 00 bis 15 Übertragungsverzögerung (Host–Link) 248
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
DM 6653 00 bis 07 Teilnehmernummer (Host–Link)
00 bis 31 (BCD)
(Andere Einstellungen verursachen einen geringfügigen Fehler und AR 1302 wird
auf EIN gesetzt)
08 bis 11 Startcode aktiviert (RS–232C–Schnittstelle, wirksam, wenn Bits 12 bis 15 von DM
6650 auf 1 gesetzt werden)
0: Deaktiviert
1: Einstellung aktiviert
12 bis 15 Endecode aktiviert (RS–232C–Schnittstelle, wirksam, wenn Bits 12 bis 15 von DM
6650 auf 1 gesetzt werden).
0: Deaktiviert (Anzahl der empfangenen Bytes)
1: Einstellung (spezifizierter Endecode)
2: CR, LF
DM 6654 00 bis 07 Startcode 00 bis FF 248
(Diese Einstellung ist nur gültig, wenn Bits 08 bis 11 von DM 6653 auf 1 eingestellt
werden).
08 bis 15 Bits 12 bis 15 des Datenwortes DM 6653 auf 0 gesetzt:
spezifiziert die Anzahl der zu empfangenden Bytes. (00: 256 Bytes; 01 bis FF: 1 bis
255 Bytes)
Bits 12 bis 15 des Datenwortes DM 6653 auf 1 gesetzt:
Spezifiziert den Ende–Code (00 bis FF)

18
SPS–Basisoperationen und E/A–Verarbeitungen Abschnitt 1-1

Wort(e) Bit(s) Funktion Seite


Fehlerprotokoll–Einstellungen (6655 DM)
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6655 00 bis 03 Ausführung 24
0: Verschiebung nach der Speicherung von 7 Aufzeichnungen
1: Speichern der ersten 7 Aufzeichnungen
Fehler werden nicht gespeichert, wenn andere Werte eingestellt sind
04 bis 07 Nicht verwendet.
08 bis 11 Aktivierung der Zykluszeit–Überwachung
0: Auswertung langer Abfragezyklen als geringfügige Fehler
1: Lange Abfragezyklen werden nicht erkannt
12 bis 15 Aktivierung der Fehlergenerierung bei zu niedriger Batteriespannung
0: Generiert einen geringfügigen Fehler bei einer niedrigen Batteriespannung
1: Generiert keinen geringfügigen Fehler

Hinweis Wird ein außerhalb des Bereiches liegender Wert eingestellt, so ergeben sich
die folgenden Kommunikationsbedingungen. Setzen Sie in diesem Fall den
Wert zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsbetriebsart: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Startbit, 7 Datenbits; gerade Parität,
2 Stopbits, 9.600 Baud
Übertragungsverzögerungszeit: keine
Teilnehmernummer: 00

1-2 SPS–Basisoperationen und E/A–Verarbeitungen


In diesem Abschnitt werden die Konfigurationseinstellungen für den SPS-Stan-
dardbetrieb und die E/A-Verarbeitung erläutert.

1-2-1 Start–Betriebsart
Die nach dem Einschalten der SPS aktivierte Betriebsart wird, wie nachfolgend
dargestellt, eingestellt.
Bit 15 0
DM 6600

Start-Betriebsart
00: Betriebsarten-Wahlschalter der Programmierkonsole
(falls keine Programmierkonsole angeschlossen ist: RUN-Betriebsart
01: Betriebsart, die vor dem Ausschalten der SPS aktiviert war
02: Einstellung der Betriebsart über die Bits 00 bis 07
Start-Betriebsart (Bits 08 bis 15: Gültig,
wenn Bits 00 bis 07 auf 02 gesetzt werden)
00: PROGRAM–Betriebsart
01: MONITOR–Betriebsart
02: RUN–Betriebsart

Vorgabe: Betriebsartenschalter der Programmierkonsole oder RUN–


Betriebsart, falls keine Programmierkonsole angeschlossen ist.

Hinweis Wird die “Einschaltbetriebsart” auf 00 eingestellt und Schalter 2 des DIP–Schal-
ters der CPM2C CPU–Baugruppe auf EIN gesetzt, startet die CPM2C in der
RUN–Betriebsart automatisch, wenn keine Programmierkonsole oder kein
CIF–Konverter angeschlossen ist.

19
SPS–Basisoperationen und E/A–Verarbeitungen Abschnitt 1-1

1-2-2 Systemhaftmerker–Status
Die folgenden Einstellungen spezifizieren, ob der Zwangssetzungsstatus-Haft-
merker (SR 25211) und/oder der E/A–Speicher–Haltemerker (SR 25212) beim
Einschalten der SPS den Zustand beibehalten, der beim letzten Ausschalten
der SPS gültig war oder ob der vorhergehende Zustand zurückgesetzt wird.
Bit 15 0
DM 6601 0 0

Einstellung des Systemmerkers SR 25211 Immer 00


0: Rücksetzung des Zustands
1: Aufrechterhaltung des Zustands
Einstellung des Systemmerkers SR 25212
0: Rücksetzung des Zustands
1: Aufrechterhaltung des Zustands

Vorgabe: Beide Systemmerker zurückgesetzt.

Der Zwangssetzungsstatus-Haftmerker (SR 25211) bestimmt, ob der Zwangs-


setzungs-Status (gesetzt/zurückgesetzt) beim Umschalten von der PRO-
GRAM- in die MONITOR-Betriebsart erhalten bleibt.
Der E/A–Speicher–Haltemerker (SR 25212) bestimmt, ob der Zustand der IR–
Bits und der LR–Bits beim Start und bei der Deaktivierung des SPS-Betriebs
beibehalten wird.

! Vorsicht Verwenden Sie nicht den E/A–Speicher–Haltemerker–Status– und Zwangsset-


zungs–Haftmerkerstatus–Merker (DM 6601) der CPM1, wenn die SPS–Span-
nungsversorgung für einen die Speicherzeit des internen nullspannungssi-
chernden Kondensators überschreitenden Zeitraum abgeschaltet wird. Wird
die Speicherzeit überschritten, ist der Speicherstatus auch dann undefiniert,
wenn der E/A–Speicher–Haltemerker und der Zwangssetzungs–Haftmerker-
status–Merker verwendet wird. Unvorhersehbare Ergebnisse können auftre-
ten, wenn der Betrieb mit einem undefinierten Speicherstatus versucht wird.

Hinweis 1. Die Speicherzeit des internen Kondensators ist von der Umgebungstempe-
ratur abhängig, beträgt aber 20 Tage bei 25 C. Sehen Sie die Hardware–
spezifikationen zwecks weiterer Informationen.
2. Die Speicherzeit setzt voraus, dass der interne Kondensator voll geladen
wird, bevor die Stromversorgung ausgeschaltet wird. Der Kondensator ist
voll aufgeladen, wenn die Stromversorgung der CPU–Baugruppe minde-
stens 15 Minuten lang eingeschaltet war.

1-2-3 Programmspeicher–Schreibschutz
In den SPS–Systemen der Serien CPM1, CPM1A, CPM2A und CPM2C kann
der Programmspeicher geschützt werden, indem die Bits 00 bis 03 von
DM 6602 auf 1 gesetzt werden. Bits 04 bis 07 bestimmen, ob die Programmier-
konsolen–Meldungen auf Englisch oder Japanisch angezeigt werden sollen.
Bit 15 0
DM 6602 0 0

Immer 00

Programmierkonsolen–Meldungen
0: Englisch
1: Japanisch
Programmspeicher
0: Nicht schreibgeschützt
1: Schreibgeschützt

Vorgabe:Anzeige in Englisch, nicht schreibgeschützt

20
SPS–Basisoperationen und E/A–Verarbeitungen Abschnitt 1-1

Hinweis DM 6602 selbst kann noch geändert werden, nachdem der Programmspeicher
durch Setzen der Bits 00 bis 03 von DM 6602 auf 1, mit Schreibschutz versehen
wurde.

1-2-4 RS–232C–Schnittstellen–Servicezeit (nur


CPM2A/CPM2C/SRM1(–V2))
Die folgenden Einstellungen spezifizieren den prozentualen Anteil der Zyklus-
zeit für den Service der RS–232C–Schnittstelle.
Bit 15 0

DM 6616

Aktivierung der Servicezeit-Einstellung


00: Deaktiviert (5% der Zykluszeit)
01: Aktiviert (die Einstellung in den Bits 00 bis 07 wird verwendet)
Servicezeit (%, gültig, wenn die Bits 08 bis 15 auf 01 gesetzt sind)
00 bis 99 (BCD, zweistellig)

Vorgabe: 5% der Zykluszeit

Beispiel:
Wird DM 6616 auf 0110 gesetzt, wird 10% der Zykluszeit für den Service der
RS-232C-Schnittstelle aufgewendet.
Die Mindest-Servicezeit beträgt 0,34 ms.

1-2-5 Servicezeit der Peripherieschnittstelle


Die folgenden Einstellungen spezifizieren den prozentualen Anteil der Zyklus-
zeit für den Service der Peripherieschnittstelle.
Bit 15 0

DM 6617

Aktivierung der Servicezeit-Einstellung


00: Deaktiviert (5% der Zykluszeit)
01: Aktiviert (die Einstellung in den Bits 00 bis 07 wird verwendet)
Servicezeit (%, gültig, wenn die Bits 08 bis 15 auf 01 gesetzt sind)
00 bis 99 (BCD, zweistellig)

Vorgabe: 5% der Zykluszeit

Beispiel:
Wird DM 6617 auf 0115 gesetzt, wird 15% der Zykluszeit für den Service der Pe-
ripherie-Schnittstelle aufgewendet.
Die Mindest-Servicezeit beträgt 0,34 ms.

1-2-6 Zyklusüberwachungszeit
Bit 15 0
DM 6618

Zykluszeitüberwachung
00: Einstellung deaktiviert (Zeit auf 120 ms fest eingestellt)
01: Einstellung in 00 bis 07 aktiviert; Einheit: 10 ms
02: Einstellung in 00 bis 07 aktiviert; Einheit: 100 ms
03: Einstellung in 00 bis 07 aktiviert; Einheit: 1 s

Einstellung der Zyklusüberwachungszeit


(wenn die Bits 08 bis 15 nicht 00 sind)
00 bis 99 (BCD, zweistellig; Einheiteneinstellung in den Bits 08 bis 15)

Vorgabe: 120 ms.

21
SPS–Basisoperationen und E/A–Verarbeitungen Abschnitt 1-1

Die Zykluszeitüberwachung dient zur Erkennung extrem langer Zykluszeiten,


die zum Beispiel im Falle einer unendlichen Programmschleife auftreten kön-
nen. Überschreitet die Zykluszeit den für die Zyklusüberwachungzeit spezifi-
zierten Wert, wird ein schwerwiegender Fehler (FALS 9F) generiert.
Hinweis 1. Die Einheiten, die für die im AR–Bereich (AR 14 und AR 15) gespeicherten
Maximal– und Ist–Zyklusdauer verwendet werden, werden durch die Ein-
stellung für die Zyklusüberwachungs–Zeit in DM 6618, wie nachfolgend ge-
zeigt, bestimmt.
Bits 08 bis 15 auf 01 gesetzt: 0,1 ms
Bits 08 bis 15 auf 02 gesetzt: 1 ms
Bits 08 bis 15 auf 03 gesetzt: 10 ms
2. Auch bei Zykluszeiten von 1 s oder länger beträgt die über Programmierge-
räte gelesene Zykluszeit maximal 999,9 ms. Die tatsächlichen maximalen
und aktuellen Zykluszeiten werden in den AR–Bereichen gespeichert.
Beispiel
Wird 0230 in DM 6618 spezifiziert, wird ein FALS 9F-Fehler erst bei einer Zy-
kluszeit von mehr als 3 s generiert. Beträgt die Ist–Zykluszeit 2,59 s, enthält der
AR–Bereich den Wert 2590 (ms), die über ein Programmiergerät gelesene Zy-
kluszeit beträgt jedoch 999,9 ms.
Ein ”geringfügiger” Fehler (Zykluszeitüberschreitung) wird generiert, sobald die
Zykluszeit 100 ms überschreitet. Voraussetzung hierfür ist jedoch, dass die Er-
kennung langer Zykluszeiten über die Einstellung in DM 6655 deaktiviert wurde.

1-2-7 Minimum–Zykluszeit
Die folgenden Einstellungen dienen zur Spezifikation der Standard-Zykluszeit
und verhindern Schwankungen der E/A-Ansprechzeit durch Einstellung der mi-
nimalen Zykluszeit.
Bit 15 0
DM 6619

Zykluszeit (BCD, vierstellig)


0000: Variable Zykluszeit
0001 bis 9999: Minimale Zykluszeit
(Einheit: 1 ms)

Vorgabe: Variable Zykluszeit

Ist die tatsächliche Zykluszeit kürzer als die minimale Zykluszeit, erfolgt die Aus-
führung erst nach Ablauf der Mindestzeit. Ist die tatsächliche Zykluszeit länger
als die minimale Zykluszeit, wird der Betrieb entsprechend der tatsächlichen Zy-
kluszeit fortgesetzt. Bei Überschreitung der minimalen Zykluszeit wird AR 1305
gesetzt.

1-2-8 Eingangs–Zeitkonstanten
Die folgenden Einstellungen spezifizieren die Zeit, in der die tatsächlichen Ein-
gänge der DC-Eingangsbaugruppe auf AUS oder EIN gesetzt werden bis zur
Auffrischung der entsprechenden Eingangsbits (d.h. bis zur Änderung des EIN/
AUS-Zustandes). Diese Einstellungen dienen zur Spezifikation der Zeit, in der
die Eingänge stabilisiert werden.
Das Vergrößern der Eingangs–Zeitkonstante kann die Wirkungen von prellen-
den und externen Störungen reduzieren.

Eingang von einem Ein-


gangsgerät wie z.B. Be-
grenzungsschalter
Eingangsbit–
Status
t t Eingangs–Zeitkonstante

22
SPS–Basisoperationen und E/A–Verarbeitungen Abschnitt 1-1

Die SRM1(–V2) verfügt nicht über diese Einstellung.


CPM1/CPM1A SPS Stellen Sie die Eingangs–Zeitkonstanten für die CPM1/CPM1A–Eingänge über
ein Programmiergerät ein.
Eingangs–Zeitkonstanten für IR 000
Bit 15 0
DM 6620

Zeitkonstante für IR 00007 bis IR 00011 (BCD, einstellig; sehen Sie unten)
Zeitkonstante für IR 00005 bis IR 00006 (BCD, einstellig; sehen Sie unten)
Zeitkonstante für IR 00003 bis IR 00004 (BCD, einstellig; sehen Sie unten)
Zeitkonstante für IR 00000 bis IR 00002 (BCD, einstellig; sehen Sie unten)
Vorgabe: 0000 (8 ms für alle)

Eingangs–Zeitkonstanten für IR 001 bis IR 009


Bit 15 0
DM 6621: IR 001 und IR 002
DM6621 bis DM6625
DM 6622: IR 003 und IR 004
DM 6623: IR 005 und IR 006
DM 6624: IR 007 und IR 008
DM 6625: IR 009

Zeitkonstante für IR 002, IR 004, IR 006 und IR 008


Zeitkonstante für IR 001, IR 003, IR 005, IR 007 und IR 009
Vorgabe: 0000 (8 ms für alle)

Die neun möglichen Einstellungen für die Eingangs–Zeitkonstante sind nachfol-


gend dargestellt. (Geben Sie nur die äußerst rechte Ziffer jeder Einstellung für
IR 000 ein.)
00: 8 ms 01: 1 ms 02: 2 ms 03: 4 ms 04: 8 ms
05: 16 ms 06: 32 ms 07: 64 ms 08: 128 ms
Die E/A–Ansprechzeit der CPM1/CPM1A ist die Eingangs–Zeitkonstante (1 ms
bis 128 ms; Vorgabe ist 8 ms) + Zykluszeit.
Sehen Sie Abschnitt 81 CPM1/CPM1A−Zykluszeit und E/A−Ansprechzeit für
weitere Informationen.
CPM2A/CPM2C SPS–Systeme Stellen Sie die Eingangs–Zeitkonstanten für die Eingänge der CPM2A/CPM2C
über ein Programmiergerät ein.
Eingangs–Zeitkonstanten für IR 000
Bit 15 0
DM 6620

Zeitkonstante für IR 00007 bis IR 00011 (BCD, einstellig; sehen Sie unten)
Zeitkonstante für IR 00005 bis IR 00006 (BCD, einstellig; sehen Sie unten)
Zeitkonstante für IR 00003 bis IR 00004 (BCD, einstellig; sehen Sie unten)
Zeitkonstante für IR 00000 bis IR 00002 (BCD, einstellig; sehen Sie unten)
Vorgabe: 0000 (10 ms für alle)

Eingangs–Zeitkonstanten für IR 001 bis IR 009


Bit 15 0
DM 6621: IR 001 und IR 002
DM6621 bis DM6625
DM 6622: IR 003 und IR 004
DM 6623: IR 005 und IR 006
DM 6624: IR 007 und IR 008
DM 6625: IR 009

Zeitkonstante für IR 002, IR 004, IR 006 und IR 008


Zeitkonstante für IR 001, IR 003, IR 005, IR 007 und IR 009
Vorgabe: 0000 (10 ms für alle)

23
SPS–Basisoperationen und E/A–Verarbeitungen Abschnitt 1-1

Die neun möglichen Einstellungen für die Eingangs–Zeitkonstante sind nachfol-


gend dargestellt. Für IR 000 muss nur die äußerst rechte Ziffer eingegeben wer-
den.
00: 10 ms 01: 1 ms 02: 2 ms 03: 3 ms 04: 5 ms
05: 10 ms 06: 20 ms 07: 40 ms 08: 80 ms

1-2-9 |Fehlerprotokoll–Einstellungen
Fehlererkennung und Fehlerprotokollierung (DM 6655)
Die folgenden Einstellungen spezifizieren, ob ein ”geringfügiger” Fehler gene-
riert wird, wenn die Zykluszeit 100 ms überschreitet oder die Spannung der inte-
grierten Batterie sinkt (nur CPM2A/CPM2C). Darüber hinaus wird das Verfah-
ren für die Speicherung von Datensätzen in dem Fehlerprotokoll beim Auftreten
von Fehlern spezifiziert.
Bit 15 0
DM 6655 0

Erkennung einer niedrigen


Batteriespannung immer 0
0: Erkennung
1: Keine Erkennung
Erkennung einer Zykluszeit-
Überschreitung
0: Erkennung
1: Keine Erkennung
Fehlerprotokoll-
Speicherung
0: Die 7 zuletzt aufgetretenen Fehler werden immer gespeichert (ältere Fehler werden
gelöscht).
1: Nur die ersten 7 Fehler werden gespeichert (weitere Fehler werden nicht gespeichert).
2 bis F: Fehler werden nicht gespeichert.

Vorgabe: Niedrige Batteriespannung und Zykluszeit-Überschreitungen


werden als Fehler erkannt und die 7 zuletzt aufgetretenen Fehler gespeichert.

Zu geringe Batteriespannungen und Zykluszeit-Überschreitungen werden als


”geringfügige” Fehler eingestuft.
Sehen Sie Kapitel 9 Fehlersuche für weitere Informationen über das Fehlerpro
tokoll.
Hinweis Der Batteriespannung niedrig–Fehler wird nur in der CPM2A/CPM2C generiert.
Diese Ziffer wird nicht in den SPS–Systemen CPM1/CPM1A/SRM1(–V2) und
CPM2C verwendet, die nicht mit einer Batterie ausgestattet sind.

24
KAPITEL 2
Besonderheiten
Dieser Abschnitt beschreibt Besonderheiten der CPM1, CPM1A, CPM2A, CPM2C und SRM1 (V2).

2-1 CPM2A/CPM2C–Interrupt–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2-1-1 Eingangsgesteuerte Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2-1-2 Intervall–Zeitgeber–gesteuerter Interrupt . . . . . . . . . . . . . . . . . . . . . . . 34
2-2 CPM2A/CPM2C Schneller Zähler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2-2-1 Anwendung des Schnellen Zählers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2-2-2 Eingangsgesteuerte Interrupts im Zählmodus . . . . . . . . . . . . . . . . . . . . 61
2-3 CPM1/CPM1A–Interrupt–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2-3-1 Arten von Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2-3-2 Eingangs–Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2-3-3 Maskierung aller Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2-3-4 Intervall–Zeitgeber–gesteuerte Interrupts . . . . . . . . . . . . . . . . . . . . . . 78
2-3-5 Schnelle Zähler–Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2-4 SRM1(–V2) Interrupt–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2-4-1 Interrupt–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2-4-2 Intervall–Zeitgeber–Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2-5 CPM2A/CPM2C–Impulsausgabefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2-5-1 Einsatz von einphasigen Impulsausgaben ohne Beschleunigung und Bremsung
(festes Tastverhältnis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2-5-2 Verwendung der Impulsausgänge mit variablem Tastverhältnis . . . . . . 106
2-5-3 Impulsausgaben mit trapezförmiger Beschleunigung and Abbremsung 111
2-6 CPM1A–Impulsausgabefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
2-6-1 Programmbeispiel für die Betriebsart Ununterbrochen . . . . . . . . . . . . 126
2-6-2 Programmbeispiel in der Betriebsart Unabhängig . . . . . . . . . . . . . . . . 126
2-6-3 Verwendung der Impuls–Ausgabebefehle . . . . . . . . . . . . . . . . . . . . . . . 126
2-6-4 Ändern der Frequenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
2-6-5 Anhalten der Impulsausgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
2-7 Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) . . . . . . . . . . . . . . . . . . . 129
2-8 Toleranzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2-8-1 Impulsausgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2-8-2 Synchronisierte Impulssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
2-9 Analoge E/A–Funktionen (nur CPM1/CPM1A/CPM2A/CPM2C) . . . . . . . . . . . . 142
2-10 Temperaturfühler–Eingangsfunktionen (nur CPM1A/CPM2A/CPM2C) . . . . . . . 142
2-11 CompoBus/S–E/A–Slavefunktionen (nur CPM1A/CPM2A/CPM2C) . . . . . . . . . 143
2-12 CompoBus/S–E/A–Master–Funktionen (nur SRM1(–V2)) . . . . . . . . . . . . . . . . . . 143
2-13 Einstellschaltungen (nur CPM1/CPM1A/CPM2A) . . . . . . . . . . . . . . . . . . . . . . . . 145
2-14 Eingänge mit Impulsspeicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
2-14-1 CPM1/CPM1A–Eingänge mit Impulsspeicherung . . . . . . . . . . . . . . . . 147
2-14-2 CPM2A/CPM2C–Eingänge mit Impulsspeicherung . . . . . . . . . . . . . . . 148
2-15 Makrofunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
2-16 Berechnungen mit vorzeichenbehafteten Binärdaten . . . . . . . . . . . . . . . . . . . . . . . 153
2-16-1 Definition vorzeichenbehafteter Binärdaten . . . . . . . . . . . . . . . . . . . . . 153
2-16-2 Arithmetische Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2-16-3 Eingabe vorzeichenbehafteter Binärdaten unter Verwendung
von Dezimalwerten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2-17 Flankenüberwachung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2-18 Erweiterte Befehle (nur CPM2A/CPM2C/SRM1(–V2) ) . . . . . . . . . . . . . . . . . . . 154
2-18-1 Erweiterte Befehle der CPM2A/CPM2C . . . . . . . . . . . . . . . . . . . . . . . 156
2-18-2 Erweiterte Befehle der SRM1(-V2) . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
2-19Verwendung der CPM2A/CPM2C–Uhrfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2-19-1 Datenbereichs–Worte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2-19-2 Einstellung der Zeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

25
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

2-1 CPM2A/CPM2C–Interrupt–Funktionen
Arten von Interrupts Die CPM2A und CPM2C bieten folgende Arten der Interrupt–Verarbeitung. In-
terrupts können temporär deaktiviert werden, wenn die Online–Editierung wäh-
rend des Betriebs durchgeführt oder STUP(––) ausgeführt wird, um Einstellun-
gen zu ändern.
Hinweis *Eingang 00005 in der CPM2C CPU–Baugruppe mit nur 10 Ein–/Ausgängen
kann nur als normaler Eingang verwendet werden, Eingang 00006 ist nicht vor-
handen. In diesen CPU–Baugruppen sind die Interrupt–Unterprogrammnum-
mern 000 und 001 den Eingängen 00003 und 00004 zugeordnet.
Eingangsgesteuerte Interrupts
Interrupt–Programme werden ausgeführt, wenn CPU–Baugruppen–integrierte
Eingänge (00003 bis 00006*) von AUS nach EIN wechseln. Interrupt–Unterpro-
grammnummern 000 bis 003* sind den Eingängen 00003 bis 00006* zugeord-
net.
Intervall–Zeitgeber–gesteuerte Interrupts
Interrupt–Programme der Intervall–Zeitgeber werden mit einer Genauigkeit von
0,1 ms ausgeführt. Die Interrupt–Unterprogrammnummern 000 bis 049 werden
über Befehle zugewiesen.
Auf–/Abwärtszählungs–gesteuerte Interrupts über Interrupt–Eingänge
(Zählmodus)
Eingangssignale an den in die CPU–Baugruppe–integrierten Eingänge (00003
bis 00006*) werden mit großer Geschwindigkeit (2 kHz) gezählt; das normale
Programm wird unterbrochen und ein Interrupt–Programm ausgeführt. Inter-
rupt–Unterprogrammnummern 000 bis 003* sind den Eingängen 00003 bis
00006* zugeordnet.
Zählsollwert erreicht–gesteuerte Interrupts unter Anwendung des schnel-
len Zählers
An die Eingängen der CPU–Baugruppe (00000 bis 00002) angelegte Impulse
werden mit großer Geschwindigkeit gezählt (20 kHz/5 kHz) und ein Interrupt–
Programm wird ausgeführt, wenn der Istwert dem Sollwert entspricht oder in-
nerhalb eines spezifizierten Bereichs fällt. Interrupt–Unterprogrammnummern
000 bis 049 werden über Befehle zugewiesen.
Schreiben von Interrupt–Programme werden als Interrupt–Unterprogramme innerhalb des An-
Interrupt–Programmen wenderprogramms programmiert. Wie bei normalen Unterprogrammen wird
auch ein Interrupt–Unterprogramm durch SBN(92) und RET(93) definiert. Es
wird an das Ende des normalen Programms platziert.

Normales
Programm

Interrupt– Unterprogramm
Programm

1, 2, 3... 1. Ein neuer Interrupt kann in einem Interrupt–Unterprogramm festgelegt und


ein vorhandener gelöscht werden.

26
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

2. Innerhalb eines bestimmten Interrupt–Unterprogrammes kann kein ande-


res Unterprogramm zur Verarbeitung eines anderen Interrupts program-
miert werden. Ein anderes Interrupt–Unterprogramm kann nicht zwischen
den SBN(92)– und RET(93)–Befehlen verschachtelt werden.
3. Es ist nicht möglich, ein Unterprogramm innerhalb eines Interrupt–Unter-
programmes zu schreiben. Zwischen den SBN(92) und RET(93)–Befehlen
kann kein Unterprogramm verschachtelt werden.
4. Es ist nicht möglich, ein Interrupt–Unterprogramm innerhalb eines norma-
len Unterprogramms zu schreiben. Ein Interrupt–Unterprogramm kann
nicht zwischen den SBN(92)– und RET(93)–Befehlen verschachtelt wer-
den.
Wird eine Interrupt–Unterprogramm definiert, wird während der Programm-
überprüfung ein “SBS UNDEFINED(nicht definiertes Unterprogramm)”–Fehler
generiert, aber das Programm wird normal ausgeführt.

! Vorsicht Obwohl IORF(97) in Interrupt–Unterprogrammen verwendet werden kann,


müssen Sie den Zeitraum zwischen den IORF(97)–Ausführungen sorgfältig be-
achten. Wird IORF(97) zu häufig ausgeführt, kann ein schwerwiegender Sy-
stemfehler (FALS 9F) auftreten, wodurch der Betrieb abgebrochen wird. Der In-
tervall zwischen Ausführungen von IORF(97) sollte mindestens 1,3 ms + ge-
samte Ausführungszeit des Interrupt–Unterprogramms betragen.

Reihenfolge der Die Reihenfolge der Interrupt–Prioritäten ist wie folgt:


Prioritäten der Interrupts

Eingangsgesteuerte Auf–/Abwärtszählungs– Intervall–Zeitgeber– Schnelle Zähler–


= gesteuerte Interrupts > gesteuerte Interrupts = Zählwertvergleichs–
Interrupts
Interrupts

Wird während der Interrupt–Programmausführung, ein Interrupt mit einer höhe-


ren Priorität generiert, wird der Interrupt, der zur Zeit verarbeitet wird, abgebro-
chen, und der neue Interrupt zuerst verarbeitet. Dann wird die Verarbeitung des
ursprünglichen Interrupts wieder fortgesetzt, nachdem die Verarbeitung des In-
terrupts mit der höheren Priorität abgeschlossen ist.
Gleichzeitig generierte Interrupts der gleichen Priorität werden in folgender Rei-
henfolge verarbeitet:
Eingangsgsteuerter Interrupt 0 → Eingangsgsteuerter Interrupt 1 → Eingangs-
gsteuerter Interrupt 2 → Eingangsgsteuerter Interrupt 3 (einschließlich
Auf–/Abwärtszähl–Modus)
Intervall–Zeitgeber–Interrupt → Schneller Zähler–Interrupt

2-1-1 Eingangsgesteuerte Interrupts


Durch Umschalten der in der CPU–Baugruppen–integrierten Eingänge von
AUS auf EIN kann das normale Programm unterbrochen und das Interrupt–Pro-
gramm ausgeführt werden. Diese Interrupts sind vier Eingängen zugeordnet
(00003 bis 00006*).

27
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

Hinweis *Eingang 00005 in der CPM2C CPU–Baugruppe mit nur 10 Ein–/Ausgängen


kann nur als normaler Eingang verwendet werden, Eingang 00006 ist nicht vor-
handen.

Interrupt–Signal

Normales
Programm

Interrupt–
Unter–
Programm
programm

Eingangs– Interrupt– Unter– Mindest– Interrupt–


nummer Nummer programm– Eingangs– Ansprechzeit
(Hinweis 1) nummer signalbreite
(Hinweis 2)
00003 0 000 50 µs 0,3 ms (vom
Zeitpunkt des
00004 1 001 Einschaltens des
00005 2 002 Eingangs bis zur
Programm
Programm–
00006 3 003 ausführung)
Hinweis 1. Eingänge 00003 bis 00006 können für jede der folgenden Funktionen ver-
wendet werden: als Interrupt–Eingänge, als Interrupt–Eingänge (Zählmo-
dus) oder als Eingänge mit Impulsspeicherung. Werden diese Eingänge
nicht für einen der zuvor beschriebenen Zwecke verwendet, können sie als
gewöhnliche Eingänge eingesetzt werden.
2. Unterprogrammnummern 000 bis 003 sind die Nummern der Interrupt–Pro-
gramme, die gestartet werden, wenn eingangsgesteuerte Interrupts oder
Auf–/Abwärtszählungs–gesteuerte Interrupts für eingangsgesteuerte Inter-
rupts (Zählmodus) generiert werden. Werden diese Eingänge nicht für ei-
nen der zuvor beschriebenen Zwecke verwendet, können sie als gewöhnli-
che Eingänge eingesetzt werden.
Die folgende Tabelle zeigt die Beziehungen zwischen Interrupt–Eingängen und
anderen Funktionen der SPS der CPM2A/CPM2C–Serie.
Funktion Eingangsgesteuerter Interrupts
(Zählmodus)
Synchronisierte Impulssteuerung Kann gleichzeitig verwendet werden.
Eingangsgesteuerte Interrupts (Sehen Sie Hinweis 1)
Intervall–Zeitgeber–gest. Interrupts Kann gleichzeitig verwendet werden.
Schnelle Zähler Kann gleichzeitig verwendet werden.
Eingangsgest. Interrupts (Zählmodus) (Sehen Sie Hinweis 1)
Impulsausgänge Kann gleichzeitig verwendet werden.
Eingänge mit Impulsspeicherung (Sehen Sie Hinweis 1)
Eingangs–Zeitkonstante (Sehen Sie Hinweis 2)
Uhr Kann gleichzeitig verwendet werden.
Hinweis 1. Jeder der Eingänge 00003 bis 00006 kann nur für eine der folgenden Funk-
tionen konfiguriert werden: als Interrupt–Eingang, als Interrupt–Eingang
(Zählmodus) oder als Eingang mit Impulsspeicherung.

28
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

2. Werden die Eingänge 00003 bis 00006 als Interrupt–Eingänge (Zählmo-


dus) konfiguriert, werden die Eingangszeit–Konstanten der entsprechen-
den Eingänge deaktiviert. Die Eingangszeit–Konstanten bleiben jedoch in
der SPS–Konfiguration gespeichert.

Verwendung der Interrupt–Eingänge

Verdrahtung der Eingänge. Eingang: 00003 bis 00006

Definition als Interrupt–Eingänge (eingangsge-


SPS–Konfiguration (DM 6628)
steuerte Interrupts–oder Zählmodus).

INT(89): Maskierung und Demaskierung von


Erstellen eines Kontaktplan– Interrupts.
Programms. SBN(92) und RET(93): Erstellung von Inter-
rupt–Unterprogrammen.

Eingänge

E–gest. Interrupt0 Interrupt wird


generiert.

Kontaktplan–Programmierung Spezifiziertes Unterprogramm


wird ausgeführt.
INT(89)–Befehl
(92)
Interrupt–Signal–
Freigabe

E–gest. Interrupt 1
(93)

E–gest. Interrupt 2

E–gest. Interrupt3

SPS–Konfigur.
DM 6628

Zuordnung der Interrupt– Die auszuführenden Interrupt–Unterprogramme sind den entsprechenden In-
Unterprogramme terrupt–Eingängen fest zugeordnet.
Eingang Interrupt– Unterprogramm–
Nummer nummer
00003 0 000
00004 1 001
00005 2 002
00006 3 003

Jeder der Eingänge 00003 bis 00006 kann nur für eine der folgenden Funktio-
nen konfiguriert werden: als Interrupt–Eingang, als Interrupt–Eingang (Zählmo-
dus) oder als Eingang mit Impulsspeicherung.

29
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

Verdrahtung der Verdrahten Sie, bei einer CPM2A, die Eingangsklemmen wie in der folgenden
Eingänge Abbildung gezeigt.
Eingang 00003
Eingang 00004
Eingang 00005
Eingang 00006

Verdrahten Sie die Eingänge einer CPM2C, wie in der folgenden Abbildung ge-
zeigt.

Eing.–klemmen E–Steckverbind.

00004
00003

00006
00005
00004
00003

Hinweis Sehen SIe das technische Handbuch der CPU–Baugruppe für Informationen
über die Verdrahtung.

SPS–Konfiguration Die folgende Tabelle enthält die Einstellungen im SPS–Konfigurationsbereich,


die mit der Verwendung von eingangsgesteuerte Interrupts zusammenhängen.
Wort Bits Funktion Ein–
stellung
DM 6628 00 bis Einstellung für 0: Normaler Eingang 1
03 Eingang 00003 Interrupt–Eingänge
1: Interru t–Eingänge
04 bis Einstellung für (Eingangsgesteuerter
07 Eingang 00004 Interrupt– oder Zählmodus))
08 bis Einstellung für 2: Schneller Eingang mit
11 Eingang 00005 Impulsspeicherung g
12 bis Einstellung für
15 Eingang 00006

Hinweis *Eingang 00005 in der CPM2C CPU–Baugruppe mit nur 10 Ein–/Ausgängen


kann nur als normaler Eingang verwendet werden, Eingang 00006 ist nicht vor-
handen.
Die Einstellungen werden wirksam, wenn die Betriebsart geändert wird (von
PROGRAM auf MONITOR/RUN) oder wenn die Spannungsversorgung der
CPM2A/CPM2C eingeschaltet wird.

30
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

Kontaktplan– Die folgende Tabelle zeigt die sich auf Interrupts beziehenden Befehlsfunktio-
Programmierung nen.
Befehl Steuerung Betrieb
(@)INT(89) Maskierung/Demaskie- Sperrt oder gibt spezifizierte Interrupts
rung der eingangsge- frei.
steuerte Interrupts.
Eingangsgesteuerte In- Löscht einen maskierten (gesperrten) ein-
terrupts löschen gangsgesteuerten Interrupt.
Liest den gegenwärtigen Liest den Freigabe/Gesperrt–Status eines
Maskenstatus eingangsgesteuerten Interrupts.
Maskierung aller Inter- Sperrt alle Interrupts, einschließlich ein-
rupts gangsgesteuerte Interrupts, Intervall–Zeit-
geber–gesteuerte Interrupts, zählerge-
steuerte Interrupts, usw.
Demaskierung aller Gibt alle Interrupts, einschließlich ein-
Interrupts gangsgesteuerte Interrupts, Intervall–Zeit-
geber–gesteuerte Interrupts, zählerge-
steuerte Interrupts, usw. frei.

Maskierung oder Demaskierung von Interrupts


Diese Funktion wird dazu verwendet, um die den Eingängen 00003 bis 00006
zugeordneten Interrupts 0 bis 3 zu maskieren oder zu demaskieren.
(@)INT(89)
000 Interrupt–Steuercode (000: Maskierung/Demaskierung der Interrupts)
000 Fest auf 000 (keine Funktion)
C2 Steuerdaten–Wort

Spezifiziert/speichert 0.
Spezifiziert eingangsgesteuerten Interrupt 3 (Eingang 00006)
Spezifiziert eingangsgesteuerten Interrupt 2 (Eingang 00005)
Spezifiziert eingangsgesteuerten Interrupt 1 (Eingang 00004)
Spezifiziert eingangsgesteuerten Interrupt 0 (Eingang 00003)

0: Maske gelöscht (Interrupt–Eingang freigegeben)


1: Maske spezifiziert (Interrupt–Eingang sperren)

Alle eingangsgesteuerten Interrupts sind am Anfang des Betriebs gesperrt (in


entweder der PROGRAM– oder der RUN/MONITOR–Betriebsart). Um ein-
gangsgesteuerte Interrupts zu verwenden, müssen diese über INT(89) freige-
geben werden.
Löschen von maskierten, eingangsgesteuerten Interrupts
Diese Funktion wird dazu verwendet, die gespeicherten Zustände der Eingänge
00003 bis 00006 zu löschen (eingangsgesteuerte Interrupts 0 bis 3). Da ein-
gangsgesteuerte Interrupts gespeichert werden, werden maskierte Interrupts
erst abgearbeitet, nachdem die Maske entfernt wurde, es sei denn, die Inter-
rupts werden zuvor gelöscht. Verwenden Sie INT(89), um die Interrupt–Spei-
cherung zu löschen, damit die Interrupts nicht ausgeführt werden, wenn ein-
gangsgesteuerte Interrupts freigegeben werden (d.h. nachdem die Maske ent-
fernt wird).

31
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

(@)INT(89)
Interrupt–Steuercode (001: Interrupt löschen)
001
000 Fest auf 000 (keine Funktion)
C2 Steuerdaten–Wort

Spezifiziert 0

Spezifiziert eingangsgesteuerten Interrupt 3 (Eingang 00006)


Spezifiziert eingangsgesteuerten Interrupt 2 (Eingang 00005)
Spezifiziert eingangsgesteuerten Interrupt 1 (Eingang 00004)
Spezifiziert eingangsgesteuerten Interrupt 0 (Eingang 00003)

0: Interrupt beibehalten
1: Interrupt löschen

Während eingangsgesteuerte Interrupts maskiert sind, kann bei mehreren ein-


gegangenen Impulsen nur ein auszuführender Interrupt pro Eingang gespei-
chert werden.
Lesen des gegenwärtigen Maskenstatus
Diese Funktion wird dazu verwendet, den gegenwärtigen Maskenstatus für die
Eingänge 00003 bis 00006 (eingangsgesteuerte Interrupts 0 bis 3) zu lesen.

(@)INT(89)
002 Interrupt–Steuercode (002: Lesen des gegenwärtigen Maskenstatus)
000 Fest auf 000 (keine Funktion)
C2 Steuerdaten–Wort

0 spezifizieren
Spezifiziert eingangsgesteuerten Interrupt 3 (Eingang 00006)
Spezifiziert eingangsgesteuerten Interrupt 2 (Eingang 00005)
Spezifiziert eingangsgesteuerten Interrupt 1 (Eingang 00004)
Spezifiziert eingangsgesteuerten Interrupt 0 (Eingang 00003)

0: Maske ist gelöscht (Interrupt freigegeben).


1: Maske ist definiert (Interrupt gesperrt).

Maskierung oder Demaskierung aller Interrupts


Diese Funktion wird zur Maskierung/Demaskierung aller Interrupt–Verarbeitun-
gen (eingangsgesteuerte Interrupts (auch im Zählmodus), Intervall–Zeitgeber–
gesteuerte Interrupts und zählergesteuerte Interrupts) verwendet. Maskierte
eingangsgesteuerte Interrupts werden gespeichert, aber nicht ausgeführt.
Maskierung aller Interrupts

(@)INT(89)
100 Interrupt–Steuercode (100: Maskierung aller Interrupts)
000 Fest auf 000 (keine Funktion)
000 Fest auf 000 (keine Funktion)

32
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

Demaskierung aller Interrupts

(@)INT(89)
200 Interrupt–Steuercode (200: Demaskierung aller Interrupts)
000 Fest auf 000 (keine Funktion)
000 Fest auf 000 (keine Funktion)

Die Maskierung oder Demaskieren aller Interrupt kann nicht innerhalb eines In-
terrupt–Unterprogrammes ausgeführt werden.
Treten Interrupts–Signale auf, während alle Interrupts maskiert sind, werden die
Interrupt–Signale aufgezeichnet aber es wird keine Interrupt–Verarbeitung
durchgeführt. Wird “Alle Interrupts demaskieren” ausgeführt, wird die Verarbei-
tung entsprechend dem Interrupt–Maskenstatus jedes Eingangs durchgeführt.
Interrupt–Masken können nicht einfach durch Ausführung von “Alle Interrupts
demaskieren” gelöscht werden. Die Ausführung von “Alle Interrupts demaskie-
ren” stellt lediglich den Status wieder her, der vor der Ausführung von ”Alle Inter-
rupts maskieren“ wirksam war.
Hinweis INT(89) muss in der Reihenfolge ”Maskierung aller Interrupts“ gefolgt von ”De-
maskierung aller Interrupts“ ausgeführt werden.

Programmbeispiel
Erläuterung In diesem Beispiel wird ein Interrupt–Unterprogramm ausgeführt, indem Ein-
gang 00003 von AUS nach EIN wechselt. Das Interrupt–Unterprogramm inkre-
mentiert den Inhalt von DM 0000 um 1.
Verdrahtung Das folgende Diagramm zeigt die Eingangsverdrahtung der CPM2A.

Eingabegerät

Das folgende Diagramm zeigt die Eingangsverdrahtung in der CPM2C.

Eing.–klemmen E–Steckverbind.

Eingabe-
gerät

Eingabe-
gerät

33
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

SPS–Konfiguration
15 0
DM 6628 0 0 0 1

Eingang 00003 wird als Interrupt–Eingang verwendet.


(Die Eingänge 00004 bis 00006 werden als normale
Eingänge verwendet.)

Programmierung
EIN für 1 Zyklus am Anfang
des RUN/MONITOR–
Betriebs

Löscht den Inkrementbereich (DM 0000).

(89)

Freigabe von des eingangsgesteuerten Interrupts 0 (Eingang 00003).

Immer EIN
25313

Ausgeführt, wenn Eingang 00003 von AUS auf EIN wechselt.

2-1-2 Intervall–Zeitgeber–gesteuerter Interrupt


Ein Intervall–Zeitgeber (Genauigkeit: 0,1 ms) wird unterstützt und kann auf 0,5
ms bis 319.968 ms eingestellt werden. Es gibt zwei Interrupt–Modi: der Mono-
flop–Modus, in der ein einzelner Interrupt ausgeführt wird, wenn die Zeit abge-
laufen ist und der zeitgesteuerte Modus, in der Interrupts in regelmäßigen Inter-
vallen ausgeführt werden.

Intervall–Zeitgeber–Interrupt

Normales
Programm

Interrupt– Unter–
Programm programm

34
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

Monoflop–Interrupt–Modus Zeitgesteuerter
Interrupt–Modus
Vorgang Der Interrupt wird einmal aus- Interrupts werden in normalen
geführt, wenn die Zeit abge- Intervallen ausgeführt.
laufen ist.
Zeiteinstellung 0,5 bis 319.968 ms (Einheit: 0,1 ms)
Interrupt– 0,3 ms (beginnend mit dem Moment des Ablaufs der Zeit bis
Ansprechzeit zur Ausführung des Interrupt–Programms)

Die folgende Tabelle zeigt die Beziehungen zwischen Intervall–Zeitgeber–ge-


steuerte Interrupts und anderen Funktionen der SPS der CPM2A/CPM2C–Se-
rie.
Intervall–Zeitgeber–gesteuerte
Interrupts
Synchronisierte Impulssteuerung Kann gleichzeitig verwendet werden.
Eingangsgesteuerte Interrupts Kann gleichzeitig verwendet werden.
Intervall–Zeitgeber–gest. Interrupts ---
Schneller Zähler Kann gleichzeitig verwendet werden.
Eingangsgest. Interrupt (Zählmodus) Kann gleichzeitig verwendet werden.
Impulsausgänge Kann gleichzeitig verwendet werden.
Eingänge mit Impulsspeicherung Kann gleichzeitig verwendet werden.
Eingangs–Zeitkonstante Kann gleichzeitig verwendet werden.
Uhr Kann gleichzeitig verwendet werden.

Verfahren zur Anwendung von Intervall–Zeitgeber–gesteuertern Interrupts

Modus auswählen. Entweder Monoflop– oder zeitgesteuerter Interrupt–Modus

Kontaktplan–Programmierung STIM(69)

Interrupt wird
Intervall-Zeitgeber ausgeführt.

Spezifiziertes Unterprogramm
Kontaktplan–Programmierung wird ausgeführt.

STIM(69)
INTERVALL–ZEIT- SBN(92)
GEBER–Befehl
Zeitgeber starten
Monoflop–Betrieb
Zeitgest. Interrupt–Betrieb RET (93)
Lesen der abgelaufen. Zeit

Auswählen des Modus Wählen Sie entweder den Monoflop– oder den zeitgesteuerten Interrupt–
Modus aus.

35
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

Monoflop–Modus

Normales Programm Normales Programm

Interrupt–Programm

Intervall–Zeitgeber–Interrupt

Intervall–Zeitgeber–Betrieb
Zeitgeber starten

Zeitgesteuerter Interrupt–Modus

Normales Programm

Interrupt–Programm

Intervall–Zeitgeber–Interrupt

Intervall–Zeitgeber–Betrieb
Zeitgeber starten

Beim zeitgesteuerten Interrupt–Modus wird, nachdem die festgesetzte Zeit ab-


gelaufen ist, der Zeitgeber bei jedem Aufruf des Interrupt–Programms zurück-
gesetzt; anschließend läuft der Intervall–Zeitgeber wieder an.
Seien Sie in Bezug auf die Ausführungszeit des Interrupt–Programms und der
eingestellten Zeit des Intervall–Zeitgebers vorsichtig. Überschreitet die Ausfüh-
rungszeit des Interrupt–Programms die festgesetzte Zeit des Intervall–Zeitge-
bers, kann der zeitgesteuerte Interrupt nicht richtig ausgeführt werden.
Kontaktplan– Die folgende Tabelle zeigt die sich auf die Interrupt–Verarbeitung beziehenden
Programmierung Befehlsfunktionen.
Befehl Steuerung Betrieb
(@)STIM(69) Einschaltwischer starten Startet den Intervall–Zeitgeber in dem
Monoflop–Interrupt–Modus.
Zeitgesteuerten Inter- Startet den Intervall–Zeitgeber in dem
rupt–Zeitgeber starten zeitgesteuerten Interrupt–Modus.
Zeitgeber–Istwert lesen Liest den Zeitgeber–Istwert.
Zeitgeber anhalten Bricht die Zeitgeberfunktionen ab.
(@)INT(89) Alle Interrupts maskieren Sperrt alle Interrupts, einschließlich ein-
gangsgesteuerte Interrupts, Intervall–
Zeitgeber–gesteuerte Interrupts, Zähler-
gesteuerte Interrupt, usw.
Alle Interrupts demaskie- Gibt alle Interrupts, einschließlich ein-
ren gangsgesteuerte Interrupts, Intervall–
Zeitgeber–gesteuerte Interrupts, Zähler-
gesteuerte Interrupts, usw. frei

Starten der Zeitgeber


Diese Funktion stellt die Betriebsart (Monoflop– oder zeitgesteuerter Interrupt)
und den Sollwert des Zeitgebers ein und startet den Intervall–Zeitgeber.

36
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

Monoflop–Modus

(@)STIM(69)
000 Steuerbezeichnung (000: Einschaltwischer starten)
C2 Erstes Wort des Zeitgeber–Sollwertes
C3 Unterprogramm-Nummer (4-stelliger BCD-Wert): 0000 bis 0049

Zeitgesteuerte Interrupt–Modus

(@)STIM(69)
003 Steuercode (003: zeitgesteuert. Interrupt–Zeitgeber starten
C2 Erstes Wort des Zeitgeber–Sollwertes
C3 Unterprogramm-Nummer (4-stelliger BCD-Wert): 0000 bis 0049

C2 Anfangswert des dekrementierenden Zählers (4–stelliger Hex–Wert):


0000 bis 9999
C2+1 Zeitintervall jeder Dekrementierung (4-stelliger BCD-
Wert; Einheit: 0,1 ms): 0005 bis 0320 (0,5ms bis 32 ms)

Die Zeit von der Ausführung des STIM(69)-Befehls bis zum Ablauf der spezifi-
zierten Zeit wird folgendermaßen berechnet:
(Inhalt des Wortes C2) x (Inhalt der Worte C2 + 1) x 0,1 ms
(0,5 bis 319.968 ms)
Wird für C2 eine Konstante spezifiziert, wird der Sollwert des Abwärtszählers auf
diesen Wert gesetzt und das Dekrementierungs-Zeitintervall beträgt 10 (1 ms).
(Der Sollwert wird spezifiziert wie er ist, in ms–Einheiten.)
Lesen der Zeitgeber–Istwerte
Diese Funktion liest die Intervall–Zeitgeber–Istwerte.

(@)STIM(69)
006 Steuercode (006: Zeitgeber–Istwert lesen)
C2

C3
Anzahl der Male, die ein Abwärtszähler herun-
C2 tergezählt werden soll (4–stelliger Hex–Wert)
C2+1 Zeitintervall jeder Dekrementierung
(4-stelliger BCD-Wert; Einheit: 0,1 ms)
Abgelaufene Zeit seit der vorhergehenden Dekre-
C3
mentierung (4-stelliger BCD-Wert; Einheit: 0,1 ms)

Anhalten der Zeitgeber


Diese Funktion hält den Intervall–Zeitgeber an.

(@)STIM(69)
010 Steuercode (010: Zeitgeber anhalten)
000 Fest: 000
000 Fest: 000

Maskierung oder Demaskieren aller Interrupts


Sehen Sie Abschnitt 2-1-1 Eingangsgesteuerte Interrupts und Abschnitt 7-29
Interrupt–Verarbeitungs–Befehle für Einzelheiten über die Maskierung/Demas-
kierung aller Interrupts.

37
CPM2A/CPM2C–Interrupt–Funktionen Abschnitt 2-1

Programmbeispiel
Monoflop–Interrupt–Modus
Beschreibung
In diesem Beispiel wird der Zeitgeber gestartet, wenn die Ausführungsbedin-
gung (00005) von AUS nach EIN umschaltet. Wenn die Zeit (ca. 1 s) abgelaufen
ist, wird das Interrupt–Unterprogramm einmal ausgeführt. Wird das Interrupt–
Unterprogramm ausgeführt, wird der Inhalt von DM 0000 um 1 inkrementiert.
Abgelaufene Zeit 100 x 100 x 0,1 = 1.000 ms
Programmierung
EIN für 1 Zyklus am
Anfang des Betriebs

Löscht den Inkrementbereich (DM 0000).

Zählereinstellung dekrementieren
Zählen: 100 (0000 bis 9999 BCD–Wert)

Zählerintervall–Einstellung
Zählerintervall–Einstellung: 10 ms
(0005 bis 0320 BCD–Wert)

(69) Startet den Intervall–Zeitgeber im


(Ausführungs– Monoflop–Interrupt–Modus.
bedingung)

Immer EIN

Führt den Interrupt einmal


aus, nach dem die Zeit abge-
laufen ist.

38
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Zeitgesteuerter Interrupt–Modus
Beschreibung
In diesem Beispiel wird der Zeitgeber gestartet, wenn die Ausführungsbedin-
gung (00005) von AUS nach EIN umschaltet. Dann wird das Interrupt–Unterpro-
gramm jedes Mal ausgeführt, nachdem die festgesetzte Zeit (ca. 1 s) abgelau-
fen ist. Der Inhalt von DM 0000 jedesmal um 1 inkrementiert, wenn das Inter-
rupt–Unterprogramm ausgeführt wird.
Abgelaufene Zeit 100 x 100 x 0,1 = 1.000 ms
Programmierung
EIN für 1 Zyklus am
Anfang des Betriebs

Löscht den Inkrementbereich (DM 0000).

Zählereinstellung dekrementieren
Zählen: 100 (0000 bis 9999, BCD–Wert)

Zählerintervall–Einstellung
Zählerintervall–Einstellung:
10 ms (0005 bis 0320, BCD–Wert)

(69) Startet den Intervall–Zeitgeber im zeitgesteuerte


(Ausführungs– Interrupt–Modus.
bedingung)

Immer EIN
Führt den Interrupt jedes Mal aus, wenn die
festgesetzte Zeit abgelaufen ist.

2-2 CPM2A/CPM2C Schneller Zähler


CPM2A CPU–Baugruppen und die meisten CPM2C CPU–Baugruppen besit-
zen fünf Eingänge für schnelle Zähler: einen Eingang für einen schnellen Zähler
mit einer max. Ansprechfrequenz von 20 kHz und vier Eingänge als Interrupt–
Eingänge (Zählmodus).
CPM2C CPU–Baugruppen mit 10 Ein–/Ausgängen besitzen vier Eingänge für
schnelle Zähler: einen Eingang für einen schnellen Zähler mit einer max. An-
sprechfrequenz von 20 kHz und zwei Eingänge als Interrupt–Eingänge (Zähl-
modus).

Keine
Schnelle Zähler Schneller Zähler
Interrupts
Zielwert–Ver-
1 Eingang gleich–Interrupts
Istzählwert–
Interrupts Bereichsver-
gleich–Interrupts

Interrupt–Eingänge Keine Interrupts


(Zählmodus)

4 Eingänge:
Aufwärtszähl–
(2 Eingänge in CPM2C CPU– Interrupts
Baugruppen mit 10 E/A)

Arten von Schnellen Die CPM2A/CPM2C verfügt über einen integrierten Schnellen Zähler und inte-
Zählern grierte Interrupt–Eingänge.

39
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Schneller Zähler
Der eingebaute schnelle Zähler verwendet die eingebauten Eingänge 00000 bis
00002 der CPU–Baugruppe. Der schnelle Zähler kann entweder zum Inkre-
mentieren/Dekrementieren oder nur zum Inkrementieren, je nach Betriebsart-
einstellung, verwendet werden.
Eingangs– Ansprech– Eingangsmodus (Zählwert) Steuerverfahren
Nr. (sehen frequenz
Sie den
Hinweis)
00000 5 kHz Differentialphasen Zielwertvergleich–
00001 (–8388608 bis 8388607) Interrupts
00002 20 kHz Impuls und Richtung Bereichsvergleich–
(–8388608 bis 8388607) Interrupts
Auf–/Abwärts–Impulse
(–8388608 bis 8388607)
Inkremental
(0 bis 16777215)

Hinweis Nicht als Zählereingänge verwendet Eingänge können als gewöhnliche Ein-
gänge verwendet werden.
Interrupt–Eingänge (Zählmodus)
Im Zählmodus werden die eingebauten Eingänge 00003 bis 00006 (00003 und
00004 in CPM2C–CPU–Baugruppen mit 10 Ein–/Ausgängen) der CPU–Bau-
gruppe verwendet. Zähler verwenden vier Eingänge und können den Zählwert,
je nach der Betriebsarteinstellung, entweder inkrementieren oder dekrementie-
ren. Da diese Funktion Interrupt–Eingänge zum Zählen verwendet, ist es nicht
möglich, die belegten Eingänge für andere Zwecke zu verwenden.
Eingangs– Ansprech– Eingangsmodus Steuerverfahren
Nr. (sehen frequenz (Zählwert)
Sie den
Hinweis)
00003 2 kHz Aufwärtszähler Zählergesteuerte
g
00004 (0000 bi
bis FFFF) I
Interrupts
00005 Abwärtszähler
(0000 bis FFFF)
00006

Hinweis 1. Nicht als Zähleingänge verwendete Eingänge können als gewöhnliche Ein-
gänge verwendet werden.
2. Eingang 00005 in der CPM2C CPU–Baugruppe mit nur 10 Ein–/Ausgängen
kann nur als normaler Eingang verwendet werden, Eingang 00006 ist nicht
vorhanden.

Schnelle Zähler–Interrupts
Vom Schnellen Zähler generierte Interrupts (Zählsollwert erreicht–Inter-
rupts)
Zielwertvergleich–Interrupts
Der aktuelle Zählwert wird mit den Zielwerten in der Reihenfolge verglichen, in
der diese in der Tabelle gespeichert wurde. Ein Interrupt–Unterprogramm wird
ausgeführt, wenn der Istwert dem aktuellen Zielwert entspricht. Bis zu 16 Ziel-

40
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

werte und Interrupt–Unterprogramme können in der Tabelle für die inkrementie-


rende oder dekrementierende Richtung eingetragen werden.
Zähl–Istwert

Zielwerte in inkrementierender
Richtung

Zielwerte in dekrementierender
Richtung

Übereinstimmung mit Übereinstimmung mit Zeit


dem Zielwert während dem Zielwert während
des inkrementierenden des dekrementierenden
Zählens Zählens
Die Interrupt–Verarbeitung wird ausgeführt, wenn der Istwert einem Zielwert in der
inkrementierenden oder dekrementierenden Richtung entspricht.

Bereichsvergleich–Interrupts
Eine Bereichsvergleich–Tabelle enthält bis zu acht Bereiche, wobei jeder Ein-
trag aus einem unteren und einem oberen Grenzwert sowie der entsprechen-
den Unterprogrammnummer gebildet wird. Das entsprechende Unterpro-
gramm wird aufgerufen und ausgeführt, wenn der Zähl–Istwert innerhalb eines
beschriebenen Bereichs liegt.
Zähler–Istwert

Oberer Grenzw. 1:

Unterer Grenzw. 1:

Oberer Grenzw. 2:

Unterer Grenzw. 2:

Bereichsver- Bereichsver- Bereichsver- Bereichsver-


gleichs–Bedin- gleichs–Bedin- gleichs–Bedin- gleichs–Bedin-
gung 2 erfüllt. gung 1 erfüllt. gung 1 erfüllt. gung 2 erfüllt.

Die Interrupt–Verarbeitung wird ausgeführt, wenn eine Bereichsvergleichs–Bedingung


erfüllt ist. Darüberhinaus schalten sich die entsprechenden Bits (0 bis 7) in AR 11 ein,
wenn der Zähler–Istwert innerhalb eines Bereichs zwischen einem oberen und einem
unteren Grenzwert liegt.

Auf–/Abwärtszählungsgesteuerte Interrupts über Interrupt–Eingänge


(Zählmodus)
Ein Interrupt–Unterprogramm wird jedes Mal ausgeführt, wenn die Bedingung
erfüllt ist, d. h., dass der Zähler–Istwert dem Zähler–Sollwert (in der Inkremen-
tier–Betriebsart) oder 0 (Dekrementier–Betriebsart) entspricht.

41
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

2-2-1 Anwendung des Schnellen Zählers


Die CPM2A/CPM2C CPU–Baugruppe verfügt über einen eingebauten Kanal
für einen schnellen Zähler, der Impulse bis zu 20 kHz zählen kann. Dessen Ein-
satz zusammen mit der Interrupt–Funktion ermöglicht eine Zielwert– oder Be-
reichsvergleichssteuerung, ohne die Zykluszeit zu beeinflussen.

Zählereingänge

Rücksetzeingang

Sensor Inkremental–Drehgeber

Angabe
g Eingangsmodus
Differentialphase Impuls plus Aufwärts/Abwärts Inkremental
Richtung
Eingangs–
g g 00000 Eingang Phase–A Impulseingang Rechtslaufeingang Impulseingang
nummer 00001 Eingang Phase–B Richtungseingang Linkslaufeingang (Sehen Sie den
Hinweis 1)
00002 Eingang Phase–Z (Rücksetzeingang) (sehen Sie Hinweis 1)
Eingangs– Differentialphasen Phaseneingänge Phaseneingänge Phaseneingänge
methode –eingänge (4X)
Ansprechfrequenz 5 kHz 20 kHz 20 kHz 20 kHz
Zählwert –8388608 bis 8388607 0 bis 16777215
Zähleristwert–Speicherziel Worte SR 248 (äußerst rechte Ziffern) und SR 249 (äußerst linke Ziffern)
(sehen Sie den Hinweis 2)
Interrupts Zielwertvergleich Bis zu 16 Zielwerte und Interrupt–Unterprogrammnummern können in der
inkrementierenden oder dekrementierenden Richtung gespeichert werden.
Bereichsvergleich Bis zu acht Bereiche (mit oberen und unteren Grenzen) und
Unterprogrammnummern können gespeichert werden.
Zählerrückstellverfahren Z–Phasensignal + Software–Rücksetzung: der Zähler wird zurückgesetzt, wenn IR
00002 einschaltet, während SR 25200 gesetzt ist.
Software–Rücksetzung: der Zähler wird zurückgesetzt, wenn SR 25200
eingeschaltet wird.

Hinweis 1. Nicht als Zählereingänge verwendet Eingänge können als gewöhnliche


Eingänge verwendet werden.
2. Werden die Worte nicht als Zähleristwert–Speicherziel verwendet, können
sie als gewöhnliche IR–Worte verwendet werden.
3. SR 25200 wird in jedem Zyklus gelesen. Bis zu einem Zyklus kann für eine
Rücksetzung auf der steigenden Flanke von Phase–Z erforderlich sein.
Die folgende Tabelle zeigt die Beziehungen zwischen dem Schnellen Zähler
und anderen Funktionen der SPS der CPM2A/CPM2C–Serie.

42
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Funktion Zählergesteuerte Interrupts


Synchronisierte Impulssteuerung Wird verwendet.
Eingangsgesteuerte Interrupts Kann gleichzeitig verwendet werden.
Intervall–Zeitgeber–gest. Interrupts Kann gleichzeitig verwendet werden.
Schneller Zähler ---
Eingangsgest. Interrupts (Zählmodus) Kann gleichzeitig verwendet werden.
Impulsausgänge Kann gleichzeitig verwendet werden.
Eingänge mit Impulsspeicherung Kann gleichzeitig verwendet werden.
Eingangs–Zeitkonstante Siehe Hinweis.
Uhr Kann gleichzeitig verwendet werden.
Hinweis Werden die Eingänge 00000 bis 00002 für die Verwendung als Schnelle Zähler–
Eingänge eingerichtet, werden die Eingangszeitkonstanten für die entspre-
chenden Eingänge deaktiviert. Die Eingangszeit–Konstanten bleiben jedoch in
der SPS–Konfiguration gespeichert.

Programmbeispiel
Wählen Sie den Eingangsmodus Eingangsmodus: Differentialphaseneingang, Impuls– u. Richtungseingang,
und das Rücksetzverfahren aus Auf–/Abwärtseingang oder Inkremental
Rücksetzverfahren: Z–Phase und Software–Rücksetzung oder nur Software–Rücksetzung

Keine Interrupts (Lesen des schnellen Zähler–Istwerts oder Lesen der Bereichs–Vergleichsergebnisse)
Wählen Sie die zuverwendenden
Interrupts aus Zielwertvergleichs–Interrupts
Bereichswertvergleichs–Interrupts

Verdrahtung der Eingänge Eingangsnummer: 00000, 00001, 00002

Schnelle Zählereinstellung
SPS–Konfiguration (DM 6642) Eingangsmodus: Differentialphaseneingang, Impuls– u. Richtungseingang,
Auf–/Abwärtseingang oder Inkrement
Rücksetzverfahren: Z–Phase und Software–Rücksetzung oder Software–Rücksetzung

Erstellen eines Kontaktplan– CTBL(63): Speicher–Vergleichstabelle, Start des Vergleichs


Programms INI(61): Istwert ändern, Vergleich starten
PRV(62): Schnellen Zähler–Istwert lesen, Schnellen Zähler–Vergleichstatus lesen, Bereichsvergleich–
Ergebnisse lesen
SBN(92) und RET(93): Interrupt–Unterprogramm–Programm erstellen (wenn Zählungsprüfungs–
Interrupts verwendet werden)

43
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Schnelle Zähler– SPS–Konfiguration


Funktion
DM 6642, Bits 08 bis 15

Geber– Zahlungsprüfungs–
Eingangsmodus Zählen
eingänge Interrupt generiert
Differential–
Phasenbetrieb
Impuls– u. Richtungs- Kontaktplan–Programm
eingang Spezifiziertes Unterprogramm wird
ausgeführt (wenn Zählungsprü-
Auf/Ab–Betrieb
REGISTERVERGLEICH- fungs–Interrupts verwendet werden).
Inkrementaleingang CTBL (63)
STABELLEN–Befehl
Registervergleichs– SBN(92)
tabelle

SPS– Vergleich starten


Konfiguration
DM 6642, Bits BETRIEBSARTEN-
INI (61) STEUERUNGS–Befehl RET (93)
00 bis 03
Istwert ändern
Start/Stopp des-
Vergleichs

Auffrischung

Abfrage einmal/Zyklus Sofort


SCHNELLER ZÄHLER–ISTWERT Bereichsvergleichs–
Zähleristwert PRV(62) LESEN–Befehl Ergebnisse
SR 249 SR 248 AR 1100 bis AR 1107
Istwert lesen
Vergleichstatus lesen
Bereichsvergleichs–Ergebnisse lesen

Wahl des Eingangsmodus und Rücksetzverfahrens.


Eingangsmodus
Wählen Sie den Eingangsmodus für den schnellen Zähler entsprechend dem
Signaltyp.
Differentialphase
Im Differentialphasen–Eingangsmodus wird der Zählwert, entsprechend den
zwei Differentialphasen–Signalen, mit einem Multiplikator von 4 inkrementiert
oder dekrementiert (Phase A und Phase B).
Maximalfrequenz: 5 kHz
EIN
Phase A
AUS

EIN
Phase B
AUS

Zählwert

1,000
Nms → Frequenz =
Nx4

44
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Impuls und Richtung


Im Impuls– u. Richtungseingangsmodus werden Impuls– und Richtungssignal
angelegt und der Zählwert wird entsprechend dem Richtungssignals–Zustand
inkrementiert oder dekrementiert.
Maximalfrequenz: 20 kHz
EIN
Impuls–
eingang
AUS

EIN
Richtungs-
eingang
AUS

Zählwert

1,000
Nms → Frequenz =
N

Auf–/Abwärts–Impuls
In dem Auf–/Abwärts–Impulseingangsmodus werden Rechtslauf– (Aufwärts–
impulse) und Linkslauf–Signale (Abwärtsimpulse) angelegt und der Zählwert
wird entsprechend inkrementiert oder dekrementiert.
Maximalfrequenz: 20 kHz
a
EIN
Rechtslauf–
eingang
AUS

EIN
Linkslauf–
eingang AUS
Zählwert

Inkrementierung Dekrementierung

1,000
Nms → Frequenz =
N

Inkremental
Im Inkrementalmodus werden Impulssignale angelegt und der Zählwert wird mit
jedem Impuls inkrementiert. IR 00001 kann als gewöhnlicher Eingang verwen-
det werden.
Maximalfrequenz: 20 kHz
EIN
Impuls–
eingänge
AUS

Zählwert

1,000
Nms → Frequenz =
N

Wird der Differentialphasen–Eingangsmodus verwendet, müssen Eingangssi-


gnale über 4X–Differentialphasen–Eingänge angelegt werden. Wird ein Geber
in diesem Modus angeschlossen, entspricht der Zählwert pro Umdrehung dem
Vierfachen der Geberauflösung. Bei der Auswahl eines Gebers muss der max.
Zählwert in Betracht gezogen werden.
Zählwerte
Bereichswerte werden vom schnellen Zähler nur in der Linearzähler–Funktion
verarbeitet. Liegt der Zählwert außerhalb des zulässigen Bereichs, tritt ein
Über– oder Unterlauf ein. Der Istwert wird 0FFFFFFF, wenn ein Überlauf auftritt

45
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

oder FFFFFFFF, wenn ein Unterlauf vorkommt; der Vergleich wird anschlie-
ßend abgebrochen.
Differentialphasen–
Eingangsmodus
Impuls– u. Richtungs–
Eingangsmodus Unterlauf (FFFFFFFF) Überlauf (0FFFFFFF)
Auf–/Abwärts–
Impuls–Eingangsmodus
Inkrementalmodus

Überlauf (0FFFFFFF)

Setzen Sie den Istwert zurück, um die Zählung nach einem Über– oder Unter-
lauf neuzustarten. (Der Istwert wird automatisch zurückgesetzt, wenn der Be-
trieb gestartet wird.)
Rücksetzverfahren
Eines der beiden folgenden Verfahren kann gewählt werden, um den Zählerist-
wert auf 0 zurückzusetzen.
Z–Phasen–Signal (Rücksetzeingang) + Software–Rücksetzung
Der Istwert wird zurückgesetzt, wenn ein Z–Phasen–Signal (d.h. ein Rücksetz–
eingang) eingeschaltet wird, während der Rücksetzmerker (25200) des Schnel-
len Zählers aktiviert ist.
1 Abfrage

Z–Phase

Rücksetzung Rücksetzung Nicht zurückgesetzt Rücksetzung Nicht zurückgesetzt

Software–Rücksetzung
Der Istwert wird zurückgesetzt, wenn der Rücksetzmerker (25200) des Schnel-
len Zähler gesetzt wird.

1 Abfrage

Rücksetzung Nicht Nicht Nicht


zurück- zurück- zurück-
gesetzt gesetzt gesetzt

Der Rücksetzmerker (25200) des Schnellen Zählers wird mit jedem Zyklus auf-
gefrischt; somit bleibt er für mindestens eine Zyklusdauer aktivert und kann si-
cher gelesen werden.
Auch nach der Rücksetzung des Istwertes werden Vergleichstabellen–Spei-
cherstatus, Vergleichausführungszustand und Bereichsvergleich–Ergebnisse
beibehalten, wie sie vor dem Rücksetzen des Istwertes bestanden. (War ein
Vergleichsvorgang vor der Istwert–Rücksetzung aktiv, wird dieser Vergleich
nach der Rücksetzung ohne Änderung fortgesetzt.)
Nach dem Rücksetzen muss der Rücksetzmerker (25200) des Schnellen Zäh-
lers ausgeschaltet werden, damit die nächste Rücksetzung ausgeführt werden
kann. Um sicher zu sein, dass er ausgeschaltet ist, muss er für mindestens ei-
nen Zyklus ausgeschaltet bleiben.

Wählen des zuverwendenden Interrupts


Schnelle Schnelle Zähler–Interrupts verwenden eine Vergleichstabelle und führen eine
Zähler–Interrupts Zählwertprüfung, entsprechend einer der beiden nachfolgend beschriebenen

46
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Methoden (d.h., Zielwert– oder Bereichsvergleich), durch. Ein Interrupt wird ge-
neriert, wenn die Bedingungen erfüllt sind.
Sehen Sie Abschnitt 2-1 Interrupts ”Reihenfolge der Priorität für Interrupts” für
Einzelheiten über Interrupt–Prioritäten.
Wird ein Interrupt während der Ausführung eines Steuerbefehls für den Schnel-
len Zähler generiert, d.h. CTBL(63), INI(61) oder PRV(62), werden diese Be-
fehle nicht innerhalb des Interrupt–Programms ausgeführt.
Zielwertvergleich–Interrupts
Bis zu 16 Kombinationen von Vergleichsbedingungen (Zielwert und Zählrich-
tung) und Interrupt–Unterprogrammnummern können in der Vergleichstabelle
eingetragen werden. Das spezifizierte Unterprogramm wird ausgeführt, wenn
der Zähler–Istwert einem Zielwert in der Vergleichstabelle entspricht.

Vergleichstabelle Istwert

Zähleristwert: 5.000
Zählrichtung: Inkrement
Unterprogrammnummer:
10
Inkrement–
richtung Dekrement–
Zähleristwert: 1.000 richtung
Zählrichtung: Inkrement
Unterprogrammnummer:
8

Inkrement–
Zähleristwert: 3.000
Zählrichtung: Dekrement richtung
Unterprogrammnummer:
9 Zeit
Interrupt Interrupt Interrupt
Unterprogramm Unterprogramm Unterprogramm
8 ausgeführt 10 ausgeführt 9 ausgeführt

Das Verhältnis zwischen der Zielwertvergleichs–Zählwertprüfung und der Ver-


gleichstabelle ist bei der CPM1/CPM1A unterschiedlich. Sehen Sie die jeweili-
gen Handbücher für weitere Einzelheiten.
Es ist nicht möglich, mehr als eine Vergleichs–Richtungsbedingung für den glei-
chen Zielwert in der Vergleichstabelle zu spezifizieren.
Der Zielwert– oder Bereichsvergleich kann für Schnelle Zähler–Interrupts ver-
wendet werden.
Bereichsvergleichs–Interrupts
Bis zu acht Kombinationen von Vergleichsbedingungen (obere und untere
Grenzwerte) und Interrupt–Unterprogrammnummern können in der Vergleichs-
tabelle eingetragen werden. Das spezifizierte Unterprogramm wird einmal aus-
geführt, wenn der Zähleristwert größer/gleich der unteren Grenze und kleiner/
gleich der oberen Grenze in der Vergleichstabelle ist.

Vergleichstabelle Istwert

Untere Grenze : 1.000


Obere Grenze: 4.000
Unterprogrammnummer:
10

Untere Grenze : 3.000


Obere Grenze: 5.000
Unterprogrammnummer:
9

Zeit
Interrupt Interrupt Interrupt Interrupt
Unterprogramm Unterprogramm Unterprogramm Unterprogramm
10 ausgeführt 9 ausgeführt 9 ausgeführt 10 ausgeführt

47
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Werden gleichzeitig zwei oder mehrere Vergleichsbedingungen erfüllt (im glei-


chen Zyklus), wird der Interrupt für die Bedingung, die dem Anfang der Ver-
gleichstabelle am nächsten ist, ausgeführt.
Der Zielwert– oder Bereichsvergleich kann für Schnelle Zähler–Interrupts ver-
wendet werden.
Wird ein Interrupt während der Ausführung eines Steuerbefehls für den Schnel-
len Zähler generiert, d.h. CTBL(63), INI(61) oder PRV(62), werden diese Be-
fehle nicht innerhalb des Interrupt–Programms ausgeführt.
Dies gilt ebenfalls für die Generierung eines Interrupts während der Ausführung
eines Steuerbefehls für den Schnellen Zähler im normalen Programm. Diese Si-
tuation kann mittels der folgenden Programmierung vermieden werden.
Verfahren 1 Verfahren 2

Unterbinden von Interrupts Erneutes Ausführen des


im normalen Programmbe- nicht ausführbaren Befehls
reich, während der Ausfüh- im normalen Programmbe-
rung des Befehls. reich.
Normaler Programmbereich Interrupt–Programmbereich

Ein Interrupt–Unterprogramm wird durch SBN(92) und RET(93), wie ein norma-
les Unterprogramm definiert.
Eine “SBS UNDEFD”–Warnung wird während einer Interrupt–Unterprogramm-
definition bei der Programmprüfung generiert, aber die Ausführung läuft normal
weiter.
Verdrahtung der Verdrahten Sie die Eingänge, wie es in den folgenden Abbildungen gezeigt wird,
Eingänge entsprechend des Eingangsmodus und des Rücksetzverfahrens.
CPM2A–Eingänge
Differentialphasen–Eingangsmodus Auf–/Abwärts–Impuls–Eingangsmodus
00000: Eingang Phase A 00000: Rechtsl.–eingang
00001: Eingang Phase B 00001: Linksl.–eingang
00002: Eingang Phase Z 00002: Rücksetzeingang

Impuls– u. Richtungs–Eingangsmodus Inkrementalmodus


00000: Impulseingang 00000: Impulseingang
00001: Richtungseingang 00002: Rücksetzeingang
00002: Rücksetzeingang

48
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

CPM2C–Eingänge
Differentialphasen–Eingangsmodus
E.–klemmen E–steckverbind.

00002: Eingang Phase Z


00001: Eingang Phase B
00000: Eingang Phase A

00002: Eingang Phase Z


00001: Eingang Phase B
00000: Eingang Phase A

Auf–/Abwärts–Impuls–Eingangsmodus
Eing.–klemmen E–steckverbind.

00002: Rücksetzeingang
00001: Linkslaufeingang
00000: Rechtslaufeingang

00002: Rücksetzeing.
00001: Linkslaufeing.
00000: Rechtslaufeingang.

Impuls– u. Richtungs–Eingangsmodus
Eing.–klemmen E–steckverbind.

00002: Rücksetzeingang
00001: Richtungseingang
00000: Impulseingang

00002: Rücksetzeing.
00001: Richtungseing.
00000: Impulseing.

49
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Inkremental–Eingangsmodus
Eing.–klemmen E–steckverbind.

00002: Rücksetzeingang

00000: Impulseingang

00002: Rücksetzeing.

00000: Impulseing.

Werden Phase–Z– und Rücksetzeingang nicht verwendet, kann 00002 als ge-
wöhnlicher Eingang verwendet werden.
SPS–Konfiguration Stellen Sie die SPS–Konfigurationsbereiche für den Schnellen Zähler wie folgt
ein:

Schnelle Zähler–Einsatz DM 6642, Bits 08 bis 15

Eingangsmodus DM 6642, Bits 00 bis 03

Rücksetz-Verfahren DM 6642, Bits 04 bis 07


(Verwendung/Nichtverwendung von
00002 als gewöhnlicher Eingang)

Wort Bits Funktion Ein–


stellung
DM 6642 00 bis 03 Einstellung des Schnellen Zähler– 0, 1, 2 oder
Eingangsmodus 4
0: Differentialphase 5 kHz
1: Impuls u. Richtung 20 kHz
2: Aufwärts/Abwärts 20 kHz
4: Inkremental 20 kHz
04 bis 07 Einstellung des Schnellen 0 oder 1
Zähler–Rücksetzverfahrens
0: Z–Phase und Software–Rücksetzung
1: Software–Rücksetzung
08 bis 15 Schnelle Zähler–Verwendung 01
00: Nicht verwenden
01: Als Schneller Zähler
02: Synchronisierte Impulssteuerung
(10 Hz bis 500 Hz)
03: Synchronisierte Impulssteuerung
(20 Hz bis 1 kHz)
04: Synchronisierte Impulssteuerung
(300 Hz bis 20 kHz)

Die neuen Einstellungen der Systemeinstellung werden wirksam, wenn der Be-
trieb beginnt (Wechsel von der PROGRAM–Betriebsart in die MONITOR– oder
RUN–Betriebsart) oder nach Erneutem Einschalten der Versorgungsspannung
der CPM2A/CPM2C.

50
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Kontaktplan– Die folgende Tabelle enthält die sich auf die Schnelle Zähler–Steuerung bezie-
Programmierung henden Befehle.
Befehl Steuerung Betrieb
(@)CTBL(63) Zielwertvergleichsta- Speichert die Zielwertvergleichstabelle
belle speichern
Bereichsvergleichsta- Speichert die Bereichsvergleichstabelle
belle speichern
Zielwertvergleichsta- Speichert die Zielwertvergleichstabelle
belle speichern und und beginnt den Vergleich
Vergleich beginnen
Bereichsvergleichsta- Speichert die Bereichsvergleichstabelle
belle speichern und und beginnt den Vergleich
Vergleich beginnen
(@)INI(61) Vergleich starten Startet den Vergleich mit der gespeicher-
ten Vergleichstabelle.
Vergleich beenden Bricht den Vergleich ab.
Istwert ändern Ändert den schnellen Zähler–Istwert.
((@)PRV(62)
) ( ) Istwert lesen Liest Istwert des Schnellen Zählers.
Status lesen Liest den Status des Schnellen Zählers.
Bereichsvergleichs– Liest die Bereichsvergleichs–Ergebnisse
Ergebnisse lesen
(@)INT(89) Maskierung aller Sperren aller Interrupts, einschließlich
Interrupts eingangsgesteuerte Interrupts, Intervall–
Zeitgeber–gesteuerte Interrupts, zähler-
gesteuerte Interrupts, usw.
Demaskierung aller Freigabe aller Interrupts, einschließlich
Interrupts eingangsgesteuerte Interrupts, Intervall–
Zeitgeber–gesteuerte Interrupts, zähler-
gesteuerte Interrupts, usw.

Die folgende Tabelle enthält die sich auf die Schnelle Zähler–Steuerung bezie-
hende Datenbereiche.
Wort Bits Name Inhalt
248 00 bis 15 Schneller Zähler-Istwert Liest den Istwert des
249 00 bis 15 S h ll Zählers.
Schnellen Zähl
252 00 Schneller Zähler– Wird dieses Bit eingeschal-
Rücksetzung tet, wird eine Software–
Rücksetzung für den schnel-
len Zähler ausgelöst.
AR11 00 bis 07 Schneller Zähler– EIN:Bedingung erfüllt
Bereichsvergleichs– AUS: Bedingung nicht erfüllt
Ergebnisse
08 Schneller Zähler–Vergleich EIN:Vergleich aktiv
AUS: Vergleich abgebrochen
09 Schneller Zähler–Istwert– EIN:Überlauf/Unterlauf
Überlauf/Unterlauf AUS: Normal

Zielwertvergleichstabelle speichern
Zielwertvergleichstabelle speichern und Vergleich beginnen
Diese Funktionen speichern für den Zielwertvergleich eine Vergleichstabelle
zur Zählwertüberprüfung in der CPM2A/CPM2C . Es ist auch möglich, den Ver-
gleich zusammen mit der Speicherung zu beginnen.
Zielwertvergleichstabelle speichern

(@)CTBL(63)
000 Schnittstellenbezeichner (000: Schneller Zähler)
002 Modusbezeichnung (002: Nur Zielwertvergleichstabelle speichern)
S Anfangswort der Vergleichstabelle

51
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Zielwertvergleichstabelle speichern und Vergleich beginnen

(@)CTBL(63)
000
Schnittstellenbezeichner (000: Schneller Zähler)
Modusbez. (000: Zielw.–vergleichstab. speichern/Vergleich beg.)
000

S Anfangswort der Vergleichstabelle

Zielwertvergleichstabelle

Anzahl der Vergleiche Anzahl der Vergleiche


Zielwert 1
0001 bis 0016 BCD
(niederwertige 4 Ziffern)
Zielwert (nieder–/höherwertig)
Zielwert 1
(höherwertige 4 Ziffern) Vergleich 1– Zu vergleichenden Zählwert speichern.
Einstellung
Unterprogrammnummer Die äußerste linke Stelle (0/F) enthält das Vorzeichen (+/–).
Differentialphasen–Eingangsmodus
Zielwert 2
(niederwertige 4 Ziffern) Impuls– u. Richtungs–Eingangsmodus
Zielwert 2 Vergleich 2– Auf–/Abwärts–Impulseingangsmodus
(höherwertige 4 Ziffern)
Einstellung F8388608 bis 08388607
Unterprogrammnummer
Inkrementalmodus
00000000 bis 16777215
Unterprogrammnummer
Speichern Sie die Richtung des Vergleichs und die
bei einer Entsprechung auszuführende Unterpro–
grammnummer.
Die höherwertigen Ziffern zeigen die Richtung
an (Inkremental/Dekremental).
Inkrementrichtung: 0000 bis 0049
Dekrementrichtung: F000 bis F049

Es ist nicht möglich, mehr als eine Vergleichs–Richtungsbedingung für den glei-
chen Zielwert in der Vergleichstabelle zu spezifizieren.
Sobald eine Vergleichstabelle erstellt wurde, wird sie in der CPM2A/CPM2C ge-
speichert, falls noch keine andere Vergleichstabelle gespeichert wurde und die
Betriebsart nicht auf PROGRAM geändert wird (und solange die Versorgungs-
spannung nicht ausgeschaltet wird).
Bereichsvergleichstabelle speichern
Speichern der Bereichsvergleichstabelle und Vergleich beginnen
Diese Funktionen speichern eine Vergleichstabelle in der CPM2A/CPM2C für
die Zählwertüberprüfung des Bereichsvergleichs. Es ist auch möglich, den Ver-
gleich zusammen mit der Speicherung zu beginnen.
Bereichsvergleichstabelle speichern

(@)CTBL(63)
000 Schnittstellenbezeichner (000: Schneller Zähler)
003 Modusbezeichnung (003: Nur Bereichsvergleichstabelle speichern)
S Anfangswort der Vergleichstabelle

Bereichsvergleichstabelle speichern und Vergleich beginnen

(@)CTBL(63)
000 Schnittstellenbezeichner (000: Schneller Zähler)
Modusbezeichnung (001: Bereichsvergleichstabelle speichern und
001
Vergleich beginnen)
S Anfangswort der Vergleichstabelle

52
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Bereichsvergleichstabelle

Untere Grenze 1
(niederwertige 4 Ziffern) Acht Bereichsvergleichsbedingungen, bestehend aus
Untere Grenze 1 oberen und unteren Grenzen und Unterprogrammnum-
(höherwertige 4 Ziffern) mern müssen spezifiziert werden.
Bereichsvergleichs– Obere und untere Grenzen (niederwertig, höherwertig)
Obere Grenze 1
(niederwertige 4 Ziffern)
Bedingung 1.
Obere und untere Grenzen speichern.
Obere Grenze 1
(höherwertige 4 Ziffern) Die äußerst linke Stelle (0/F) enthält das Vorzeichen (+/–).
Unterprogrammnummer Differentialphasen–Eingangsmodus
Impuls– u. Richtungs–Eingangsmodus
Auf–/Abwärts–Impulseingangsmodus
F8388608 bis 08388607
Inkrementalmodus
00000000 bis 16777215
Unterprogrammnummer
Untere Grenze 8
(niederwertige 4 Ziffern) Speichern der Unterprogrammnummer, die ausgeführt wird,
Untere Grenze 8 wenn die Bereichsvergleichsbedingung erfüllt ist.
(höherwertige 4 Ziffern)
0000 bis 0049
Obere Grenze 8 Bereichsvergleichs–
(niederwertige 4 Ziffern) Bedingung 8. Werden weniger als 8 Vergleichsbereiche verwendet,
Obere Grenze 8
muss FFFF für den Rest spezifiziert werden.
(höherwertige 4 Ziffern)
Unterprogrammnummer

Werden gleichzeitig zwei oder mehrere Vergleichsbedingungen erfüllt (im glei-


chen Zyklus), wird der Interrupt für die Bedingung, die dem Anfang der Ver-
gleichstabelle am nächsten ist, ausgeführt.
Sobald eine Vergleichstabelle erstellt wurde, wird sie in der CPM2A/CPM2C ge-
speichert, falls noch keine andere Vergleichstabelle gespeichert wurde und die
Betriebsart nicht auf PROGRAM geändert wird (und solange die Versorgungs-
spannung nicht ausgeschaltet wird).
Vergleich beginnen/beenden
Der Vergleich kann, entsprechend der Tabelle, die über CTBL(63) in der
CPM2A/CPM2C gespeichert wurde, begonnen oder beendet werden.
Vergleich beginnen

(@)INI(61)
000 Schnittstellenbezeichner (000: Schneller Zähler)
000 Steuerbezeichnung (000: Vergleich beginnen)
000 Fest: 000

Vergleich beenden

(@)INI(61)
000 Schnittstellenbezeichner (000: Schneller Zähler)
001 Steuerbezeichnung (001: Vergleich beenden)
000 Fest: 000

53
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Istwert ändern
Diese Funktion ändert den Istwert des schnellen Zählers.

(@)INI(61)
000 Schnittstellenbezeichner (000: Schneller Zähler)
002 Steuerbezeichnung (002: Istwert ändern)
C2 Anfangswort der zu ändernden Istwertdaten

Zu ändernde Istwert–Daten (nierwertig, höherwertig)


C2 Niederwertige 4 Ziffern
Speichern der zu ändernden Istwert–Daten.
C2+1 Höherwertige 4 Ziffern
Die äußerst linke Stelle (0/F) enthält das Vorzeichen (+/–).
Differentialphasen–Eingangsmodus
Impuls– u. Richtungs–Eingangsmodus
Auf–/Abwärts–Impuls–Eingangsmodus
F8388608 bis 08388607
Inkrementalmodus
00000000 bis 16777215

Während eines Zielwertvergleichs tritt kein Interrupt auf, auch wenn der in der
Vergleichstabelle eingetragene Zielwert durch INI(61) geändert wird.
Zeitgeber–Istwert lesen
Diese Funktion liest den Istwert des schnellen Zählers.
Einsatz eines Befehls

(@)PRV(62)
000 Schnittstellenbezeichner (000: Schneller Zähler)
000 Steuerbezeichnung (000: Istwert lesen)
C2 Anfangswort zur Speicherung des Istwerts

Istwert (niederwertig, höherwertig)


D Niederwertige 4 Ziffern
Der gelesene Istwert wird hier gespeichert.
D+1 Höherwertige 4 Ziffern
Die äußerst linke Stelle (0/F) enthält das Vorzeichen (+/–).
Differentialphasen–Eingangsmodus
Impuls– u. Richtungs–Eingangsmodus
Auf–/Abwärts–Impuls–Eingangsmodus
F8388608 bis 08388607
Inkrementalmodus
00000000 bis 16777215

Einsatz der Datenbereiche


Der Istwert des Schnellen Zählers 0 wird wie nachfolgend dargestellt in den
Worten 248 und 249 gespeichert.

SR 248 Istwert (niederwertiges Wort)

SR 249 Istwert (höherwertiges Wort)

Die Worte 248 und 249 werden mit jedem Zyklus aufgefrischt, somit kann zu ei-
ner bestimmten Zeit eine Diskrepanz zum genauen Istwert auftreten.
Wird der Schnelle Zähler nicht verwendet, können die Worte 248 und 249 als
Arbeitsworte eingesetzt werden.
Wird der Istwert gelesen, indem PRV(62) ausgeführt wird, werden die Worte
248 und 249 zum gleichen Zeitpunkt aufgefrischt.

54
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Status lesen
Diese Funktion liest den schnellen Zählerstatus, unabhängig davon ob ein Ver-
gleich stattfindet oder ob ein Über– oder Unterlauf aufgetreten ist.
Einsatz eines Befehls

(@)PRV(62)
000 Schnittstellenbezeichner (000: Schneller Zähler)
001 Steuerbezeichnung (001: Status lesen)
D Wort zur Speicherung des Status

Überlauf/Unterlauf Vergleich
0: Normal 0: Beendet;
1: Überlauf/Unterlauf 1: Verarbeitung findet
statt

Einsatz der Datenbereiche


Der Status wird, wie nachfolgend gezeigt, in AR 1108 und AR 1109 gespeichert.

Überlauf/Unterlauf Vergleich
0: Normal 0: Beendet;
1: Überlauf/Unterlauf 1: Verarbeitung findet statt

AR 1108 und 1109 werden mit jedem Zyklus aufgefrischt, somit kann zu einer
bestimmten Zeit eine Diskrepanz zum genauen Status auftreten.
Wird der Status durch Ausführung von PRV(62) gelesen, werden AR 1108 und
AR 1109 gleichzeitig aufgefrischt.
Bereichsvergleichs–Ergebnis lesen
Diese Funktion liest das Ergebnis eines Bereichsvergleichs, der anzeigt, ob der
Istwert innerhalb eines Bereichs liegt oder nicht.
Einsatz eines Befehls

(@)PRV(62)
000 Schnittstellenbezeichner (000: Schneller Zähler)
002 Steuerbezeichnung (002: Bereichsvergleichs–Ergebnis lesen)
D Anfangswort zur Speicherung des Bereichsvergleich–Ergebnisses

Mit 1. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)


Mit 2. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 3. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 4. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 5. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 6. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 7. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 8. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)

Verwendung der Datenbereiche


Das Bereichsvergleich–Ergebnis wird, wie nachfolgend dargestellt, in AR 1100
bis AR 1107 gespeichert.

Mit 1. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)


Mit 2. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 3. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 4. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 5. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 6. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 7. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)
Mit 8. Bedingung übereinstimmend (0: K. Übereinstimm.; 1: Übereinstimm.)

55
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

AR 1100 bis AR 1107 werden bei jedem Zyklus aufgefrischt, somit kann eine
Diskrepanz zum genauen Istwert des Bereichsvergleich–Ergebnisses zu einem
bestimmten Zeitpunkt auftreten.
Wird das Bereichsvergleich–Ergebnis durch Ausführung von PRV(62) gelesen,
werden AR 1100 bis AR 1107 zum gleichen Zeitpunkt aufgefrischt.
Maskieren/demaskieren aller Interrupts
Sehen Sie Abschnitt 2-1-1 Interrupt–Eingänge für Einzelheiten bezüglich der
Maskierung und Demaskierung aller Interrupts.

Anwendungsbeispiele
Zielwertvergleich
Beschreibung
In diesem Beispiel werden spezifizierte Interrupt–Unterprogramme ausgeführt,
indem der Istwert des schnellen Zählers mit fünf Werten, die als Zielwertver-
gleichstabelle eingerichtet werden, verglichen wird. Mit jedem Interrupt werden
die Daten in 0000 DM bis 0004 DM um Eins inkrementiert.
Verdrahtung (CPM2A)
E6B2–CWZ6C Orange
Inkremental–
Drehgeber Weiß

Schwarz

Blau

Braun

56
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Verdrahtung (CPM2C)

Eing.–klemmen

Blau
Inkremental–
Drehgeber
Braun

Orange
Weiß
Schwarz

E–steckverbind.

Blau Inkremental–
Drehgeber
Braun

Orange

Weiß
Schwarz

SPS–Konfiguration
15 0
DM 6642 0 1 0 0

0: Differentialphasen–Betrieb
0: Durch Z–Phasen–Signal + Software–Rücksetzung
zurückgesetzt
01: Verwendung als Schneller Zähler

57
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Programmierung
EIN für 1 Zyklus am
Anfang des Betriebs

(71)

(63) Zielwertvergleichstabelle speichern und Vergleich beginnen


Schneller Zähler
Zielwertvergleichstabelle speichern und Vergleich beginnen
Anfangswort der Vergleichstabelle

Anzahl der Vergleiche: 5


(92)
Zähler–Istwert:
Immer EIN 10000 Vergleich 1
(38) Vergleich 2 Inkrement, Unterprogr.–Nr. 049
Zähler–Istwert:
3000 Vergleich 2
Inkrement, Unterprogr–Nr. 040
(93) Zähler–Istwert:
00000000 Vergleich 3
Dekrement, Unterprogr.–Nr 010
(92) Zähler–Istwert:
Immer EIN –00003000 Vergleich 4
Dekrement, Unterprogr.–Nr. 041
(38) Vergleich 4 Zähler–Istwert:
–00010000
Vergleich 5
Dekrement, Unterprogr–Nr. 048

(93)

(92)
Immer EIN

(38) Vergleich 5

(93)

(92)
Immer EIN

(38)
Vergleich 1

(93)

(92)
Immer EIN

(38)
Vergleich 3

(93)

(01)

58
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Bereichsvergleich:
Beschreibung
In diesem Beispiel werden spezifizierte Interrupt–Unterprogramme ausgeführt,
indem der Istwert des schnellen Zählers mit fünf Bereichen, die als Bereichsver-
gleichstabelle eingerichtet werden, verglichen wird. Mit jedem Interrupt werden
die Daten in DM 0000 bis DM 0004 um Eins inkrementiert.
Verdrahtung (CPM2A)
E6B2–CWZ6C Orange
Inkremental–
Drehgeber Weiß

Schwarz

Blau

Braun

Verdrahtung (CPM2C)

Eing.–klemmen

Blau
Inkremental–
Drehgeber
Braun

Orange
Weiß
Schwarz

E–steckverbind.

Blau
Inkremental–
Drehgeber
Braun

Orange

Weiß
Schwarz

59
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

SPS–Konfiguration
15 0
DM 6642 0 1 0 0

0: Differentialphasen–Betrieb;
0: Durch Z–Phasen–Signal + Software–Rücksetzung
zurückgesetzt
01: Verwendung als Schneller Zähler

60
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Programmierung
EIN für 1 Zyklus am Anfang
des RUN/MONITOR–Betriebs

(71)

(63) Bereichsvergleichstabelle speichern und Vergleich beginnen


Schneller Zähler
Bereichsvergleichstabelle speichern und Vergleich beginnen
Anfangswort der Vergleichstabelle

Unt. Grenze:
(92) 9.000
Vergleich 1
Immer EIN
Ober. Grenze:
10.000
(38) Vergleich 1
Unterprogr. 040

Unt. Grenze:
(93) 7.000
Vergleich 2
Ober. Grenze:
8.000
(92)
Unterprogr. 041
Immer EIN
Unt. Grenze:
–3.000
(38)
Vergleich 2 Vergleich 3
Ober. Grenze:
3.000
(93)
Unterprogr. 010

Unt. Grenze:
–8.000
(92) Vergleich 4
Immer EIN
Ober. Grenze:
–7.000
(38)
Vergleich 3 Unterprogr. 042

Unt. Grenze:
–10.000
(93) Vergleich 5
Ober. Grenze:
–9.000
(92) Unterprogr. 043
Immer EIN

(38)
Vergleich 4 Vergleich 6 Nicht verwendet.

(93)

(92)
Immer EIN Vergleich 7 Nicht verwendet.
(38) Vergleich 5

(93)
Vergleich 8 Nicht verwendet.

(01)

2-2-2 Eingangsgesteuerte Interrupts im Zählmodus


Die vier eingebauten Interrupt–Eingänge der CPM2A/CPM2C CPU–Bau-
gruppe können im Zählmodus als Eingänge mit einer Ansprechfrequenz von bis

61
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

zu 2 kHz verwendet werden. Diese Eingänge können als Aufwärts– oder Ab-
wärtszähler verwendet werden, die einen Interrupt auslösen (d.h. Ausführung
eines Interrupt–Unterprogrammes), wenn der Zählwert dem Sollwert ent-
spricht.

Intterupt–
Eingänge
(Zählmodus)

Zähl–Interrupt

Normales
Programm

Interrupt– Unter–
Programm programm

Eingang Zählen Interrupt– Unterprogramm– Ansprech–


(Hinweis 2) Nummer nummer frequenz
(Hinweis 3)
00003 0 bis 65535 0 000 2 kHz
00004 (0000 bis
bi 1 001
FFFF)
00005 2 002
00006 3 003

Hinweis 1. Eingang 00005 in der CPM2C CPU–Baugruppe mit nur 10 Ein–/Ausgängen


kann nur als normaler Eingang verwendet werden, Eingang 00006 ist nicht
vorhanden.
2. Die Eingänge 00003 bis 00006 können für jede der folgenden Funktionen
verwendet werden: als Interrupt–Eingänge, als Interrupt–Eingänge (Zähl-
modus) oder als Eingänge mit Impulsspeicherung. Werden diese Eingänge
nicht für einen der zuvor beschriebenen Zwecke verwendet, können sie als
gewöhnliche Eingänge eingesetzt werden.
3. Unterprogrammnummern 000 bis 003 sind die Unterprogrammnummern
für Interrupt–Programme, die gestartet werden, wenn Interrupt–Signale
oder Auf–/Abwärtszähl–Interrupts für Interrupt–Eingänge (Zählmodus) ge-
neriert werden. Werden diese Eingänge nicht für einen der zuvor beschrie-
benen Zwecke verwendet, können sie als gewöhnliche Eingänge einge-
setzt werden.

62
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

! Vorsicht Obwohl IORF(97) in Interrupt–Unterprogrammen verwendet werden kann,


müssen Sie den Zeitraum zwischen den IORF(97)–Ausführungen sorgfältig be-
achten. Wird IORF(97) zu häufig ausgeführt, kann ein schwerwiegender Sy-
stemfehler (FALS 9F) auftreten, wodurch der Betrieb abgebrochen wird. Das In-
tervall zwischen Ausführungen von IORF(97) sollte mindestens 1,3 ms + ge-
samte Ausführungszeit des Interrupt–Unterprogramms betragen.

Die folgende Tabelle zeigt die Beziehungen zwischen eingangsgesteuerte In-


terrupts (Zählmodus) und anderen Funktionen der SPS der CPM2A/CPM2C–
Serie.
Funktion Eingangsgesteuerte Interrupts
(Zählmodus)
Synchronisierte Impulssteuerung Kann gleichzeitig verwendet werden.
Eingangsgesteuerte Interrupts (Sehen Sie den Hinweis 1)
Intervall–Zeitgeber–gest. Interrupt Kann gleichzeitig verwendet werden.
Schneller Zähler Kann gleichzeitig verwendet werden.
Eingangsgest. Interrupts (Zählmodus) (Sehen Sie den Hinweis 1)
Impulsausgänge Kann gleichzeitig verwendet werden.
Eingänge mit Impulsspeicherung (Sehen Sie den Hinweis 1)
Eingangs–Zeitkonstante (Sehen Sie den Hinweis 2)
Uhr Kann gleichzeitig verwendet werden.
Hinweis 1. Jeder der Eingänge 00003 bis 00006 kann nur für eine der folgenden Funk-
tionen konfiguriert werden: Interrupt–Eingang, Interrupt–Eingang (Zählmo-
dus) oder Eingang mit Impulsspeicherung.
2. Werden die Eingänge 00003 bis 00006 als Interrupt–Eingänge (Zählmo-
dus) konfiguriert, werden die Eingangszeit–Konstanten der entsprechen-
den Eingänge deaktiviert. Die Eingangszeit–Konstanten bleiben jedoch in
der SPS–Konfiguration gespeichert.

Verfahren zum Einsatz von Interrupt–Eingängen im Zählmodus


Wählen Sie entweder die Inkremen-
tier– oder Dekrementierzählweise

Eingangsnummer: 00003 bis 00006 (00003


Verdrahtung der Eingänge oder 00004 für CPM2C CPU–Baugruppen mit
10 E/A–Anschlüssen)

SPS–Konfiguration (DM 6628) 1: Verwendung als Interrupt–Eingänge


(eingangsgesteuerte Interrupts oder
Zählmodus).

INI(61): Zähler–Istwert ändern


Erstellen eines Kontaktplan– INT(89): Sollwert* des Zählers auffrischen.
Programms PRV(62): Zähler–Istwert lesen
SBN(92) und RET(93): Zur Erstellung von
Interrupt–Unterprogrammen.
*Verwendung nur für Auf–/Abwärtszähl–Interrupts.

63
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Eingänge
Zähler (2 kHz) 0 Eingangsgesteuerte Interrupt wird
Interrupts im Zählmodus generiert.

Spezifiziertes Unterprogramm wird


ausgeführt.

Kontaktplan–Programm
SBN(92)

INT(89)
INTERRUPT–
Verarbeitungsbefehl

Zähler (2 kHz) 1
RET (93)

Zähler (2 kHz) 2
Zähler–Sollwert
Zähler 0 SR 240
Zähler 1 SR 241
Zähler (2 kHz) 3
Zähler 2 SR 242
Zähler 3 SR 243

SPS–Konfiguration
BETRIEBSARTEN-
INI (61) STEUERUNGS–Befehl
DM 6628
Istwert ändern

Auffrischung
Einmal pro Zyklus Sofort

Zähler–Istwert SCHNELLER ZÄHLER–


PRV(62) ISTWERT LESEN–Befehl
Zähler 0 SR 244 Zähler–Istwert
Zähler 1 SR 245 lesen
Zähler 2 SR 246
Zähler 3 SR 247

Zuordnung der Interrupt– Die auszuführenden Interrupt–Unterprogramme sind den entsprechenden In-
Unterprogramme terrupt–Eingängen fest zugeordnet.
Eingang Interrupt– Unterprogramm–
Nummer nummer
00003 0 000
00004 1 001
00005* 2 002
00006* 3 003

Hinweis Eingang 00005 in der CPM2C CPU–Baugruppe mit nur 10 Ein–/Ausgängen


kann nur als normaler Eingang verwendet werden, Eingang 00006 ist nicht vor-
handen.
Jeder der Eingänge 00003 bis 00006 kann nur für eine der folgenden Funktio-
nen konfiguriert werden: Interrupt–Eingang, Interrupt–Eingang (Zählmodus)
oder Eingang mit Impulsspeicherung.
Wahl der Inkrementier– Bei eingangsgesteuerten Interrupts im Zählmodus kann entweder eine inkre-
oder mentierende oder dekrementierende Zählung verwendet werden.
Dekrementierzählweise.
Inkrementierender Zählmodus
Während der Sollwert aufgefrischt wird, wird der Zählwert, beginnend mit 0, in-

64
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

krementiert und das Interrupt–Unterprogramm ausgeführt, wenn der Istwert


dem Sollwert entspricht.
Istwert
Das Unterprogramm wird ausgeführt, wenn die
Zählung beendet ist; der Istwert wird auf 0 zu-
rückgesetzt.
Soll–
wert Inkrementieren Inkrementieren

Zeit
Interrupt Interrupt
Return
Unterprogramm wird ausgeführt Unterprogramm wird ausgeführt

Dekrementierender Zählmodus
Nachdem der Sollwert gelesen wurde, wird der Zählwert in Richtung 0 dekre-
mentiert und das Interrupt–Unterprogramm ausgeführt, wenn der Istwert 0 er-
reicht.
Istwert Das Unterprogramm wird ausgeführt, wenn
die Zählung beendet ist; der Istwert wird auf
Sollwert zurückgesetzt.
Soll–
wert

Dekrementieren Dekrementieren
Zeit
Interrupt Interrupt

Unterprogramm wird ausgeführt Unterprogramm wird ausgeführt

Verdrahtung der Verdrahten Sie die Eingangsklemmen einer CPM2A wie in der folgenden Abbil-
Eingänge dung gezeigt.
Eingang 00003: Eing.–Interrupt (Zählmodus) 0
Eingang 00004: Eing.–Interrupt (Zählmodus) 1
Eingang 00005: Eing.–Interrupt (Zählmodus) 2
Eingang 00006: Eing.–Interrupt (Zählmodus) 3

65
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Verdrahten Sie die Eingangsklemmen einer CPM2C wie in der folgenden Abbil-
dung gezeigt.

Eing.–klemmen

00004: Eingangs–Interrupt (Zählmodus) 1


00003: Eingangs–Interrupt (Zählmodus) 0

E–.steckverbind.

00006: Eingangs–Interrupt (Zählmodus) 3


00005: Eingangs–Interrupt (Zählmodus) 2
00004: Eingangs–Interrupt (Zählmodus) 1
00003: Eingangs–Interrupt (Zählmodus) 0
Hinweis Eingang 00005 in der CPM2C
CPU–Baugruppe mit nur 10
Ein–/Ausgängen kann nur als
normaler Eingang verwendet
werden, Eingang 00006 ist
nicht vorhanden.

SPS–Konfiguration Die folgende Tabelle enthält die Einstellungen im SPS–Konfigurationsbereich,


die mit der Verwendung der Interrupt–Eingänge zusammenhängen.
Wort Bits Funktion Ein–
stellung
DM 6628 00 bis Einstellung für 0: Normaler Eingang 1
03 Eingang 00003 Interrupt–Eingänge
1: Interru t–Eingänge
04 bis Einstellung für (eingangsgesteuerter
07 Eingang 00004 Interrupt oder Zählmodus))
08 bis Einstellung für 2: Schneller Eingang
11 Eingang 00005
12 bis Einstellung für
15 Eingang 00006

Hinweis *Eingang 00005 in der CPM2C CPU–Baugruppe mit nur 10 Ein–/Ausgängen


kann nur als normaler Eingang verwendet werden, Eingang 00006 ist nicht vor-
handen.
Die Einstellung wird wirksam, wenn die Betriebsart geändert wird (von PRO-
GRAM auf MONITOR/RUN) oder die Spannungsversorgung der CPM2A/
CPM2C eingeschaltet wird.

66
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Kontaktplan– Die folgende Tabelle enthält die Befehlsfunktionen, die sich auf die eingangsge-
Programmierung steuerte Interrupts (Zählmodus) beziehen.
Befehl Steuerung Betrieb
(@)INT(89) Sollwert des Aufwärts- Frischt den Sollwert des Zählers auf und
zählers auffrischen beginnt die Aufwärtszählung.
Sollwert des Abwärts- Frischt den Sollwert des Zählers auf und
zählers auffrischen beginnt die Abwärtszählung.
Alle Interrupts Sperrt alle Interrupts, einschließlich ein-
maskieren gangsgesteuerte Interrupts, Intervall–Zeit-
geber–gesteuerte Interrupts, zählerge-
steuerte Interrrupts, usw.
Alle Interrupts Gibt alle Interrupts, einschließlich ein-
demaskieren gangsgesteuerte Interrupts, Intervall–Zeit-
geber–gesteuerte Interrupts, zählerge-
steuerte Interrrupts, usw. frei.
(@)INI(61) Istwert ändern Ändert den Istwert des Zählers.
(@)PRV(62) Istwert lesen Liest den Istwert des Zählers.

Die auf eingangsgesteuerten Interrupts (Zählmodus) bezogenen Funktionen


werden entsprechend den Datenbereichen ausgeführt, die in der folgenden Ta-
belle dargestellt sind.
Wort Bits Name Inhalt
240 00 bis 15 Sollwert für E–gest. Interrupt (Zählmodus) 0 Sollwert
241 00 bis 15 Sollwert für E–gest. Interrupt (Zählmodus) 1 d Zähl
des Zählers
242 00 bis 15 Sollwert für E–gest. Interrupt (Zählmodus) 2
243 00 bis 15 Sollwert für E–gest. Interrupt (Zählmodus) 3
244 00 bis 15 Istwert für E–gest. Interrupt (Zählmodus) 0 Istwert des
245 00 bis 15 Istwert für E–gest. Interrupt (Zählmodus) 1 Zähl
Zählers
246 00 bis 15 Istwert für E–gest. Interrupt (Zählmodus) 2
247 00 bis 15 Istwert für E–gest. Interrupt (Zählmodus) 3

Aufwärtszähler–Sollwert auffrischen/Abwärtszähler–Sollwert auffri-


schen
Diese Funktionen speichert die Sollwerte der Zähler und frischt diese über
INT(89) auf. Auf diese Weise beginnen die Zähler den Zählbetrieb für die Inter-
rupt–Eingänge (Zählmodus) und erlauben Interrupts.
Speichern von Sollwerten
Die Sollwerte der Zähler werden in den Worten 240, 241, 242 und 243 gespei-
chert.

SR 240 Sollwert für eingangsgesteuerten Interrupt (Zählmodus) 0: 0000 bis FFFF


SR 241 Sollwert für eingangsgesteuerten Interrupt (Zählmodus) 1: 0000 bis FFFF
SR 242 Sollwert für eingangsgesteuerten Interrupt (Zählmodus) 2: 0000 bis FFFF
SR 243 Sollwert für eingangsgesteuerten Interrupt (Zählmodus) 3: 0000 bis FFFF

67
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Beginnen des Zählbetriebs und Freigabe von Interrupts


Aufwärtszähler

(@)INT(89)
004 Interrupt–Steuercode (004: Sollwert des Aufwärtszählers auffrischen)
000 Fest: 000
C2 Steuerdaten–Wort

Abwärtszähler

(@)INT(89)
003 Interrupt–Steuercode (003: Sollwert des Abwärtszählers auffrischen)
000 Fest: 000
C2 Steuerdaten–Wort

0 spezifizieren und speichern


Eingangsgesteuerten Interrupt (Zählmodus) 3 spezifizieren
Eingangsgesteuerten Interrupt (Zählmodus) 2 spezifizieren
Eingangsgesteuerten IInterrupt (Zählmodus) 1 spezifizieren
Eingangsgesteuerten IInterrupt (Zählmodus) 0 spezifizieren

0: Sollwert auffrischen
1: Sollwert nicht auffrischen

Hinweis Wird INT(89) ausgeführt, um Interrupts während des Zählerbetriebs (Interrupt–


Steuerbezeichnung 000) zu maskieren, wird der Zählerbetrieb abgebrochen
und der Zähler–Istwert zurückgesetzt. Um den Zähler erneut zu verwenden,
muss der Zählerbetrieb wieder gestartet werden, wie es zuvor beschrieben
wurde.
Istwert ändern
Diese Funktion ändert den Istwert des Zählers.

(@)INI(61)
P Schnittstellenbezeichner (100, 101, 102, 103: eingangsgesteuerte Interrupts (Zählmodus) 0 bis 3)
002 Steuerbezeichnung (002: Istwert ändern)
C2 Spezifiziert das Quellwort, das den neuen Istwert enthält

C2 Das Wort enthält die Istwert–Daten (Quelle)


0000 bis FFFF

Istwert lesen
Diese Funktion liest den Istwert des Zählers.
Einsatz eines Befehls

(@)PRV(62)
P Schnittstellenbezeichner (100, 101, 102, 103: eingangsgest. Interrupt (Zählmodus) 0 bis 3)
000 Steuerbezeichnung (000: Istwert lesen)
D Wort zur Speicherung des Istwerts

D Istwertdaten lesen
Der gelesene Istwert wird hier gespeichert.
0000 bis FFFF

68
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

Einsatz der Datenbereiche


Der Istwert des schnellen Zählers wird in den Worten SR 244 bis SR 247 gespei-
chert, wie nachfolgend gezeigt wird.

SR 244 Istwert Eingangsgesteuerter Interrupt (Zählmodus) 0


SR 245 Istwert Eingangsgesteuerter Interrupt (Zählmodus) 1
SR 246 Istwert Eingangsgesteuerter Interrupt (Zählmodus) 2
SR 247 Istwert Eingangsgesteuerter Interrupt (Zählmodus) 3

Die Worte SR 244 bis SR 247 werden in jedem Zyklus aufgefrischt, somit kann
zu einem bestimmten Zeitpunkt eine Diskrepanz zum genauen Istwert auftre-
ten.
Die Worte SR 244 bis SR 247 können nicht als Arbeitsworte verwendet werden,
auch wenn keine eingangsgesteuerten Interrupts (Zählmodus) verwendet wer-
den.
Wird der Istwert gelesen, indem PRV(62) ausgeführt wird, werden die Worte
244 und 247 zum gleichen Zeitpunkt aufgefrischt.
Maskieren/demaskieren aller eingangsgesteuerte Interrupts
Sehen Sie Abschnitt 2-1-1 Eingangsgesteuerte Interrupts für Einzelheiten be-
züglich der Maskierung und Demaskierung aller Interrupts.

Anwendungsbeispiel
Erläuterung In diesem Beispiel wird der Istwert jedes Mal dekrementiert, wenn Eingang
00003 eingeschaltet wird, und DM 0000 wird bei jedem hundertsten (64 hex)
Einschalten von Eingang 00003 um Eins durch ein Interrupt–Unterprogramm
inkrementiert.
Verdrahtung Das folgende Diagramm zeigt die Eingangsverdrahtung in der CPM2A.

Eingabegerät

Das folgende Diagramm zeigt die Eingangsverdrahtung in der CPM2C.

Eing.–klemmen E.–steckverbind.

Eingabegerät

Eingabegerät

69
CPM2A/CPM2C Schneller Zähler Abschnitt 2-2

SPS–Konfiguration
15 0
DM 6628 0 0 0 1

Spezifiziert 00003 als Interrupt–Eingang (Zählmodus). Die


Eingänge 00004 bis 00006 werden als normale Eingänge ver-
wendet.

Programmierung
EIN für 1 Zyklus am
Anfang des Betriebs

Löscht den Inkrementbereich (DM 0000).

Zählereinstellung dekrementieren
Zähler–Sollwert: 64 hex (100 dez.)
Speichert den Sollwert in Wort 240.
Startet den Zähler mit Eingang 00003 als Inter-
(89) rupt–Eingang (Zählmodus).
Frischt den Zähler–Sollwert (Abwärtszähler) auf.
immer 000
Spezifiziert Eingang 00003.
(Andere werden ausmaskiert.)

Wird einmal ausgeführt, wenn die Zählung


beendet ist.

70
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

2-3 CPM1/CPM1A–Interrupt–Funktionen
In diesem Abschnitt werden die Einstellungen und Verfahren für die Verwen-
dung der CPM1/CPM1A–Interrupt–Funktionen beschrieben.

2-3-1 Arten von Interrupts


Die CPM1/CPM1A verfügt über die drei folgenden Interrupt–Funktionen:
Eingangs–Interrupts
Die CPM1/CPM1A verfügen über zwei oder vier Interrupt–Eingänge. Eine Inter-
rupt–Verarbeitung erfolgt, sobald einer dieser Eingänge von einem externen
Gerät auf EIN gesetzt wird.
Intervall–Zeitgeber–Interrupts
Die Interrupt–Verarbeitung wird mit einer Genauigkeit von 0,1 ms durch einen
Intervall–Zeitgeber ausgelöst.
Schneller Zähler–Interrupts
Der Schnelle Zähler zählt die an einen der CPU–Eingänge 00000 bis 00002 an-
liegenden Eingangs–Impulse. Die Interrupt–Verarbeitung wird, entsprechend
des Istwertes des integrierten Schnellen Zählers, ausgeführt.
Interrupt–Priorität Wenn ein Interrupt generiert wird, wird die spezifizierte Interrupt–Verarbei-
tungs–Routine ausgeführt. Interrupts haben die folgende Prioritätsordnung:
Eingangs–Interrupts > Intervall–Interrupt = Schneller Zähler–Interrupts
Wird während der Interrupt–Verarbeitung ein Interrupt mit höherer Priorität
empfangen, wird der aktuelle Betrieb abgebrochen und stattdessen der neu an-
liegende Interrupt verarbeitet. Erst nach der vollständigen Ausführung des Un-
terprogrammes wird die Verarbeitung des vorhergehenden Interrupts wieder
aufgenommen.
Wird während der Interrupt–Verarbeitung ein Interrupt mit geringer oder glei-
cher Priorität ausgelöst, wird der neu anliegende Interrupt nach der vollständi-
gen Abarbeitung des aktuellen Unterprogrammes verarbeitet.
Werden zwei Interrupts gleicher Priorität gleichzeitig empfangen, werden sie in
folgender Reihenfolge ausgeführt:
Eing.–Interrupt 0 > Eing.–Interrupt 1 > Eing.–Interrupt 2 > Eing.–Interrupt 3
Intervall–Interrupt > zählergesteuerter–Interrupt
Vorsichtsmaßnahmen für Beachten Sie die folgenden Vorsichtsmaßnahmen bei der Verwendung von In-
Interrupt–Programme terrupt–Programmen:
1, 2, 3... 1. Ein neuer Interrupt kann innerhalb eines Interrupt–Programms bestimmt
werden. Weiterhin kann ein Interrupt innerhalb eines Interrupt–Programms
gelöscht werden.
2. Ein anderes Interrupt–Programm kann nicht innerhalb eines Interrupt–Pro-
gramms geschrieben werden.
3. Ein Unterprogramm kann nicht innerhalb eines Interrupt–Programms ge-
schrieben werden. Verwenden Sie den SUBROUTINE DEFINE–Befehl
SBN (92) nicht innerhalb eines Interrupt–Programms.
4. Ein Interrupt–Programm kann nicht innerhalb eines Unterprogrammes ge-
schrieben werden. Schreiben Sie kein Interrupt–Programm zwischen ei-
nem SUBROUTINE DEFINE–Befehl (SBN (92)) und einem RETURN–Be-
fehl (RET (93)).
Die als Interrupt verwendeten Eingänge können nicht als normale Eingänge
verwendet werden.
Befehle und Interrupts für Die folgenden Befehle können nicht in einem Interrupt–Unterprogramm ausge-
den Schnellen Zähler führt werden, wenn ein Befehl zur Steuerung des Schnellen Zählers im Haupt-
programm ausgeführt wird:
INI(61), PRV(62) oder CTBL(63)
Die folgenden Verfahren können zur Umgehung dieser Einschränkung genutzt
werden:

71
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Verfahren 1
Die gesamte Interrupt–Verarbeitung kann während der Befehlsauführung mas-
kiert werden.

@INT(89)

100

000

000

INI (61)

000

000

000

@INT(89)

200

000

000

Verfahren 2
Führen Sie den Befehl wieder im Hauptprogramm aus.
1, 2, 3... 1. In der nachfolgenden Abbildung ist der Programmabschnitt des Hauptpro-
gramms dargestellt.

@PRV(62)

000

002

DM 0000
LR 0000
CTBL (63)

000

000

DM 0000

RSET LR 0000

2. In der nachfolgenden Abbildung ist der Programmabschnitt des Interrupt–


Unterprogrammes dargestellt.

SBN(92) 000

25313
@CTBL(63)

000

000

DM 0000

25503
LR
0000

Hinweis 1. Definieren Sie Interruptroutinen am Ende des Hauptprogramms mit dem


Befehl SBN(92) und RET(93) wie bei normalen Unterprogrammen.
2. Bei der Definierung einer Interrupt–Routine tritt eine “SBS UN-
DEFD”–Warnung während der Programmprüfung auf, das Programm wird
jedoch normal ausgeführt.

72
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

2-3-2 Eingangs–Interrupts
Die CPU–Baugruppen mit 10 Ein–/Ausgängen (CPM1–10CDRj und
CPM1A–10CDRj) verfügen über zwei Interrupt–Eingänge (00003 und 00004).
Die CPU–Baugruppen mit 20, 30 und 40 Ein–/Ausgängen (CPM1–20CDRj,
CPM1A–20CDRj, CPM1–30CDRj(–V1), CPM1A–30CDRj und
CPM1A–40CDRj) verfügen über vier Interrupt–Eingänge (00003 bis
00006).
Es gibt zwei Betriebsarten für die Verarbeitung von eingangsgesteuerte Inter-
rupts: den eingangsgesteuerten Interrupt–Modus und den Zählmodus.
CPM1 SPS
CPU–Baugruppen mit 10 Ein–/Ausgängen CPU–Baugruppen mit 20 und 30 Ein–/
(CPM1–10CDRj) Ausgängen (CPM1–20CDRj und
CPM1–30CDRj(–V1))

00003
00004
00005
00006
00003
00004
NC
24VDC

CPM1A SPS
CPU–Baugruppen mit 20, 30 und 40
CPU–Baugruppen mit 10 Ein–/Ausgängen (CPM1A–20CDRj und
Ein–/Ausgängen CPM1A–30CDRj) CPM1A–40CDRj)
(CPM1A–10CDRj)

CPU–Baugruppe
g pp Ein– Interrupt–
p Ansprechzeit
gang nummer Interrupt– Zählmodus
Modus
CPM1-10CDR-j
j 00003 00 max. 0,3
, ms 1 kHz
CPM1A 10CDj j
CPM1A-10CDj-j 00004 01 (Zeit bis zur
CPM1-20CDR-j 00003 00 Ausführung des
CPM1A 20CDj j
CPM1A-20CDj-j Interrupt–
00004 01 Programms)
g )
CPM1-30CDR-j(-V1)
CPM1 30CDR j( V1)
CPM1A-30CDj-j
CPM1A 30CDj j 00005 02
CPM1A-40CDj-j 00006 03
Hinweis Werden keine eingangsgesteuerte Interrupts verwendet, können Sie die Ein-
gänge 00003 bis 00006 als normale Eingänge verwenden.

Interrupt–Eingangs– Eingänge 00003 bis 00006 müssen als Interrupt–Eingänge in DM 6628 einge-
Einstellungen stellt werden, falls sie für eingangsgesteuerte Interrupts in der CPM1/CPM1A
benutzt werden sollen. Die entsprechende Stelle muss auf 1 eingestellt werden,
wenn der Eingang als Interrupt–Eingang (eingesteuerter Interrupt oder Zählmo-
dus) verwenden werden soll; bei einer Verwendung als normaler Eingang muss
0 eingestellt werden.

73
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Wort Einstellung
DM 6628 0: Normaler Eingang
(Grundeinstellung)
g g
1: Interrupt–Eingang
2:
2 Schneller
S h ll Eingang
Ei

Bit 15 0
DM 6628

Einstellung für Eingang 00006: auf 1 setzen


Einstellung für Eingang 00005: auf 1 setzen
Einstellung für Eingang 00004: auf 1 setzen
Einstellung für Eingang 00003: auf 1 setzen

Interrupt–Unterprogramme Die Interrupts der Eingänge 00003 bis 00006 sind den Interrupt–Nummern 00
bis 03 und den Unterprogrammen 000 bis 003 zugeordnet. Werden keine ein-
gangsgesteuerten Interrupts verwendet, können die Unterprogramme 000 bis
003 als normale Unterprogramme verwendet werden.
Eingang Interrupt– Unterprogramm–
Nummer nummer
00003 0 000
00004 1 001
00005 2 002
00006 3 003

Eingangsauffrischung Wird keine Eingangsauffrischung über den IORF–Befehl durchgeführt, ist der
Eingangssignal-Zustand innerhalb des Interrupt-Unterprogramms nicht ein-
deutig festgelegt. Je nach Eingangs–Zeitkonstante können bei der Eingangs–
Auffrischung die Eingangssignale nicht auf EIN gesetzt werden. Dies gilt auch
für den Status des Interrupt-Eingangsbits, das den Interrupt aktiviert hat.
In dem Interrupt-Unterprogramm für den Eingangs-Interrupt 0 wird IR 00000
beispielsweise erst nach der Auffrischung der E/A gesetzt. In diesem Fall kann
der ständig gesetzte Systemmerker SR 25313 anstelle der Eingangs-Adresse
IR 00000 verwendet werden.
Eing–gest. Interrupt–Modus Wird ein Interrupt–Eingangssignal empfangen, wird das Hauptprogramm unter-
brochen und das Interrupt–Programm sofort ausgeführt, unabhängig davon, in
welchem Zyklus der Interrupt empfangen wird. Das Signal muss für 200 µs oder
länger anliegen, um erfasst zu werden.

Hauptprogramm Hauptprogramm

Interrupt–Programm

Interrupt–Eingangssignal

Verwenden Sie die folgenden Befehle, um eingangsgesteuerte Interrupts in die-


sem Modus zu programmieren.
Maskierung/Demaskieren von eingangsgesteuerten Interrupts
Durch den INT(89)-Befehl können Maskierungen eingangsgesteuerter Inter-
rupts in der erforderlichen Weise gesetzt bzw. zurückgesetzt werden.

(@)INT(89) Die Einstellungen erfolgen über die D-Bits 0 bis 3, die den ein-
000 gangsgesteuerten Interrupts 0 bis 3 entsprechen.
0: Löschen der Maskierung (Interrupt aktiviert)
000
1: Setzen der Maskierung (Interrupt deaktiviert)
D

74
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Am Anfang des Betriebes sind alle eingangsgesteuerte Interrupts maskiert.


Wird der eingangsgesteuerte Interrupt–Modus verwendet, so stellen Sie sicher,
die eingangsgesteuerten Interrupts wie oben mit INT(89) zu aktivieren.
Löschen maskierter Interrupts
Wechselt das an einem Interrupt–Eingang anliegende Signal während der Mas-
kierung auf EIN, wird der betreffende Interrupt gespeichert und nach der Aufhe-
bung der Maskierung direkt ausgeführt. Soll der betreffende Interrupt bei der
Aufhebung der Maskierung nicht ausgeführt werden, muss die Interrupt–Spei-
cherung zuvor gelöscht werden.
Für jede Interrupt-Nummer wird nur ein Interrupt-Signal gespeichert.
Über den INT(89)-Befehl wird die Interrupt–Speicherung gelöscht.

(@)INT(89) Werden die dem Interrupt 0 bis 3 entsprechenden D-Bits 0 bis


001 3 auf 1 gesetzt, werden die gespeicherten Interrupts gelöscht.
0: Interrupt–Speicherung wird nicht gelöscht.
000
1: Interrupt–Speicherung wird gelöscht.
D

Lesen des Maskierungszustands


Über den INT(89)-Befehl kann der Zustand der Maskierung gelesen werden.

(@)INT(89) Der Zustand der äußerst rechten Stellen der in Wort D


002 gespeicherten Daten (Bits 0 bis 3) zeigt den Maskierungszustand.
0: Maske ist gelöscht
000
(E–gesteuerte Interrupt–Verarbeitung freigegeben)
D 1: Maske ist definiert:
(E–gesteuerte Interrupt–Verarbeitung gesperrt)

Programmbeispiel
Ist der Eingang 00003 (Interrupt 0) auf EIN gesetzt, wird sofort das Interrupt–
Programm mit der Unterprogrammnummer 000 aufgerufen. Eingänge werden
in DM 6628 auf 0001 gesetzt.

25315 Erster Zyklus–Merker


EIN für 1 Zyklus
@INT(89)
Maskierung/Demaskierung der
000 eingangsgesteuerten Interrupts.
000

#000E Demaskiert 00003 (eingangsgesteuerter


Interrupt 0), maskiert andere.

SBN (92) 000

Interrupt–Programm
RET (93)

Zählmodus Externe Eingangssignale werden mit hoher Geschwindigkeit gezählt und ein In-
terrupt wird generiert, wenn der Zähler den Sollwert erreicht. Wird ein Interrupt
generiert, wird das Hauptprogramm unterbrochen und das Interrupt–Programm
wird ausgeführt. Es können Signale bis zu 1 kHz gezählt werden.

Hauptprogramm Hauptprogramm

Interrupt–Programm

Interrupt–Eingangssignal

Sollwert

75
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Führen Sie die folgenden Schritte durch, um Interrupts im Zählermodus zu pro-


grammieren.
1, 2, 3... 1. Schreiben Sie die Sollwerte für den Zählerbetrieb in die SR–Worte, wie in
der folgenden Tabelle gezeigt. Die Sollwerte liegen zwischen 0000 und
FFFF (0 bis 65535). Der Wert 0000 deaktiviert den Zählbetrieb, bis ein
neuer Wert spezifiziert und der nachfolgende Schritt 2 wiederholt wird.
Interrupt Wort
Egangsgesteuerter Interrupt 0 SR 240
Egangsgesteuerter Interrupt 1 SR 241
Egangsgesteuerter Interrupt 2 SR 242
Egangsgesteuerter Interrupt 3 SR 243
Die in dem Zählermodus (SR 240 bis SR 243) verwendeten SR–Worte ent-
halten hexadezimale Daten und keine BCD–Werte. Wird der Zählermodus
nicht verwendet, können diese Worte als Hilfsbits verwendet werden.
Hinweis Diese Systemmerker werden zu Beginn des Betriebs zurückge-
setzt und müssen von dem Programm neu gesetzt werden.
2. Mit dem INT(89)-Befehl können die in der Zähler-Betriebsart spezifizierten
Sollwerte festgelegt bzw. erneuert werden, wobei die Maskierung dabei
aufgehoben wird.

(@)INT(89) Werden die den eingangsgesteuerte Interrupts entspre-


003
chenden D-Bits 0 bis 3 zurückgesetzt, wird der Sollwert
festgelegt und Interrupts sind zulässig.
000 0: Der in der Zähler-Betriebsart spezifizierte Sollwert wird
D festgelegt und die Maskierung aufgehoben.
1: Nicht aktiviert.

Setzen Sie bei einem unbenutztem eingangsgesteuerten Interrupt das ent-


sprechende Bit auf 1.
Der Interrupt, dessen Sollwert festgelegt wird, wird in der Zähler-Betriebsart ak-
tiviert. Erreicht der Zähler den Sollwert, wird ein Interrupt ausgelöst und der Zäh-
ler zurückgesetzt. Die Zählvorgänge/Interrupts werden bis zur Deaktivierung
des Zählers fortgesetzt.
Hinweis 1. Wird der INT(89)-Befehl während des Zählvorgangs aufgerufen, wird der
Istwert auf den Sollwert gesetzt. Für einen Interrupt müssen Sie daher die
differenzierte Form des Befehls verwenden, andernfalls wird kein Interrupt
ausgelöst.
2. Der Sollwert wird bei der Ausführung des INT(89)-Befehls festgelegt. Ist be-
reits ein Interrupt aktiv, dann kann der Sollwert nicht einfach durch Ände-
rung des Inhaltes von SR 240 bis SR 243 geändert werden. Hierzu muss der
Sollwert durch wiederholte Ausführung des INT(89)-Befehls geändert wer-
den.
Die Maskierung von eingangsgesteuerte Interrupts im Zählmodus erfolgt auf
dieselbe Weise wie im eingangsgesteuerten Interrupt-Modus. Werden Maskie-
rungen jedoch auf dieselbe Weise aufgehoben, wird nicht der Zählmodus deak-
tiviert, sondern stattdessen der eingangsgesteuerte Interrupt-Modus aktiviert.
Maskierte eingangsgesteuerte Interrupts werden auf die gleiche Weise wie im
eingangsgesteuerten Interrupt-Modus gelöscht.
Zähler–Istwert im Zählmodus
Werden eingangsgesteuerte Interrupts im Zählmodus verwendet, wird der Zäh-
ler-Istwert in dem SR-Wort gespeichert, das dem eingangsgesteuerten Inter-
rupt 0 bis 3 entspricht. Die Werte betragen 0000 bis FFFE (0 bis 65534) und ent-
sprechen dem Zähler-Istwert minus 1.

76
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Interrupt Wort
Eingangsgesteuerter Interrupt 0 SR 244
Eingangsgesteuerter Interrupt 1 SR 245
Eingangsgesteuerter Interrupt 2 SR 246
Eingangsgesteuerter Interrupt 3 SR 247
Beispiel:
Der Istwert für einen Interrupt, dessen Sollwert 000A beträgt, wird unmittelbar
nach der Ausführung des INT(89)-Befehls als 0009 gespeichert.
Hinweis Auch wenn keine eingangsgesteuerte Interrupts in der Zähler-Betriebsart ver-
wendet werden, können diese SR–Systemmerker nicht als Hilfsbits verwendet
werden.
Programmbeispiel
Wird der Eingang 00003 (Interrupt–Nummer 0) 10 mal auf EIN gesetzt, wird so-
fort das Interrupt–Programm mit der Unterprogrammnummer 000 aufgerufen.
Die folgende Tabelle zeigt, wo die Sollwerte und Istwerte –1 des Zählers gespei-
chert werden. Eingänge wurden in DM 6628 auf 0001 gesetzt.
Interrupt Wort mit Wort mit
Sollwert Istwert–1
Eingang 00003 (eingangsgesteuerter Interrupt 0) SR 240 SR 244
Eingang 00004 (eingangsgesteuerter Interrupt 1) SR 241 SR 245
Eingang 00005 (eingangsgesteuerter Interrupt 2) SR 242 SR 246
Eingang 00006 (eingangsgesteuerter Interrupt 3) SR 243 SR 247

25315 Erster Zyklus–Merker


EIN für 1 Zyklus
MOV(21)
#000A Setzt den Sollwert auf 10. (0000 bis FFFF)
240
Wort, das den Sollwert enthält (SR 240)

@INT(89) Sollwert des Zählers auffrischen.


003
000

#000E Frischt nur den Sollwert von 00003


(eingangsgesteuerter Interrupt 0) auf.

SBN (92) 000

Interrupt–Programm
RET (93)

2-3-3 Maskierung aller Interrupts


Mit dem INT(89)-Befehl können alle Interrupts, einschließlich der Eingangs-, In-
tervall-Zeitgeber- und Schnelle Zähler-Interrupts als Gruppe maskiert und aus-
maskiert werden. Diese Maskierung steht zusätzlich zur Maskierungen der ein-
zelnen Interrupt–Arten zur Verfügung. Darüber hinaus wird durch Ausmaskie-
rung aller Interrupts die Maskierung einzelner Interrupt-Arten nicht zurückge-
setzt. Die Bedingungen vor der Ausführung des INT(89)-Befehls (zur Maskie-
rung der Interrupts als Gruppe) sind weiterhin gültig.
Verwenden Sie INT(89) nur zur Maskierung von Interrupts, wenn alle Interrupts
temporär maskiert werden müssen. INT(89)-Befehle müssen immer paarweise
eingesetzt werden. Der erste INT(89)-Befehl dient zur Maskierung und der
zweite zur Ausmaskierung von Interrupts.
Innerhalb von Interrupt-Routinen kann INT(89) nicht zur (Aus)Maskierung aller
Interrupts verwendet werden.

77
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Maskierung von Interrupts Der INT(89)-Befehl dient zur Deaktivierung aller Interrupts.

(@)INT(89)
100
000

000

Wird während der Maskierung ein Interrupt generiert, erfolgt keine Interrupt-
Verarbeitung, sondern der Interrupt (für eingangsgesteuerte Interrupts, Inter-
vall-Zeitgeber–gesteuerte Interrupts und zählergesteuerte Interrupts) wird ge-
speichert. Interrupts werden unmittelbar nach der Demaskierung abgearbeitet.
Ausmaskierung von Mit Hilfe des INT(89)-Befehls können Interrupts folgendermaßen ausmaskiert
Interrupt–Signalen werden:

(@)INT(89)
200
000

000

2-3-4 Intervall–Zeitgeber–gesteuerte Interrupts


Die CPM1/CPM1A ist mit einem Intervall–Zeitgeber ausgerüstet. Ist der Inter-
vall–Zeitgeber abgelaufen, wird das Hauptprogramm unterbrochen und das In-
terrupt–Programm unabhängig von der Position im Zyklus ausgeführt.
Für den Intervall-Zeitgeberbetrieb stehen zwei Modi zur Verfügung. Im Mono-
flop(ONE–SHOT)-Modus wird nach Ablauf der Zeit nur ein Interrupt ausgelöst.
In der zeitgesteuerten(SCHEDULED) Interrupt–Modus wird das Interrupt–Un-
terprogramm in einem festen Zeit–Intervall wiederholt.
Der Sollwert des Intervall–Zeitgebers kann zwischen 0,5 und 319968 ms in
Schritten von 0,1 ms eingestellt werden.
Betrieb Der folgende Befehl dient zur Aktivierung und Steuerung des Intervall-Zeitge-
bers.
Zeitgeber-Start im Monoflop(ONE–SHOT)-Interrupt–Modus
Entsprechend parametriert startet der STIM(69)-Befehl den Intervall-Zeitgeber
im Monoflop–Modus.

(@)STIM(69)
C1: Intervall–Zeitgeber, Monoflop–Modus (000)
C1
C2: Zeitgeber-Sollwert (erste Wortadresse)
C2
C3: Unterprogramm-Nummer
C3
(4-stelliger BCD-Wert): 0000 bis 0049

1, 2, 3... 1. Wird für C2 eine Wortadresse eingegeben:


C2: Sollwert des Abwärtszählers (4-stelliger BCD-Wert): 0000 bis 9999
C2 + 1: Zeitintervall jeder Dekrementierung (4-stelliger BCD-Wert; Einheit:
0,1 ms): 0005 bis 0320 (0,5 ms bis 32 ms)
Nach Ablauf des in Wort C2 + 1 spezifizierten Zeitintervalls dekrementiert
der Zähler den Istwert um 1. Beträgt der Istwert 0, wird das spezifizierte Un-
terprogramm einmal aufgerufen und der Zeitgeber gestoppt.
Die Zeit von der Ausführung des STIM(69)-Befehls bis zum Ablauf der spe–
zifizierten Zeit wird folgendermaßen berechnet:
(Inhalt von Wort C2) × (Inhalt von Wort C2 + 1) x 0,1 ms = (0,5 bis 319.968
ms)
2. Wird für C2 eine Konstante spezifiziert:
Der Sollwert des Abwärtszählers wird auf den Wert dieser Konstanten ge-
setzt; das Dekrementierungs-Zeitintervall beträgt 10 x 0,1 (=1 ms).

78
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Zeitgeber-Start im zeitgesteuerten(SCHEDULED)–Interrupt-Modus
Entsprechend parametriert startet der STIM(69)-Befehl den Intervall-Zeitgeber
im zeitgesteuerten Interrupt–Modus.

(@)STIM(69)
C1: Intervall–Zeitgeber, zeitgesteuerter Interrupt–Modus (003)
C1
C2: Zeitgeber-Sollwert (erste Wortadresse)
C2
C3: Unterprogrammnummer (4-stelliger BCD-Wert): 0000 bis 0049
C3

1, 2, 3... 1. Wird für C2 eine Wortadresse eingegeben:


C2: Sollwert des Abwärtszählers (4-stelliger BCD-Wert): 0000 bis 9999
C2 + 1: Zeitintervall jeder Dekrementierung (4-stelliger BCD-Wert; Einheit:
0,1 ms): 0005 bis 0320 (0,5 ms bis 32 ms)
Im Monoflop-Modus besitzen die Einstellungen die gleiche Bedeutung. Im
zeitgesteuerten Interrupt–Modus wird der Zeitgeber-Istwert jedoch auf den
Sollwert zurückgesetzt und die Dekrementierung beginnt nach dem Aufruf
des Unterprogramms. In diesem Modus werden die Interrupts in festen Zeit-
intervallen bis zum Betriebsende wiederholt.
2. Wird für C2 eine Konstante spezifiziert:
Die Einstellungen entsprechen denen des Monoflop–Modus. Interrupts
werden jedoch in festen Zeitintervallen bis zum Betriebsende wiederholt.
Lesen der abgelaufenen Zeit des Zeitgebers
Entsprechend parametriert liest der STIM(69)-Befehl die abgelaufene Zeit des
Zeitgebers.

(@)STIM(69)
C1: Lesen der abgelaufenen Zeit (006)
C1
C2: Führendes Wort von Parameter 1
C2
C3: Parameter 2
C3

C2: Anzahl der Abwärtszähler-Dekrementierungen (4-stelliger BCD-Wert)


C2 + 1: Zeitintervall des Abwärtszählers (4-stelliger BCD-Wert; Einheit: 0,1 ms)
C3: Abgelaufene Zeit seit der vorhergehenden Dekrementierung (4-stelliger
BCD-Wert; Einheit: 0,1 ms)
Die abgelaufene Zeit vom Starten des Intervall-Zeitgebers bis zur Ausführung
dieses Befehls wird folgendermaßen berechnet:
[(Inhalt von Wort C2) × (Inhalt von Wort C2 + 1) + (Inhalt von Wort C3)] × 0,1 ms
Bei einem Stop des spezifizierten Intervall-Zeitgebers wird ”0000” gespeichert.
Anhalten von Zeitgebern
Entsprechend parametriert hält der STIM(69)-Befehl den Intervall-Zeitgeber an.

(@)STIM(69)
C1
C1: Anhalten des Intervall–Zeitgebers (010)
000

000

79
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Anwendungsbeispiel In diesem Beispiel wird 2,4 ms (0,6 ms Z 4), nachdem Eingang 00005 auf EIN
(Monoflop–Modus) gesetzt wurde, ein Interrupt generiert; der Interrupt löst die Abarbeitung der In-
terrupt–Unterprogrammnummer 23 aus.

25315 Erster Zyklus–Merker


EIN für 1 Zyklus
MOV (21)
#0004 Setzt den Sollwert des Abwärtszählers auf 4.
(BCD–Wert: 0000 bis 9999)
DM 0010

MOV(21)
#0006
Setzt das Dekrementierungs–Zeitgeber–
Intervall auf 0,6 ms. (BCD–Wert: 0005 bis
DM 0011 0320)
00005
@STIM(69)
Startet den Intervall–Zeitgeber im Monoflop–
000 Modus.
DM 0010 Spezifiziert das erste Wort, das den Sollwert enthält.
#0023 Spezifiziert die Unterprogrammnummer (23).

SBN (92) 023

Interrupt–Programm

RET (93)

Anwendungsbeispiel In diesem Beispiel wird alle 4,0 ms (1,0 ms Z 4), nachdem der Eingang 00005
(zeitgesteuerter Modus) auf EIN gesetzt wird, ein Interrupt generiert; der Interrupt löst die Abarbeitung
der Interrupt–Unterprogrammnummer 23 aus.

25315 Erster Zyklus–Merker


EIN für 1 Zyklus
MOV (21)
#0004 Setzt den Sollwert des Abwärtszählers auf 4.
DM 0010 (BCD–Wert: 0000 bis 9999)

MOV (21)
#0010 Setzt das Dekrementierungs–Zeitgeber–
DM 0011 Intervall auf 1,0 ms. (BCD–Wert: 0005 bis
00005 0320)
@STIM(69)
003 Startet den Intervall–Zeitgeber im zeitgesteuerten
DM 0010
Modus.
#0023 Spezifiziert das erste Wort, das den Sollwert enthält.
Spezifiziert die Unterprogrammnummer (23).

SBN (92) 023

Interrupt–Programm
RET (93)

2-3-5 Schnelle Zähler–Interrupt


Die CPM1/CPM1A verfügen über eine Schnelle Zähler–Funktion, die für den In-
krementier– oder Aufwärts/Abwärts–Betrieb verwendet werden kann. Der
schnelle Zähler kann mit Eingangs–Interrupts kombiniert werden, um eine Be-
reichsvergleichs–Steuerung oder Zielwert–Steuerung durchzuführen, die nicht
von der Zykluszeit der SPS beeinflußt wird.
Signale des Schnellen Zählers können über die CPU–Eingänge 00000 bis
00002 angelegt werden.

80
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

CPM1–SPS

00000
00001
00002
N.C.
24VDC

CPM1A–SPS

Modus Verwendung Eingangs– Zähl– Zähl– Steuerverfahren


beschaltung frequenz bereich
Aufwärts/ 00000: Eingang Phasendifferenz, max. 2,5 kHz –32767 Zielwert–Steuerung:
Abwärts Phase A 4 Eingänge bis Bis zu 16 Zielwerte und Interrupt–
00001: Eingang 32767 Unterprogrammnummern können
Phase B gespeichert werden.
00002: Eingang Bereichsvergleichs–Steuerung:
Phase Z Bis zu 8 Sätze oberer Grenzwerte,
Inkrement– 00000: Zähleingang Individuelle max. 5,0 kHz 0 unterer Grenzwerte und Interrupt–
ierung 00001: Sehen Sie den Eingänge bis Unterprogrammnummern können
Hinweis 65535 gespeichert werden.
00002:
Rücksetzeingang

Hinweis Im Inkrementmodus kann der Eingang 00001 als normaler Eingang verwendet
werden. Bei der Software–Rücksetzung kann Eingang 00002 als normaler Ein-
gang verwendet werden. Wird der Eingang für das Z–Phasensignal und die
Software–Rücksetzung verwendet, wird der Eingangsstatus von 00002 auch im
E/A–Speicher reflektiert.

Einstellungen des Die folgenden Einstellungen müssen in DM6642 erfolgen, wenn die Schnelle
Schnellen Zählers Zähler–Funktion der CPM1/CPM1A verwendet wird.
DM 6642 Funktion Einstellungen
Bi
Bits Inkremen– Aufwärts/ Nicht
tierung Abwärts verwen–
det
00 bis 03 Zählermodus: 4 0 0 oder 4
0: Aufwärts/Abwärts
4: Inkrementierung
04 bis 07 Gewählte Rücksetzung: 0 oder 1 0 oder 1 0 oder 1
0: Z–Phase + Software–
Rücksetzung
1: Software–Rücksetzung
08 bis 15 Verwendung des Zählers: 01 01 00
0: Nicht verwendet
1: Verwendet

81
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Zählbereich Der Schnelle Zähler der CPM1/CPM1A arbeitet im Linearbetrieb und der Zähl-
wert (Istwert) wird in SR 248 und SR 249 gespeichert. (Die oberen vier Stellen
werden in SR 249 und die unteren vier Stellen in SR 248 gespeichert).
Modus Zähl–
bereich
Aufwärts/Abwärts F003 2767 bis 0003 2767 (–32.767 bis 32.767)
Die äußerste linke Stelle in SR 248 enthält das Vorzeichen. “F”
bedeutet negativ, “0” positiv.
Inkrementierung 0000 0000 bis 0006 5535 (0 bis 65.535)

Ein Überlauf tritt auf, wenn der Zählwert die obere Grenze im Zählbereich über-
schreitet und ein Unterlauf tritt auf, wenn der Zählwert unter der unteren Grenze
im Zählbereich liegt.
Fehler Inkrementierung Aufwärts/Abwärts Istwert
Überlauf Tritt ein, wenn der Tritt ein, wenn der 0FFF FFFF
Zählerstand bei 65.535 Zählerstand bei 32.767
inkrementiert wird. inkrementiert wird.
Unterlauf --- Tritt ein, wenn der FFFF FFFF
Zählerstand bei –32.767
dekrementiert wird.

Verarbeitung Zwei Signalarten eines Impuls–Encoders können angelegt werden. Der für den
Schnellen Zähler verwendete Zählmodus wird von dem Signaltyp bestimmt. Der
Zähl– und Rücksetz–Modus werden in DM6642 spezifiziert; diese Einstellun-
gen werden beim Einschalten der Spannungsversorgung oder des SPS–Be-
triebs wirksam.
Auf–/Abwärts–Zählmodus:
Ein phasenverschobenes 4x Zweiphasen-Signal (Phase A und B) und ein
Z-Signal werden mit den Eingängen verbunden. Der Zähler wird entspre-
chend dem Unterschied zwischen den Phasen A und B inkrementiert bzw.
dekrementiert.
Inkrementier–Zählmodus:
Ein einphasiges Impulssignal und ein Zähler-Rücksetzsignal werden ver-
wendet. Der Zähler wird entsprechend des einphasigen Signals inkremen-
tiert.

Aufwärts/Abwärtsmodus Inkrementiermodus
EIN EIN
Impuls–
Phase A eingang
AUS AUS

EIN
Phase B
AUS

Zählen 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 0 –1 –2 Zählen 1 2 3 4

Inkrementierung Dekrementierung Nur Inkrementierung

Hinweis Eines der folgenden Verfahren sollte immer zur Rücksetzung des Zählers bei
einem Neustart verwendet werden. Der Zähler wird am Anfang bzw. Ende einer
Programmausführung automatisch zurückgesetzt.
Die folgenden Signalübergänge werden als Vorwärts-Zählimpulse (Inkremen-
tierung) ausgewertet: ansteigende Flanke Phase A - ansteigende Flanke Phase
B - fallende Flanke Phase A - fallende Flanke Phase B. Die folgenden Signal-
übergänge werden als Rückwärts-Zählimpulse (Dekrementierung) ausgewer-
tet: ansteigende Flanke Phase B - ansteigende Flanke Phase A - fallende
Flanke Phase B - fallende Flanke Phase A.
Im Aufwärts–/Abwärts-Modus wird immer ein 4× phasenverschobenes Ein-
gangssignal verwendet. Die Anzahl der Zählimpulse für jede Encoder-Umdre-

82
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

hung entspricht der vierfachen Zählerauflösung. Wählen Sie einen Encoder auf
der Grundlage des zählbaren Bereiches.
Rücksetz–Modus
Zur Rücksetzung des Zähler-Istwertes (d.h. Istwert auf 0) kann eines der beiden
folgenden Verfahren verwendet werden.
Z–Phasensignal + Software–Rücksetzung:
Der Istwert wird zurückgesetzt, wenn das Z-Phasensignal (Rücksetz-Ein-
gang) nach dem Setzen des SCHNELLER ZÄHLER(0)-RÜCKSETZ-Sy-
stemmerkers (SR 25200) auf EIN gesetzt wird.
Software–Rücksetzung:
Der Istwert wird beim Setzen des SCHNELLER-ZÄHLER(0)-RÜCKSETZ-
Systemmerkers (SR 25200) zurückgesetzt.

Z–Phasensignal + Software–Rücksetzung
E/A–Auffrischung
Allgemeine Verarbeitung
1 Zyklus Kommunikationsservice, usw.

CPU–Verarbeitung Progr–
Ausführg
Progr–
Ausführg
Progr–
Ausführg
Progr–
Ausführg
Progr.–
Ausführg
Progr.–
Ausführg

25200

(1) (2) (3) (4) (5)


Phase-Z

Nicht Nicht Rücksetzung Rücksetzung Nicht zurückgesetzt


zurück- zurück-
gesetzt gesetzt

Nr. Betriebszeitverhalten Rücksetzung


(1) Z–Phasensignal wird eingeschaltet, Keine Rücksetzung
wenn SR 25200 ausgeschaltet wird.
(2) Z–Phasensignal wird innerhalb eines Keine Rücksetzung
Zyklus eingeschaltet, nachdem SR
25200 eingeschaltet wird.
(3) Z–Phasensignal wird nach dem Ab- Rücksetzung auf steigender Flanke
lauf von mindestens einem Zyklus, von Phase–Z.
nachdem SR 25200 eingeschaltet
wurde, aktiviert.
(4) Z–Phasensignal wird innerhalb eines Rücksetzung auf steigender Flanke
Zyklus eingeschaltet, nachdem SR von Phase–Z.
25200 ausgeschaltet wird.
(5) SR25200 wird eingeschaltet, wenn Keine Rücksetzung
Z–Phasensignal eingeschaltet ist.

Hinweis Der SCHNELLER ZÄHLER(0)-RÜCKSETZ-Systemmerker (SR 25200) wird in-


nerhalb eines Abfragezyklus einmal aufgefrischt. Zur eindeutigen Identifizie-
rung des Merkerzustands muss dieser daher für mindestens einen Abfragezy-
klus gesetzt sein.
”Z” in ”Phase Z” steht für ZERO (Null). Dieses Signal zeigt an, dass der Encoder
eine Umdrehung abgeschlossen hat.
Zählen mit der Schnellen Zähler-Interrupt–Funktion
Für einen Interrupt des Schnellen Zählers 0 wird eine mit dem CTBL–Befehl er-
stellte Vergleichstabelle verwendet. Die Zähler–Istwertprüfung erfolgt mit Hilfe
eines der beiden nachfolgend beschriebenen Verfahren. In der Vergleichsta-
belle werden Vergleichsbedingungen (für den Vergleich mit dem Istwert) und
Interrupt-Routinen–Nummern gespeichert.
Zähler–Istwert:

83
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Maximal 16 Vergleichsbedingungen (Zähler–Istwert und Zählrichtungen)


und Interrupt-Unterprogrammnummern werden in der Vergleichstabelle ge-
speichert. Entspricht der Zähler-Istwert und die Zählrichtung den Ver-
gleichsbedingungen, wird das spezifizierte Interrupt-Unterprogramm aus-
geführt.
Bereichsvergleich:
Acht Vergleichsbedingungen (obere und untere Grenzwerte) und Interrupt-
Unterprogrammnummern werden in der Vergleichstabelle abgelegt. Ist der
Istwert größer oder gleich dem unteren Grenzwert und kleiner oder gleich
dem oberen Grenzwert, wird das spezifizierte Interrupt-Unterprogramm
ausgeführt.
Zielwertvergleiche Der Ist–Zählwert wird mit den Zielwerten in der Reihenfolge verglichen, in der
die Zielwerte in der Vergleichstabelle gespeichert sind und Interrupts werden
generiert, wenn der Zählwert dem Zielwert entspricht. Nachdem der Zählwert
allen Zielwerten in der Tabelle entsprochen hat, wird der Zeiger auf den ersten
Zielwert in der Tabelle eingestellt; der Vergleich beginnt wiederum mit dem Ist–
Zählwert, bis die zwei Werte gleich sind.

Zählen
Interrupts
Vergleichstabelle
Zielwert 1
Zielwert 2
Zielwert 3
Zielwert 4
Zielwert 5

Vorgabewert
Zielwert
1 2 3 4 5

Bereichsvergleiche Der Ist–Zählwert wird auf zyklische Art gleichzeitig mit allen Bereichen vergli-
chen, und, basierend auf den Ergebnissen der Vergleiche, werden Interrupts
generiert.
Vergleichstabelle
0 Bereichseinstellung 1
Zählwert Bereichseinstellung 2
Bereichseinstellung 3
1 3 Bereichseinstellung 4
2 4

Hinweis Bei der Durchführung von Zielwertvergleichen darf der INI–Befehl nicht wieder-
holt verwendet werden, um den Ist–Zählwert zu ändern und den Vergleichsvor-
gang zu beginnen. Die Interrupt–Funktion arbeitet evtl. nicht richtig, wenn der
Vergleich sofort nach der Änderung des Istwertes durch das Programm begon-
nen wird. (Der Vergleich kehrt automatisch zum ersten Zielwert zurück, sobald
ein Interrupt für den letzten Zielwert generiert wurde. Eine wiederholende Abar-
beitung ist möglich, indem lediglich der aktuelle Wert geändert wird.)

Programmierung Verwenden Sie die folgenden Schritte, um den schnellen Zähler zu program-
mieren.
Der Zählbetrieb des Schnellen Zählers 0 beginnt nach der richtigen Einstellung
im Setup. Vergleiche mit Hilfe der Vergleichstabelle und die Generierung von
Interrupts erfolgen erst nach dem CTBL(63)-Befehl.
Der Schnelle Zähler wird beim Einschalten der SPS und zu Beginn des Betriebs
auf ”0” zurückgesetzt.
Der Istwert des Schnellen Zählers wird in SR 248 und SR 249 gespeichert.

84
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Steuerung der Schnellen Zähler-Interrupts


1, 2, 3... 1. Verwenden Sie den CTBL(63)-Befehl, um die Vergleichstabelle in der
CPM1/CPM1A zu speichern und um Vergleiche zu starten.

(@)CTBL(63)
P C: (3-stelliger BCD-Wert)
000: Die Zieltwertetabelle wird erstellt und der
C
Vergleich gestartet.
TB 001: Die Bereichstabelle wird erstellt und der
Vergleich gestartet.
002: Nur die Zielwertetabelle wird erstellt
003: Nur die Bereichstabelle wird erstellt
TB: Anfangswort der Vergleichstabelle

Wird C auf 000 gesetzt, erfolgen Vergleiche nach dem Zielübereinstim-


mungs-Verfahren. Wird C auf 001 gesetzt, werden Bereiche miteinander
verglichen. Die Vergleichstabelle wird gespeichert und die Vergleiche wer-
den anschließend vorgenommen. Während der Vergleiche werden
schnelle Interrupts, entsprechend der Vergleichstabelle, ausgeführt. Sehen
Sie die Beschreibung des CTBL(63)–Befehls in Kapitel 7 Befehlssatz für
weitere Informationen über den Inhalt der gespeicherten Vergleichstabel-
len.
Hinweis Die Vergleichsergebnisse werden während der Bereichsvergleichs–
Ausführung in AR 1100 bis AR 1107 gespeichert.
Wird C auf 002 gesetzt, erfolgen Vergleiche nach dem Zielwertübereinstim-
mungs-Verfahren. Wird C auf 003 gesetzt, werden Bereiche miteinander
verglichen. In beiden Fällen wird die Vergleichstabelle gespeichert, Verglei-
che werden jedoch nicht ausgeführt. Hierzu müssen Sie den INI(61)-Befehl
verwenden.
2. Um Vergleiche zu beenden, führen Sie den INI(--)-Befehl, wie nachfolgend
dargestellt, aus.

(@)INI(61)
000
001

000

Um Vergleiche erneut auszuführen, stellen Sie den zweiten Operanden auf


”000” ein (Ausführung der Vergleichstabelle) und führen Sie den
INI(61)-Befehl aus.
Eine gespeicherte Tabelle bleibt während des Betriebs (d.h. während der
Programmausführung) in der CPM1/CPM1A bis zur Speicherung einer an-
deren Tabelle erhalten.
Istwerte lesen
Zum Lesen der Istwerte stehen zwei Möglichkeiten zur Verfügung. Istwerte kön-
nen von SR 248 und SR 249 oder mit dem PRV(62)-Befehl gelesen werden.
Lesen von SR 248 und SR 249
Der Istwert des Schnellen Zählers 0 wird wie nachfolgend dargestellt in SR 248
und SR 249 gespeichert. Bei negativen Werten ist die äußerst linke Stelle auf F
gesetzt.
Äußerst linke Äußerst rechte Aufwärts/Abwärts– Inkrementier–
4 Ziffern 4 Ziffern Zählmodus Zählmodus
SR 249 SR 248 F0032767 bis 00032767 00000000 bis 00065535
(-32767)

Hinweis 1. Diese Worte werden nur einmal pro Abfragezyklus aufgefrischt. Daher be-
steht möglicherweise ein Unterschied zu dem tatsächlichen Istwert.
2. Wird der Schnelle Zähler nicht verwendet, können die Bits in diesen Worten
als Hilfsbits eingesetzt werden.

85
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Verwendung des PRV(62)-Befehls


Der PRV(62)-Befehl dient zum Lesen des Istwertes des Schnellen Zählers.

(@)PRV(62)
P1: Führendes Wort des Istwertes
000
000

P1

Der Istwert des Schnellen Zählers besitzt folgendes Speicherformat. Bei negati-
ven Werten ist die äußerst linke Stelle auf F gesetzt.
Äußerst linke Äußerst rechte Aufwärts/Abwärts– Inkrementier–
4 Ziffern 4 Ziffern modus modus
P1+1 P1 F0032767 bis 00032767 00000000 bis 00065535
(-32767)

Der Istwert wird bei der Ausführung des PRV(62)-Befehls gelesen.


Änderung des Istwertes
Der Istwert des Schnellen Zählers 0 kann auf zwei Arten geändert werden. Die
erste besteht in der Rücksetzung mit Hilfe des entsprechenden Rücksetzver-
fahrens. (In diesem Fall wird der Istwert auf 0 zurückgesetzt). Die Verwendung
des INI(61)-Befehls stellt die zweite Möglichkeit dar.
Die Verwendung des INI(61)-Befehls wird nachfolgend erläutert. Eine Beschrei-
bung des Rücksetz-Verfahrens finden Sie am Anfang der Beschreibung des
Schnellen Zählers.
Ändern Sie den Zeitgeber-Istwert, wie nachfolgend gezeigt, mit dem INI(61)-Be-
fehl.

(@)INI(61) D: Führendes Wort zur Speicherung


000 der Istwert-Änderungsdaten
002

Äußerst linke Äußerst rechte Aufwärts/Abwärtsmodus Inkrementiermodus


4 Ziffern 4 Ziffern
D+1 D F0032767 bis 00032767 00000000 bis 00065535

Zur Spezifikation einer negativen Zahl setzen Sie die äußerst linke Stelle auf F.
Anwendungsbeispiel Das folgende Beispiel zeigt ein Programm zur Verwendung des Schnellen Zäh-
(Inkrementiermodus) lers mit einem Eingang im Inkrementiermodus. Vergleiche erfolgen nach dem
Zielwertübereinstimmungs-Verfahren.
Die Vergleichsbedingungen (Zielwerte und Zählrichtungen) werden in der Ver-
gleichstabelle mit den Unterprogrammnummern gespeichert. Es können bis zu
16 Zielwerte gespeichert werden. Das entsprechende Unterprogramm wird
ausgeführt, wenn der Istwert des Zählers dem Zielwert entspricht.
Die folgenden Daten werden für die Vergleichstabelle gespeichert:
DM 0000 0002 Anzahl der Vergleichsbedingungen: 2
DM 0001 1000 Zielwert 1: 1000
DM 0002 0000
DM 0003 0030 Interrupt–Unterprogramm–Nr. für Vergleich 1: 30
DM 0004 2000 Zielwert 2: 2000
DM 0005 0000
DM 0006 0031 Interrupt–Unterprogramm–Nr. für Vergleich 2: 31

86
CPM1/CPM1A–Interrupt–Funktionen Abschnitt 2-3

Das folgende Beispiel zeigt einen Kontaktplan. DM 6642 muss auf 01j4 ge-
setzt werden, wobei j dem Rücksetzverfahren entspricht, das mit 0 oder 1 spe-
zifiziert wird.
25315 (für den ersten Zyklus auf EIN)
CTBL(63)
000
Speicher–Vergleichstabelle,
000 Zielwertverfahren
DM 0000 Erstes Wort der Vergleichstabelle

SBN (92) 030

Interrupt–Programm 30
RET (93)

SBN (92) 031

Interrupt–Programm 31
RET (93)

Anwendungsbeispiel Das folgende Beispiel zeigt ein Programm zur Verwendung des Schnellen Zäh-
(Aufwärts/Abwärts–Betrieb) lers mit einphasigen Eingängen in der Aufwärts–/Abwärts-Zählmodus. Verglei-
che erfolgen über das Bereichsvergleichs–Verfahren.
Die Vergleichsbedingungen (oberen/unteren Beleihungsgrenzen) werden in
der Vergleichstabelle mit den Unterprogrammnummern gespeichert. Es kön-
nen bis zu 8 Bereiche spezifiziert werden. Das entsprechende Unterprogramm
wird ausgeführt, wenn der Istwert des Zählers innerhalb des Bereiches liegt.
Hinweis Spezifizieren Sie immer 8 Bereiche. Werden weniger als 8 Bereiche benötigt,
setzen Sie die verbleibenden Unterprogrammnummern auf FFFF. Ein Wert von
FFFF zeigt an, dass kein Unterprogramm ausgeführt wird.
Die folgenden Daten werden für die Vergleichstabelle gespeichert:
DM 0000 1500
DM 0001 0000 Untere Grenze 1: 1.500 Zählimpulse
DM 0002 3000
DM 0003 0000 Obere Grenze 1: 3.000 Zählimpulse
DM 0004 0040 Interrupt–Unterprogramm–Nr.: 40
DM 0005 7500
DM 0006 0000 Untere Grenze 2: 7.500 Zählimpulse
DM 0007 0000
DM 0008 0001 Obere Grenze 2: 10.000 Zählimpulse
DM 0009 0041 Interrupt–Unterprogramm–Nr.: 41
DM 0010 0000
DM 0011 0000
DM 0012 0000
DM 0013 0000
DM 0014 FFFF Nicht ausgeführt. Interrupt–Unterprog. Bereich 3
. .
. . .
. . .
. . .
. . .
DM 0035 0000
DM 0036 0000
DM 0037 0000
DM 0038 0000
DM 0039 FFFF Nicht ausgeführt. Interrupt–Unterprogr. Bereich 8

87
SRM1(–V2) Interrupt–Funktionen Abschnitt 2-4

Das folgende Beispiel zeigt einen Kontaktplan. DM 6642 muss auf 01j0 ge-
setzt werden, wobei j dem Rücksetzverfahren entspricht, das mit 0 oder 1 spe-
zifiziert werden kann.
25315 (für den ersten Zyklus auf EIN)
CTBL (63)
000
000 Speicher–Vergleichstabelle, Ziel-
wertverfahren
DM 0000
Erstes Wort der Vergleichstabelle

SBN (92) 040

Interrupt–Programm 40
RET (93)

SBN (92) 041

Interrupt–Programm 41
RET (93)

2-4 SRM1(–V2) Interrupt–Funktionen


In diesem Abschnitt werden die Einstellungen und Verfahren für die Verwen-
dung der SRM1(–V2)–Interrupt–Funktionen beschrieben.

2-4-1 Interrupt–Funktionen
Die SRM1 (–V2) verfügt wie nachstehend beschrieben, nur über eine Interrupt–
Funktion.
Intervall–Zeitgeber–Interrupts
Die Interrupt–Verarbeitung wird mit einer Genauigkeit von 0,1 ms durch einen
Intervall–Zeitgeber ausgelöst.

2-4-2 Intervall–Zeitgeber–Interrupts
Die SRM1(–V2) ist mit einem Intervall–Zeitgeber ausgerüstet. Ist der Intervall–
Zeitgeber abgelaufen, wird das Hauptprogramm unterbrochen und das Inter-
rupt–Programm unabhängig von der Position im Zyklus ausgeführt.
Für den Intervall-Zeitgeberbetrieb stehen zwei Modi zur Verfügung. Im ONE
SHOT(Monoflop)-Interrupt–Modus wird nach Ablauf der Zeit nur ein Interrupt
ausgelöst. Im SCHEDULED(zeitgesteuerten) Interrupt–Modus wird das Inter-
rupt–Unterprogramm in einem festen Zeit–Intervall wiederholt.
Der Sollwert des Intervall–Zeitgebers kann zwischen 0,5 und 319.968 ms in 0,1
ms–Schritten eingestellt werden.
Betrieb Der folgende Befehl dient zur Aktivierung und Steuerung des Intervall-Zeitge-
bers.
Zeitgeber-Start im ONE–SHOT(Monoflop)-Modus
Entsprechend parametriert startet der STIM(69)-Befehl den Intervall-Zeitgeber
im Monoflop–Interrupt–Modus.

(@)STIM(69)
C1 C1: Intervall–Zeitgeber,
C2
Monoflop–Interrupt–Modus (000)
C3
C2: Zeitgeber-Sollwert (erste Wortadresse)
C3: Unterprogrammnummer
(4-stelliger BCD-Wert): 0000 bis 0049

88
SRM1(–V2) Interrupt–Funktionen Abschnitt 2-4

1, 2, 3... 1. Wird für C2 eine Wortadresse eingegeben:


C2: Sollwert des Abwärtszählers (4-stelliger BCD-Wert): 0000 bis 9999
C2 + 1: Zeitintervall jeder Dekrementierung (4-stelliger BCD-Wert; Einheit:
0,1 ms): 0005 bis 0320 (0,5 ms bis 32 ms)
Nach Ablauf des in Wort C2 + 1 spezifizierten Zeitintervalls dekrementiert
der Zähler den Istwert um 1. Beträgt der Istwert 0, wird das spezifizierte Un-
terprogramm einmal aufgerufen und der Zeitgeber gestoppt.
Die Zeit von der Ausführung des STIM(69)-Befehls bis zum Ablauf der spe–
zifizierten Zeit wird folgendermaßen berechnet:
(Inhalt von Wort C2) × (Inhalt von Wort C2 + 1) x 0,1 ms = (0,5 bis 319.968
ms)
2. Wird für C2 eine Konstante spezifiziert:
Der Sollwert des Abwärtszählers wird auf den Wert dieser Konstanten ge-
setzt und das Dekrementierungs-Zeitintervall beträgt 10 (1 ms).
Zeitgeber-Start im SCHEDULED(zeitgesteuerten) Interrupt–Modus
Entsprechend parametriert startet der STIM(69)-Befehl den Intervall-Zeitgeber
im zeitgesteuerten Interrupt–Modus.

(@)STIM(69)
C1: Intervall–Zeitgeber,
C1 zeitgesteuerter Interrupt–Modus (003)
C2 C2: Zeitgeber-Sollwert (erste Wortadresse)
C3
C3: Unterprogrammnummer (4-stelliger BCD-Wert):
0000 bis 0049

1, 2, 3... 1. Wird für C2 eine Wortadresse eingegeben:


C2: Sollwert des Abwärtszählers (4-stelliger BCD-Wert): 0000 bis 9999
C2 + 1: Zeitintervall jeder Dekrementierung (4-stelliger BCD-Wert; Einheit:
0,1 ms): 0005 bis 0320 (0,5 ms bis 32 ms)
Im Monoflop-Interrupt–Modus besitzen die Einstellungen die gleiche Be-
deutung. Im zeitgesteuerten Interrupt–Modus wird der Zeitgeber-Istwert je-
doch auf den Sollwert zurückgesetzt und die Dekrementierung beginnt
nach dem Aufruf des Unterprogramms. In diesem Modus werden die Inter-
rupts in festen Zeitintervallen bis zum Betriebsende wiederholt.
2. Wird für C2 eine Konstante spezifiziert:
Die Einstellungen sind die gleichen wie für den Monoflop–Modus. Interrupts
werden jedoch in festen Zeitintervallen bis zum Betriebsende wiederholt.
Lesen der abgelaufenen Zeit des Zeitgebers
Entsprechend parametriert liest der STIM(69)-Befehl die abgelaufene Zeit des
Zeitgebers.

(@)STIM(69)
C1: Lesen der abgelaufenen Zeit (006)
C1
C2: Führendes Wort von Parameter 1
C2
C3: Parameter 2
C3

C2: Anzahl der Zähler-Dekrementierungen (4-stelliger BCD-Wert)


C2 + 1: Zeitintervall des Abwärtszählers (4-stelliger BCD-Wert; Einheit: 0,1 ms)
C3: Abgelaufene Zeit seit der vorhergehenden Dekrementierung (4-stelliger
BCD-Wert; Einheit: 0,1 ms)
Die abgelaufene Zeit vom Starten des Intervall-Zeitgebers bis zur Ausführung
dieses Befehls wird folgendermaßen berechnet:
[(Inhalt von Wort C2) × (Inhalt von Wort C2 + 1) + (Inhalt von Wort C3)] × 0,1 ms
Bei einem Stop des spezifizierten Intervall-Zeitgebers wird ”0000” gespeichert.

89
SRM1(–V2) Interrupt–Funktionen Abschnitt 2-4

5Anhalten von Zeitgebern


Entsprechend parametriert hält der STIM(69)-Befehl den Intervall-Zeitgeber an.

(@)STIM(69)
C1
C1: Anhalten des Intervall–Zeitgebers (010)
000

000

Anwendungsbeispiel In diesem Beispiel wird nach 2,4 ms (0,6 ms Z 4), nachdem Eingang 00005 auf
(Monoflop–Modus) EIN gesetzt wurde, ein Interrupt generiert; der Interrupt löst die Abarbeitung der
Interrupt–Unterprogrammnummer 23 aus.

25315 Erster Zyklus–Merker


EIN für 1 Zyklus
MOV (21)
Setzt den Sollwert des Abwärtszählers auf 4.
#0004
(BCD–Wert: 0000 bis 9999)
DM 0010

MOV(21)
#0006
Setzt das Dekrementierungs–Zeitgeber–
Intervall auf 0,6 ms. (BCD–Wert: 0005 bis
DM 0011 0320)
00005
@STIM(69)
Startet den Intervall–Zeitgeber im Monoflop–Inter-
000 rupt–Modus.
DM 0010 Spezifiziert das erste Wort, das den Sollwert enthält.
#0023 Spezifiziert die Unterprogrammnummer (nur die un-
teren Bytes sind wirksam).

SBN (92) 023

Interrupt–Programm

RET (93)

Anwendungsbeispiel In diesem Beispiel wird alle 4,0 ms (1,0 ms Z 4), nachdem der Eingang 00005 auf
(zeitgesteuerter Modus) EIN gesetzt wird, ein Interrupt generiert; der Interrupt löst die Abarbeitung der
Interrupt–Unterprogrammnummer 23 aus.

25315 Erster Zyklus–Merker


EIN für 1 Zyklus
MOV (21)
#0004 Setzt den Sollwert des Abwärts–
DM 0010 zählers auf 4. (BCD–Wert: 0000 bis 9999)

MOV (21)
#0010 Setzt das Dekrementierungs–Zeitgeber–
DM 0011 Intervall auf 1,0 ms. (BCD–Wert: 0005 bis
00005 0320)
@STIM(69)
003 Startet den Intervall–Zeitgeber im zeitgesteuerten
DM 0010
Interrupt–Modus.
#0023 Spezifiziert das erste Wort, das den Sollwert enthält.
Spezifiziert die Unterprogrammnummer (23).

SBN (92) 023

Interrupt–Programm
RET (93)

90
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

2-5 CPM2A/CPM2C–Impulsausgabefunktionen
Die CPM2A/CPM2C verfügt über zwei Impulsausgänge. Durch spezielle Im-
pulsausgabebefehle können diese Ausgänge als zwei einphasige Ausgänge
ohne Beschleunigung und Bremsung, als Impulsausgänge mit variablen Tast-
verhältnis oder als Impulsausgänge mit trapezförmiger Beschleunigung/Brem-
sung (ein Impuls– + ein Richtungsausgang oder ein Auf–/Abwärts–Impulsaus-
gang) konfiguriert werden. Das Impulsausgabe–Koordinatensystem kann in
der SPS–Konfiguration als relativ oder absolut spezifiziert werden.
Zwei Impulsausgabe–Betriebsarten stehen zur Verfügung: die Unabhängig–
Betriebsart, bei der die Ausgaben nach einer vorher eingestellten Anzahl von
Impulsen gestoppt werden und die Ununterbrochen–Betriebsart, in der Ausga-
ben über einen Befehl gestoppt werden.
Hinweis Zur Impulsausgabe ist es erforderlich, eine CPU–Baugruppe mit Transistoraus-
gängen zu verwenden, d.h. entweder eine CPM2AjjCDT–D oder
CPM2AjjCDT1–D.
Das folgende Diagramm zeigt die Konfiguration für eine CPM2A; die Konfigura-
tion für eine CPM2C ist identisch.
Schrittmotor

Motor–
treiber

Impulsausgänge

91
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Angabe Einphasige Impulsausgabe Einphasige Impulsausgabe mit trapezförmigem


Impuls– mit variablem Beschleunigen/Bremsen
a sgaben ohne
ausgaben Tastverhältnis
Beschleun./ Impuls– und Aufwärts/Abwärts–
Bremsen Richtungsausgabe Impulsausgabe
Ausführungsbefehle PULS(65) und PWM(––) PULS(65) und ACC(––)
SPED(64)
Ausgang 01000 Impulsausgang 0 Impulsausgang Impuls– Impuls– Impuls– Rechtslauf–
(sehen Sie 0 (sehen Sie aus– ausgang aus– Impuls–
Hinweis 1) Hinweis 1) g g0
gang g g0
gang ausgabe
01001 Impulsausgang 1 Impulsausgang Richtungs– Linkslauf–
(sehen Sie 1 (sehen Sie ausgang Impuls–
Hinweis 1) Hinweis 1) ausgabe
Ausgangsfrequenzbereich 10 Hz bis 10 kHz 0,1 bis 999,9 Hz 10 Hz bis 10 kHz 10 Hz bis 10 kHz
Schrittweite 10 Hz 0,1 Hz 10 Hz 10 Hz
Auf–/Abwärtsfrequenz– --- --- 10 Hz (sehen Sie 10 Hz (sehen Sie
schritte Hinweis 2) Hinweis 2)
Geschwindigkeitssteigung --- --- 10 Hz 10 Hz
beim Start
Ausgabebetriebsart Ununterbrochen, Ununterbrochen Ununterbrochen, Ununterbrochen,
Unabhängig Unabhängig Unabhängig
Impulsanzahl 1 bis 16777215 --- ±1 bis 16777215 ±1 bis 16777215
Tastverhältnis 50% 0 bis 100% 50% 50%
(sehen Sie Hinweis 3)
Steuer– Bewegungs– Ja Keine Ja Ja
verfah– spezifikation
ren Beschleun.–/ Keine Keine Ja Ja
Brems–
spezifikation
Anfangs– Keine Keine Ja Ja
Geschwindig–
keitsspezifikation
Tastverhältnis– Keine Ja Keine Keine
spezifikation

Hinweis 1. Bei einphasigen Impulsausgaben können die Impulsausgänge 0 und 1 un-


abhängig von einander angesteuert werden.
2. Impulsraten können in Einheiten von 10 Hz pro 10 ms erhöht oder verringert
werden.
3. Die aktuelle Impulsausgaben werden von der Transistorausgangs–EIN–
Ansprechzeit (max. 20µs) und –AUS–Ansprechzeit (max. 40µs) beein-
flusst.
Die folgende Tabelle zeigt die Beziehungen zwischen dem Schnellen Zähler
und anderen Funktionen der SPS der CPM2A/CPM2C–Serie.
Schneller Zähler
Synchronisierte Impulssteuerung Wird verwendet.
Eingangsgesteuerte Interrupts Kann gleichzeitig verwendet werden.
Intervall–Zeitgeber–gest. Interrupts Kann gleichzeitig verwendet werden.
Schneller Zähler Kann gleichzeitig verwendet werden.
E–gesteuerte Interrupts (Zählmodus) Kann gleichzeitig verwendet werden.
Impulsausgänge Siehe Hinweis.
Eingänge mit Impulsspeicherung Kann gleichzeitig verwendet werden.
Eingangs–Zeitkonstante Kann gleichzeitig verwendet werden.
Uhr Kann gleichzeitig verwendet werden.
Hinweis Die Möglichkeit der gleichzeitigen Ausgabe auf beiden Ausgängen ändert sich
nach der Art der Impulsausgabe, wie es in der folgenden Tabelle dargestellt ist.

92
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Kombination Einphasige Impulsausgabe Impuls–


p und Aufwärts–/
Festes Tastverhältnis Variables Ri h
Richtungs– Ab ä
Abwärts–
Tastverhältnis ausgang Impulsausgang
Einphasige Festes Kann zwei Ausgänge Kann nur einen Kann nicht Kann nicht
Impuls– Tast– (unabhängig) Ausgang auf einmal verwendet werden verwendet werden
ausgabe verhältnis gleichzeitig ansteuern verwenden
(unabhängig)
Variables Kann nur einen Kann zwei Ausgänge Kann nicht Kann nicht
Tast– Ausgang auf einmal (unabhängig) verwendet werden verwendet werden
verhältnis verwenden gleichzeitig ansteuern
(unabhängig)
Impuls– und Kann nicht verwendet Kann nicht verwendet Kann nicht Kann nicht
Richtungsausgang werden werden verwendet werden verwendet werden
Aufwärts/Abwärts– Kann nicht verwendet Kann nicht verwendet Kann nicht Kann nicht
Impulsausgang werden werden verwendet werden verwendet werden

Bei einphasigen Impulsausgaben können bis zu zwei Ausgänge gleichzeitig an-


gesteuert werden, somit sind zwei Ausgaben, kombiniert mit einem festen und
einem variablen Tastverhältnis, möglich.
Impuls– und Richtungs– und Auf–/Abwärts–Impulsausgaben sind jeweils nur
mit einem Ausgang möglich, somit können keine anderen Impulse ausgegeben
werden.
Arten von Drei Arten von Impulsausgaben stehen zur Verfügung: einphasige Impulsaus-
Impulsausgaben gaben ohne Beschleunigung und Bremsung, variable Tastverhältnis–Impuls-
ausgaben und einphasige Impulsausgaben mit trapezförmiger Beschleunigung
und Abbremsung.
Einphasige Impulsausgaben ohne Beschleunigung und Abbremsung
• Frequenz: 10 Hz bis 10 kHz (Einstellung in Schritten von 10 Hz)
• Ausgabeziel: Ausgang 01000 (Wort 010, Bit 00)
Ausgang 01001 (Wort 010, Bit 01)
(Impulse können gleichzeitig und unabhängig über
zwei Ausgänge ausgegeben werden)
• Ausgabebetriebsart Ununterbrochen oder Unabhängig
• Impulsanzahl: 1 bis 16.777.215
• Befehle: PULS(65) und SPED(64)
• Mit PULS(65) wird die Anzahl der Impulse für jeden Ausgang eingestellt
(nur in der Betriebsart Unabhängig).
• Mit SPED(64), wird die Ausgabe–Betriebsart und die Zielfrequenz für je-
den Ausgang eingestellt sowie Impulse ausgegeben.
Befehlsausführung: PULS(65) + SPED(64) (Unabhängig–Betriebsart)
Unabhängig–
Betriebsart
Anzahl der eingestellten Impulse
Die Ausgabe wird automatisch gestoppt, wenn die spezifizierte Anzahl
von Impulsen ausgegeben wurde.

Befehlsausführung: SPED(64) (Ununterbrochen–Betriebsart)


Ununterbrochen–
Betriebsart

Impulse werden mit der eingestellten Frequenz weiter ausgegeben, bis die
Ausgabe über einen Befehl gestoppt wird.

Impulsausgaben mit variablen Tastverhältnis


• Ausgabeverhältnis 0% bis 100% (Einstellung in Schritten von 1%)
• Frequenz: 0,1 bis 999,9 Hz (Einstellung in Schritten von 0,1 Hz)
• Ausgabeziel: Ausgang 01000 (Wort 010, Bit 00)
Ausgang 01001 (Wort 010, Bit 01)
(Impulse können gleichzeitig und unabhängig über
zwei Ausgänge ausgegeben werden.)

93
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

• Ausgabebetriebsart Ununterbrochen
• Befehl: PWM(––)
Mit PWM(––) werden Impulse mit einem variablen Tastverhältnis ausgege-
ben.

tEIN
Befehlsausführung: PWM(––)

Impulse werden mit eingestellter Frequenz ausgegeben,


bis die Ausgabe gestoppt wird.
t
Tastverhältnis (D) = EIN
T

Einphasige Impulsausgaben mit trapezförmiger Beschleunigung/Ab-


bremsung
• Frequenz: 10 Hz bis 10 kHz (Einstellung in Schritten von 10 Hz)
• Beschleunigungs–/
Bremsgeschwindigkeit: 10 Hz/10 ms bis 10 kHz/10 ms (Einstellung in
Schritten von 10 Hz)
Impuls– und Richtungsausgaben
• Für Rechtslauf–Ausgabe:
Ausgang 01001 (Wort 010, Bit 01) ausgeschaltet.
Impulsausgabe über Ausgang 01000 (Wort 010, Bit 00).
• Für Linkslauf–Ausgabe:
Ausgang 01001 (Wort 010, Bit 01) eingeschaltet.
Impulsausgabe über Ausgang 01000 (Wort 010, Bit 00).

01000
Impulsausgaben
01001
Richtungsausgänge (AUS: Rechtslauf; EIN: Linkslauf)

Aufwärts/Abwärts–Impulsausgaben
• Für Rechtslauf–Ausgabe:
Impulsausgabe über Ausgang 01000 (Wort 010, Bit 00).
• Für Linkslauf–Ausgabe:
Impulsausgabe über Ausgang 01001 (Wort 010, Bit 01).
01000
Rechtslauf

01001
Linkslauf

• Ausgabebetriebsart: Ununterbrochen und Unabhängig


• Impulsanzahl: 1 bis 16.777.215
• Befehle: PULS(65) und ACC(––)
• Mit PULS(65) wird die Anzahl der Impulse eingestellt (nur in der Betriebs-
art Unabhängig).
• Mit ACC(––) werden der Ausgabemodus, die Anfangsfrequenz, Zielfre-
quenz und Beschleunigungs–/Bremsgeschwindigkeit eingestellt und die
Impulsausgaben werden gestartet. Von Zeitpunkt des Startens der Im-
pulsausgaben bis zu deren Abbruch werden diese mit einer konstanten
Frequenzänderung geregelt.

94
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Unabhängige Betriebsart
Impuls–Ausgabefrequenz Befehlsausführung: PULS(65) + ACC(––) (Inabhängig–Betriebsart)
In der Unabhängig–Betriebs–
art wird die Abbremsung mit
Ziel– der beim Start gültigen Be-
frequenz schleunigungs–/Bremsge-
schwindigkeit durchgeführt.

Anfangs–
frequenz
0 Hz Zeit

Beschleunigung Abbremsung
Start

ACC(––)

Ununterbrochen–Betriebsart
Impuls–Ausgabefrequenz Befehlsausführung: ACC(––) (Ununterbrochen–Betriebsart)

Zielfrequenz 2

Zielfrequenz 3

Zielfrequenz 1

0 Hz Zeit

Beschleun./Brems. Beschleun./Brems. Beschleun./Brems.


Start
Beschleunigung Beschleunigung
oder Bremsung oder Bremsung
ACC(––)
ACC(––) ACC(––)

2-5-1 Einsatz von einphasigen Impulsausgaben ohne Beschleunigung


und Bremsung (festes Tastverhältnis)

Wählen Sie den Impulsausgang Impulsausgang 0 oder 1

Verdrahten Sie die Ausgänge Ausgangsadressen: 01000 und 01001

SPS–Konfiguration (DM 6629) Istwert–Koordinatensystem für Impulsausgang 0 und 1

PULS(65) Einstellung der Anzahl von Ausgabeimpulsen.


Erstellen Sie ein
Kontaktplan–Programm SPED(64) Impulsausgabe ohne Beschleunigung und Abbremsung.
INI(61): Beenden der Impulsausgaben und Änderung des Impulsausgabe–Istwert.
PRV(62): Lesen des Impulsausgabe–Istwertes und des Status.

95
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Einphasige Impulsausgaben

SET
PULS (65) PUL- SPED (64) SPEED Impulsausgang 0
SES– OUTPUT–
Befehl Impulsausgang 1
Befehl
Relative oder absolute Ausgabebetriebsart Ununterbrochen
Impulse spezifizieren. oder Unabhängig
Impulsausgabe Soll-
Zielfrequenz: 10 Hz bis 10 kHz
wert (8–stelliger BCD–
Wert) Impulsausgaben beginnen

BETRIEBS– Auffrischung
ARTEN-
INI (61) Einmal/Zyklus Einmal/Zyklus Sofort
STEUE-
RUNGS–
Befehl SCHNELLER ZÄHLER–
Impulsausgabe–Zustand Impulsausg.–Istw. PRV(62)
ISTWERT LESEN–Befehl
Impulsausgaben beenden AR 11 AR 12 SR 228 SR 229 Impulsausg.–Istw. lesen
Impulsausgabe–Istw. ändern
SR 230 SR 231 Impulsausg.abe–Status
lesen

SPS–Konfig.
DM 6629,
Bits 00 bis 03,
Bits 04 bis 07

Auswahl des Impulsausgang 0 oder 1 auswählen.


Impulsausgangs
Ausgang Impulsausgang
01000 0
01001 1

Verdrahtung der Verdrahten Sie die CPM2A–Ausgänge, wie es in der folgenden Abbildung ange-
Ausgänge zeigt wird. (Impulse können unabhängig über die Impulsausgänge 0 und 1 aus-
gegeben werden.)

Ausgang 01000: Impulsausgang 0 (einphasige Ausgabe)


Ausgang01001: Impulsausgang 1 (einphasige Ausgabe)

96
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Verdrahten Sie die CPM2C Ausgänge, wie es in der folgenden Abbildung ange-
zeigt wird. (Impulse können unabhängig über die Impulsausgänge 0 und 1 aus-
gegeben werden.)

A.–steckverbinder

01000: Impulsausgang 0 (einphasige Ausgabe)


01001: Impulsausgang 1 (einphasige Ausgabe)

SPS–Konfiguration Nehmen Sie die folgenden Einstellungen in der SPS–Konfiguration vor.


Wort Bits Funktion Ein–
stellung
DM 6629 00 bis Impulsausgang 0– 0: Relatives Entweder 0
03 Istwert– Koordinatensystem oder 1
Koordinatensystem 1: Absolutes
04 bis Impulsausgang 1– Koordinatensystem
07 Istwert–
Koordinatensystem
DM 6642 08 bis Schnelle Zähler– 00: Wird nicht Entweder
15 Einstellung verwendet 00 oder 01
01: Verwendung als
Schneller Zähler
02: Verwendung für
eine synchronisierte
Impulssteuerung
(10 bis 500 Hz)
03: Verwendung für
eine synchronisierte
Impulssteuerung
(20 Hz bis 1 kHz)
04: Verwendung für
eine synchronisierte
Impulssteuerung
(300 Hz bis 20 kHz)

Stellen Sie sicher, das absolute Koordinatensystem (1) zu einstellen, wenn ab-
solute Impulse mit PULS(65) spezifiziert werden.
Eine synchronisierte Impulssteuerung kann nicht gleichzeitig verwendet wer-
den.
Die Einstellungen werden wirksam, wenn die Betriebsart geändert wird (von
PROGRAM auf MONITOR/RUN) oder wenn die Spannungsversorgung der
CPM_A/CPM_C eingeschaltet wird.
Kontaktplan– Die folgende Tabelle enthält Befehlsfunktionen, die sich auf Impulsausgaben
Programmierung ohne Beschleunigung und Abbremsung (festes Tastverhältnis) beziehen.

97
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Befehl Steuerung Betrieb


(@)PULS(65) Impulsanzahl einstellen Spezifiziert die Anzahl der Impulse, die
in der Unabhängig–Betriebsart
ausgegeben werden sollen.
(@)SPED(64) Spezifiziert die Frequenz Spezifiziert die Frequenz der Ausgänge
und beginnt die in der Unabhängig– oder in der Un–
Impulsausgabe unterbrochen–Betriebsart und beginnt
die Impulsausgabe.
Frequenzänderung Ändert die Frequenz der Ausgaben in
der Unabhängig– oder
Ununterbrochen–Betriebsart.
Impulsausgaben Beendet die Impulsausgaben (durch
beenden Änderung der Geschwindigkeit bis auf
eine Frequenz von 0 Hz).
(@)INI(61) Impulsausgaben Beendet die Impulsausgaben.
beenden
Impulsausgabe–Istwert Ändert den Impulsausgabe–Istwert.
ändern
(@)PRV(62) Impulsausgabe–Istwert Liest den Impulsausgabe–Istwert.
lesen
Impulsausgabe–Status Liest den Impulsausgabe–Status.
lesen

Die folgende Tabelle zeigt, welche Befehle für die Impulsausgabe ohne Be-
schleunigung und Abbremsung ausgeführt werden können.
PULS (65) SPED (64) INI (61) PRV(62) ACC(––) PWM(––)
Ununterbrochen– Nein Ja (sehen Sie Ja (Sehen Sie Ja Nein Nein
Betriebsart Hinweis 2) Hinweis 1)
Unabhängige Ja Ja (sehen Sie Ja (Sehen Sie Ja Nein Nein
Betriebsart Hinweis 2) Hinweis 1)

Hinweis 1. Dieser Befehl kann nur zum Ändern des Istwertes ausgeführt werden, wäh-
rend Impulsausgaben gestoppt sind. Der Istwert kann nicht geändert wer-
den, während Impulse ausgegeben werden. Stellen Sie sicher, die Impuls-
ausgabe zuerst zu beenden, wenn der Istwert geändert werden muss.
2. Dieser Befehl kann nur für die Änderung der Frequenz und das Beenden
der Impulsausgabe verwendet werden. Er kann nicht für das Umschalten
zwischen der Unabhängig– und der Ununterbrochen–Betriebsart verwen-
det werden.
Die folgende Tabelle enthält Worte und Bits, die sich auf Impulsausgaben ohne
Beschleunigung und Abbremsung (festes Tastverhältnis) beziehen.
Wort Bits Name Inhalt
228 00 bis Impulsausgabe–Istwert 0, Kann nicht als Arbeitsmerker
15 äußerst rechte 4 Stellen verwendet werden,, auch wenn
229 00 bis Impulsausgabe–Istwert 0, k i Impulsausgänge
keine I l ä
15 äußerst linke 4 Stellen verwendet werden.

230 00 bis Impulsausgabe–Istwert 1,


15 äußerst rechte 4 Stellen
231 00 bis Impulsausgabe–Istwert 1,
15 äußerst linke 4 Stellen
252 04 Rücksetzen des Löschen des Istwertes 0, wenn
Impulsausgabe 0–Istwertes auf EIN.
05 Rücksetzen des Löschen des Istwertes 1, wenn
Impulsausgabe 1–Istwertes auf EIN.

98
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Wort Bits Name Inhalt


AR 11 12 Impulsausgabe 0 Istwert EIN: Aufgetreten
Überlauf/Unterlauf AUS: Normal
13 Einstellung der Anzahl der EIN: Eingestellt (über
Impulse für Impulsausgabe 0 PULS(65))
AUS: Nicht eingestellt
14 Impulsausgabe für EIN: Beendet (durch SPED(64))
Impulsausgang 0 beendet AUS: Nicht beendet
15 Impulsausgabe für EIN: Aktiv (durch SPED(64))
Impulsausgang 0 aktiv AUS: Beendet
AR 12 12 Impulsausgabe 1 Istwert EIN: Aufgetreten
Überlauf/Unterlauf AUS: Normal
13 Einstellung der Anzahl der EIN: Einstellung (über
Impulse für Impulsausgabe 1 PULS(65))
AUS: Nicht eingestellt
14 Impulsausgabe für EIN: Beendet (durch SPED(64))
Impulsausgang 1 beendet AUS: Nicht beendet
15 Impulsausgabe für EIN: Aktiv (durch SPED(64))
Impulsausgang 0 aktiv AUS: Beendet

Einstellung der Anzahl der Impulse


Spezifiziert die Anzahl der Impulse, die in der Unabhängig–Betriebsart ausge-
geben werden sollen.

(@)PULS(65)
S Schnittstellenbezeichner (000: Impulsausgang 0; 010: Impulsausgang 1)
D Art der Impulsausgabe (000: rel. Impulse; 001: abs. Impulse) (sehen Sie den Hinweis)
A Anfangswort der Einstellung für die Anzahl der Impulse

n Äußerst rechte Anzahl der Impulse (äußerst rechte, äußerst linke Stellen)
4 Ziffern
Äußerst linke Speichern der Anzahl der einzustellenden Impulse.
n+1
4 Ziffern 96,777,215 bis 16,777,215
Negative Werte werden durch Setzen des äußerst linken Bits
ausgedrückt.
Art der Impulsausgabe
000: Relative Impulse (Sollwert der Anzahl der Impulse = Anzahl der übertragenen Impulse)
001: Absolute Impulse (Sollwert der Anzahl der Impulse = gegenwärtiger Istwert auf dem absoluten
Koordinatensystem, d.h. Impulsausgabe–Istwert + Anzahl der übertragenen Impulse)*
*Absolute Impulse können nur über PULS(65) spezifiziert werden, wenn das Istwert–Koordi–
natensystem in der SPS–Konfiguration auf Absolutes Koordinatensystem eingestellt wird.

Frequenz einstellen und Impulsausgabe beginnen


Frequenz ändern
Diese Funktionen stellen die Impulsausgangsnummer, den Ausgabemodus so-
wie die Frequenz ein und beginnen die Impulsausgabe. Sie können ebenfalls
dazu verwendet werden, bei aktiver Impulsausgabe die Frequenz zu ändern.

(@) SPED(64)
A Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
M Betriebsart (000: Unabhängig; 001: Ununterbrochen)
Z Zielfrequenz–Datenwort

Z Zielfrequenz
Einstellen der Zielfrequenzdaten.
#0001 bis #1000 (4–stelliger BCD–Wert):
10 Hz bis 10 kHz
#0000: Stoppen der Impulsausgabe

99
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Impulsausgabe–Istwert ändern)
Rücksetzen des Impulsausgabe–Istwertes
Diese Funktion ändert den Impulsausgabe–Istwert. Der Istwert kann über SR
25204 und SR 25205 auch gelöscht werden.

(@)INI(61)
A Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
004 Steuerfunktion (004: Impulsausgabe–Istwert ändern)
C2 Anfangswort der zu ändernden Istwert–Daten

C2 Äußerst rechte Istwert–Daten ändern (äußerst rechte, äußerst linke


4 Ziffern Stellen)
C2+1 Äußerst linke Speichern der zu ändernden Istwert–Daten.
4 Ziffern
96.777.215 bis 16.777.215
Negative Werte werden durch Setzen des
äußerst linken Bits ausgedrückt.

Der Impulsausgabe–Istwert kann nur geändert oder neu eingestellt werden,


während Impulsausgaben gestoppt sind. Überprüfen Sie, ob die Impulsaus-
gabe aktiv–Merker (AR 1115 und AR 1215) ausgeschaltet sind.
Impulsausgaben beenden
Diese Funktion beendet die Impulsausgaben.
Mit SPED(64)

(@) SPED(64)
A Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
M Betriebsart (000: Unabhängig; 001: Ununterbrochen)
Z Zielfrequenz–Datenwort

Z #0000 Spezifiziert eine Frequenz von 0 Hz.

Mit INI(61)

(@)INI(61)
A Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
003 Steuerbezeichnung (003: Impulsausgaben beenden)
000 Fest: 000

Neben der Ausführung der oben aufgeführten Befehle ist es ebenfalls möglich,
die Impulsausgaben durch den Abbruch des Betriebs (PROGRAM–Betriebsart)
zu beenden.
Impulsausgabe–Istwert lesen
Diese Funktion liest den Impulsausgabe–Istwert.
Einsatz eines Befehls

(@)PRV(62)
A Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
003 Steuerbezeichnung (003: Impulsausgabe–Istwert lesen)
Z Anfangswort zur Speicherung des Impulsausgabe–Istwertes

Z Äußerst rechte Impulsausgabe–Istwert (äußerst rechte u. linke Stellen)


4 Ziffern
Z+1 Äußerst linke Die zu lesenden Istwert–Daten werden hier gespeichert.
4 Ziffern 96.777.215 bis 16.777.215
Negative Werte werden durch Setzen des
äußerst linken Bits ausgedrückt.

100
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Einsatz der Datenbereiche


Wie in der folgenden Abbildung gezeigt, wird der Impulsausgabe–Istwert für Im-
pulsausgang 0 in den Worten 228 und 229 und der Impulsausgabe–Istwert für
Impulsausgang 1 in den Worten 230 und 231 gespeichert.

Impulsausgang 0 Impulsausgang 1

Wort 228 Istwert (äußerst rechtes Wort) Wort 230 Istwert (äußerst rechtes Wort)

Wort 229 Istwert (äußerst linkes Wort) Wort 231 Istwert (äußerst linkes Wort)

Die Worte 228 bis 231 werden in jedem Zyklus aufgefrischt, somit kann zu einer
bestimmten Zeit eine Diskrepanz zum genauen Istwert auftreten.
Die Worte 228 bis 231 können nicht als Arbeitsworte eingesetzt werden, auch
wenn keine Impulsausgänge verwendet werden.
Wird der Istwert gelesen, indem PRV(62) ausgeführt wird, werden die Worte
228 bis 231 zum gleichen Zeitpunkt aufgefrischt.
Impulsausgabe–Status lesen
Diese Funktion liest den Impulsausgabe–Status.
Einsatz eines Befehls

(@)PRV(62)
A Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
001 Steuerbezeichnung (001: Impulsausgabe–Status lesen)
Z Wort zur Speicherung des Impulsausgabe–Status

Impulsausgabe–Status
0: Konst. Geschw.; Anzahl der Impulse
1: Beschl./Abbremsen 0: Nicht eingestellt
Impulsausg.–Istwert Über–/Unterlauf 1: Eingestellt
0: Normal 1: Unter– o. Überlauf aufgetreten Impulsausgabe beendet
Impulsausgabe aktiv 0: Nicht beendet
0: Beendet 1: Beendet
1: Ausgabe aktiv

Verwendung der Datenbereiche


Wie in der folgenden Abbildung gezeigt, wird der Impulsausgabe–Status für Im-
pulsausgang 0 in AR 11 und der für Impulsausgang 1 in AR 12 gespeichert.

AR 11:Impulsausgang 0
AR 12:Impulsausgang 1
Impulsausgabe–Status:
Impulsausgabe aktiv 0: Konstante Geschwindigkeit;
0: Beendet 1: Beschleunigen/Abbremsen
1: Ausgabe aktiv Impulsausgabe–Istwert–Über–/Unterlauf
Impulsausgabe beendet 0: Normal
0: Nicht beendet 1: Unter– oder Überlauf ist aufgetreten
1: Beendet Anzahl der Impulse
0: Nicht eingestellt
1: eingestellt

Hinweis Die Merker in AR 11 und AR 12 werden nur einmal in jedem Zyklus aufgefrischt;
somit können die Werte in diesen Worten nicht dem eigentlichen Status in jedem
Zyklus widerspiegeln, aber die Merker in AR 11 und AR 12 werden aufgefrischt,
wenn der Status mit PRV(62) gelesen wird.

101
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Verhältnis zwischen Status und Betrieb


Unabhängig–Betriebsart (ohne Beschleunigung und Bremsung)
Frequenz

Zeit
PULS(65)–Ausführung

SPED(64)–Ausführung

Ausgabe aktiv

Ausgabe beendet

Impulsanzahl eingestellt

Ununterbrochen–Betriebsart
Frequenz

Zeit

SPED(64)–Ausführung

INI(61)–Ausführung

Ausgabe aktiv

Ausgabe beendet

Impulsanzahl eingestellt

Beenden der Ausgabe in der Unabhängigen–Betriebsart (ohne Beschleunigung und Bremsung)


Frequenz

Zeit

PULS(65)–Ausführung

SPED(64)–Ausführung

INI(61)–Ausführung
Ausgabe aktiv

Ausgabe beendet

Impulsanzahl eingestellt

102
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Anwendungsbeispiele
Positionierung
Beschreibung
In diesem Beispiel werden, wenn die Ausführungsbedingung (00005) aktiviert
wird, 100 Impulse über Ausgang 01000 (Impulsausgang 0) mit einer Frequenz
von 60 Hz ausgegeben.
Frequenz

60 Hz

Anzahl der Impulse

Ausführungsbedingung (00005)

Verdrahtung
Verbinden Sie die CPM2A mit dem Motortreiber, wie es in der folgenden Abbil-
dung gezeigt wird.

Motortreiber

Verbinden Sie die CPM2C mit dem Motortreiber, wie es in der folgenden
Abbildung gezeigt wird. In diesem Fall wird eine CPU–Baugruppe mit
NPN–Transistorausgängen verwendet.

A.–steckverbinder

Motortreiber

24 VDC

103
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

SPS–Konfiguration
15 0
DM 6629 0 Stellt das Koordinatensystem für Impulsausgang 0
auf Relativ ein.
DM 6642 0 0 Auf eine andere außer einer synchronisierten Im-
pulssteuerung einstellen.
(Auf 01jj einstellen, wenn ein schneller Zähler
verwendet wird.)

Programmierung
00005 (Ausführungsbedingung)
(13) Erfasst die Aktivierung der Ausführungsbedingung

PULS(65) Einstellung der Anzahl der Impulse


Impulsausgang 0
Relative Impulse
Anfangswort für Impuls- DM 0000 Anzahl der Im-
sollwertdaten DM 0001 pulse: 100
SPED(64) Stellt die Frequenz ein und beginnt die Impulsausgabe
Impulsausgang 0
Unabhängige Betriebsart
Frequenz: 60 Hz

Tipp–Betrieb
Beschreibung
In diesem Beispiel werden, wenn die Ausführungsbedingung (00005) aktiviert
wird, Tippimpulse mit einer Frequenz von 100 Hz ausgegeben, entweder von
Ausgang 01000 (Impulsausgang 0) oder 01001 (Impulsausgang 1). Die Aus-
gabe wird gestoppt, wenn die Ausführungsbedingung (00005) deaktiviert wird.
Die Umschaltung zwischen Ausgang 01000 (Impulsausgang 0) und 01001 (Im-
pulsausgang 1) wird mittels des Richtungseingangs (00006) ausgeführt.
Frequenz
(Richtung)

Zeit

Ausführungsbedingung (00005)
Richtungsspezifikationseingang (00006)

Verdrahtung
Verbinden Sie die CPM2A mit dem Motortreiber, wie es in der folgenden Abbil-
dung gezeigt wird.

Motortreiber

104
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Verbinden Sie die CPM2C mit dem Motortreiber, wie es in der folgenden Abbil-
dung gezeigt wird. In diesem Fall wird eine CPU–Baugruppe mit NPN–Trans-
istorausgängen verwendet.

A.–steckverbinder

Motortreiber

24 VDC

Hinweis Sehen Sie das technische Handbuch für Einzelheiten über die Verkabelung der
Ausgänge.
SPS–Konfiguration
15 0
DM 6629 0 0 Stellt das Koordinatensystem der Impulsausgänge 0 und 1
auf Relativ ein.
DM 6642 0 0 Auf eine andere Betriebsart außer einer synchronisierten
Impulssteuerung einstellen.
(Auf 01jj einstellen, wenn ein schneller Zähler verwendet
wird.)

Programmierung
00005 (Ausführungsbedingung)
(13) Erfasst die Aktivierung der Ausführungsbedingung.
(14) Erfasst die Deaktivierung der Ausführungsbedingung.
(Richtungsspez.eingang)

SPED (64) Ausgabe in Rechtslauf–Richtung


Impulsausgang 0
Ununterbrochen–Betriebsart
Ausgangsfrequenz: 100 Hz

SPED (64) Ausgabe in Linkslauf–Richtung


Impulsausgang 1
Ununterbrochen–Betriebsart
Ausgangsfrequenz: 100 Hz

INI (61)

Beendet die Impulsausgabe über die Ausgänge 0 und 1.


INI (61)
010

105
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

2-5-2 Verwendung der Impulsausgänge mit variablem Tastverhältnis

Wählen Sie den Impulsausgang Impulsausgang 0 oder 1

Verdrahten Sie die Ausgänge Ausgangsadressen: 01000 und 01001

Erstellen Sie ein PWM(––): Einstellung des Frequenz– und Tastverhältnisses.


Kontaktplan–Programm INI(61): Beenden der Impulsausgaben.
PRV(62): Lesen des Impulsausgabe–Status.

Impulsausgaben mit variablem Tastverhältnis

PWM(––) IMPULS MIT VARIA- Impulsausgang 0


BLEM Tastverhältnis– Impulsausgang 1
Befehl

Zielfrequenz: 0,1 bis 999,9 Hz (01000 oder 01001 können


(Hinweis: Das Tastverhältnis ist
Ausgabeverhältnis 0 bis 100%
verwendet werden.)
das Verhältnis der EIN–Zeit zur
Beginn der Impulsausgaben
(EIN+AUS)–Zeit der Impuls-
kette)
Einmal pro Einmal pro Sofort
INI (61) BETRIEBSARTEN- Zyklus Zyklus SCHNELLER ZÄH-
STEUERUNGS–Be- LER–ISTWERT LE-
Impulsausgabe–Zustand PRV(62) SEN–Befehl
fehl
Impulsausgaben beenden
AR 11 AR 12 Impulsausgabe–
Status lesen

Auswahl des Impulsausgang 0 oder 1 auswählen.


Impulsausgangs
Ausgang Impulsausgang
01000 0
01001 1

Verdrahtung der Verdrahten Sie die CPM2A Ausgänge, wie es in der folgenden Abbildung ge-
Ausgänge zeigt wird. (Impulse können unabhängig über die Impulsausgänge 0 und 1 aus-
gegeben werden.)

Ausgang 01000: Impulsausgang 0 (einphasige Ausgabe)


Ausgang 01001: Impulsausgang 1 (einphasige Ausgabe)

106
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Verdrahten Sie die CPM2C Ausgänge, wie es in der folgenden Abbildung ange-
zeigt wird. (Impulse können unabhängig über die Impulsausgänge 0 und 1 aus-
gegeben werden.)

A.–steckverbinder

01000: Impulsausgang 0 (einphasige Ausgabe)


01001: Impulsausgang 1 (einphasige Ausgabe)

SPS–Konfiguration Nehmen Sie die folgenden Einstellungen in der SPS–Konfiguration vor.


Wort Bits Funktion Einstellung
DM 6642 08 bis 15 Schneller 00: Wird nicht verwendet Entweder
Zähler– 01: Verwendung als Schneller 00 oder 01
Einstellung Zähler
02: Verwendung für eine
synchronisierte
Impulssteuerung
(10 bis 500 Hz).
03: Verwendung für eine
synchronisierte
Impulssteuerung
(20 Hz bis 1 kHz).
04: Verwendung für eine
synchronisierte
Impulssteuerung
(300 Hz bis 20 kHz).

Eine synchronisierte Impulssteuerung kann nicht gleichzeitig verwendet wer-


den.
Die Einstellungen werden wirksam, wenn die Betriebsart geändert wird (von
PROGRAM auf MONITOR/RUN) oder wenn die Spannungsversorgung der
CPM_A/CPM_C eingeschaltet wird.
Kontaktplan– Die folgende Tabelle zeigt die Befehlsfunktionen, die sich auf die Impulsaus-
Programmierung gabe mit variablem Tastverhältnis beziehen.
Befehl Steuerung Betrieb
(@)PWM(––) Impulsausgabe mit Einstellen der Frequenz und des
variablem Tastverhältnis Tastverhältnisses und Beginn der
Impulsausgaben.
Ändern des Ändert das Tastverhältnis des Impulses,
Tastverhältnisses während bereits eine Impulsausgabe
mit variablem Tastverhältnis stattfinden.
(@)INI(61) Impulsausgabe beenden Beendet die Impulsausgabe.
(@)PRV(62) Impulsausgabe–Status Liest den Impulsausgabe–Status
lesen (während der Impulsausgabe).

Die folgende Tabelle zeigt, welche Befehle für die PWM–Impulsausgabe ohne
Beschleunigung und Abbremsung ausgeführt werden können.

107
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

PULS SPED INI (61) PRV(62) ACC(––) PWM(––)


(65) (64)
Nein Nein Ja (sehen Sie Ja Nein Ja (sehen Sie
Hinweis 1) Hinweis 2)

Hinweis 1. Dieser Befehl kann nur zum Beenden der Impulsausgabe verwendet wer-
den.
2. Dieser Befehl kann nur zur Änderung des Tastverhältnisses verwendet wer-
den. Die Frequenz kann nicht geändert werden, während Impulse ausgege-
ben werden. Stellen Sie sicher, die Impulsausgabe zuerst zu beenden,
wenn die Frequenz geändert werden muss.
Die folgende Tabelle enthält die Worte und Bits, die mit der Impulsausgabe mit
variablem Tastverhältnis zusammenhängen.
Wort Bit Funktion Inhalt
AR 11 15 Impulsausgabe für EIN: Aktiv (durch SPED(64),
Impulsausgang 0 aktiv ACC(––) oder PWM(––))
AUS: Beendet
AR 12 15 Impulsausgabe für EIN: Aktiv (durch SPED(64),
Impulsausgang 1 aktiv ACC(––) oder PWM(––))
AUS: Beendet

Impulsausgabe mit variablem Tastverhältnis


Tastverhältnis ändern
Diese Funktionen stellten den Ausgang (01000, 01001) auf die Ausgabe der
Impulse, der Frequenzen und des Tastverhältnises ein und beginnen die Im-
pulsausgabe. Durch die Änderung der Tastverhältniseinstellung und eine er-
neute Ausführung von PWM(––) ist es ebenfalls möglich, das Tastverhältnis zu
ändern, während bereits eine Impulsausgabe mit variablem Tastverhältnis statt-
finden.

(@PWM(––)
A Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
F Zielfrequenz–Datenwort
T Tastverhältnis–Datenwort

F Zielfrequenz
Einstellen der Zielfrequenzdaten.
#0001 bis #9999 (4–stelliger BCD–Wert): 0,1 bis 999,9 Hz
T Ausgabemerker
Einstellen des Tastverhältnisses
#0000 bis #0100 (4–stelliger BCD–Wert): 0 bis 100%

Die Frequenz kann nicht geändert werden, während Impulse ausgegeben wer-
den.
Impulsausgabe beenden
Diese Funktion beendet die Impulsausgabe.

(@)INI(61)
A Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
003 Steuerbezeichnung (003: Impulsausgabe beenden)
000 Fest: 000

Hinweis Impulsausgaben können ebenfalls beendet werden, indem die SPS in die PRO-
GRAM–Betriebsart umgeschaltet wird.
Impulsausgabe–Status lesen
Diese Funktion liest den Impulsausgabe–Status.

108
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Einsatz eines Befehls

(@)PRV(62)
A Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
001 Steuerbezeichnung (001: Impulsausgabe–Status lesen)
D Wort zur Speicherung des Impulsausgabe–Status

Impulsausgabe aktiv
0: Beendet
1: Ausgabe aktiv

Verwendung der Datenbereiche


Wie in der folgenden Abbildung gezeigt, wird der Impulsausgabe–Status für Im-
pulsausgang 0 in AR 1115 und der für Impulsausgang 1 in AR 1215 gespeichert.
AR 11: Impulsausgang 0
AR 12: Impulsausgang 1

Impulsausgabe aktiv
0: Beendet
1: Ausgabe aktiv

Hinweis Die Merker in AR 1115 und AR 1215 werden nur einmal in jedem Zyklus aufge-
frischt; somit können die Werte in diesen Worten nicht den eigentlichen Status in
jedem Zyklus widerspiegeln, aber die Merker in AR 1115 und AR 1215 werden
aufgefrischt, wenn der Status mit PRV(62) gelesen wird.

Verhältnis zwischen Status und Betrieb


Betriebsart Ununterbrochen
(Impulsausgabe mit variablem Tastverhältnis)
Frequenz

Zeit

PWM(––)–Ausführung
INI(61)–Ausführung

Ausgabe aktiv
Ausgabe beendet

Impulsanzahl eingestellt

Anwendungsbeispiel
Beschreibung
In diesem Beispiel werden, wenn die Ausführungsbedingung (00005) aktiviert
wird, Impulse mit variablem Tastverhältnis über Ausgang 01000 (Impulsaus-
gang 0) mit einer Frequenz von 100 Hz ausgegeben. Das Tastverhältnis kann
jetzt mit dem Daumenradschalter 0 geändert werden.

109
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Verdrahtung
Verdrahten Sie die CPM2A mit Motortreiber und Daumenradschalter, wie es in
der folgenden Abbildung gezeigt wird.

Motortreiber

Verdrahten Sie die CPM2C mit Motortreiber und Daumenradschalter, wie es in


der folgenden Abbildung gezeigt wird. In diesem Fall wird eine CPU–Baugruppe
mit NPN–Transistorausgängen verwendet.

A.–steckverbinder E.–steckverbind.

Motortreiber

Daumenrad-
schalter
24 VDC

Hinweis Sehen Sie das technische Handbuch für Einzelheiten zur Verkabelung.
SPS–Konfiguration
15 0
DM 6642 0 0 Ein Schneller Zähler wird nicht verwendet.
(Auf eine andere außer einer synchronisierten
Impulssteuerung einstellen.)

110
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Programmierung (CPM2A–Beispiel)
00005 (Ausführungsbedingung)
(14) Aktiviert bei fallender Flanke der Ausführungsbedingung.

DIV(33) Halbiert den Wert des Werteingabe–Potis 0 auf einen Wert zwischen 0 und 100.
Wert in SR 250 (Werteingabe–Poti 0 in der Serie CPM2A) (sehen Sie den Hinweis)
Den Wert durch 2 dividieren.
Tastverhältnis–Einstellung

PWM(––) Impulsausgabe mit variablem Tastverhältnis


Impulsausgang 0
Ausgangsfrequenz: 100 Hz
Tastverhältnis–Einstellung

INI (61) Unterbricht die impulsausgabe 0

Hinweis Die CPM2C verfügt über keine Wert-


eingabe–Potis. Spezifizieren Sie für
externe Einstellungen das Ein-
gangswort, dass mit dem Daumen-
radschalter verbunden ist.

2-5-3 Impulsausgaben mit trapezförmiger Beschleunigung and


Abbremsung

Richtungssteuerverfahren auswählen Impuls– und Richtungsausgang oder Aufwärts/Abwärts–Impulsausgang

Wählen Sie den Impulsausgang Impulsausgang 0

Verdrahten Sie die Ausgänge Ausgangsadressen: 01000 und 01001

SPS–Konfiguration (DM 6629) Istwert–Koordinatensystem für Impulsausgang 0:

PULS(65) Einstellung der Anzahl von Ausgabeimpulsen.


Erstellen Sie ein
ACC(––): Steuerung von Impulsausgängen mit trapezoidal Beschleunigung und Abbremsung
Kontaktplan–Programm
INI(61): Beenden der Impulsausgaben und Änderung des Impulsausgabe–Istwertes.
PRV(62): Lesen des Impulsausgabe–Istwertes und des Status.

111
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Impulsausgaben mit trapezförmiger Beschleunigung and Abbremsung


SET
PUL- BESCHLEUNIGUNG–
PULS (65) ACC(––)
SES– STEUERUNGS–Befehl Impuls, Rechtslauf
Befehl Richtung, Linkslauf

Relative/absolute Im-
pulse spezifizieren. Betriebsartenbezeichnung
Spez. Anzahl der Ausg.– Anfangsfreq.: 0 Hz bis 10 kHz
impulse
Sollwert (8–stell. BCD) Zielfrequenz: 10 Hz bis 10 kHz
Beschleunigungs–/Bremsgeschwin-
digkeit: 10 ms Erhöhung/Reduzie-
rung 10 Hz bis 10 kHz
INI (61) BETRIEBSAR-
TENSTEUE- Impulsausgaben beginnen
RUNGS–Befehl

Impulsausgaben beenden Einmal proEinmal pro Sofort


Impulsausgabe–Istwert ändern Zyklus Zyklus SCHNELLER
ZÄHLER–ISTWERT
Impulsausgabe–Zustand Impulsausg.–Istw. PRV(62) LESEN–Befehl
SR 228 SR 229 Impulsausg.–Istw. lesen
SPS–Konfig. AR 11
Impulsausgabe–Status
lesen
DM 6629, Bits
00 bis 03

Auswahl des Richtungs– Wählen Sie das Impulsausgabe–Richtungssteuerverfahren entsprechend dem


steuerverfahrens Typ des verwendeten Signals.
Impuls– und Richtungsausgänge Aufwärts/Abwärts–Impulsausgänge

Auswahl des Wählen Sie Impulsausgang 0.


Impulsausgangs
Ausgang Impulsausgang
01000 0
01001

Verdrahtung der Verdrahten Sie die CPM2A Ausgänge, wie es in der folgenden Abbildung ange-
Ausgänge zeigt wird.
Impuls– und Richtungsausgänge Aufwärts/Abwärts–Impulsausgänge

Ausgang 01000: Impuls Ausgang 01000: Rechtslauf

Ausgang 01001: Richtung Ausgang 01001: Linkslauf

112
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Verdrahten Sie die CPM2C Ausgänge, wie es in der folgenden Abbildung ge-
zeigt wird.
Impuls– und Richtungsausgänge Aufwärts/Abwärts–Impulsausgänge

A.–steckverbinder A.–steckverbinder
01000: Impuls 01000: Rechtslauf
01001: Richtung 01001: Linkslauf

SPS–Konfiguration Nehmen Sie die folgenden Einstellungen in der SPS–Konfiguration vor.


Wort Bits Funktion Einstellung
DM 6629 00 bis Impuls 0– 0: Relativ Entweder 0
03 Istwert– 1: Absolut oder 1
Koordina–
tensystem
DM 6642 08 bis Schnelle 00: Wird nicht verwendet Entweder
15 Zähler– 01: Verwendung als Schneller 00 oder 01
einstellung Zähler
02: Verwendung für eine
synchronisierte
Impulssteuerung
(10 bis 500 Hz).
03: Verwendung für eine
synchronisierte
Impulssteuerung
(20 Hz bis 1 kHz).
04: Verwendung für eine
synchronisierte
Impulssteuerung
(300 Hz bis 20 kHz).

Stellen Sie sicher, das absolute Koordinatensystem (1) zu einstellen, wenn ab-
solute Impulse mit PULS(65) spezifiziert werden.
Eine synchronisierte Impulssteuerung kann nicht gleichzeitig verwendet wer-
den.
Die Einstellungen werden wirksam, wenn die Betriebsart geändert wird (von
PROGRAM auf MONITOR/RUN) oder wenn die Spannungsversorgung der
CPMA/CPMC eingeschaltet wird.

113
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Kontaktplan– Die folgende Tabelle enthält Befehlsfunktionen, die sich auf Impulsausgaben
Programmierung mit trapezförmiger Beschleunigung und Abbremsung (festes Tastverhältnis)
beziehen.
Befehl Steuerung Funktion
(@)PULS(65) Einstellen der Anzahl Spezifiziert die Anzahl der Impulse, die
der Impulse in der Unabhängig–Betriebsart
ausgegeben werden sollen.
(@)ACC(––) Spezifiziert die Frequenz Stellt die Zielfrequenz, Startfrequenz
und beginnt die und Beschleunigungs–/Abbrems–
Impulsausgabe geschwindigkeit für Ausgänge in der
Unabhängig– oder Ununterbrochen–
Betriebsart ein und beginnt die
Impulsausgaben.
Frequenzänderung Ändert die Frequenz während der
Impulsausgabe in der Ununterbrochen–
Betriebsart durch Beschleunigung oder
Abbremsung entsprechend der
spezifizierten Beschleunigungs–/
Abbremsgeschwindigkeit.
Impulsausgaben Verlangsamt die Impulsausgaben bis zu
beenden einem Halt entsprechend der spezifi–
zierten Beschleunigungs–/ Abbrems–
geschwindigkeit.
(@)INI(61) Beendet die Impuls– Beendet die Impulsausgaben.
ausgabe (abgebremster
Stopp)
Impulsausgabe–Istwert Ändert den Impulsausgabe–Istwert.
ändern
(@)PRV(62) Impulsausgabe–Istwert Liest den Impulsausgabe–Istwert.
lesen.
Impulsausgabe–Status Liest den Impulsausgabe–Status.
lesen

Die folgende Tabelle zeigt die Befehle, die für die Impulsausgabe mit trapezför-
miger Beschleunigung und Abbremsung ausgeführt werden können.
Betriebsart PULS (65) SPED (64) INI (61) PRV(62) ACC(––)# PWM(––)
Ununterbrochen Nein Nein Ja (sehen Sie Ja Ja Nein
Hinweis 1)
Unabhängig Ja Nein Ja (sehen Sie Ja Ja (sehen Sie Nein
Hinweis 1) Hinweis 2)

Hinweis 1. Dieser Befehl zur Istwertänderung kann nur ausgeführt werden, während
die Impulsausgabe gestoppt ist. Der Istwert kann nicht geändert werden,
während Impulse ausgegeben werden. Stellen Sie sicher, die Impulsaus-
gabe zuerst zu beenden, wenn der Istwert geändert werden muss.
2. Dieser Befehl kann nur für die Änderung der Frequenz und das Beenden
der Impulsausgabe verwendet werden. Er kann nicht für das Umschalten
zwischen der Unabhängig– und der Ununterbrochen–Betriebsart verwen-
det werden. Zusätzlich kann ACC(––) nicht während der bereits laufenden
Beschleunigung oder Abbremsung abgearbeitet werden.
Die folgende Tabelle enthält Worte und Bits, die sich auf Impulsausgaben mit
trapezförmiger Beschleunigung und Abbremsung (festes Tastverhältnis) bezie-
hen.

114
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Wort Bits Funktion Bedeutung


228 00 bis Impulsausgang 0–Istwert, äußerst Kann nicht als
15 rechte 4 Stellen Arbeitsmerker
verwendet werden,
229 00 bis Impulsausgang 0–Istwert, äußerst linke auch wenn keine
15 4 Stellen Impulsausgänge
verwendet werden.
252 04 Rücksetzen des Impulsausgang Löschen des Istwertes
0–Istwertes 0, wenn auf EIN.
AR 11 11 Impulsausgabe–Status für EIN: Beschleunigen
Impulsausgang 0 oder Abbremsen
AUS: Konstante
Geschwindigkeit
12 Impulsausgang 0–Istwert EIN: Aufgetreten
Überlauf/Unterlauf AUS: Normal
13 Impulsanzahl für Impulsausgang 0 EIN: Eingestellt
AUS: Nicht eingestellt
14 Impulsausgabe über Impulsausgang 0 EIN: Beendet
beendet AUS: Nicht beendet
15 Impulsausgabe über Impulsausgang 0 EIN: Aktiv (durch
aktiv SPED(64), ACC(––)
oder PWM(––))
AUS: Beendet

Einstellung der Anzahl der Impulse


Spezifiziert die Anzahl der Impulse, die in der Unabhängig–Betriebsart ausge-
geben werden sollen.

(@)PULS(65)
000 Fest auf 000: Ausgang 0
D Art der Impulsausgabe (000: relative Impulse; 001: absolute Impulse) (sehen Sie den Hinweis)
A Anfangswort der Einstellung für die Anzahl der Impulse

A äußerst rechte Anzahl der Impulse (äußerst rechte, äußerst linke Stellen)
4 Ziffern
A+1 äußerst linke Speichern der Anzahl der einzustellenden Impulse.
4 Ziffern 96.777.215 bis 16.777.215
Negative Werte werden durch Setzen des
äußerst linken Bits ausgedrückt.

Art der Impulsausgabe

000: Relative Impulse (Sollwert der Anzahl der Impulse = Anzahl der übertragenen Impulse)
001: Absolute Impulse (Sollwert der Anzahl der Impulse = gegenwärtiger Istwert auf dem absol. Koordinatensystem
d.h. Impulsausgabe–Istwert + Anzahl der übertragenen Impulse)*
*Absolute Impulse können nur über PULS(65) spezifiziert werden, wenn das Istwert–Koordinaten-
system in der SPS–Konfiguration auf Absolutes Koordinatensystem eingestellt wird.

115
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Frequenz einstellen und Impulsausgabe beginnen


Frequenz ändern
Diese Funktionen stellen Ausgabemodus, Anfangsfrequenz, Zielfrequenz und
Beschleunigungs–/Abbremsgeschwindigkeit ein und beginnen die Impulsaus-
gaben. Sie können auch zur Änderung der Frequenz verwendet werden, in dem
die Beschleunigung oder Abbremsung mit der spezifizierten Beschleuni-
gungs–/Abbremsgeschwindigkeit durchgeführt wird, während bereits Impuls-
ausgaben in der Betriebsart Ununterbrochen stattfinden.
Einstellung der Frequenzen, Beschleunigung/Abbremsung und Beginn
der Impulsausgabe in der Betriebsart Unabhängig

(@)ACC(––)
000 Fest auf 000: Impulsausgang 0
M Ausgabebetriebsart
A Anfangswort der Einstellungstabelle

M Ausgabebetriebsart
Spezifikation der Ausgabebetriebsart.
000: Aufwärts/Abwärts–Impulsausgaben, Betriebsart Unabhängig
002: Impuls– und Richtungsausgänge, Betriebsart Unabhängig

A Beschleunigungs–/Abbremsgeschwindigkeit
(#0001 bis #1000 BCD–Wert: 10 Hz bis 10 kHz)
A+1 Zielfrequenz (#0001 bis #1000 BCD–Wert: 10 Hz bis 10 kHz

A+2 Anfangsfrequenz (#0000 bis #1000 BCD–Wert: 0 Hz bis 10 kHz)

Speichern Sie die Daten für jede Frequenz.


Die Beschleunigungs–/Abbremsgeschwindigkeit ändert sich (–/+) alle 10 ms in der
Frequenz.
Impuls–Ausgabefrequenz

Zielfrequenz

Anfangs– Anzahl der


frequenz Impulse

0 Hz Zeit
In der Betriebsart Unabhängig werden die Beschleuni-
gungs– und Bremspunkte durch die Anzahl der Impulse,
die Beschleunigungs–/Abbremsgeschwindigkeit, die Ziel-
frequenz und die Startfrequenz bestimmt.

116
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Einstellung der Frequenz und Beschleunigung/Abbremsung, Beginn der


Impulsausgabe und Änderung der Frequenz in der Ununterbrochen–Be-
triebsart

(@)ACC(––)
000 Fest auf 000: Impulsausgang 0
M Ausgabebetriebsart
A Anfangswort der Einstellungstabelle

M P
Spezifikation der Ausgabebetriebsart.
010: Aufwärts/Abwärts–Impuls, Rechtslauf, Betriebsart Ununterbrochen
011: Aufwärts/Abwärts–Impuls, Linkslauf, Betriebsart Ununterbrochen
012: Impuls– und Richtung, Rechtslauf, Betriebsart Ununterbrochen
013: Impuls– und Richtung, Linkslauf, Betriebsart Ununterbrochen

A Beschleunigungs–/Abbremsgeschwindigkeit
(#0001 bis #1000 BCD–Wert: 10 Hz bis 10 kHz)
A+1 Zielfrequenz (#0001 bis #1000 BCD–Wert: 10 Hz bis 10 kHz

A+2 Anfangsfrequenz (#0000 bis #1000 BCD–Wert: 0 Hz bis 10 kHz)

Speichern Sie die Daten für jede Frequenz.


Die Beschleunigungs–/Abbremsgeschwindigkeit ändert sich (–/+) alle 10 ms in
der Frequenz.

Impuls–Ausgabefrequenz

Zielfrequenz

Anfangs–
frequenz

0 Hz Zeit
In der Betriebsart Ununterbrochen werden Impulse bis zum Abbruch mit
der Zielfrequenz ausgegeben. Der nächste ACC(––)–Befehl kann nicht
während der laufenden Beschleunigung oder Abbremsung abgearbeitet
werden

Ändern des Impulsausgabe–Istwertes


Diese Funktion ändert den Impulsausgabe–Istwert.

(@)INI(61)
000 Fest auf 000: Impulsausgang 0
004 Steuerbezeichnung (004: Impulsausgabe–Istwert ändern)
A2 Anfangswort der zu ändernden Istwert–Daten

A2 äußerst rechte Istwert–Daten ändern (äußerst rechte, äußerst linke Stellen)


4 Ziffern
Speichern der zu ändernden Istwert–Daten
A2+1 äußerst linke
4 Ziffern 96.777.215 bis 16.777.215
Negative Werte werden durch Setzen des äußerst
linken Bits ausgedrückt.

Hinweis Der Impulsausgabe–Istwert kann nur geändert werden, während die Impuls-
ausgabe gestoppt ist.

117
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Impulsausgabe beenden
Impulsausgabefrequenz herunterfahren und beenden
Diese Funktionen beenden die Impulsausgaben.
Impulsausgaben beenden

(@)INI(61)
000 Fest auf 000: Impulsausgang 0
003 Steuerbezeichnung (003: Impulsausgabe beenden)
000 Fest auf 000

Beendet die Impulsausgabe mit abgebremsten Stopp

(@)ACC(––)
000 Fest auf 000: Schnittstellendefinition
000 Betriebsart
A Anfangswort der Einstellungstabelle

A Beschleunigungs–/Abbremsgeschwindigkeit
(#0001 bis #1000 BCD–Wert: 10 Hz bis 10 kHz)
A+1 Zielfrequenz (#0000 bis #1000 BCD–Wert: 0 Hz bis 10 kHz)

A+2 Anfangsfrequenz (#0000 bis #1000 BCD–Wert: 0 Hz bis 10 kHz)


Speichern Sie die Daten für jede Frequenz.
Die Beschleunigungs–/Abbremsgeschwindigkeit ändert sich (–/+) alle 10 ms
in der Frequenz.

Hinweis Die Impulsausgaben können ebenfalls beendet werden, indem die SPS in die
PROGRAM–Betriebsart umgeschaltet wird.
Impulsausgabe–Istwert lesen
Diese Funktion liest den Impulsausgabe–Istwert.
Einsatz eines Befehls

(@)PRV(62)
000 Fest auf 000: Impulsausgang 0
003 Steuerbezeichnung (003: Impulsausgabe–Istwert lesen)
Z Anfangswort zur Speicherung des Impulsausgabe–Istwertes

Z äußerst rechte Impulsausgabe–Istwert (äußerst rechte und linke Stellen)


4 Ziffern
Zu lesende Istwert–Daten werden hier gespeichert.
Z+1 äußerst linke
4 Ziffern 96.777.215 bis 16.777.215
Negative Werte werden durch Setzen des
äußerst linken Bits ausgedrückt.

Verwendung der Datenbereiche


Wie in der folgenden Abbildung gezeigt, wird der Impulsausgabe–Istwert für Im-
pulsausgang 0 in den Worten 228 und 229 gespeichert.
Impulsausgang 0

Wort 228 Istwert (äußerst rechtes Wort)


Wort 229 Istwert (äußerst linkes Wort)

Hinweis SR 228 und SR 229 werden einmal in jedem Zyklus aufgefrischt; somit entspre-
chen die Werte in diesen Worten nicht dem eigentlichen Status während jedes
Zyklus; SR 228 und SR 229 werden jedoch sofort aufgefrischt, wenn ihr Status
mit PRV(62) eingelesen wird.

118
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Impulsausgabe–Status lesen
Diese Funktion liest den Impulsausgabe–Status.
Einsatz eines Befehls

(@)PRV(62)
000 Fest auf 000: Impulsausgang 0
001 Steuerbezeichnung (001: Impulsausgabe–Status lesen)
D Wort zur Speicherung des Impulsausgabe–Status

Impulsausgabe–Zustand Anzahl der Impulse


0: Konstantrate 0: Nicht eingestellt
1: Beschleunigen oder Abbremsen 1: Eingestellt
Impulsausgabe beendet
Impulsausgabe–Istwert Überlauf/Unterlauf 0: Nicht beendet
0: Normal 1: Beendet
1: Unterlauf oder Überlauf ist aufgetreten
Impulsausgabe aktiv
0: Beendet
1: Ausgabe aktiv

Verwendung der Datenbereiche


Wie in der folgenden Abbildung gezeigt, wird der Impulsausgabe–Status für Im-
pulsausgang 0 in AR 1111 bis AR 1115 gespeichert.

AR 11: Impulsausgang 0
Impulsausgabe–Zustand
Impulsausgabe aktiv 0: Konstantrate
1: Beschleunigen oder Abbremsen
0: Beendet
1: Ausgabe aktiv Impulsausgabe–Istwert–Über–/Unterlauf
Impulsausgabe beendet 0: Normal
0: Nicht beendet 1: Unter– oder Überlauf ist aufgetreten
1: Beendet Anzahl der Impulse
0: Nicht eingestellt
1: Eingestellt

Hinweis AR 1111 bis AR 1115 werden einmal in jedem Zyklus aufgefrischt; somit entspre-
chen die Werte in diesen Worten nicht dem eigentlichen Status während jedes
Zyklus; diese Merker werden jedoch sofort aufgefrischt, wenn ihr Status mit
PRV(62) eingelesen wird.

Verhältnis zwischen Status und Betrieb


Betriebsart Unabhängig (mit Beschleunigung und Abbremsung)
Frequenz

Zeit
PULS(65)–Ausführung

ACC(––)–Ausführung

Ausgang 0 aktiviert

Ausgang 1 aktiviert

Ausgabe beendet

Ausgangszustand
(Beschleunigung oder Abbremsung)
Impulsanzahl eingestellt

119
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Betriebsart Ununterbrochen (mit Beschleunigung und Abbremsung 1)


Frequenz

Zeit

ACC(––)–Ausführung (1)

ACC(––)–Ausführung (2)

INI(61)–Ausführung

Ausgang 0 aktiviert

Ausgang 1 aktiviert

Ausgabe beendet

Ausgangszustand
(Beschleunigung oder Abbremsung)
Impulsanzahl eingestellt

Betriebsart Ununterbrochen (mit Beschleunigung und Abbremsung 2)


Frequenz

Zeit
ACC(––)–Ausführung (Halt)

Ausgang 0 aktiviert

Ausgang 1 aktiviert

Ausgabe beendet

Ausgangszustand
(Beschleunigung oder Abbremsung)
Impulsanzahl eingestellt

Beenden von Ausgaben in der Betriebsart Ununterbrochen


(mit Beschleunigung und Abbremsung 1)
Frequenz

Zeit
PULS(65)–Ausführung

ACC(––)–Ausführung

INI(61)–Ausführung

Ausgang 0 aktiviert

Ausgang 1 aktiviert

Ausgabe beendet
Ausgangszustand
(Beschleunigung oder Abbremsung)
Impulsanzahl eingestellt

120
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Beenden von Ausgaben in der Betriebsart Ununterbrochen


(mit Beschleunigung und Abbremsung 2)
Frequenz

Zeit
PULS(65)–Ausführung

ACC(––)–Ausführung

ACC(––)–Ausführung

Ausgang 0 aktiviert

Ausgang 1 aktiviert

Ausgabe beendet
Ausgangszustand
(Beschleunigung oder Abbremsung)
Impulsanzahl eingestellt

Anwendungsbeispiel
Positionierung
Beschreibung
In diesem Beispiel werden, wenn die Ausführungsbedingung (00005) aktiviert
wird, 1000 Impulse über Ausgang 01000 (Impulsausgang 0) in einem trapezoi-
dal Beschleunigungs–/Abbremsmuster ausgegeben, wie es im folgenden Dia-
gramm dargestellt ist.
Frequenz (Hz) Beschleunigungs–/
Abbremsgeschwindigkeit
500
10 Hz
200 10 ms

Anzahl der Impulse


Ausführungs-
bedingung
(00005)

Verdrahtung
Verbinden Sie die CPM2A mit dem Motortreiber, wie es in der folgenden Abbil-
dung gezeigt wird.

Motortreiber

121
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Verbinden Sie die CPM2C mit dem Motortreiber, wie es in der folgenden Abbil-
dung gezeigt wird. In diesem Fall wird eine CPU–Baugruppe mit NPN–Transis–
torausgängen verwendet.

A–steckverbinder

Motortreiber

24 VDC

Hinweis Sehen Sie das technische Handbuch für Einzelheiten der Verkabelung.
SPS–Konfiguration
15 0
DM 6629 0 Stellt das Koordinatensystem für Impulsausgang 0
auf Relativ ein.
DM 6642 0 0 Der Schnelle Zähler wird nicht verwendet.
(Auf eine andere außer einer synchronisierten
Impulssteuerung einstellen.)

Programmierung
00005 (Ausführungsbedingung)
(13) Erfasst die Aktivierung der Ausführungsbedingung.

PULS(65) Einstellung der Anzahl der Impulse


Impulsausgang 0
Relative Impulse
Anfangswort für Impulssoll-
Anzahl der Impulse: 1.000
wertdaten
ACC(––) Stellt die Frequenz ein und beginnt die Impulsausgabe.
Impulsausgang 0
Aufwärts/Abwärts–Impulsausgabe, Betriebsart Unabhängig
Anfangswort der Beschleunigungs–/Abbremsgeschwindigkeit: 10 Hz/10 ms
Einstellungstabelle Zielfrequenz: 500 Hz
Anfangs–/Endfrequenz: 200 Hz

122
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Tipp–Betrieb
Beschreibung
In diesem Beispiel werden, wenn die Ausführungsbedingung (00005) aktiviert
wird, Tippimpulse mit einer Frequenz von 100 Hz ausgegeben, entweder von
Ausgang 01000 (Rechtlauf) oder 01001 (Linkslauf). Die Ausgabe wird gestoppt,
wenn die Ausführungsbedingung (00005) deaktiviert wird. Wie im folgenden
Diagramm gezeigt, wird die Tippfrequenz beim Starten und Stoppen des Be-
triebs erhöht und reduziert. Die Umschaltung zwischen Ausgang 01000
(Rechtslauf) und 01001 (Linkslauf) wird mittels des Richtungseingangs (00006)
ausgeführt.

Frequenz (Hz)
Beschleunigungs–/
Abbremsgeschwindigkeit

Zeit 10 Hz
10 ms

Ausführungs–
bedingung (00005)
Richtungs–
bezeichner (00006)

Verdrahtung
Verbinden Sie die CPM2A mit dem Motortreiber, wie es in der folgenden Abbil-
dung gezeigt wird.

Motortreiber

Verbinden Sie die CPM2C mit dem Motortreiber, wie es in der folgenden
Abbildung gezeigt wird. In diesem Fall wird eine CPU–Baugruppe mit
NPN–Transistorausgängen verwendet.

A.–steckverbinder

Motortreiber

24 VDC

123
CPM2A/CPM2C–Impulsausgabefunktionen Abschnitt 2-5

Hinweis Sehen Sie das technische Handbuch für Einzelheiten der Verkabelung.
SPS–Konfiguration
15 0
DM 6629 0 Stellt das Koordinatensystem für Impulsausgang 0 auf Relativ ein.

DM 6642 0 0 Der Schnelle Zähler wird nicht verwendet.


(Auf eine andere außer einer synchronisierten
Impulssteuerung einstellen.)

Programmierung
00005 (Ausführungsbedingung)
(13) Erfasst die Aktivierung der Ausführungsbedingung.

(Richtungseingang) (14) Erfasst die Deaktivierung der Ausführungsbedingung.


AR 1115
ACC(––) Ausgabe in Rechtslauf–Richtung
Impulsausgang 0
Betriebsart Ununterbrochen, Auf/Abwärtsimpulse, Rechtslauf–Richtung
(Richtungseingang) Anfangswort der Einstellungstabelle

ACC(––) Ausgabe in Linkslauf–Richtung


Impulsausgang 0
Betriebsart Ununterbrochen, Auf/Abwärtsimpulse, Linkslauf–Richtung
Anfangswort der Einstellungstabelle
Beschleunigungs–/Abbremsgeschwindigkeit: 10 Hz/10 ms
Zielfrequenz: 500 Hz
Anfangsfrequenz: 200 Hz

(14)

ACC(––) Abgebremster Halt


Impulsausgang 0
Anfangswort der Einstellungstabelle
Beschleunigungs–/Abbremsgeschwindigkeit: 10 Hz/10 ms
Zielfrequenz: 0 Hz

124
CPM1A–Impulsausgabefunktionen Abschnitt 2-6

2-6 CPM1A–Impulsausgabefunktionen
CPM1A–SPS–Systeme mit Transistorausgängen besitzen eine Impulsausga-
befunktion, die Impulse von 20 Hz bis 2 kHz (einphasig) ausgeben können. IR
01000 oder IR 01001 können für eine Impulsausgabe ausgewählt werden und
der Impuls kann entweder in der Betriebsart Ununterbrochen ausgegeben wer-
den, in der die Ausgabe durch einen Befehl gestoppt werden kann oder in der
Betriebsart Unabhängig, bei der die Ausgabe nach einer vorher eingestellten
Anzahl von Impulse gestoppt wird (1 bis 16.777.215).
Sehen Sie das Technische Handbuch der CPM1A für weitere Informationen
über die Ausgangs– und Schnittstellenverdrahtung.
Impulse werden mit einer spezifizierten Frequenz ausgegeben, bis die
Ausgabe gestoppt wird.

Ununterbrochen–
Betriebsart

Die Ausgabe wird automatisch gestoppt, wenn die spezifi-


zierte Anzahl der Impulse ausgegeben wurde.

Unabhängig–
Betriebsart Spezifizierte Anzahl der Impulse

Schrittmotor Steuereingang

Motor–
regelung

Impulsausgabe Rechts–/Linkslauf–Steuerausgang
(einphasige Ausgabe)
IR 01000 oder IR 01001

Hinweis 1. Die CPM1A verwendet eine einphasige Impulsausgabe. Das Steuersignal


für die Drehrichtung (Rechtslauf/Linkslauf) für den Motortreiber muss per
Programm ausgegeben werden.
2. Stellen Sie sicher, eine CPU–Baugruppe mit Transistorausgängen zu ver-
wenden.

125
CPM1A–Impulsausgabefunktionen Abschnitt 2-6

2-6-1 Programmbeispiel für die Betriebsart Ununterbrochen


In diesem Beispielprogramm beginnt die Impulsausgabe über IR 01000, wenn
Eingang IR 00004 aktiviert wird; die Ausgabe wird beendet, wenn Eingang IR
00005 eingeschaltet wird.
SPED(64) kann verwendet werden, um die Impulsausgabe zu stoppen. Wird
SPED(64) zu diesem Zweck verwendet, muss #0000 (Konstante oder Wortin-
halt) als Impulsfrequenz spezifiziert werden.
00004 (Impulsausgabe–
Bedingung) @SPED(64) Beginnt der Impulsausgabe.

000 Ausgabe von 01000

001 Ununterbrochen–Betriebsart

#0100 Impulsfrequenz: 1 kHz


00005 (Impulsausgabe–
Haltbedingung)
@INI(61) Beendet die Impulsausgabe.

000

003

000

2-6-2 Programmbeispiel in der Betriebsart Unabhängig


In diesem Beispielprogramm beginnt die Impulsausgabe über IR 01000, wenn
Eingang IR 00004 aktiviert wird; die Ausgabe wird beendet, nachdem die spezi-
fizierte Anzahl der Impulse ausgegeben wurde. Die Anzahl der Impulse wird in
DM 0100 und DM 0101 spezifiziert.
00004 (Impulsausgabe–
Bedingung)
@PULS(65) Einstellung der Anzahl der Impulse

000

000

DM 0100 Einstellung der Anzahl der Impulse


00004 (Impulsausgabe–
Bedingung)
@SPED(64) Beginn der Impuls-
ausgabe.
000

000 Unabhängig– Betriebsart

#0100 Impulsfrequenz: 1 kHz

2-6-3 Verwendung der Impuls–Ausgabebefehle


Einstellung der Anzahl Verwenden Sie, wie nachfolgend gezeigt, PULS(65) vor dem Beginn der Im-
der Impulse pulsausgabe in der Unabhängig–Betriebsart, um die Anzahl der auszugeben-
den Impulse einzustellen. Diese Einstellung ist nicht für die Ununterbrochen–
Betriebsart erforderlich.

@PULS(65)

000

000

Spezifizieren Sie in N die Anfangswort–Adresse der Worte, in denen die Anzahl


der Impulse eingestellt wird. Speichern Sie die Anzahl der Impulse in den Wor-
ten N und N+1 als achtstelliger BCD–Wert, mit den äußerst linken vier Stellen in
N+1 und den äußerst rechten vier Stellen in N.
Nehmen Sie die Einstellung innerhalb eines Bereichs von 00000001 bis
16777215 (BCD) vor.

126
CPM1A–Impulsausgabefunktionen Abschnitt 2-6

Beginn der Legen Sie mit SPED(64) den Ausgang für die Impulsausgabe fest (IR 01000
Impulsausgabe oder IR 01001), die Betriebsart (Unabhängig/Ununterbrochen) und die Impuls-
frequenz.

@SPED(64)

P (3–stellig, BCD–Wert) 000: Ausgaben an IR 01000


010: Ausgaben an IR 01001
M (3–stellig, BCD–Wert) 000: Unabhängig–Betriebsart
001 Ununterbrochen–Betriebsart
F (4–stellig, BCD–Wert) Spezifizieren Sie für die Anfangs–Impuls–
ausgabefrequenz eine Konstante oder einen
Wortinhalt. Folgende Werte und Frequenzen
wurden spezifiziert:
Spezifizierter Wert: 0002 bis 0200
Frequenzeinstellung: 20 bis 2.000 Hz
Hinweis 1. Die Impulsausgabe kann jeweils nur über einen Ausgang erfolgen.
2. Wird die Impulsausgabe in der Unabhängig–Betriebsart begonnen, wird die
Anzahl der Impulse gelesen, wenn SPED(64) ausgeführt wird. PULS(65)
kann nicht dazu verwendet werden, die Anzahl der Impulse während der Im-
pulsausgabe zu ändern.

2-6-4 Ändern der Frequenz


Verwenden Sie SPED(64), um die Frequenzeinstellung während der Impuls-
ausgabe zu ändern. Stellen Sie gleichzeitg die anderen Operanden, außer der
Frequenz, auf die gleichen Einstellungen, wie am Anfang der Impulsausgabe,
ein.

@SPED(64)

P (3–stellig, BCD) Gleiche als bei Beginn der Impulsausgabe.


M (3–stellig, BCD) Gleiche als bei Beginn der Impulsausgabe.
F (4–stellig, BCD) Spezifizieren Sie für die geänderte Impulsausgabe–
frequenz einen Konstante oder einen Wortinhalt.
Folgende Werte und Frequenzen wurden spezifiziert:
Spezifizierter Wert: 0002 bis 0200
Frequenzeinstellung: 20 bis 2.000 Hz

2-6-5 Anhalten der Impulsausgabe


Werden Impulse in der Unabhängig–Betriebsart ausgegeben, bricht die Impuls-
ausgabe automatisch nach der Ausgabe der mit PULS(65) spezifizierten An-
zahl der Impulse ab. Werden Impulse in der Ununterbrochen–Betriebsart aus-
gegeben, kann eine der zwei folgenden Methoden dazu verwendet werden, die
Impulsausgabe anzuhalten.
1 Verwenden Sie SPED(64), um die Frequenz auf 0 zu stellen.
2. Verwenden Sie INI(61), um die Impulsausgabe anzuhalten.
Verwendung von Die erste Methode besteht in der Verwendung von SPED(64), um die Impuls-
SPED(64) ausgabe anzuhalten, indem Sie die Frequenz mit 0 spezifizieren. Sehen Sie für
Einzelheiten den Abschnitt 2-6-4 Änderung der Frequenz.

127
CPM1A–Impulsausgabefunktionen Abschnitt 2-6

Verwendung von INI(61) Die zweite Methode besteht in der Verwendung von INI(61), um die Impulsaus-
gabe wie folgt anzuhalten:

@INI(61)

000

003

000

128
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

2-7 Synchronisierte Impulssteuerung (nur CPM2A/CPM2C)


Durch die Kombination der schnellen Zählerfunktion der CPM2A/CPM2C mit
der Impulsausgabefunktion kann die Ausgabeimpulsfrequenz als spezifiziertes
Mehrfaches der Eingabeimpulsfrequenz gesteuert werden.
Hinweis Eine CPU–Baugruppe mit Transistorausgängen ist erforderlich, um die syn-
chronisierte Impulssteuerung zu verwenden, d.h. entweder eine
CPM2AjjCDT–D oder eine CPM2AjjCDT1–D.
Das folgende Diagramm zeigt die Konfiguration für eine CPM2A; die Konfigura-
tion für eine CPM2C ist identisch.

Zählereingabe

Impulseingang
00000 oder 00001 Hauptmotor Inkremental–Drehgeber

Motor-
treiber

Impulsausgabe 01000
oder 01001 (einphasige
Ausgabe)

Angabe
g Eingangsmodus
Differential– Impuls– u. Auf–/Abwärts– Inkrementmodus
phasen– Richtungs– Impulseingangs–
Eingangsmodus Eingangsmodus modus
Eingangs–
g g 00000 Eingang Phase A Zähleingang Rechtslaufeingang Zähleingang
N
Nummer 00001 Eingang Phase B Richtungseingang Linkslaufeingang (sehen Sie den
Hinweis 1)
Eingangsart Differential– Einphasiger Einphasiger Einphasiger
phasen– Eingang Eingang Eingang
Eingang (4X)
Eingangsfrequenzbereich 10 bis 500 Hz (Genauigkeit ±1 Hz)
20 Hz bis 1 kHz (Genauigkeit ±1 Hz)
300 Hz bis 20 kHz (Genauigkeit ±25 Hz) (sehen Sie Hinweis 2)
Ausgangs– 01000 Impulsausgang 0
nummer
(sehen Sie 01001 Implusausgang 1
Hinweis 3)
Ausgabemethode Einphasige Impulsausgabe
Ausgangsfrequenzbereich 10 Hz bis 10 kHz (Genauigkeit 10 Hz)
Frequenzverhältnis 1% bis 1.000% (kann in 1%–Schritten spezifiziert werden)
Synchronisierter 10 ms
Steuerungszyklus

Hinweis 1. Kann als gewöhnlicher Eingang verwendet werden.

129
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

2. Bei 10 kHz oder weniger beträgt die Genauigkeit ±10 Hz.


3. Einer der beiden kann mit SYNC(––) als Ausgang gewählt werden.
Die Richtungen der Impulseingänge werden alle ignoriert. Die Frequenz eines
eingehenden Impulses wird, ungeachtet der Richtung, gelesen.
Die folgende Tabelle zeigt die Verhältnisse zwischen synchronisierter Impuls-
steuerung und den anderen Funktionen der CPM2A.
Funktion Synchronisierte Impulssteuerung
Synchronisierte Impulssteuerung ---
Interrupt–Eingänge Kann gleichzeitig verwendet werden
Intervall–Zeitgeber–Interrupts Kann gleichzeitig verwendet werden
Schneller Zähler Kann nicht gleichzeitig verwendet werden
Interrupt–Eingänge (Zählmodus) Kann gleichzeitig verwendet werden
Impulsausgänge Kann nicht gleichzeitig verwendet werden
Eingänge mit Impulsspeicherung Kann gleichzeitig verwendet werden
Eingangs–Zeitkonstante Sehen Sie den Hinweis
Uhr Kann gleichzeitig verwendet werden
Hinweis Werden die Eingänge 00000 und 00001 für die Verwendung als synchronisierte
Impulssteuereingang spezifiziert, werden die Eingangszeit–Konstanteneinstel-
lungen für die beeinflußten Eingänge deaktiviert. Die Eingangszeit–Konstanten
bleiben jedoch als Werte für die Auffrischung des relevanten Datenbereichs gül-
tig.
Das Verhältnis zwischen Impulseingangs– und Impulsausgabefrequenz ist
nachfolgend dargestellt.

Impulseingangsfrequenz X Frequenzverhältnis = Ungefähre Impulsausgabefrequenz

Werte werden in Einheiten von 10 Hz abgerundet.

10 bis 500 Hz Ein Wert kleiner als 10 Hz wird als 0 Hz angesehen.

20 Hz bis 1 kHz Ein Wert größer als 10 kHz wird als 10 kHz angesehen.

300 Hz bis 20 kHz


Impuls–Ausgabefrequenz
(10 Hz bis 10 kHz

Der Skalierfaktor–Steuerzyklus beträgt 10 ms und die Impulsausgabefrequenz


wird im Abstand von 10 ms entsprechend der Impulseingangsfrequenz geän-
dert.

Frequenz

Zeit

130
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

Verwendung der synchronisierten Impulssteuerung


Wählen Sie die Eingangs– Differentialphasen–Impulseingangs–, Impuls + Richtungsein-
Betriebsart gangs–, Auf–/Abwärts–Impulseingangs–, Inkrementalmodus

Wählen Sie die Impulssynchro-


nisations–Eingangsfrequenz Eingangsfrequenz: 10 Hz bis 500 Hz; 20 Hz bis 1 kHz; 300 Hz bis 20 kHz

Verdrahten Sie die Ein– und Eingangsnummer: 00000, 00001 und 0002
Ausgänge Ausgangsadressen: 01000 und 01001

SPS–Konfiguration (DM 6642) Einstellung der synchronisierten Impulssteuerung, der Eingangsmodus, der Eingangsfrequenz

SYNC(––): Start der synchronisierten Impulssteuerung und zur Änderung des Skalierfaktors
Erstellen Sie ein Kontaktplan–
Programm INI(61): Anhalten der synchronisierten Impulssteuerung
PRV(62): Lesen der schnellen Zählerfrequenz und des synchronisierten Impulssteuerungs–Status

Synchronisierte SPS–Konfiguration
Impulssteuerung
DM 6642, Bits 08 bis 15
10 bis 500 Hz
20 Hz bis 1 kHz
300 Hz bis 20 kHz

Entweder
Impulsausgang 0
Geber– Eingangsmodus Zählen
Impulsausgang 1
eingänge
Differentialphase
:
Impuls– u. Richtung Kontaktplan–Programm
Auf–/Abwärt SYNCHRONISIERTE
SYNC(––) IMPULSSTEUERUNG–
Inkremental Befehl
Synchr. Impuls–
steuerung beginnen
Skalierfaktor ändern
SPS–Konfigur.
DM 6642, Bits BETRIEBSARTEN-
00 bis 03 INI (61) STEUERUNGS–Befehl
Synchro. Impuls–
steuerung abbrech.

Einmal pro Zyklus Sofort Einmal pro Zyklus


SCHNELLER ZÄH-
LER–ISTWERT Synchronisierten Im-
Zählerfrequenz–Istwert PRV(62) LESEN–Befehl pulssteuerungs–Status

SR 249 SR 248 Schnellen Zähler lesen AR 1100 bis AR 1107

Synchronisierten Impuls-
steuerungs–Status lesen

Die Impulsausgabefrequenz kann nicht gelesen werden.

Wahl des Wählen Sie den Differentialphasen–Eingangs–, Impuls + Richtungseingangs–,


Eingangsmodus und des Auf–/Abwärts–Impulseingangs– oder Inkrementalmodus. Diese Modi sind
Rücksetzverfahrens. nachfolgend beschrieben.

131
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

Auswahl der Wählen Sie einen der nachfolgend aufgeführten als Eingangsfrequenz–Be-
Impulssynchronisations– reich: 10 Hz bis 500 Hz, 20 Hz bis 1 kHz oder 300 Hz bis 20 kHz. Sehen Sie die
Eingangsfrequenz. folgenden Diagramme für weitere Informationen über Eingangsfrequenzen.
Differentialphasen–Eingangsmodus
Im Differentialphasen–Eingangsmodus wird der Zählwert, entsprechend den
zwei Differentialphasen–Signalen, mit einem Multiplikator von 4 inkrementiert
oder dekrementiert (Phase A und Phase B).
EIN
Phase A
AUS

EIN
Phase B
AUS

1,000
Nms → Frequenz =
N

Impuls– u. Richtungs–Eingangsmodus
Im Impuls– u. Richtungseingangsmodus werden Impuls– und Richtungssignal
angelegt und der Zählwert wird entsprechend dem Richtungssignals–Zustand
inkrementiert oder dekrementiert.
EIN
Impuls–
eingänge AUS
EIN
Richtungs-
eingänge
AUS

1,000
Nms → Frequenz =
N

Auf–/Abwärts–Impulseingangsmodus
In dem Auf–/Abwärts–Impulseingangsmodus werden Rechtslauf– (Aufwärt-
simpulse) und Linkslauf–Signale (Abwärtsimpulse) angelegt und der Zählwert
wird entsprechend inkrementiert oder dekrementiert.
EIN
Rechtslauf–
eingänge AUS

EIN
Linkslauf–
Eingänge AUS

Inkrementierung Dekrementierung

1,000
Nms → Frequenz =
N

Inkrementmodus
Im Inkrementalmodus werden Impulssignale angelegt und der Zählwert wird mit

132
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

jedem Impuls inkrementiert. Phase–B–Eingänge können als gewöhnliche Ein-


gänge verwendet werden.
EIN
Impuls–
eingänge AUS

1,000
Nms → Frequenz =
N

Verdrahtung der Eingänge


Eingangsverdrahtung
Verdrahten Sie die CPM2A–Eingänge, wie es in der folgenden Abbildung dar-
gestellt ist.
Differentialphasen–Eingangsmodus Auf–/Abwärts–Impulseingangsmodus
00000: Eingang Phase A 00000: Rechtslaufeingang
00001: Eingang Phase B 00001: Linkslaufeingang
00002: Eingang Phase Z

Impuls– u. Richtungs–Eingangsmodus Inkrementmodus


00000: Impulseingang 00000: Impulseingang
00001: Richtungseingang

133
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

Verdrahten Sie die CPM2C–Eingänge, wie es in der folgenden Abbildung dar-


gestellt ist.
Differentialphasen–Eingangsmodus Auf–/Abwärts–Impulseingangsmodus
E–steckverbinder E–steckverbinder

00002: Eingang Phase Z


00001: Eingang Phase B 00001: Linkslaufeingang
00000: Eingang Phase A 00000: Rechtslaufeingang

Impuls– u. Richtungs–Eingangsmodus Inkrementmodus


E–steckverbinder E–steckverbinder

00001: Richtungseingang
00000: Impulseingang 00000: Impulseingang

Ausgangsverdrahtung
Verdrahten Sie die CPM2A–Ausgänge, wie es in der folgenden Abbildung dar-
gestellt ist.
Ausgangsverdrahtung

01000: Impulsausgang 0
01001: Impulsausgang 1

134
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

Verdrahten Sie die CPM2C–Ausgänge, wie es in der folgenden Abbildung dar-


gestellt ist.

A.–steckverbinder

01000: Impulsausgang 0
01001: Impulsausgang 1

SPS–Konfiguration Die Einstellungen in der SPS–Konfiguration, die mit synchronisierter Impuls-


steuerung zusammenhängen, sind in der folgenden Tabelle aufgeführt.
Wort Bits Funktion Ein–
stellung
DM 6642 00 bis 03 Schneller Zähler–Eingangsmodus– 0, 1, 2
Einstellung oder 4
0: Differential–Phaseneingang 5 kHz
1: Impuls– u. Richtungseingang 20 kHz
2: Auf–/Abwärtseingang 20 kHz
4: Inkrement 20 kHz
04 bis 07 Schneller Zähler–Rücksetzverfahrens– 0 oder 1
Einstellung
0: Z–Phase und Software–Rücksetzung
1: Software–Rücksetzung
08 bis 15 Schneller Zähler–Einstellung 02, 03, 04
00: Wird nicht verwendet
01: Als Schneller Zähler
02: Verwendung als Impulssynchr.–Steuerung
(10 Hz bis 500 Hz)
03: Verwendung als Impulssynchr.–Steuerung
(20 Hz bis 1 kHz)
04: Verwendung als Impulssynchr.–Steuerung
300 Hz bis 20 kHz).

Die Einstellungen werden wirksam, wenn die Betriebsart geändert wird (von
PROGRAM auf MONITOR/RUN) oder wenn die Spannungsversorgung der
CPM_A/CPM_C eingeschaltet wird.

135
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

Kontaktplan– Die folgende Tabelle zeigt die sich auf die synchronisierte Eingangssteuerung
Programmierung beziehenden Befehlsfunktionen.
Befehl Steuerung Betrieb
(@)SYNC(––) Beginn der Spezifiziert Frequenzskalierfaktor und
synchronisierten Ausgangsanschluss und gibt Impulse
Impulssteuerung aus.
Frequenzskalierfaktor Ändert den Frequenzskalierfaktor
ändern während der Impulsausgabe.
(@)INI(61) Synchronisierte Beendet die Impulsausgaben.
Impulssteuerung
beenden
((@)PRV(62)
) ( ) Eingangsfrequenz lesen Liest die Eingangsfrequenz.
Synchronisierten Liest den synchronisierten
Impulssteuerungs– Steuerungsstatus.
Status lesen

Die folgende Tabelle zeigt die Worte und Bits, die mit der synchronisierten Im-
pulssteuerung zusammenhängen.
Wort Bits Name Inhalt
248 00 bis Eingangsfrequenz–Istwert, äußerst Liest den
15 rechte Stellen Eingangsfrequenz–
g g q
249 00 bis Eingangsfrequenz–Istwert, äußerst I t
Istwert.
t
15 linke Stellen
AR 11 15 Impulsausgabe für Impulsausgang EIN: Aktive Ausgabe
0 aktiv AUS: Beendet
AR 12 15 Impulsausgabe für Impulsausgang
1 aktiv

Frequenzsteuerung starten
Diese Funktion spezifiziert die Ausgänge für die Impulsausgaben (01000,
01001) sowie den Frequenzskalierfaktor (1% bis 1.000%) und beginnt die Im-
pulsausgabe.

(@)SYNC(––)
000 Impulseingangsanschluss (000: Schneller Zähler)
S2 Impulsausgangsanschluss (000: Impulsausg. 0; 010: Impulsausg. 1)
S Frequenzskalierfaktor–Einstellung

S Frequenzskalierfaktor
Spezifizieren Sie den gewünschten Frequenzskalenfaktor:
#0001 bis #1000 (4–stelliger BCD–Wert): 1 bis 1,000%

Hinweis Seien Sie bei Einsatz von SYNC(––) zur Spezifikation eines Frequenzskalier-
faktors vorsichtig, damit die Impulsausgabefrequenz 10 kHz nicht überschreitet.
Frequenzskalierfaktor ändern
Diese Funktion ändert den Frequenzskalierfaktor während der synchronisierten
Steuerung (während der Impulsausgabe), indem sie die Ausgänge für die Im-
pulsausgaben (01000, 01001) und den Frequenzskalierfaktor (1% bis 1.000%)
spezifiziert sowie SYNC(––) ausführt.
Synchronisierte Steuerung anhalten
Diese Funktion beendet die Impulsausgaben.

(@)INI(61)
000 Schnittstellenbezeichner (000: Schneller Zähler)
005 Steuerbezeichnung (005: Synchronisierte Steuerung anhalten)
000 Fest: 000

Hinweis Die Impulsausgabe kann ebenfalls beendet werden, indem die SPS in die PRO-
GRAM–Betriebsart umgeschaltet wird.

136
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

Eingangsfrequenz lesen
Diese Funktion liest den Eingangsfrequenz–Istwert.
Einsatz eines Befehls

(@)PRV(62)
000 Fest: 000
000 Steuerbezeichnung (000: Schnelle Zähler–Eingangsfrequenz lesen)
Z Anfangswort zur Speicherung des Eingangsfrequenz–Istwerts

Z äußerst rechte
4 Ziffern 00000000 bis 00020000 (8-stelliger BCD-Wert)
Z+1 äußerst linke
4 Ziffern

Verwendung der Datenbereiche


Wie in der folgenden Abbildung gezeigt, wird die Eingangsfrequenz in den Wor-
ten 248 und 249 gespeichert.

Wort 248 Eingangsfrequenz–Istwert (äußerst rechte Stellen)


Wort 249 Eingangsfrequenz–Istwert (äußerst linke Stellen)

Die Worte 248 und 249 werden mit jedem Zyklus aufgefrischt, somit kann zu ei-
ner bestimmten Zeit eine Diskrepanz zum genauen Istwert auftreten.
Wird der Istwert gelesen, indem PRV(62) ausgeführt wird, werden die Worte
248 und 249 zum gleichen Zeitpunkt aufgefrischt.
Synchronisierten Steuerungsstatus lesen
Diese Funktion liest den synchronisierten Steuerungsstatus.
Einsatz eines Befehls

(@)PRV(62)
000 Schnittstellenbezeichner (000: Impulsausg. 0; 010: Impulsausg. 1)
001 Steuerbezeichnung (001: Synchr. Impulssteuerungs–Status lesen)
Z Anfangswort zur Speicherung des synchronisierten Steuerungsstatus

• Schnittstellenbezeichner: 000

Status des Impulsausgangs 0


0: Beendet
1: Impulsausgabe aktiv

• Schnittstellenbezeichner: 010

Status des Impulsausgangs 1


0: Beendet
1: Impulsausgabe aktiv

Verwendung der Datenbereiche


Wie in der folgenden Abbildung gezeigt, wird der Impulsausgabe–Status für Im-

137
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

pulsausgang 0 in AR 1115 und der für Impulsausgang 1 in AR 1215 gespei-


chert.

AR 11

Status des Impulsausgangs 0


0: Beendet
1: Ausgabe aktiv

AR 12

Status des Impulsausgangs 1


0: Beendet
1: Ausgabe aktiv

AR 1115 und AR 1215 werden nur einmal in jedem Zyklus aufgefrischt; deshalb
kann zu einem bestimmten Zeitpunkt eine Diskrepanz zum genauen Istwert auf-
treten.
Wird der Istwert durch Ausführung von PRV(62) gelesen, werden AR 1112 und
AR 1212 sofort aufgefrischt.

Verhältnis zwischen Status und Betrieb


Frequenz

Eingangsimpulse

Zeit

Frequenz

Ausgangsimpulse

Zeit

SYNC(––)–Ausführung

INI(61)–Ausführung
Ausgang 0 aktiviert

Ausgang 1 aktiviert

Anwendungsbeispiel
Beschreibung
In diesem Beispiel wird durch Aktivieren der Ausführungsbedingung (00005) die
synchronisierte Impulssteuerung gestartet, und Impulse werden, entsprechend
den an den Schnellen Zähler angelegten Impulsen, über Ausgang 01000 (Im-
pulsausgang 0) ausgegeben. Jetzt kann der Frequenzskalierfaktor mittels
Werteingabe–Poti 0 geändert werden. Wird die Ausführungsbedingung (00005)
deaktiviert, wird die synchronisierte Impulssteuerung abgebrochen.

138
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

|Verdrahtung
Verdrahten Sie die CPM2A, wie es in der folgenden Abbildung dargestellt ist.
Orange

Weiß

Schwarz

Blau
Inkremental–
Drehgeber

Braun

Motortreiber

Verdrahten Sie die CPM2C, wie es in der folgenden Abbildung dargestellt ist. In
diesem Fall wird eine CPU–Baugruppe mit NPN–Transistorausgängen verwen-
det.

E.–steckverbinder A.–steckverbinder

Motortreiber

Blau

Inkremental–Drehgeber

Braun

COM
Orange
24 VDC
Weiß

Schwarz

Hinweis Sehen Sie das CPM2A/CPM2C Bedienerhandbuch für Einzelheiten bezüglich


der Motortreiber–Verdrahtung mit den Ausgängen und der Inkrementaldrehge-
ber–Verdrahtung mit den Eingängen.
SPS–Konfiguration
15 0
DM 6642 0 2 0 0
00: Differentialphasen–Eingangsmodus

02: Verwendung als synchronisierte Impulssteuerung

139
Synchronisierte Impulssteuerung (nur CPM2A/CPM2C) Abschnitt 2-7

Programmierung
00005 (Ausführungsbedingung)
DIFD (14) 20000 Erfasst die Deaktivierung der Ausführungsbedingung.

MOV(21)
250 Verschiebt den Wert des Werteingabe–Potis 0 auf DM 0000.
DM0000

CMP(20)
Stellt DM 0000 auf “1” ein, wenn Werteingabe–Poti 0 auf “0”
eingestellt wird.
MOV(21) (Die Werteingabe–Potis sind in CPM2A SPS–Systemen
integriert, aber nicht in CPM2C–SPS–Systemen.)

SYNC(––) SYNCHRONISIERTE IMPULSSTEUERUNG


Schneller Zähler
Impulsausgabe–Ausgang 0
Anfangswort des Frequenzskalierfaktors

INI (61) Bricht die synchronisierte Impulssteuerung ab

140
Toleranzen Abschnitt 2-8

2-8 Toleranzen
In diesem Abschnitt wird die Fehlerrate und Leistung der Impulsausgänge und
der synchronisierten Impulssteuerung beschrieben.

2-8-1 Impulsausgaben
Verzögerungen der Eine Verzögerung tritt ein, bevor eine Änderung der Frequenz während der Im-
Frequenzänderungen pulsausgabe am Ausgang sichtbar wird, wie es nachfolgend dargestellt ist.
Frequenz geändert

Verzögerung
Impuls–
ausgabe

Maximalverzögerung (ms) = eine Periode der gegenwärtigen Impulsausgabe 2 + 10 + Befehlsausführungs-


zeit

Frequenzfehler Bedingt durch einen internen Verarbeitungsfehler tritt ein Fehler von weniger als
± 1% zwischen der Frequenz des Ausgabeimpulses und der eingestellten Fre-
quenz auf.

2-8-2 Synchronisierte Impulssteuerung


Verzögerung beim Das folgende Diagramm zeigt die Verzögerung, die zwischen dem Beginn der
Beginn der synchronisierten Impulssteuerung und dem Beginn der eigentlichen Impulsaus-
Impulsausgabe gabe auftritt.
Impuls–
eingabe
Impuls–
ausgabe

Verzögerung
Maximalverzögerung (ms) = eine Periode der Impulseingabe x 2 + 16,25

Verzögerungen der Wie nachfolgend dargestellt ist, tritt eine Verzögerung auf, bevor bei der syn-
Frequenzänderungen chronisierten Impulssteuerung eine Änderung der Frequenz während der Im-
pulsausgabe tatsächlich auf die Ausgabe erfolgt.

Verzögerung
Impuls–
eingabe
Impuls–
ausgabe

Maximalverzögerung (ms) = eine Periode der gegenwärtigen Impulsausgabe 2 + 10

Verzögerung beim Das folgende Diagramm zeigt die Verzögerung, die während des Abbruchs der
Anhalten der synchronisierten Impulssteuerung (0 Hz) und dem Ende der eigentlichen Im-
Impulsausgabe pulsausgabe während der synchronisierten Impulssteuerung auftritt.

Verzögerung
Impuls–
eingabe
Impuls–
ausgabe
Maximalverzögerung (ms) = Einstellung in DM 6642 (sehen Sie nachfolgend) + eine Periode der aktuellen Impulsausgabe B 2 + 10

Einstellung von Frequenzbereich Verzögerung


DM 6642 Bit 08 bis 15
02 10 bis 500 Hz 262 ms
03 20 Hz bis 1 kHz 66 ms
04 300 Hz bis 20 kHz 4 ms

141
Analoge E/A–Funktionen Abschnitt 2-9

Frequenzfehler Wie nachfolgend beschrieben, tritt ein Fehler zwischen der Frequenz des Ein-
gabe– und der des Ausgabeimpulses auf. Dieser wird durch einen Fehler in der
Eingabeimpulsfrequenz–Messung und einen Fehler in der Ausgabeimpulsfre-
quenz verursacht.
Eingabeimpulsfrequenz–Messfehler
Wie nachfolgend gezeigt, hängt der Fehler beim Messen der Frequenz des Ein-
gabeimpulses von der Einstellung in DM 6642 ab. Wird ein Multiplikationsfaktor
für die synchronisierte Impulssteuerung spezifiziert, muss der in der Tabelle be-
schriebene Fehler ebenfalls mit dem gleichen Faktor multipliziert werden.
Einstellung von Frequenzbereich Fehler
DM 6642 Bit 08 bis 15
02 10 bis 500 Hz ±1 Hz
03 20 Hz bis 1 kHz ±1 Hz
04 300 Hz bis 20 kHz ±10 Hz

Ausgabeimpuls–Frequenzfehler
Bedingt durch einen internen Verarbeitungsfehler tritt ein Fehler von weniger
als± 1% zwischen der Frequenz des Ausgabeimpulses und der eingestellten
Frequenz auf.
Beispiel
DM 6642, Bits 08 bis 15 4 (Frequenzbereich: 300 Hz bis 20 kHz)
Multiplikationsfaktor: 300%
Eingangsfrequenz: 1 kHz (Fehler: 0%)
Wird eine synchronisierte Impulssteuerung unter den obenstehenden Bedin-
gungen durchgeführt, tritt ein Fehler von±10 Hz beim Messen des Frequenzbe-
reichs des Eingabeimpulses auf. Die Eingangsfrequenz beträgt somit 990 bis
1010 Hz. Der Multiplikationsfaktor von 300% würde jedoch aus diesem Wert
2970 bis 3030 Hz erzeugen. Zusätzlich würde es auch einen Fehler von±1% in
der Frequenz des Ausgabeimpulses geben; deshalb würde die Ausgabe im Be-
reich von 2940 bis 3060 Hz liegen.

2-9 Analoge E/A–Funktionen


(nur CPM1/CPM1A/CPM2A/CPM2C)
Eine oder mehrere analoge E/A–Baugruppen können an die SPS angeschlos-
sen werden, um analoge E/A zur Verfügung zu stellen. Eine analoge E/A–Bau-
gruppe verfügt über zwei Analogeingänge und einen Analogausgang. Sehen
Sie den Abschnitt 3-1 Analoge E/A–Baugruppen für weitere Einzelheiten.

2-10 Temperaturfühler–Eingangsfunktionen
(nur CPM1A/CPM2A/CPM2C)
Temperaturfühler–Baugruppen können direkt angeschlossen werden, um die
SPS um Temperaturfühlereingänge zu erweitern. Temperaturfühler–Baugrup-
pen stehen für Thermokoppler– oder Platin–Widerstandsthermometer–Ein-
gänge zur Verfügung.
An die CPM1A oder CPM2A können bis zu drei–CPM1A–TS001/101– oder eine
CPM1ATS002/102 Temperaturfühler–Baugruppe angeschlossen werden. Bis
zu 6 Temperatureingänge sind bei einer SPS möglich.
Bei der CPM2C können bis zu vier CPM2C–TS001/101–Temperaturfühler–
Baugruppen angeschlossen werden, wodurch bis zu 8 Temperatureingänge für
eine SPS zur Verfügung stehen.

2-11 CompoBus/S–E/A–Slavefunktionen
(nur CPM1A/CPM2A/CPM2C)
Die SPS kann als Slave einer CompoBus/S– (oder einer SRM1–Compo-
Bus/S)–Master–Baugruppe arbeiten, wenn eine CompoBus/S–E/A–Link–Bau-

142
CompoBus/S–E/A–Master–Funktionen (nur SRM1(–V2)) Abschnitt 2-12

gruppe angeschlossen wird. Sehen Sie den Abschnitt 3-3 CompoBus/S–E/A


Link–Baugruppe für weitere Einzelheiten.

2-12 CompoBus/S–E/A–Master–Funktionen (nur SRM1(–V2))


Maximale Anzahl von Teilnehmern Es können maximal 16 oder 32 CompoBus/S–Geräte angeschlossen
werden.
Kommunikations Anzahl der Kommunikations–Ansprechzeit
Betriebsart Geräte
High-Speed–Modus
g 16 0,5 ms
32 0,8 ms
Long-Distance–Modus
g 16 4,0 ms
32 6,0 ms

Die Kommunikationsbetriebsart und die maximale Anzahl der Teilnehmer wer-


den in der SPS–Konfiguration eingestellt, wie es in der folgenden Tabelle ge-
zeigt wird.
Wort Bit(s) Funktion Ein–
stellung
DM 6603 00 bis Maximale Anzahl der CompoBus/S–Teilnehmer 0 oder 1
03 0: 32 Geräte
1: 16 Geräte
04 bis CompoBus/S–Kommunikationsmodus 0 oder 1
07 0: High-Speed–Kommunikation
1: Long-Distance–Kommunikation
08 bis Nicht verwendet. 00
15

Hinweis Werden Änderungen an diesen Einstellungen vorgenommen, schalten Sie die


Stromversorgung aus und wieder ein, damit die neuen Einstellungen wirksam
werden.

Slave–E/A–Zuweisung Die Eingangsbits in IR 000 bis IR 007 und die Ausgangsbits in IR 010 bis IR 017
werden für CompoBus/S–E/A–Module verwendet. Die CompoBus/S–E/A
(EINGANG 0 bis 15 und AUSGANG 0 bis 15) besitzen gemäß nachstehender
Tabelle die folgenden Zuweisungen.
EING0 bis EING15 sind die Geräteadressen für Eingangsmodule und AUSG0
bis AUSG15 sind die Teilnehmeradressen für Ausgangsmodule.
Wort Bit
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Ein- IR 000 EING 1 EING 0
gang IR 001 EING 3 EING 2
IR 002 EING 5 EING 4
IR 003 EING 7 EING 6
IR 004 EING 9 EING 8
IR 005 EING 11 EING 10
IR 006 EING 13 EING 12
IR 007 EING 15 EING 14
Aus- IR 010 AUSG 1 AUSG 0
gang IR 011 AUSG 3 AUSG 2
IR 012 AUSG 5 AUSG 4
IR 013 AUSG 7 AUSG 6
IR 014 AUSG 9 AUSG 8
IR 015 AUSG 11 AUSG 10
IR 016 AUSG 13 AUSG 12
IR 017 AUSG 15 AUSG 14

143
CompoBus/S–E/A–Master–Funktionen (nur SRM1(–V2)) Abschnitt 2-12

Hinweis 1. Wird die maximale Anzahl von CompoBus/S–Geräten auf 16 gesetzt, kön-
nen EIN8 bis EIN15 und AUSG 8 bis AUG 15 als Hilfsbits verwendet wer-
den.
2. CompoBus/S–Module mit weniger als 8 Anschlüssen werden die Bitadres-
sen von entweder 0 oder 8 zugewiesen.
3. CompoBus/S–Module mit 16 Anschlüssen können nur auf Adressen mit ge-
raden Nummern eingestellt werden.
4. Analoge Anschlüsse können nur auf Adressen mit geraden Nummern ein-
gestellt werden.
Statusmerker Der Kommunikationszustand zwischen CompoBus/S–Module wird durch die
Slave registriert–Merker und Slave–Kommunikations–Fehlermerker AR04 bis
AR07 ausgegeben.
Wort Obere Bits: Slave–Kommunikations–Fehlermerker Untere Bits: Slave registriert–Merker
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AR 04 AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
AR 05 EING EING EING EING EING EING EING EING EING EING EING EING EING EING EING EING
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
AR 06 AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG AUSG
15 14 13 12 11 10 9 8 15 14 13 12 11 10 9 8
AR07 EING EING EING EING EING EING EING EING EING EING EING EING EING EING EING EING
15 14 13 12 11 10 9 8 15 14 13 12 11 10 9 8

Hinweis 1. EING 0 bis EING 15 sind Feldbus–Eingangs– und AUSG 0 bis AUSG 15
sind Feldbus–Ausgangsmodule.
2. Wird die maximale Anzahl der CompoBus/S–Geräte auf 16 gesetzt, können
EING 8 bis EING 15 und AUSG 8 bis AUSG 15 nicht verwendet werden.
3. Der Slave registriert–Merker wird auf EIN gesetzt, wenn ein Slave–Gerät
zum Kommunikationsverbund hinzugefügt wird. Wird die Stromversorgung
zur CPU–Baugruppe aus– und wieder eingeschaltet, so werden alle Bits auf
AUS gesetzt.
4. Der Slave–Kommunikations–Fehlermerker wird auf EIN gesetzt, wenn ein
im Netz befindlicher Slave vom Netz getrennt wird. Das Bit wird auf AUS ge-
setzt, wenn der Slave wieder an das Netz angeschlossen wird.

144
Einstellschaltungen (nur CPM1/CPM1A/CPM2A) Abschnitt 2-13

2-13 Einstellschaltungen (nur CPM1/CPM1A/CPM2A)


Die SPS–Systeme sind mit Einstellschaltungen ausgestattet, die die Einstellun-
gen der Werteingabe–Potis der CPU–Baugruppe automatisch auf die Worte im
E/A–Speicher der CPU–Baugruppe übertragen. Diese Funktion ist sehr nütz-
lich, wenn Sollwerte während des Betriebes genau eingestellt werden müssen.
Diese Sollwerte können mit dem Werteingabe–Poti auf der CPU–Baugruppe
geändert werden.
Einstellungen Die SPS besitzt zwei Werteingabe–Potis, die für einen weiten Bereich von Zeit-
geber– und Zählereinstellungen verwendet werden können. Die folgenden Dia-
gramme zeigen die Werteinstellungen. Werden diese Werteingabe–Potis ge-
dreht, werden Werte von 0000 bis 0200 (BCD–Wert) im SR–Bereich gespei-
chert. Verwenden Sie für die Einstellungen einen Kreuzschlitz–Schraubendre-
her.
Die Speicherworte werden einmal in jedem CPU–Zyklus aufgefrischt.

CPM1

Der Wert für Werteingabe–Poti 0 wird in SR


250 gespeichert.
Der Wert für Werteingabe–Poti 1 wird in SR
251 gespeichert.

CPM1A/CPM2A

Der Wert für Werteingabe–Poti 0 wird in SR


250 gespeichert.
Der Wert für Werteingabe–Poti 1 wird in SR
251 gespeichert.

Hinweis In der obenstehenden Zeichnung ist die CPM2A dargestellt, die CPM1A besitzt
aber die gleichen Einstellungmöglichkeiten.

! Vorsicht Die Werteingabe kann sich bei Temperaturänderungen verändern. Benutzen


Sie die Werteingabe–Potis nicht für Anwendungen, die eine präzise und feste
Einstellung erfordern.

145
Einstellschaltungen (nur CPM1/CPM1A/CPM2A) Abschnitt 2-13

Einstellverfahren
Verwenden Sie für die Einstellungen einen
Nehmen Sie Werteingaben vor Kreuzschlitz–Schraubendreher.
Schließen Sie ein Programmiergerät wie eine
Programmierkonsole an und überprüfen Sie die
in SR 250 und SR 251 gespeicherten Werte.

Erstellen Sie ein Kontaktplan– Werten Sie die in SR 250 und SR 251 gespei-
Programm cherten Werte mit dem Kontaktplan–Programm
aus.

Werteingabe–Poti 0 Werteingabe–Poti 1

SR 251 Werteingabe–Poti 1–Sollwert


SR 250 Werteingabe–Poti 0–Sollwert

Werteingabeverfahren Verwenden Sie einen Kreuzschlitz–Schraubendreher, um die Werteingabe vor-


zunehmen. Sie können die Sollwerte überprüfen , indem Sie ein Programmier-
gerät wie eine Programmierkonsole anschließen und die in SR 250 und SR 251
gespeicherten Werte ablesen.

Werteingabe–Poti 0 Werteingabe–Poti 1

Kontaktplan– Die folgende Tabelle enthält die Worte und Bits, in denen die Werteingaben ge-
Programmierung speichert werden.
Wort Bits Name Wert
SR 250 00 bis 15 Werteingabe–Poti 0–Sollwertbereich 0000 bis
SR 251 00 bis 15 Werteingabe–Poti 1–Sollwertbereich 0200 (BCD)

Im folgenden Beispielprogramm wird der in SR 250 gespeicherte Werteingabe–


Sollwert (0000 bis 0200 BCD) als Zeitgeber–Sollwert verwendet. Der Bereich
des Zeitgebers ist 0,0 s bis 20,0 s.

Startmerker
Spezifiziert SR 250 für den Zeitgeber–Sollwert.

146
Eingänge mit Impulsspeicherung Abschnitt 2-14

2-14 Eingänge mit Impulsspeicherung


2-14-1 CPM1/CPM1A–Eingänge mit Impulsspeicherung
Die CPM1/CPM1A verfügt über Eingänge mit Impulsspeicherung für die Ein-
gabe schneller Signale.
CPU–Baugruppen mit 10 Ein–/Ausgängen verfügen über 2 und CPU–Baugrup-
pen mit 20, 30 und 40 Ein–/Ausgängen über 4 Impuls–Speichereingänge. Die
Anschlüsse können entweder als Impulsspeicher– oder als Interrupt–Eingang
verwendet werden.
Betrieb mit Impuls–Speichereingänge verfügen über einen internen Puffer, somit können
Impulsspeicherung Eingansgsignale mit einer Impulsbreite von min. 0,2 ms innerhalb eines Zyklus
erfasst werden.

Über– Programm- E/A–Auf– Über– Programm- E/A–Auf–


wachung ausführung frischung wachung ausführung frischung

Eingangs-
signal
(00003)

IR 00003
1 Zyklus

CPU–Baugruppe Eingangsbits Mindest


Eingangs–
Impulsbreite
CPU–Baugruppen mit 10 E/A IR 00003 bis IR 00004 0,2
, ms
CPU–Baugruppen 20, 30 und 40 E/A IR 00003 bis IR 00006

Einstellung der Eingänge Die Eingangsbits in der obigen Tabelle können gemäß folgender Tabelle als Ein-
mit Impulsspeicherung gänge mit Impulsspeicherung in DM 6628 eingestellt werden.
Wort Einstellungen
DM 6628 0: Normaler Eingang
1: Interrupt–Eingang
g g
2 Schneller Eingang (Impulsspeicher)
2:
(G d i t ll
(Grundeinstellung: 0)

Bit 15 0
DM 6628

Einstellung für Eingang 00006: auf 2 setzen


Einstellung für Eingang 00005: auf 2 setzen
Einstellung für Eingang 00004: auf 2 setzen
Einstellung für Eingang 00003: auf 2 setzen

Programmbeispiel
In diesem Beispiel wurde 6628 DM auf 0002 eingestellt.

25315 Erster Zyklus–Merker


EIN für 1 Zyklus
Maskierung/Demaskierung der
@INT(89)
Eingangs–Interupts.
000
000
Demaskiert 00003 (Interrupt–
#000E Eingang 0), maskiert andere.

147
Eingänge mit Impulsspeicherung Abschnitt 2-14

2-14-2 CPM2A/CPM2C–Eingänge mit Impulsspeicherung


Die CPM2A und CPM2C besitzen vier Eingänge, die als Eingänge mit Impuls-
speicherung verwendet werden (werden ebenfalls für Interrupt–Eingänge und
Schnelle Zähler–Eingänge mit 2 kHz verwendet). Mit Eingänge mit Impulsspei-
cherung können sich innerhalb eines Zyklus ändernde Signale ausgewertet
werden, indem diese in einem internen Puffer gespeichert werden.

Über– Programm– E/A–Auf– Über– Programm– E/A–Auf–


wachung ausführung frischung wachung ausführung frischung

Eingang
(00003)

00003

1 Zyklus

Eingang (sehen Sie den Hinweis) Mindest–Eingangssignalbreite


00003 µs
50 µ
00004
00005
00006 (sehen Sie den Hinweis 2)

Hinweis 1. Eingänge 00003 bis 00006 können als Interrupt–Eingänge, schnelle Zäh-
ler–Eingänge mit 2 kHz oder Eingänge mit Impulsspeicherung verwendet
werden. Anderenfalls können sie als gewöhnliche Eingänge eingesetzt
werden.
2. Eingang 00006 ist in CPM2C–CPU–Baugruppen mit 10 E/A nicht vorhan-
den.
Die folgende Tabelle zeigt die Beziehungen zwischen Eingängen mit Impuls-
speicherung und anderen Funktionen der SPS der CPM2A/CPM2C–Serie.
Funktion Eingänge mit Impulsspeicherung
Synchronisierte Impulssteuerung Kann gleichzeitig verwendet werden
Eingangsgestuerte Interrupts Sehen Sie Hinweis 1
Intervall–Zeitgeber–Interrupts Kann gleichzeitig verwendet werden
Schneller Zähler Kann gleichzeitig verwendet werden
E–gesteuerte Interrupts (Zählmodus) Sehen Sie Hinweis 2
Impulsausgänge Kann gleichzeitig verwendet werden
Eingänge mit Impulsspeicherung Sehen Sie Hinweis 3
Eingangs–Zeitkonstante Sehen Sie Hinweis 4
Uhr Kann gleichzeitig verwendet werden
Hinweis 1. Eingänge mit Impulsspeicherung verwenden die Interrupt–Eingangsfunk-
tion; somit können die Eingänge 00003 bis 00006 in der SPS–Konfiguration
nicht gleichzeitig als Eingänge mit Impulsspeicherung und als Interrupt–
Eingänge zugewiesen werden.
2. Ein Eingang mit Impulsspeicherung und ein Interrupt im Zählmodus kann in
der SPS–Konfiguration nicht dem gleichen Eingang zugewiesen werden.
3. Eingänge, die als Eingänge mit Impulsspeicherung zugewiesen werden
können, sind 00003 bis 00006.
4. Eingangszeit–Konstanten werden für alle Eingänge deaktiviert, die als Ein-
gänge mit Impulsspeicherung spezifiziert werden.

148
Eingänge mit Impulsspeicherung Abschnitt 2-14

Verwendung der Eingänge mit Impulsspeicherung

Verdrahtung der Eingänge Eingänge 00003, 00004, 00005 und 00006

SPS–Konfiguration (DM 6628) 2: Werden als Eingänge mit Impulsspeicherung verwendet.

Eingang mit Impuls– Schnelle


speicherung 0 Ansprechzeit
Eingänge mit
Impulsspeicherung Eingang mit Impuls–
speicherung 1

Eingang mit Impuls–


speicherung 2

Eingang mit Impuls–


speicherung 3

SPS–Konfigur.

DM 6628

Verdrahtung der Verdrahten Sie die CPM2A–Eingänge, wie es in der folgenden Abbildung dar-
Eingänge gestellt ist.

Eingang 00003: Eing. mit Impulsspeicherung 0


Eingang 00004: Eing. mit Impulsspeicherung 1
Eingang 00005: Eing. mit Impulsspeicherung 2
Eingang 00006: Eing. mit Impulsspeicherung 3

149
Eingänge mit Impulsspeicherung Abschnitt 2-14

Verdrahten Sie die CPM2C–Eingänge, wie es in der folgenden Abbildung dar-


gestellt ist.
CPU–Baugruppen mit 10 E/A–Anschlüssen

Eingang E.–steckverbind.

Eingang 00004: Eing. mit Impulsspeicherung 1


Eingang 00003: Eing. mit Impulsspeicherung 0

00004:
Eingang mit Impuls–
speicherung 1
00003:
Eingang mit Impuls–
speicherung 0

CPU–Baugruppen mit 20 E/A–Anschlüssen

E.–steckverbind.

00006: Eingang mit Impulsspeicherung 3*


00005: Eingang mit Impulsspeicherung 2*
00004: Eingang mit Impulsspeicherung 1
00003: Eingang mit Impulsspeicherung 0

SPS–Konfiguration Um Eingänge mit Impulsspeicherung mit der CPM2A oder CPM2C zu verwen-
den, müssen Sie die folgenden Einstellungen im Systemeinstellbereich (DM
6628) über ein Programmiergerät vornehmen.
Wort Bits Funktion Ein–
stellung
DM 6628 00 bis Interrupt–Einstellung für 0: Normaler Eingang 2
03 Eingang 3 Interrupt–Eingänge
1: Interru t–Eingänge
04 bis Interrupt–Einstellung für (Interrupt–Eingangs–
07 Eingang 4 oder Zählmodus))
08 bis Interrupt–Einstellung für 2: Schneller Eingang
11 Eingang 5
12 bis Interrupt–Einstellung für
15 Eingang 6

Hinweis Eingang 00005 in der CPM2C CPU–Baugruppe mit nur 10 Ein–/Ausgängen


kann nur als normaler Eingang verwendet werden, Eingang 00006 ist nicht vor-
handen.

150
Makrofunktion Abschnitt 2-15

Die Einstellungen werden wirksam, wenn die Betriebsart geändert wird (von
PROGRAM auf MONITOR/RUN) oder wenn die Spannungsversorgung der
CPM_A/CPM_C eingeschaltet wird.

2-15 Makrofunktion
Die Makrofunktion wird als ein einfaches Unterprogramm eingesetzt, das mit
wechselnden E/A–Worten mehrfach ausgeführt werden kann. Eine Anzahl ähn-
licher Programmabschnitte kann durch nur ein Unterprogramm ersetzt werden.
Dies führt zu einer Reduzierung der Programmschritte und somit zu einem
transparenteren Programm.
Anwendung der Ein Makro wird zum Aufruf eines Unterprogramms mit dem Befehl MCRO(99)
Makrofunktion verwendet, anstatt mit SBS(91) (UNTERPROGRAMM–EINSPRUNG), wie
nachfolgend dargestellt ist.

MCRO (99)
Unterprogramm–Nr
Erstes Eingangswort

Erstes Ausgangswort

Bei Ausführung des MRCO(99)–Befehls werden folgende Operationen abgear-


beitet:
1, 2, 3... 1. Der Inhalt der vier aufeinanderfolgenden Worte, die mit dem ersten Ein-
gangswort beginnen, wird auf SR 232 bis SR 235 übertragen.
2. Das spezifizierte Unterprogramm wird bis zu dem Befehl RET(93) (Unter-
programmrücksprung) ausgeführt.
3. Der Inhalt von SR 236 bis SR 239 (Ergebnis des Unterprogrammaufrufs)
wird auf die vier aufeinanderfolgenden Worte, beginnend mit dem ersten
Ausgangswort, übertragen.
4. Der Befehl MCRO(99) ist hiermit abgearbeitet.
Durch Ausführung des Befehls MCRO(99) kann dasselbe Befehlsschema nach
Bedarf durch Änderung des ersten Eingangswortes oder des ersten Ausgangs-
wortes mehrfach aufgerufen werden.
Die folgenden Einschränkungen treffen bei Verwendung der Makrofunktion zu.
• Die einzigen Worte, die für die Ausführung jedes MCRO–Befehls genutzt wer-
den können, sind vier aufeinanderfolgende Worte, beginnend mit der ersten
Eingangswortnummer (für Eingänge) und vier aufeinanderfolgende Worte,
beginnend mit der ersten Ausgangswortnummer (für Ausgänge).
• Die spezifizierten Ein– und Ausgänge müssen eine eindeutige Zuordnung zu
den Worten des Unterprogrammes aufweisen.
• Nur bei einer vollständigen Abarbeitung des Unterprogramms (obiger Schritt
3) werden die Ergebnisse des Unterprogramms bei der direkten Ausgangs-
methode in die spezifizierten Ausgangsworte übertragen.
Hinweis SR 232 bis SR 239 können als Hilfsbits verwendet werden, wenn der
MCRO(99)–Befehl nicht eingesetzt wird.
Die Bits des ersten Eingangs– bzw. Ausgangswortes können nicht als E/A–Bits,
jedoch als andere Bits ( z. B. HR–Bits, Arbeits–Bits etc.) oder DM–Worte, spezi-
fiziert werden.
Die Definition der durch den MCRO(99)–Befehl aufgerufenen Unterprogramme
erfolgt über SBN(92) und RET(93), ähnlich einem normalen Unterprogramm.

151
Makrofunktion Abschnitt 2-15

Anwendungsbeispiel Wird ein Makro verwendet, kann das Programm wie nachstehend dargestellt,
vereinfacht werden.
Ohne Makro Mit Makro
25313 (Immer EIN)
00000 20001 MCRO (99)
20000
030

20000 000

200

00001 00002 MCRO (99)


20001
030
002
00200 20501
20500 205

MCRO (99)
20500
030

00201 00202 005


20501 210

00500 21001 MCRO (99)


21000 030
001
21000
220

00501 00502
SBN (92) 030
21001

23200 23601
00100 22001
23600
22000

23600
22000

00101 00102 23201 23202


22001 Unterprogramm 23601
wird zur Definie-
rung eines Ma-
kros verwendet RET (93)

152
Berechnungen mit vorzeichenbehafteten Binärdaten Abschnitt 2-16

2-16 Berechnungen mit vorzeichenbehafteten Binärdaten


Die CPM1/CPM1A/CPM2A/SRM1(–V2) ermöglicht Berechnungen mit vorzei-
chenbehafteten Binärdaten mit den folgenden Befehlen. Vorzeichenbehaftete
Binärdaten werden unter Anwendung von 2er–Komplementen verarbeitet.
CPM2A/CPM2C– und Die folgenden vorzeichenbehafteten Binärwert–Befehle stehen in den SPS–Sy-
SRM1(–V2) Befehle stemen CPM2A, CPM2C und SRM1(–V2) zur Verfügung:
• BINÄRE ADDITION – ADB(50)
• BINÄRE SUBTRAKTION – SBB(51)
• 2er KOMPLEMENT – NEG(––)
CPM1/CPM1A–Befehle Die SPS–Systeme CPM1/CPM1A verfügen über die folgenden vorzeichenbe-
hafteten binären Befehle:
• BINÄRE ADDITION – ADB(50)
• BINÄRE SUBTRAKTION – SBB(51)
Berechnungen vorzeichenbehafteter Daten
Addition Subtraktion
7 + 3 = 10 7–3=4
(–7) + 3 = –4 (–7) – 3 = –10
7 + (–3) = 4 7 – (–3) = 10
(–7) + (–3) = –10 (–7) – (–3) = –4

2-16-1 Definition vorzeichenbehafteter Binärdaten


Vorzeichenbehaftete Binärdaten werden unter Anwendung von 2er–Komple-
menten verarbeitet; Bit 15 wird als Vorzeichenbit verwendet. Der Datenbereich
eines Wortes reicht von – 32.768 bis 32.767 (8000 bis 7FFFhex.).
Die folgende Tabelle zeigt das Äquivalent zwischen dezimalen und hexadezi-
malen Daten.
Dezimalzahl 4–stelliger Hex.–Wert
32,767 7FFF
32,766 7FFE
. .
. .
. .
2 0002
1 0001
0 0000
–1 FFFF
–2 FFFE
. .
. .
. .
–32,767 8001
–32,768 8000

153
Flankenüberwachung Abschnitt 2-17

2-16-2 Arithmetische Merker


Die Ausführungsergebnisse der Befehle für vorzeichenbehaftete Binärdaten
wirken sich auf arithmetische Merker aus. Die Merker und die Bedingungen, un-
ter denen diese auf EIN gesetzt werden, sind in der folgenden Tabelle aufge-
führt. Die Merker sind auf AUS gesetzt, wenn diese Bedingungen nicht erfüllt
werden.
Merker EIN–Bedingungen
Übertragsmerker (SR 25504) Additionsübertrag.
Negativergebnis einer Subtraktion.
Gleichmerker (SR 25506) Die Ergebnisse der Addition, Subtraktion,
Multiplikation oder Division sind 0.
Konvertierungsergebnisse des 2er–
Komplements sind 0.

2-16-3 Eingabe vorzeichenbehafteter Binärdaten unter Verwendung von


Dezimalwerten
Obwohl Berechnungen für vorzeichenbehaftete Binärdaten hexadezimale Aus-
drücke verwenden, können Eingaben über die Programmierkonsole oder CX–
Programmer/SYSWIN unter Anwendung im Dezimalzahl–Format vorgenom-
men werden. Das Eingabeverfahren bei Verwendung der Programmierkonsole
wird in den Technischen Handbüchern der CPM1, CPM1A, CPM2A CPM2C
und der SRM1–Master–Baugruppe beschrieben. Sehen Sie bitte das CX–Pro-
grammer/SYSWIN–Bedienerhandbuch.
Befehlseingabe Sehen Sie die technischen Handbücher der CPM1, CPM1A, CPM2A, CPM2C
und SRM1–Master–Baugruppe für weitere Informationen zur Eingabe von Be-
fehlen über die Programmierkonsole.

2-17 Flankenüberwachung
Der CPM1/CPM1A, CPM2A//CPM2C und SRM1(–V2) unterstützen die Flan-
kenüberwachung über die Programmierkonsole oder CX–Programmer/SYS-
WIN. Die EIN/AUS– oder AUS/EIN–Statusänderung eines spezifizierten Bits
kann erfaßt werden. Eine Statusänderung wird auf dem Display angezeigt und
ein Summer ertönt.
Sehen Sie die technischen Handbücher der CPM1, CPM1A, CPM2A und
CPM2C oder der SRM1–Master–Baugruppe und und das CX–Programmer/
SYSWIN–Programmierhandbuch für weitere Informationen über die Flanke-
nauswertung.

2-18 Erweiterte Befehle (nur CPM2A/CPM2C/SRM1(–V2) )


Eine Gruppe neuer Befehle steht für die SPS–Systeme der CPM2A–, CPM2C–
und SRM1(–V2)–Serie zur Verfügung, um spezielle Programmieranforderun-
gen zu unterstützen. Den Erweiterten Befehlen werden bis zu 18 Funktionsco-
des zugewiesen, um diese im Programmen aufzurufen. Dies ermöglicht Ihnen,
die für jedes CPM2A, CPM2C, or SRM1(-V2)–Programm benötigten Befehle
wirkungsvoller auszuwählen.
Den AWL-Anweisungen der Erweiterte Befehle folgt ”(––)” als Funktionscode,
um anzuzeigen, daß diesen Befehlen Funktionscodes in der Befehlstabelle zu-
gewiesen werden müssen, bevor sie einsatzbereit sind (es sei denn, sie werden
in den Grundeinstellungen verwendet).

154
Erweiterte Befehle (nur CPM2A/CPM2C/SRM1(–V2) ) Abschnitt 2-18

Jedem Befehl, dem in der Befehlstabelle kein Funktionscode zugewiesen


wurde, muss vor der Programmierung ein Funktionscode zugewiesen werden,
der von dem Programmiergerät und der CPM2A/CPM2C or SRM1(-V2) ver-
wendet wird. Durch die Zuweisung der Erweiterten Befehle zu der Befehlsta-
belle ändert sich die Bedeutung der Befehle und Operanden. Stellen Sie des-
halb vor der Programmierung und der Übertragung der Befehlstabelle in die
CPM2A/CPM2C oder SRM1(-V2) zur Programmausführung sicher, dass die
Einstellung der Befehlstabelle richtig ist.
Beispiel: CPM2A/CPM2C–SPS
Die speziellen Befehle, die im folgenden Beispiel verwendet werden, gelten für
die CPM2A/CPM2C. Diese Begriffe gelten auch für die SRM1(-V2).
INI INI
Funktionscode 61 Funktionscode 61

SPED SPED

Funktionscode 64 PULS Funktionscode 64 PULS

MAX MAX

Funktionscode 65 MIN. Funktionscode 65 MIN.

SUM SUM
Zum Zeitpunktes der Auslieferung werden Werden keine Impulsausgaben verwendet,
die Funktions-Codes, wie vorstehend darge- aber Maximal-, Minimal- und Summenwerte
stellt, zugewiesen. (In diesem Beispiel bezie- benötigt, kann der SET-Befehl dazu verwen-
hen sich alle Befehle auf Impulsausgaben.) det werden, Befehle in der Befehlstabelle neu
zuzuweisen (wie vorstehend dargestellt).

Hinweis 1. Stellen Sie das SPS–Modell auf “CPM2” oder “SRM1” ein, wenn Sie die Er-
weiterte Befehle für die SRM1(–V2) oder CPM2A/CPM2C über CX–Pro-
grammer/SYSWIN spezifizieren.
2. Die SPS–Konfiguration muss auf benutzerdefinierte Erweiterte Befehls–
Funktionscodes eingestellt werden, damit Funktionscodes zugewiesen
werden können. Setzen Sie die Bits 08 bis 11 von DM 6602 auf 1.

155
Erweiterte Befehle (nur CPM2A/CPM2C/SRM1(–V2) ) Abschnitt 2-18

2-18-1 Erweiterte Befehle der CPM2A/CPM2C


Die folgenden 18 Funktionscodes können für Erweiterte Befehle verwendet
werden: 17, 18, 19, 47, 48, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 87, 88 und 89.
Die Funktionscode–Zuweisungen können mit einer Programmierkonsole oder
der Programmiersoftware geändert werden.
Sehen Sie den Abschnitt 4–4–5 Zuweisung von Erweiterte Befehls–Funktions-
codes im CPM2A– oder CPM2C–Bedienerhandbuch für Verfahren mit der Pro-
grammierkonsole.
Sehen Sie bitte das CX–Programmer– oder SYSWIN–Bedienerhandbuch.
Die anwendbaren Erweiterten Befehle sowie die Vorgabe-Funktionscodes, die
bei der Auslieferung der SPS zugewiesen sind, sind nachfolgend aufgeführt.
AWL Funktionscode
ASFT 17
--- 18
--- 19
RXD 47
TXD 48
CMPL 60
INI 61
PRV 62
CTBL 63
SPED 64
PULS 65
SCL 66
BCNT 67
BCMP 68
STIM 69
--- 87
--- 88
INT 89
ACC ---
AVG ---
FCS ---
HEX ---
HMS ---
MAX ---
MIN ---
NEG ---
PID ---
PWM ---
SCL2 ---
SCL3 ---
SEC ---
SRCH ---
STUP ---
SUM ---
SYNC ---
TIML ---
TMHH ---
ZCP ---
ZCPL ---

2-18-2 Erweiterte Befehle der SRM1(-V2)


Die folgenden 18 Funktionscodes können für Erweiterte Befehle verwendet
werden: 17, 18, 19, 47, 48, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 87, 88 und 89.

156
Erweiterte Befehle (nur CPM2A/CPM2C/SRM1(–V2) ) Abschnitt 2-18

Die Funktionscode–Zuweisungen können mit einer Programmierkonsole oder


der Programmiersoftware geändert werden.
Sehen Sie den Abschnitt 4–2–6 Einstellung von Erweiterte Befehle im SRM1–
Master–Baugruppen–Programmierhandbuch für Verfahren mit der Program-
mierkonsole bzw. das CX–Programmer oder SYSWIN–Bedienerhandbuch.
Die anwendbaren Erweiterten Befehle sowie die Vorgabe-Funktionscodes, die
bei der Auslieferung der SRM1(–V2) zugewiesen sind, sind nachfolgend aufge-
führt.
AWL Funktionscode
ASFT 17
--- 18
--- 19
RXD 47
TXD 48
CMPL 60
--- 61
--- 62
--- 63
--- 64
--- 65
SCL* 66
BCNT 67
BCMP 68
STIM 69
--- 87
--- 88
--- 89
FCS ---
HEX ---
NEG* ---
PID* ---
STUP ---
ZCP* ---

Hinweis *SCL(66), NEG(––), PID(––) und ZCP (––) werden nur von den SRM1–C0j–
V2–CPUs unterstützt.

157
Verwendung der CPM2A/CPM2C–Uhrfunktion Abschnitt 2-19

2-19Verwendung der CPM2A/CPM2C–Uhrfunktion


Die CPM2A–SPS und einige CPM2C–SPS–Systeme verfügen über eine einge-
baute Uhrfunktion. Dieser Abschnitt beschreibt die Verwendung der Uhr.

2-19-1 Datenbereichs–Worte
Diese folgende Abbildung verdeutlicht die Konfiguration der mit der Uhr verwen-
deten Worte (AR 17 bis AR 21). Diese können, wie erforderlich, gelesen und ver-
wendet werden. (AR 17 ermöglicht einen schnellen Zugriff auf die Stunden– und
Minuten–Angaben.)
15 8 7 0
AR 17 Stunde Minute
Jeweils 2–stelliger BCD–Wert
AR 18 Minute Sekunde (Nur die letzten beiden Stellen des
AR 19 Datum Stunde Jahres stehen zur Verfügung.)
AR 20 Jahr Monat
AR 21 Wochentag 00 bis 06: Sonntag bis Samstag

AR 2115 Uhr–Einstellungsmerker
AR 2114 Uhr–Stoppmerker
AR 2113 30 Sekunden–Stellmerker

2-19-2 Einstellung der Zeit


Verwenden Sie ein Programmiergerät wie folgt, um die Zeit einzustellen:
Alles einstellen
1, 2, 3... 1. AR 2114 (Uhr–Stoppmerker) einschalten, um die Uhr zu stoppen und zu er-
lauben, dass AR 18 bis AR 21 überschrieben wird.
2. Stellen Sie AR 18 bis AR 20 (Minute/Sekunde, Datum/Stunde und Jahr/Mo-
nat) sowie AR 2100 bis AR 2107 (Wochentag) über ein Programmiergerät
ein.
3. Nach der Zeiteinstellung wird AR 2115 ebenfalls automatisch zurückge-
setzt. Die Uhr beginnt den Betrieb mit der eingestellten Zeit und Uhr–Stopp-
merker und der Uhr–Einstellmerker werden automatisch zurückgesetzt.
Nur Sekunden einstellen
Mit AR 2113 können Sie die Sekunden auf einfache Weise auf ”00” einstellen,
ohne die gesamte Einstellung vorzunehmen.Die Uhrzeit ändert sich wie folgt,
wenn AR 2113 eingeschaltet wird:
Bei einer Sekunden–Einstellung zwischen 00 und 29 werden die Sekunden auf
00 zurückgesetzt und die Minuten–Einstellung nicht geändert.
Bei einer Sekunden–Einstellung zwischen 30 und 59 werden die Sekunden auf
00 zurückgesetzt und die Minuten–Einstellung um eins inkrementiert.
Nach der Uhrzeit–Einstellung wird AR 2113 automatisch zurückgesetzt.
Hinweis Die Zeit kann einfach über Menüfunktionen einer Programmierkonsole oder mit
CX–Programmer/SYSWIN eingestellt werden. Sehen Sie das CPM2A– oder
CPM2C–Programmierhandbuch für Verfahren mit der Programmierkonsole
oder das Handbuch für CX–Programmer/SYSWIN.

158
KAPITEL 3
Anschluss von Erweiterungsbaugruppen
Dieser Abschnitt beschreibt, wie die analogen E/A–Baugruppen CPM1A–MAD01– und CPM2C–MAD11, Temperaturfüh-
ler–Baugruppen CPM1A–TS001/002/101/102 und CPM2C–TS001/101 sowie CompoBus/S–E/A–Link–Baugruppen
CPM1A–SRT21 und CPM2C–SRT21 verwendet werden.

3-1 Analoge E/A–Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160


3-1-1 Analoge E/A–Baugruppen CPM1/CPM1A/CPM2A . . . . . . . . . . . . . . 160
3-1-2 Analoge E/A–Baugruppen der CPM2C . . . . . . . . . . . . . . . . . . . . . . . . 169
3-2 Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
3-2-1 Temperaturfühler–Baugruppen der CPM1A/CPM2A . . . . . . . . . . . . . . 181
3-2-2 Temperaturfühler–Baugruppen der CPM2C . . . . . . . . . . . . . . . . . . . . . 182
3-2-3 Verwendung der Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . . 184
3-2-4 Anschließen von Temperaturfühler–Baugruppen . . . . . . . . . . . . . . . . . 184
3-2-5 Einstellung der Temperaturbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
3-2-6 Anschluss der Temperaturfühler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
3-2-7 Kontaktplanprogrammierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
3-2-8 Zwei–Dezimalstellen–Betriebsart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
3-3 CompoBus/S–E/A–Link–Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

159
Analoge E/A–Funktionen Abschnitt 3-1

3-1 Analoge E/A–Funktionen


3-1-1 Analoge E/A–Baugruppen CPM1/CPM1A/CPM2A
Maximal 3 Erweiterungs– oder E/A–Erweiterungsbaugruppen, einschließlich
CPM1A–MAD01 Analog–E/A–Baugruppen, können mit einer CPM1, CPM1A
(sehen Sie den Hinweis) oder CPM2A SPS verbunden werden. Eine analoge
E/A–Baugruppe verfügt über 2 Analogeingänge und 1 Analogausgang. Ist das
Maximum von 3 analogen E/A–Baugruppen angeschlossen, sind 6 analoge
Eingänge und 3 analoge Ausgänge möglich.
• Der Analog–Eingangsbereich kann auf 0 bis 10 VDC, 1 bis 5 VDC oder 4 bis 20
mA mit einer Auflösung von 1/256 eingestellt werden.
• Eine Drahtbruch–Erfassungsfunktion kann mit der 1 bis 5 VDC und 4 bis
20 mA–Einstellung verwendet werden.
• Der analoge Ausgabebereich kann auf 0 bis 10 VDC, 4 bis 20 mA oder –10 bis
10 VDC eingestellt werden. Die Ausgabe besitzt eine Auflösung von 1/256,
wenn der Bereich auf 0 bis 10 VDC oder 4 bis 20 mA eingestellt wird oder eine
Auflösung von 1/512, wenn –10 bis 10 VDC eingestellt sind.
Maximal 3 Erweiterungsbaugruppen oder E/A–Erweiterungsbaugruppen können angeschlossen werden.

CPM1(–V1)–/CPM1A–/CPM2A– CPM1A–20EDR1– CPM1A–8ED– CPM1A–MAD01–


CPU–Baugruppe E/A–Erweiterungs- E/A–Erweiterungs- Analog–E/A–Baugruppe
baugruppe baugruppe

2 Analogausg.
1 Analogausg.

Hinweis Die CPM1–30CDR–j–V1 ist die einzige CPM1–CPU–Baugruppe, an die 3 Er-


weiterungsbaugruppen oder E/A–Erweiterungsbaugruppen angeschlossen
werden können. Nur eine Erweiterungsbaugruppe oder E/A–Erweiterungsbau-
gruppe können an Modelle ohne den “V1”–Zusatz angeschlossen werden. Ana-
loge Baugruppen können nicht mit CPM1A CPU–Baugruppen mit 10 oder 20
E/A angeschlossen werden. Hierzu müssen Sie eine CPM1A–CPU–Baugruppe
mit 30 oder 40 E/A verwenden.

160
Analoge E/A–Funktionen Abschnitt 3-1

Spannungs–E/A Strom–E/A
Analog–ein–
a og e Anzahl der Eingänge 2
gangs– Eingangssignalbereich 0 bis 10 V/1 bis 5 V 4 bis 20 mA
teil
Max. Nenneingangswert ±15 V ±30 mA
Eingangsimpedanz min. 1 MΩ 250Ω bei Nennstrom
Auflösung 1/256
Genauigkeit 1,0% bei Vollausschlag
A/D–Konvertierungsdaten 8 Bit binär
Analo–
ao Anzahl der Ausgänge 1
ger Aus–
A Ausgangssignalbereich 0 bis 10 V oder 4 bis 20 mA
gangs– –10 bis 10 V
teil (sehen Sie
Hinweis 1) Max. externer Ausgangsstrom 5 mA ---
Zulässiger externer Ausgangs–Lastwiderstand --- 350 Ω
Auflösung 1/256
(1/512 bei Wahl des Ausgangssignalbereichs –10 bis 10 V)
Genauigkeit 1,0% bei Vollausschlag
Einstelldaten 8 Bit, vorzeichenbehafteter Binärwert
Konvertierungszeit max. 10 ms pro Baugruppe (sehen Sie Hinweis 2)
Galvanische Trennung Galvanische Trennung über Optokoppler zwischen
E/A–Klemmen und SPS–Signalen. Keine galvanische Trennung
zwischen den analogen E/A–Signalen.

Hinweis 1. Bei analogen Ausgängen können sowohl Spannungs– als auch Stromaus-
gänge gleichzeitig verwendet werden. In diesem Fall darf der gesamte Aus-
gangsstrom 21 mA jedoch nicht überschreiten.
2. Die Konvertierungszeit ist die Gesamtzeit für 2 Analogeingänge und 1 Ana-
logausgang.

Analoge E/A–Signalbereiche
Analog–Eingangssignalbereiche
0 bis 10 V–Eingänge 1 bis 5 V–Eingänge 4 bis 20 mA–Eingänge
Konvertierungswert Konvertierungswert Konvertierungswert

1V 3V
Eingangssignal Eingangssignal Eingangssignal

161
Analoge E/A–Funktionen Abschnitt 3-1

Analog–Ausgangssignalbereiche

0 bis 10 V– und –10


bis +10 V–Ausgänge

Sollwert

Sollwert

4 bis 20 mA–Ausgänge

Sollwert

Einsatz analoger E/A


Analogeingänge 0 bis 10 V, 1 bis 5 V oder 4 bis 20 mA
E/A–Bereich spezifizieren
Analogausgänge: 0 bis 10 V, –10 bis +10 V oder 4 bis 20 mA

Baugruppe anschließen Schließen Sie die analoge E/A–Baugruppe an.

Analoge E/A verdrahten Schließen Sie das analoge Eingabegerät an.

Schreiben Sie den jeweiligen Programmcode.


Kontaktplan–Programm erstellen.
Analogeingang: Konvertierte Daten lesen.
Analogausgang: Sollwert schreiben.

162
Analoge E/A–Funktionen Abschnitt 3-1

Analogeingänge
CPU–Baugruppe Analoge E/A–Baugruppe

Kontaktplan–Programm
Wort (n + 1) Bereichscode

Wort (m + 1) Gewandelter Wert von


(21) MOVE–Befehl Analogeingang 1
Wort (m + 2) Gewandelter Wert von
Schreibt den Bereich- Analogeingang 2
scode. Liest den Kon-
vertierungswert.

Analoge Geräte
Temperaturfühler
Hierbei entspricht “m” den letzten Eingangswort
und “n” dem letzten Ausgangswort, das der CPU–, Drucksensor
vorhergehenden Erweiterungsbaugruppe oder der Drehzahlsensor
E/A–Erweiterungsbaugruppe zugewiesen ist. Flusssensor
Spann.–/Strommeter

Analoge Ausgänge
CPU–Baugruppe Analoge E/A–Baugruppe

Kontaktplan–Programm (Sehen Sie den Hinweis.)


Wort (n + 1) Bereichscode
Analoger Ausgabe–
(21) MOVE–Befehl sollwert

Schreibt den Bereich-


scode. Schreibt den
Sollwert

Analoge Geräte
Justiergeräte
Hierbei entspricht “n” dem letzten Ausgangswort, Servoregler
das der CPU–, vorhergehenden Erweiterungs– Frequenzumrichter
oder E/A–Erweiterungsbaugruppe zugewiesen
Andere
ist.

Hinweis Wort (n + 1) kann für den Bereichscode oder den analogen Ausgabesollwert
verwendet werden.

163
Analoge E/A–Funktionen Abschnitt 3-1

Einstellung des E/A– Der E/A–Signalbereich wird eingestellt, indem der Bereichscode in das Aus-
Signalbereichs gangswort der Analog–E/A–Baugruppe geschrieben wird.
E/A–Klemmenanordnung

Hinweis Bei Einsatz der Stromeingänge muss Klemme V IN1


mit I IN1 und Klemme V IN2 mit I IN2 kurzgeschlos-
sen werden.

V OUT Spannungsausgang
I OUT Stromausgang
COM Ausgang, gemeinsamer
V IN1 Spannungseingang 1
I IN1 Stromeingang 1
COM1 Eingang, gemeinsamer
V IN2 Spannungseingang 2
I IN2 Stromeingang 2
COM2 Eingang, gemeinsamer 2

Bereichscode
Um Daten zu konvertieren muss der Bereichscode für die analoge E/A–Bau-
gruppe eingestellt werden.
Die 8 Bereichscode–Einstellungen erlauben 8 Kombinationen von Signalberei-
chen für die Analogein– und –ausgänge, wie es in der folgenden Tabelle darge-
stellt ist.
Bereichs– Analogeingang 1– Analogeingang 2– Analog–Ausgangs–
code Signalbereich Signalbereich signalbereich
FF00 0...10 V 0 bis 10 V 0...10 V oder 4...20 mA
FF01 0...10 V 0 bis 10 V –10...10 V oder
4...20 mA
FF02 1...5 V oder 4...20 mA 0 bis 10 V 0...10 V oder 4...20 mA
FF03 1...5 V oder 4...20 mA 0 bis 10 V –10...10 V oder
4...20 mA
FF04 0...10 V 1...5 V oder 4...20 mA 0...10 V oder 4...20 mA
FF05 0...10 V 1...5 V oder 4...20 mA –10...10 V oder 4...
20 mA
FF06 1...5 V oder 4...20 mA 1...5 V oder 4...20 mA 0...10 V oder 4...20 mA
FF07 1...5 V oder 4...20 mA 1...5 V oder 4...20 mA –10...10 V oder 4...
20 mA

Schreiben Sie den Bereichscode im ersten Zyklus der Programmausführung in


das Ausgangswort (n + 1) der Analog–E/A–Baugruppe.
SR 25315–Erster Zyklus–
Merker EIN für 1 Zyklus

(21) Analogeingang 1: 1 bis 5 V/4 bis 20 mA


Analogeingang 2: 0 bis 10 V
Analogausgang: 0 bis 10 V/4 bis 20 mA

(n + 1)

Bereichscode (4–stelliger Hexadezimalwert)

164
Analoge E/A–Funktionen Abschnitt 3-1

Die Analog–E/A–Baugruppe beginnt erst mit der Konvertierung der analogen


E/A–Werte, nachdem der Bereichscode spezifiziert wurde.
Nach dem Einstellen des Bereichscodes ist es nicht möglich, die Einstellung zu
ändern, während Spannung an der CPU–Baugruppe anliegt. Schalten Sie die
Versorgungsspannung der CPU–Baugruppe aus und wieder ein, um den E/A–
Bereich zu ändern.
Hinweis Wird ein anderer Bereichscode als der, der in der obenstehenden Tabelle spezi-
fiziert ist, in n+1 eingetragen, erkennt die analoge E/A–Baugruppe diesen Be-
reichscode nicht und es wird keine analoge E/A–Wandlung durchgeführt.

Anschluss der analogen Dieser Abschnitt beschreibt, wie eine analoge E/A–Baugruppe an die CPU–
E/A–Baugruppe Baugruppe angeschlossen wird.
Maximal 3 Erweiterungs– oder E/A–Erweiterungsbaugruppen, einschließlich
analoger E/A–Baugruppen, können mit einer SPS verbunden werden. Es be-
stehen keine Vorschriften für die Anschlussreihenfolge, wenn die analoge E/A–
Baugruppe zusammen mit anderen Erweiterungs– oder E/A–Erweiterungsbau-
gruppen verwendet wird.
CPM1–/CPM1A–/CPM2A– Analoge E/A–Baugruppe
CPU–Baugruppe

E/A–Zuweisung
Ein–/Ausgänge werden für die analoge E/A–Baugruppe auf die gleiche Weise
zugewiesen, wie bei anderen Erweiterungs– oder E/A–Erweiterungsbaugrup-
pen; die Zuweisung beginnt mit dem nächsten Wort, das dem zu letzt zugewie-
senen Wort der CPU–Baugruppe oder das der vorhergehenden Erweiterungs-
baugruppe oder E/A–Erweiterungsbaugruppe zugewiesen wurde, folgt. Die Zu-
weisung ist wie folgt, wenn “m” das letzte zugewiesene Eingangswort und “n”
das letzte zugewiesene Ausgangswort auf der CPU–Baugruppe oder der vor-
hergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe ist:
Analoge E/A–Baugruppe
(m + 1)
(m + 2)

2 Analogeingänge
1 Analogausgang

(n + 1)

Zum Beispiel wird im folgenden Diagramm eine analoge E/A–Baugruppe an


eine CPU–Baugruppe mit 30 Ein–/Ausgängen angeschlossen.

Eingangsadresse IR 000 IR 002


IR 001 IR 003
CPU–Baugruppe Analoge
mit 30 Anschlüs- E/A–Bau-
sen gruppe
Ausgangsadresse IR 010
IR 011 IR 012

165
Analoge E/A–Funktionen Abschnitt 3-1

Verdrahtung analoger E/A–Geräte


Analogeingangs–Verdrahtung
2–adrig abgeschirmtes, Analoge E/A–Baugruppe
paarweise verdrilltes Kabel
Spannungs-
ausgang für
analoges 250 Ω
Ausgabe–
gerät
10 kΩ

Stromaus-
gang für 250 Ω
analoges
Ausgabe-
gerät
10 kΩ

Analoge Ausgangsverdrahtung
Spannungsausgänge
Analoge E/A–Baugruppe 2–adrig abgeschirmtes,
paarweise verdrilltes Kabel

Spannungs–
eingang ei-
nes Analog–
gerätes

Stromausgänge
Analoge E/A–Baugruppe 2–adrig abgeschirmtes,
paarweise verdrilltes Kabel

Strom–
eingang ei-
nes Analog–
gerätes

Bei analogen Ausgängen ist die gleichzeitige Verwendung von Spannungs–


und Stromausgängen möglich; der Gesamtstromausgang darf jedoch nicht 21
mA überschreiten.
Hinweis 1. Verwenden Sie ein 2–adrig abgeschirmtes, paarweise verdrilltes Kabel.
2. Verlegen Sie die Verkabelung getrennt von Versorgungsspannungsleitun-
gen (AC–Spannungsversorgungskabel, Versorgungsspannungsleitungen,
usw.)
3. Wird ein Eingang nicht verwendet, so schließen Sie V IN und I IN mit der
COM–Klemme kurz.
4. Verwenden Sie Crimp–Kabelschuhe. (Ziehen Sie die Klemmen mit einem
Drehmoment von 0,5 N⋅m an.)
5. Schließen Sie V IN mit I IN beim Einsatz von Stromeingängen kurz.
6. Installieren Sie bei Störungen in der Spannungsversorgung einen Entstör-
filter am Eingangsteil und an der Spannungsversorgung–Baugruppe.

166
Analoge E/A–Funktionen Abschnitt 3-1

Kontaktplan–Programm
Spezifizieren des Bereichscodes
Spezifizieren Sie den E/A–Signalbereich, indem Sie den Bereichscode im er-
sten Zyklus der Programmausführung über den Kontaktplan in das Ausgangs-
wort der analogen E/A–Baugruppe schreiben. Die Analog–E/A–Baugruppe be-
ginnt erst mit der Wandlung der analogen E/A–Werte, nachdem der Bereich-
scode spezifiziert wurde. (Sehen Sie Seite 164.)
Schreiben Sie im ersten Zyklus der Programmausführung den Bereichscode in
das Ausgangswort der analogen E/A–Baugruppe; das Ausgangswort der ana-
logen E/A–Baugruppe ist “n+1”, wenn “n” das letzte Wort ist, das der CPU–Bau-
gruppe oder einer vorhergehenden Erweiterungs– oder E/A–Erweiterungsbau-
gruppe in der E/A–Konfiguration zugewiesen wurde.
Lesen gewandelter Analog–Eingangswerte
Ein Kontaktplan kann zum Lesen der Speicherbereiche verwendet werden, in
dem die gewandelten Werte gespeichert sind. Werte werden an die nächsten
zwei Worten (m + 1, m + 2), die dem letzten, der CPU–Baugruppe, einer vorher-
gehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewiesenen
Eingangswort (m) folgen, ausgegeben.

(m + 1) 0 0 0 0 0 0 0

Analogeingang 1, Analogeingang 1–Wandlungswert (hex: (00 bis FF)


Drahtbruch–Erfas-
sungsmerker
0: Normal
1: Offene Schaltung (Drahtbruch)

(m + 2) 0 0 0 0 0 0 0

Analogeingang 2, Analogeingang 2–Wandlungswert (hex: (00 bis FF)


Drahtbruch–Erfas-
sungsmerker

0: Normal
1: Offene Schaltung (Drahtbruch)

Hinweis Der Drahtbruch–Erfassungsmerker wird aktiviert, wenn der Eingangssignalbe-


reich auf 1 bis 5 V oder 4 bis 20 mA eingestellt ist und das Eingangssignal unter 1
V oder 4 mA fällt. (Offene Schaltung werden nicht erfasst, wenn der Eingangssi-
gnalbereich auf 0 bis 10 V eingestellt wird.)
Schreiben analoger Ausgabesollwerte
Ein Kontaktplan kann dazu verwendet werden, Daten ins Ausgangswort, in dem
der Sollwert gespeichert wird, zu schreiben. Hierbei ist das Ausgangswort
“n+1”, wenn “n” dem letzten Ausgangswort entspricht, das der CPU–, einer vor-
hergehenden Erweiterungsbaugruppe oder E/A–Erweiterungsbaugruppe zu-
gewiesen wurde.

(n + 1) 0 0 0 0 0 0 0

Vorzeichenbit
(bei einem Ausgangssignal– Sollwert (hex: (00 bis FF)
bereich –10 bis 10 V)

1, 2, 3... 1. Der Sollwertbereich ist 0000 bis 00FF, wenn der Ausgangssignalbereich 0
bis 10 V/4 bis 20 mA beträgt.
2. Der Sollwertbereich wird in zwei Teile unterteilt: 80FF bis 8000 (–10 bis 0 V)
und 0000 bis 00FF (0 bis 10 V) bei einem Ausgangssignalbereich von –10
bis 10 V.

167
Analoge E/A–Funktionen Abschnitt 3-1

Programmbeispiel für eine Analogeingabe


Anschluss der analogen E/A–Baugruppe
In der folgenden Abbildung ist z. B. eine analoge E/A–Baugruppe an eine CPU–
Baugruppe mit 30 Ein–/Ausgängen angeschlossen. Der analogen E/A–Bau-
gruppe werden E/A–Worte werden zugewiesen, die dem letzten Worte folgen,
dass der CPU–Baugruppe zugewiesen wurden.

IR 000 IR 002
Eingangsworte IR 001 IR 003
CPU–Baugruppen Analoge
mit 30 E/A– E/A–Bau-
Anschlüssen gruppe
IR 010
Ausgangsworte IR 012
IR 011

Verdrahtung analoger E/A–Geräte


Einsatz des Analogeingangs 1 als Spannungseingang Einsatz des Analogeingangs 2 als Stromeingang

Masse (–) Stromeingang 2 (+)


Spannungseingang 1 (+) Masse (–)

Einsatz eines analogen Ausgangs als Spannungsausgang

Masse (–)
Spannungsausgang (+)

Analoge E/A–Einstellungen
Eingang 1–Signalbereich: 0 bis 10 V
Eingang 2–Signalbereich: 4 bis 20 mA
Ausgangssignalbereich: 0 bis 10 V
Bereichscode–Einstellung: FF04

IR 012

Bereichscode: FF04

168
Analoge E/A–Funktionen Abschnitt 3-1

Programm

SR 25315
(Erster Zyklus–EIN–Merker)
(21)
4
Schreibt den Bereichscode (FF04) in die Baugruppe.

Ausführungsbedingung
(21)

Liest den gewandelten Wert von Analogeingang 1.

Ausführungsbedingung
(21)

Liest den gewandelten Wert von Analogeingang 2.

Ausführungsbedingung
(21)

Der Inhalt von DM 0010 wird als analoger Ausgabe-


sollwert ins Ausgangswort geschrieben.

3-1-2 Analoge E/A–Baugruppen der CPM2C


Maximal 5 Erweiterungs– oder E/A–Erweiterungsbaugruppen, einschließlich
von bis zu 4 analogen E/A–Baugruppen des Typs CPM2C–MAD11, können mit
einer CPM2C–SPS verbunden werden. Eine analoge E/A–Baugruppe verfügt
über 2 Analogeingänge und 1 Analogausgang. Mit diesen maximal 4 analogen
E/A–Baugruppen sind 8 analoge Eingänge und 4 analoge Ausgänge möglich.
• Der Analog–Eingangsbereich kann auf 0 bis 5 VDC, 1 bis 5 VDC, 0 bis 10
VDC, –10 bis 10 VDC, 0 bis 20 mA oder 4 bis 20 mA eingestellt werden. Die
Eingänge besitzen eine Auflösung von 1/6000.
• Eine Drahtbruch–Erfassungsfunktion kann mit der 1 bis 5 VDC und 4 bis
20 mA–Einstellung verwendet werden.
• Der Analog–Ausgangsbereich kann auf 1 bis 5 VDC, 0 bis 10 VDC, –10 bis 10
VDC, 0 bis 20 mA oder 4 bis 20 mA eingestellt werden. Die Ausgänge besitzen
eine Auflösung von 1/6000.
CPU– E/A–Erweiterungs–
Baugruppe Analoge E/A–Baugruppender CPM2C baugruppe

Zwei Analogeingänge und ein Analog–


ausgang auf jeder Baugruppe

169
Analoge E/A–Funktionen Abschnitt 3-1

Spannungs–E/A Strom–E/A
Analogein–
a oge Anzahl der Eingänge 2 Eingänge (2 zugewiesene Worte)
gangsteil
t il Eingangssignalbereich 0 bis 5 VDC, 1 bis 5 VDC, 0 bis 20 mA oder 4 bis 20 mA
0 bis 10 VDC oder –10 bis 10 VDC
Max. Nenneingangswert ±15 V ±30 mA
Eingangsimpedanz min. 1 MΩ 250 Ω
Auflösung 1/6000 (Vollausschlag)
Gesamtgenauigkeit
Gesa ge au g e 25°C 0,3% bei Vollausschlag 0,4% bei Vollausschlag
0 bis 55°C 0,6% bei Vollausschlag 0,8% bei Vollausschlag
A/D–Konvertierungsdaten 16–Bit binär (4–stelliger Hexadezimalwert)
Messbereich bei –10 bis 10 V: F448 bis 0BB8 hex.
Messbereich für andere Bereiche: 0000 bis 1770 hex.
Mittelwertfunktion wird unterstützt (einstellbar für individuelle Eingänge über DIP–Schalter)
Drahtbruch–Erfassungsfunktion wird unterstützt
Analogaus–
a ogaus Anzahl der Ausgänge 1 Ausgang (1 zugewiesenes Wort)
gangsteil
t il Ausgangssignalbereich 1 bis 5 VDC, 0 bis 10 VDC oder 0 bis 20 V oder 4 bis 20 mA
–10 bis 10 VDC
Zulässiger externer min. 1 kΩ 600 Ω max.
Ausgangs–Lastwiderstand
Externe Ausgangsimpedanz 0,5 Ω max. ---
Auflösung 1/6000 (Vollausschlag)
Gesamtgenauigkeit
Gesa ge au g e 25 C° 0,4% bei Vollausschlag
0 bis 55°C 0,8% bei Vollausschlag
Ausgangswerte (D/A–Wandlung) 16–Bit binär (4–stelliger Hexadezimalwert)
Messbereich bei –10 bis 10 V: F448 bis 0BB8 hex.
Messbereich für andere Bereiche: 0000 bis 1770 hex.
Konvertierungszeit 2 ms/Punkt (6 ms/alle Punkte)
Galvanische Trennung Optokoppler–Isolierung zwischen analogen E/A Klemmen und internen
Schaltungen. Keine galvanische Trennung zwischen den analogen
E/A–Signalen.

Analoge E/A–Signalbereiche
Analoge E/A–Signalbereich werden digital gewandelt, wie es in diesem Ab-
schnitt beschrieben wird.
Analogeingangs– Die analoge E/A–Baugruppe wandelt Analogeingangsdaten in digitale Werte.
signalbereiche Die digitalen Werte hängen von den Eingangssignalbereichen ab, wie es in der
folgenden Abbildung gezeigt wird. Über–/unterschreitet die Eingabe den spezi-
fizierten Bereich, befinden sich die gewandelten A/D–Daten fest auf dem un-
teren oder oberen Grenzwert.
–10 bis 10 V
Der –10 V bis 10 V–Bereich entspricht dem hexadezimalen Wert F448 bis
0BB8 (–3000 bis 3000). Der gesamte Datenbereich ist F31C bis 0CE4 (–3300
bis 3300). Eine negative Spannung wird als 2er–Komplement ausgedrückt.
Gewandelte Daten
Hexadezimal (Dezimalzahl)
0CE4 (3300)
0BB8 (3000)

–11 V –10 V 0000 (0)


0V
10 V 11 V

F448 (–3000)
F31C (–3300)

170
Analoge E/A–Funktionen Abschnitt 3-1

0 bis 10 V
Der 0 bis 10 V–Bereich entspricht dem hexadezimalen Wert 0000 bis 1770 (0 bis
6000). Der gesamte Datenbereich ist FED4 bis 189C (–300 bis 6300). Eine ne-
gative Spannung wird als 2er–Komplement ausgedrückt.
Gewandelte Daten
Hexadezimal (Dezimalzahl)
189C (6300)
1770 (6000)

0000 (0)

–0,5 V

10 V 10,5 V
FED4 (–300) 0V
0 bis 5 V
Der 0 bis 5 V–Bereich entspricht dem hexadezimalen Wert 0000 bis 1770 (0 bis
6000). Der gesamte Datenbereich ist FED4 bis 189C (–300 bis 6300). Eine ne-
gative Spannung wird als 2er–Komplement ausgedrückt.
Gewandelte Daten
Hexadezimal (Dezimalzahl)
189C (6300)
1770 (6000)

0000 (0)

–0,25 V

FED4 (–300) 5 V 5,25 V


0V

1 bis 5 V
Der 1 bis 5 V–Bereich entspricht dem hexadezimalen Wert 0000 bis 1770 (0 bis
6000). Der gesamte Datenbereich ist FED4 bis 189C (–300 bis 6300). Ein-
gangssignale zwischen 0,8 und 1 V werden als 2er–Komplemente ausgedrückt.
Fällt die Eingabe unter 0,8 V, wird die Drahtbruch–Erfassung aktiviert und der
Wert der gewandelten Daten beträgt 8000.
Gewandelte Daten
Hexadezimal (Dezimalzahl)
189C (6300)
1770 (6000)

0000 (0) 0,8 V


FED4 (–300) 1V 5 V 5,2 V

0 bis 20 mA
Der 0 bis 20 mA–Bereich entspricht dem hexadezimalen Wert 0000 bis 1770 (0

171
Analoge E/A–Funktionen Abschnitt 3-1

bis 6000). Der gesamte Datenbereich ist FED4 bis 189C (–300 bis 6300). Eine
negative Spannung wird als 2er–Komplement ausgedrückt.
Gewandelte Daten
Hexadezimal (Dezimalzahl)
189C (6300)
1770 (6000)

0000 (0)

–1 mA

FED4 (–300) 0 mA 20 mA 21 mA

4 bis 20 mA
Der 4 bis 20 mA–Bereich entspricht dem hexadezimalen Wert 0000 bis 1770 (0
bis 6000). Der gesamte Datenbereich ist FED4 bis 189C (–300 bis 6300). Ein-
gangssignale zwischen 3,2 und 4 mA werden als 2er–Komplemente ausge-
drückt. Fällt die Eingabe unter 3,2 mA, wird die Drahtbruch–Erfassung aktiviert
und der Wert der gewandelten Daten beträgt 8000.
Gewandelte Daten
Hexadezimal (Dezimalzahl)
189C (6300)
1770 (6000)

3,2 mA
0000 (0)
4 mA 20 mA 20,8 mA
FED4 (–300)
0 mA

Analogausgangs– Die analoge E/A–Baugruppe wandelt die digitalen Ausgabedaten in analoge


signalbereiche Werte. Die analogen Werte hängen von den Ausgangssignalbereichen ab, wie
es in der folgenden Abbildung gezeigt wird.
–10 bis 10 V
Die hexadezimalen Werte F448 bis 0BB8 (–3000 bis 3000) entsprechen einem
analogen Spannungsbereich von –10 bis 10 V. Der gesamte Ausgabebereich
umfasst –11 bis 11 V. Spezifizieren Sie eine negative Spannung als 2er–Kom-
plement.

11 V
10 V

F31C F448
8000 (–3300) (–3000) 0000 (0) Gewandelte Daten
Hexadezimal (De-
0BB8 0CE4
0V
(3000) (3300) 7FFF zimalzahl)

–10 V
–11 V

172
Analoge E/A–Funktionen Abschnitt 3-1

0 bis 10 V
Die hexadezimalen Werte 0000 bis 1770 (0 bis 6000) entsprechen einem analo-
gen Spannungsbereich von 0 bis 10 V. Der gesamte Ausgabebereich umfasst
–0,5 bis 10,5 V. Spezifizieren Sie eine negative Spannung als 2er–Komplement.

10,5 V
10 V

0V
Gewandelte
8000 FED4 (–300) Daten
Hexadezimal
1770 189C (Dezimalzahl)
–0,5 V 0000 (0) (6000) (6300) 7FFF

1 bis 5 V
Die hexadezimalen Werte 0000 bis 1770 (0 bis 6000) entsprechen einem analo-
gen Spannungsbereich von 1 bis 5 V. Der gesamte Ausgabebereich beträgt 0,8
bis 5,2 V.

5,2 V
5V

1V
0,8 V Gewandelte
0V Daten
1770 189C Hexadezimal
8000 FED4 0000 (0) 7FFF (Dezimalzahl)
(–300) (6000) (6300)

0 bis 20 mA
Die hexadezimalen Werte 0000 bis 1770 (0 bis 6000) entsprechen einem analo-
gen Strombereich von 0 bis 20 mA. Der gesamte Ausgabebereich umfasst 0 bis
21 mA.

21 mA
20 mA

0000
(0) Gewandelte
Daten
8000 0 mA 1770 189C Hexadezimal
7FFF
(6000) (6300) (Dezimalzahl)

173
Analoge E/A–Funktionen Abschnitt 3-1

4 bis 20 mA
Die hexadezimalen Werte 0000 bis 1770 (0 bis 6000) entsprechen einem analo-
gen Strombereich von 4 bis 20 mA. Der gesamte Ausgabebereich umfasst 3,2
bis 20,8 mA.

20,8 mA
20 mA

4 mA
3,2 mA Gewandelte
0 mA Daten
FED4 0000 (0) Hexadezimal
8000 1770 189C 7FFF (Dezimalzahl)
(–300) (6000) (6300)

Mittelwertfunktion für Die Mittelwertfunktion für die Eingänge wird über den DIP–Schalter aktiviert. Die
Analogeingangssignale Mittelwertfunktion speichert den Mittelwert (ein gleitender Mittelwert) der letzten
acht Eingangswerte als gewandelte Wert. Verwenden Sie diese Funktion, um
Eingangswerte zu glätten, die in einem kurzen Intervall schwanken.
Drahtbruch– Die Drahtbruch–Erfassungsfunktion wird aktiviert, wenn der Eingangsbereich
Erfassungsfunktion für auf 1 bis 5 V eingestellt wurde und die Spannung unter 0,8 V abfällt oder wenn
Analogeingänge der Eingangsbereich auf 4 bis 20 mA eingestellt wird und der Strom unter 3,2 mA
sinkt. Wird die Drahtbruch–Erfassungsfunktion aktiviert, werden die gewandel-
ten Daten auf 8000 gesetzt.
Die Drahtbruch–Erfassungsfunktion wird aktiviert oder gesperrt, wenn Daten
gewandelt werden. Liegt das Eingangssignal wieder in einem wandelbaren Be-
reich, wird die Drahtbruch–Erfassung automatisch gesperrt und die Ausgabe
kehrt zum normalen Wert zurück.

Einsatz analoger E/A

Baugruppe anschließen Schließen Sie die analoge E/A–Baugruppe an.

Analogeingänge: 0 bis 5 VDC, 1 bis 5 VDC, 0 bis 10 VDC,


–10 bis 10 VDC, 0 bis 20 mA oder 4 bis 20 mA
E/A–Bereiche spezifizieren
Analogausgang: 1 bis 5 VDC, 0 bis 10 VDC, –10 bis 10 VDC,
0 bis 20 mA oder 4 bis 20 mA
Spezifizieren Sie Eingänge als Spannungs– oder Analogeingänge
und stellen Sie die Mittelwertfunktion ein.

Analoge E/A verdrahten Anschluss analoger E/A–Geräte.

Schreiben Sie den jeweiligen Code.


Kontaktplan–Programmabarbeitung
Analogeingänge: Konvertierte Daten lesen.
Analogausgang: Sollwert schreiben.

174
Analoge E/A–Funktionen Abschnitt 3-1

Analogeingänge
CPU–Baugruppe Analoge E/A–Baugruppe

Kontaktplan–Programm
Wort (n + 1) Bereichscode
Wort (m + 1) Gewandelter Wert von
(21) MOVE–Befehl Analogeingang 0
Wort (m + 2) Gewandelter Wert
Schreibt den Bereich- von Analogeingang 1
scode. Liest die ge-
wandelten Werte.

Analoge Geräte
Hierbei entspricht “m” den letzten Eingangswort Temperaturfühler
und “n” dem letzten Ausgangswort, das der CPU–, Drucksensor
vorhergehenden Erweiterungsbaugruppe oder der Geschwindigkeitssensor
Flusssensor
E/A–Erweiterungsbaugruppe zugewiesen ist. Spann.–/Strommeter
Andere

Analogausgänge
CPU–Baugruppe Analoge E/A–Baugruppe

Kontaktplan–Programm (Sehen Sie den Hinweis.)


Wort (n + 1)
Bereichscode
Analoger Ausgabe–
sollwert
(21) MOVE–Befehl

Schreibt den Bereich-


scode. Schreibt den
Sollwert

Analoge Geräte
Justiergeräte
Hierbei entspricht “n” dem letzten Ausgangswort, Servoregler
das der CPU–, vorhergehenden Erweiterungs– Frequenzumrichter
oder E/A–Erweiterungsbaugruppe zugewiesen
Andere
ist.

Hinweis Wort (n + 1) kann für den Bereichscode oder den analogen Ausgabesollwert
verwendet werden.

Anschluss der analogen Dieser Abschnitt beschreibt, wie eine analoge E/A–Baugruppe an die CPU–
E/A–Baugruppe. Baugruppe angeschlossen wird.
Maximal 5 Erweiterungs– oder E/A–Erweiterungsbaugruppen, einschließlich
von bis zu 4 analogen E/A–Baugruppen, können mit einer CPM2C–SPS ver-
bunden werden. Es bestehen keine Vorschriften für die Anschlussreihenfolge,
wenn die analoge E/A–Baugruppe zusammen mit anderen Erweiterungs– oder
E/A–Erweiterungsbaugruppen verwendet wird.
E/A–
CPU– Analoge E/A–Baugruppen Erweiterungs–
Baugruppe CPM2C–MAD11 baugruppe

175
Analoge E/A–Funktionen Abschnitt 3-1

E/A–Zuweisung
Ein–/Ausgänge werden der analogen E/A–Baugruppe auf die gleiche Weise zu-
gewiesen, wie anderen Erweiterungs– oder E/A–Erweiterungsbaugruppen; die
Zuweisung beginnt mit dem nächsten Wort, das dem zu letzt zugewiesenen
Wort der CPU–Baugruppe folgt oder das der vorhergehenden Erweiterungs-
baugruppe oder E/A–Erweiterungsbaugruppe zugewiesen wurde. Die Zuwei-
sung ist wie folgt, wenn “m” das letzte zugewiesene Eingangswort und “n” das
letzte zugewiesene Ausgangswort auf der CPU–Baugruppe oder der vorherge-
henden Erweiterungs– oder E/A–Erweiterungsbaugruppe ist:
Analoge E/A–Baugruppe CPM2C–MAD11

Analogeingang 0: Wort m+1


Analogeingang 1: Wort m+2

Analogausgang: Wort n+1

Zum Beispiel wird im folgenden Diagramm eine analoge E/A–Baugruppe an


eine CPU–Baugruppe mit 20 Ein–/Ausgängen angeschlossen.
CPU–Bau- Analoge E/A–Baugruppe CPM2C–MAD11
gruppe

CPU–Baugrp.eing.: IR 000
Analogeingang 0: IR 001
Analogeingang 1: IR 002

CPU–Baugrp.ausg.: IR 010
Analogausgang: IR 011

Einstellung des E/A– E/A–Signalbereiche werden durch Einstellung des DIP–Schalters für analoge
Signalbereichs Spannungen konfiguriert und indem ein Bereichscode ins Ausgangswort der
analogen E/A–Baugruppe geschrieben wird. E/A–Signalbereiche werden
durch Einstellung des DIP–Schalters für analoge Ströme konfiguriert.

E/A–Erweiterungs–
steckverbinder
E/A–Erweiterungs–
steckverbinder DIP–Schalter
Aktiviert die Mittelwertfunktion für
die Eingänge und das Umschalten
zwischen Spannungs– und Stro-
meingängen
Analog–Eingangsklemmen Analog–Ausgangsklemmen

DIP–Schaltereinstellungen
Stellen Sie den DIP–Schalter wie nachfolgend gezeigt ein. Alle Schalter sind
werksseitig auf OFF gesetzt.
---

Mittelwertfunktion für Analogeingang 0


(OFF: keine Mittelwertbildung; ON: Mittelwertbildung)
1

Mittelwertfunktion für Analogeingang 1


2

(OFF: keine Mittelwertbildung; ON: Mittelwertbildung)


Eingangstyp für Analogeingang 0
3

(OFF: Spannungseingang; ON Stromeingang)


Eingangstyp für Analogeingang 1
4

(OFF: Spannungseingang; ON Stromeingang)

176
Analoge E/A–Funktionen Abschnitt 3-1

! Vorsicht Stellen Sie sicher, die Schalter des DIP–Schalters zum Auswählen des Ein-
gangstyps auf OFF zu setzen, wenn ein Spannungseingang gewünscht wird.
Diese Schalter werden nur für einen Stromeingang auf ON gestellt.

Hinweis Berühren Sie den DIP–Schalter nicht während des Betriebs. Statische Elektrizi-
tät könnte Verarbeitungssfehler verursachen.
Bereichscode
Um Daten zu konvertieren muss der Bereichscode für die analoge E/A–Bau-
gruppe eingestellt werden.
Die Bereichscode–Einstellungen ermöglichen kombinierte Signalbereiche für
Analogein– und –ausgänge, wie es in der folgenden Tabelle dargestellt ist.
Bereichs– Analogeingang 1 Analogeingang 2 Analog–
code Signalbereich Signalbereich Ausgangs–
signalbereich
000 –10 bis 10 V –10 bis 10 V
001 0 bis 10 V 0 bis 10 V
010 1 bis 5 V oder 4 bis 20 mA 1 bis 5 V
(wird über DIP–Schalter ausgewählt)
011 1 bis 5 V oder 0 bis 20 mA 0 bis 20 mA
(wird über DIP–Schalter ausgewählt)
100 --- 4 bis 20 mA

Schreiben Sie die Bereichscodes im ersten Zyklus der Programmausführung in


das Ausgangswort (n + 1) der Analog–E/A–Baugruppe.
15 8 7 6 5 4 3 2 1 0
n+1 1 0 0 0 0 0 0

Analog– Analog– Analog–


aus- ein– ein–
gang gang 1 gang 0

Beispiel
Die folgenden Befehle stellten Analogeingang 0 auf 4 bis 20 mA, Analogeingang
1 auf 0 bis 10 V und den Analogausgang auf –10 bis 10 V ein.
SR 25315
(Erster Zyklus–EIN–Merker)
MOV(21)
#800A Analogeingang 0: 4 bis 20 mA
011 Analogeingang 1: 0 bis 10 V
Analogausgang: –10 bis 10 V

Die Analog–E/A–Baugruppe beginnt erst mit der Konvertierung der analogen


E/A–Werte, nachdem der Bereichscode geschrieben wurde. Bis Wandlungs-
starts besitzen Eingangssignale den Wert 0000 und 0 V oder 0 mA wird ausge-
geben.
Nachdem der Bereichscode spezifiziert wurde, wird 0 V oder 0 mA für die 0 bis
10 V–, –10 bis 10 V– oder 0 bis 20 mA–Bereiche ausgegeben und 1 V oder 4 mA
für den 1 bis 5 V– und 4 bis 20 mA–Bereich, bis ein gewandelter Wert ins Aus-
gangswort geschrieben wird.
Nachdem Einstellen des Bereichscodes ist es nicht möglich, die Einstellung zu
ändern, während Spannung an der CPU–Baugruppe anliegt. Schalten Sie die
Versorgungsspannung der CPU–Baugruppe aus und wieder ein, um den E/A–
Bereich zu ändern.

177
Analoge E/A–Funktionen Abschnitt 3-1

Verdrahtung analoger E/A–Geräte


Interne Schaltungen
Analogeingänge Analogausgänge

510 kΩ 0+ V+
Interne Schaltungen

Interne Schaltungen
Eingang 0
250 Ω
0– – Ausgang
510 kΩ

1+
510 kΩ I+
Eingang 1
250 Ω
1–
510 kΩ N.v.

AM
N.v.

Analoge Masse Analoge Masse

Anschlussbelegungen

Analogeingangs– Analogausgangs–
klemmen klemmen
EIN EIN
Analogeing. 0 + 0+ V+ Analog. Span.–ausg.
Analogeing. 0 – 0– – Ausgang, Masse
Analogeing. 1 + 1+ I+ Analog. Stromausg.
Analogeing. 1 – 1– NC Nicht verwendet
Analoge Masse AG NC Nicht verwendet

Analogeingangsverdrahtung

Analoges + +
Analoge
Ausgabe-
E/A–Bau-
gerät
– – gruppe

Analoge Ausgangsverdrahtung

V+ + Analoges I+ + Analoges
Analoge Gerät mit Analoge Gerät mit
E/A–Bau- Spannungs- E/A–Bau- Strom–
gruppe – – eingang gruppe – – eingang

Hinweis 1. Verwenden Sie abgeschirmtes, verdrilltes Kabel, schließen Sie aber die Ab-
schirmung nicht an.
2. Verlegen Sie die Verkabelung getrennt von Versorgungsspannungsleitun-
gen (AC–Spannungsversorgungskabel, Versorgungsspannungsleitungen,
usw.)
3. Schließen Sie die Klemmen + und – kurz, wenn ein Eingang nicht verwendet
wird.
4. Verlegen Sie die Verkabelung getrennt von Versorgungsspannungsleitun-
gen (AC–Spannungsversorgung, Hochspannung, usw.)
5. Installieren Sie bei Störungen in der Spannungsversorgung einen Entstör-
filter am Eingangsteil und an der Spannungsversorgung–Baugruppe.

178
Analoge E/A–Funktionen Abschnitt 3-1

Referenzinformationen
Beachten Sie die folgenden Informationen über offene Eingangskreise, wenn
Sie Spannungseingänge verwenden.
Wird die gleiche Spannungsversorgung verwendet, wie es im folgenden Dia-
gramm dargestellt ist und tritt eine offene Schaltung an Eingang A oder B auf,
fließt ein unerwünschter Strom, wie es von den gestrichelten Linien in der Abbil-
dung dargestellt wird, wodurch eine Spannung von ca. 33% bis 50% am ande-
ren Eingang erzeugt wird. Wird der 5 V–Bereich verwendet, arbeitet die Draht-
bruch–Erfassungsfunktion nicht. Tritt eine offene Schaltung an Punkt C auf, ar-
beitet die Drahtbruch–Erfassungsfunktion ebenfalls nicht, da die negativen Sei-
ten gleich sind.

A
Gerät
mit
Analo-
gaus-
gang 1 B C

Gerät
mit
Analo-
gaus-
gang 2

24 VDC

Gibt, z. B. ein analoges Gerät 2 5 V aus und wird die gleiche Spannungsversor-
gung verwendet, wie es oben dargestellt ist, liegen ca. 33% oder 1,6 V an dem
Eingang für Eingabegerät 1 an.
Um das obenstehende Problem zu beheben, müssen entweder separate Span-
nungsversorgungen verwendet oder eine galvanische Trennung an jedem Ein-
gang installiert werden. Dieses Problem tritt nicht bei Stromeingängen auf, auch
wenn die gleiche Spannungsversorgung verwendet wird.
Hinweis Wird Spannung angelegt (bei der Einstellung des Bereichscodes) oder tritt eine
Versorgungsspannungsunterbrechung auf, kann eine impulsförmige Ausgabe
am Analogausgang mit einer Dauer von bis zu 1 ms generiert werden.
Sie müssen die nachfolgend beschriebenen Gegenmaßnahmen vorsehen, falls
dies Probleme beim Betrieb verursacht wird.
• Schalten Sie die Spannungsversorgung der CPM2C–CPU–Baugruppe zuerst
ein und dann, nachdem Sie sichergestellt haben, dass eine einwandfreie Re-
aktion erfolgt, die Spannungsversorgung der Last.
• Schalten Sie die Spannungsversorgung der Last aus, bevor Sie die Span-
nungsversorgung der CPM2C–CPU–Baugruppe ausschalten.
Kontaktplan–Programm
Spezifizieren des Bereichscodes
Spezifizieren Sie den E/A–Signalbereich, indem Sie den Bereichscode im er-
sten Zyklus der Programmausführung über den Kontaktplan in das Ausgangs-

179
Analoge E/A–Funktionen Abschnitt 3-1

wort der analogen E/A–Baugruppe schreiben. Die analoge E/A–Baugruppe be-


ginnt, analoge E/A–Werte umzuwandeln, sobald der Bereichscode spezifiziert
wurde und wandelbare Werte zur Verfügung stehen. (Sehen Sie Seite 177.)
Schreiben Sie im ersten Zyklus der Programmausführung den Bereichscode in
das Ausgangswort der analogen E/A–Baugruppe; das Ausgangswort der ana-
logen E/A–Baugruppe ist “n+1”, wenn “n” das letzte Wort ist, das der CPU–Bau-
gruppe oder einer vorhergehenden Erweiterungs– oder E/A–Erweiterungsbau-
gruppe in der E/A–Konfiguration zugewiesen wurde.
Lesen gewandelter Analogeingangswerte
Der Kontaktplan kann zum Lesen der Speicherbereiche verwendet werden, in
dem die gewandelten Werte gespeichert sind. Werte werden an die nächsten
zwei Worte (m + 1, m + 2) ausgegeben, die dem letzten Eingangswort (m) fol-
gen, das der CPU–Baugruppe oder der vorhergehenden Erweiterungs– oder
E/A–Erweiterungsbaugruppe zugewiesen wurde.
Schreiben analoger Ausgabesollwerte
Der Kontaktplan kann dazu verwendet werden, Daten ins Ausgangswort, in
dem der Sollwert gespeichert wird, zu schreiben. Hierbei ist das Ausgangswort
“n+1”, wenn “n” dem letzten Ausgangswort entspricht, das der CPU–, einer vor-
hergehenden Erweiterungsbaugruppe oder E/A–Erweiterungsbaugruppe zu-
gewiesen wurde.
Einschaltverhalten
Nach dem Einschalten der Spannung werden zwei Zyklen plus ca. 50 ms benö-
tigt, bevor die ersten Daten gewandelt werden. Die folgenden Befehle können
an den Anfang des Programms gestellt werden, um das Lesen der gewandelten
Daten der Analogeingänge zu verzögern, bis die Wandlung tatsächlich erfolgt.
Hinweis Analoge Eingabedaten besitzen den Wert 0000, bis eine Anfangsverarbeitung
durchgeführt wird. Analoge Ausgabedaten besitzen den Wert 0 V oder 0 mA, bis
der Bereichscode geschrieben wird. Nachdem der Bereichscode geschrieben
wurde, wird 0 V oder 0 mA für die 0 bis 10 V–, –10 bis 10 V– oder 0 bis 20 mA–Be-
reiche ausgegeben und 1 V oder 4 mA für den 1 bis 5 V– und 4 bis 20 mA–Be-
reich.

SR 25313
(Immer–EIN–Merker)
TIM 005 TIM 005 wird ausgeführt, sobald die
#0002 Spannung eingeschaltet wird. Nach
0,1 bis 0,2 s (100 bis 200 ms) schal-
T005 tet sich der Fertigmerker für TIM 005
MOV(21) ein und die gewandelten Daten des
Analog–eingangs werden von IR 001
001 gelesen und in DM 0000 gespei-
DM 0000 chert.

Handhabungsprobleme
Tritt ein Fehler in einer analogen E/A–Baugruppe auf, werden die Fehlermerker
in AR 0200 bis AR 0204 gesetzt. Die Adressen der Fehlermerker werden in der
Reihenfolge aktiviert, in der die Erweiterungs– und E/A–Erweiterungsbaugrup-
pen an die SPS angeschlossen sind, wobei AR 0200 für die Erweiterungs– oder
E/A–Erweiterungsbaugruppe verwendet wird, die der CPU–Baugruppe am
nächsten ist. Verwenden Sie diese Merker im Programm, falls eine Fehleraus-
wertung erfolgen soll.
Tritt ein Fehler in der analogen E/A–Baugruppe auf, beträgt der Wert der Ana–
logeingangsdaten 0000 und 0 V/0 mA wird als analoge Ausgabe ausgegeben.
Tritt ein CPU–Fehler oder E/A–Busfehler (schwerwiegender Fehler) in der
CPU–Baugruppe auf und ist die Analogausgabe auf 1 bis 5 V oder 4 bis 20 mA
eingestellt, wird 0 V oder 0 mA ausgegeben. Bei anderen schwerwiegenden
Fehlern an der CPU–Baugruppe wird 1 V oder 4 mA ausgegeben.

180
Temperaturfühler–Baugruppen Abschnitt 3-2

Programmbeispiel)
In diesem Programmbeispiel werden die folgenden Bereiche verwendet:
Analogeingang 0: 0 bis 10 V
Analogeingang 1: 4 bis 20 mA
Analogausgang: 0 bis 10 V
25315
(Erster Zyklus EIN–Merker)
MOV(21)
#8051
011
25313 Schreibt den Bereichscode (8051) in die Baugruppe.
(Immer–EIN–Merker)
TIM 005

Ausführungs- #0002

TIM 005 bedingung


MOV(21)
001

Ausführungs- DM 0000
Liest den gewandelten Wert von Analogeingang 0.
TIM 005 bedingung
CMP (20)
002
#8000

25506(=)
01000 Drahtbruch–Alarm
Ausführungs-
bedingung
TIM 005
MOV(21)
002

Ausführungs- DM 0001 Liest den gewandelten Wert von Analogeingang 1.


TIM 005 bedingung
MOV(21)
DM 0010
011 Der Inhalt von DM 0010 wird ins Ausgangswort als
analoger Ausgabesollwert geschrieben.

3-2 Temperaturfühler–Baugruppen
3-2-1 Temperaturfühler–Baugruppen der CPM1A/CPM2A
Bis zu drei Erweiterungsbaugruppen oder E/A–Erweiterungsbaugruppen kön-
nen mit der CPU–Baugruppe der CPM1A oder CPM2A verbunden werden.
Eine, zwei oder alle drei dieser Baugruppen können CPM1A–TS001 oder
CPM1A–TS101 Temperaturfühler–Baugruppen sein. Wird ein CPM1A–TS002
oder CPM1A–TS102 Temperaturfühler–Baugruppe mit der CPU–Baugruppe
verbunden, dann kann nur eine andere Erweiterungs– oder E/A–Erweiterungs-
baugruppe angeschlossen werden. Die andere Baugruppe kann eine
CPM1A–TS001/TS101–Temperaturfühler–Baugruppe sein.
Jede CPM1A–TS001/TS101–Temperaturfühler–Baugruppen bietet 2 Ein-
gänge und jede CPM1A–TS002/TS102 Temperaturfühler–Baugruppen bietet 4
Eingänge; hierdurch stehen bis zu 6 Temperaturfühler–Eingänge für eine

181
Temperaturfühler–Baugruppen Abschnitt 3-2

CPM1A– oder CPM2A–SPS zur Verfügung. Thermoelemente oder Platin–Wi-


derstandsthermometer können angeschlossen werden.
Bis zu 3 Baugruppen, einschließlich der E/A–Erweiterungsbaugrup-
pen und andere Erweiterungsbaugruppen (nur 2 Baugruppen bei
Verwendung von CPM1A–TS002/TS102)

CPM–/CPM1A–/ CPM1A–20EDR1– CPM1A–8ED– CPM1A–TSjjj


CPM2A–CPU–Baugruppe E/A–Erweiterungs- E/A–Erweiterungs- Temperaturfühler–Bau-
baugruppe baugruppe gruppe

Thermoelemente
oder Platin–Wider-
standsthermometer Temperaturfühler–Eingänge

Technische Daten
CPM1A–TS001 CPM1A-TS002 CPM1A-TS101 CPM1A-TS102
Temperaturfühler Thermoelemente Platin–Widerstandsthermometer
Umschaltbar zwischen K und J, aber der Umschaltbar zwischen Pt100 und JPt100,
gleiche Typ muss für alle Eingänge aber der gleiche Typ muss für alle
verwendet werden. Eingänge verwendet werden.
Anzahl der Eingänge 2 4 2 4
Zugewiesene Eingangsworte 2 4 2 4
Max. Anzahl der Baugruppen 3 1 3 1
(Sehen Sie den Hinweis 1)
Genauigkeit (Der größere von±0,5% des gewandelten (Der größere von±0,5% des gewandelten
Wertes oder max. ±2_C) ±1 Ziffer (sehen Wertes oder max. ±1_C) ±1 Ziffer
Sie Hinweis 2).
Konvertierungszeit 250 ms für 2 oder 4 Eingänge
Gewandelte 16 Bit–Binärdaten (4–stelliger Hexadezimal–Wert)
Temperaturdaten
Galvanische Trennung Optokoppler zwischen allen Temperatureingangssignalen

Hinweis 1. Werden nur CPM1A–TS001 und CPM1A–TS101 verwendet, dann können


bis zu 3 Baugruppen, einschließlich E/A–Erweiterungsbaugruppen und an-
dere Erweiterungsbaugruppen angeschlossen werden. Wird eine
CPM1A–TS002 oder CPM1A–TS102 verwendet, dann kann nur eine an-
dere E/A–Erweiterungsbaugruppe oder Erweiterungsbaugruppe ange-
schlossen werden. Die CPM1A–TS001 oder CPM1A–TS101 könnte diese
andere Baugruppe sein, aber eine andere CPM1A–TS002 oder
CPM1A–TS102 kann nicht angeschlossen werden.
2. Die Genauigkeit für einen Fühler des Typs K beträgt bei –100°C oder weni-
ger max. ±4 _C ± 1 Ziffer.

3-2-2 Temperaturfühler–Baugruppen der CPM2C


An die CPM2C können bis zu vier CPM2C–TS001/TS101–Temperaturfühler–
Baugruppen angeschlossen werden. Jede Temperaturfühler–Baugruppe bietet

182
Temperaturfühler–Baugruppen Abschnitt 3-2

2 Eingänge, d. h. das max. 8 Eingänge verwendet werden können. Thermoele-


mente oder Platin–Widerstandsthermometer können angeschlossen werden.
CPM2C–TS001/101 E/A–Erweiterungs-
CPM2C–CPU–Baugruppe Temperaturfühler–Baugruppen baugruppe

Thermoelemente
oder Platin–Wider-
standsthermometer Temperaturfühler–Eingänge
max. 8 Eingänge

Technische Daten
CPM2C-TS001 CPM2C-TS101
Temperaturfühler Thermoelemente Platin–Widerstands–
Umschaltbar zwischen K thermometer
und J, aber der gleiche Umschaltbar zwischen
Typ muss für alle Pt100 und JPt100, aber
Eingänge verwendet der gleiche Typ muss für
werden. alle Eingänge verwendet
werden.
Anzahl der Eingänge 2
Zugewiesene Eingangsworte 2
Max. Anzahl der Baugruppen 4 4
(Sehen Sie den Hinweis 1)
Genauigkeit (Der größere von±0,5% (Der größere von±0,5%
des gewandelten Wertes des gewandelten Wertes
oder max. ±2_C) ±1 oder max. ±1_C) ±1
Ziffer (sehen Sie den Ziffer
Hinweis).
Konvertierungszeit 250 ms für 2 Eingänge
Gewandelte 16 Bit–Binärdaten (4–stelliger Hexadezimal–Wert)
Temperaturdaten
Galvanische Trennung Optokoppler zwischen allen
Temperatureingangssignalen

Hinweis 1. Die Genauigkeit für ein Element des Typs K beträgt bei –100°C oder weni-
ger max. ±4_C ± 1 Ziffer.
2. Die Fehlerabweichung für Temperaturen in °F entspricht dem doppelten
von °C.

183
Temperaturfühler–Baugruppen Abschnitt 3-2

3-2-3 Verwendung der Temperaturfühler–Baugruppen


Schließen Sie die Temperaturfühler–Baugruppe an.
Baugruppe anschließen Sehen Sie 3-2-4 Anschließen von Temperaturfühler–Baugruppen.

Stellen Sie die Temperaturmasseinheit, ggf. die 2–


Temperaturbereich spezifizieren Dezimalstellen–Betriebsart und den Temperaturbereich ein.
Sehen Sie 3-2-5 Einstellung der Temperaturbereiche.

Temperaturfühler anschließen Schließen Sie den Temperaturfühler an.


Sehen Sie 3-2-6 Anschliessen von Temperaturfühlern.

Kontaktplan–Programmabarbeitung Temperaturdaten werden im Eingangswort abgespeichert.


Sehen Sie 3-2-7 Kontaktplanrogrammierung.

3-2-4 Anschließen von Temperaturfühler–Baugruppen


Dieser Abschnitt zeigt Beispielkonfigurationen, die Temperaturfühler–Baugrup-
pen enthalten.

CPM1A/CPM2A–Temperaturfühler–Baugruppenzuweisungen
Temperaturfühler–Baugruppen werden auf die gleiche Weise Worte zugewie-
sen, wie anderen Erweiterungs– und E/A–Erweiterungsbaugruppen: in der Rei-
henfolge, in der die Baugruppen angeschlossen werden. Einer Temperaturfüh-
ler–Baugruppe werden somit die nächsten Eingangsworte nach der Baugruppe
zugewiesen, mit der sie verbunden ist (CPU– oder andere Baugruppe).
Hinweis Nur eine Temperaturfühler–Baugruppe mit 4 Eingängen (CPM1A–TS002 oder
CPM1A–TS102, 4 zugewiesene Worte) kann direkt an die CPU–Baugruppe an-
geschlossen werden. Es bestehen jedoch keine Einschränkungen in der An-
schlussreihenfolge.

Temperaturfühler–Baugruppen mit 2 Eingänge: CPM1A–TS001 und CPM1A–TS101 (2 zugewiesene


Worte)
CPM1A– oder CPM2A–CPU– CPM1A–20EDR1– CPM1A–8ED– CPM1A–TS001/101
Baugruppe E/A–Erweiterungs- E/A–Erweiterungs- Temperaturfühler–
(mit 20, 30, 40 oder 60 E/A– baugruppe baugruppe Baugruppe
Anschlüssen)

Temperatur–fü 2 Eingänge CPM1A–TS001 Bis zu 3 Baugruppen können


hler– CPM1A–TS101 angeschlossen werden. Es
Baugruppen gibt keine Einschränkungen
g g
b ü li h d
bezüglich der R ih f l
Reihenfolge, iin
E/A–Erweiterungs– Mit 8 oder 20
der Baugruppen
baugruppen E/A–Anschlüssen
angeschlossen werden.
Analoge E/A–Baugruppen CPM1A-MAD01
CompoBus/S–E/A–Link– CPM1A-SRT21
Modul

184
Temperaturfühler–Baugruppen Abschnitt 3-2

Wortzuweisungen
Der CPM1A–TS001 und CPM1A–TS101 werden jeweils zwei Worte (eines für
jeden Eingang) zugewiesen. Ausgangsworten werden nicht zugewiesen.

CPM1A–TS001/101
CPU–Baugruppe mit E/A–Erweiterungsbau- Erweiterungsbaugruppe Temperaturfühler–Bau-
40 Anschlüssen gruppe mit 20 E/A mit 8 Eingängen gruppe

Eingangs- IR 000 IR 004


IR 002 IR 003
wort– IR 001 IR 005
Adressen

Ausgangs- IR 010 IR 012 Kein Kein


wort– IR 011
Adressen

Temperaturfühler–Baugruppen mit 4 Eingänge (4 zugewiesene Worte): CPM1A–TS002 und


CPM1A–TS102
CPM1A– oder CPM2A–CPU–
Baugruppe CPM1A–20EDR1– CPM1A–TS002/102
(mit 20, 30, 40 oder 60 E/A– E/A–Erweiterungs- Temperaturfühler–
Anschlüssen) baugruppe Baugruppe

Temperaturfühler– 4 Ein– CPM1A–TS002 Nur 1 Bis zu 2 Baugruppen


Baugruppen gänge oder Baugruppe können angeschlossen
CPM1A–TS102 werden. Es g
gibt keine
2 Ein– CPM1A–TS001 Nur 1 Ei
Einschränkungen
hä k
gänge oder Baugruppe bezüglich der
CPM1A–TS101 Reihenfolge, in der
Baugruppen
E/A–Erweiterungs– Mit 8 oder 20 angeschlossen
baugruppen E/A–Anschlüssen werden.
Analoge E/A–Baugruppen CPM1A-MAD01
CompoBus/S–E/A–Link– CPM1A-SRT21
Modul

Wortzuweisungen
Der CPM1A–TS002 und CPM1A–TS102 werden jeweils vier Worte (eines für
jeden Eingang) zugewiesen. Ausgangsworten werden nicht zugewiesen.

CPU–Baugruppe mit E/A–Erweiterungs- CPM1A–TS002/102


60 Anschlüssen baugruppe mit 20 E/A Temperaturfühler–Baugruppe

IR 000 IR 004
Eingangswort–Adressen IR 001 IR 003 IR 005
IR 002 IR 006
IR 007

IR 010
Ausgangswort–Adressen IR 011 IR 013
Kein
IR 012

CPM2C–Temperaturfühler–Baugruppenzuweisungen
Bis zu vier CPM2CTS001/101–Temperaturfühler–Baugruppen können ange-
schlossen werden. Bis max. fünf Erweiterungs– und E/A–Erweiterungsbau-
gruppen können angeschlossen werden (einschließlich Temperaturfühler–

185
Temperaturfühler–Baugruppen Abschnitt 3-2

Baugruppen). Unabhängig davon, wie viele Baugruppen angeschlossen wer-


den, können jedoch nicht mehr als 10 Eingangsworte und 10 Ausgangsworten
in einer SPS zugewiesen werden. Es gibt keine Einschränkungen bezüglich der
Reihenfolge, in der Baugruppen angeschlossen werden können.
Beispiel
CPM2C–CPU– CPM2C–TS001/101 E/A–Erweiterungs-
Baugruppe Temperaturfühler–Baugruppen baugruppe

Max. vier Temperaturfühler–Baugruppen

Wortzuweisung
Temperaturfühler–Baugruppen werden auf die gleiche Weise Worte zugewie-
sen, wie anderen Erweiterungs– und E/A–Erweiterungsbaugruppen: in der Rei-
henfolge, in der die Baugruppen angeschlossen werden. Einer CPM2C–
TS001– oder CPM2C–TS101–Temperaturfühler–Baugruppe werden somit die
nächsten zwei Eingangsworte nach der Baugruppe, an die diese angeschlos-
sen ist (CPU– oder andere Baugruppe), zugewiesen. Ausgangsworten werden
nicht zugewiesen.
CPM2C–TS001 CPM2C–TS001 CPM2C–TS101 CPM2C–TS101 CPM2C–24EDTC–
CPU–Baugruppe Temperaturfüh- Temperaturfüh- Temperaturfüh- Temperaturfüh- E/A–Erweiterungs-
mit 20 Anschlüssen ler–Baugruppe ler–Baugruppe ler–Baugruppe ler–Baugruppe baugruppe

Ein- Ein- Ein- Ein-


Ein- Ein-
gänge gänge gänge gänge
gänge gänge
IR 001 IR 003 IR 005 IR 007
IR 000 IR 009
IR 002 IR 004 IR 006 IR 008

Aus- Aus- Aus- Aus- Aus- Aus-


gänge gänge gänge gänge gänge gänge
IR 010 Kein Kein Kein Kein IR 011

3-2-5 Einstellung der Temperaturbereiche


Die Temperaturmasseinheit, die Anzahl der verwendeten Dezimalstellen und
der Temperaturbereich wird mit den DIP–Schalter und Drehschalter auf der
Temperaturfühler–Baugruppe eingestellt.
Hinweis 1. Schalten Sie immer die Spannungsversorgung aus, bevor Sie den Tempe-
raturbereich einstellen.
2. Fassen Sie nie den DIP– oder Drehschalter während des Temperaturfüh-
ler–Baugruppenbetriebs an. Statische Elektrizität könnte Verarbeitungs-
fehler verursachen.

186
Temperaturfühler–Baugruppen Abschnitt 3-2

CPM1A/CPM2A–Temperaturfühler–Baugruppen
CPM1A–TS001/002/101/102
DIP–Schalter Drehschalter
Wird verwendet, um die Wird verwendet,
Temperaturmasseinheit um den Tempera-
und die Anzahl der ver- turbereich einzu-
wendeten Dezimalstel- stellen.
len einzustellen.

Temperatureingänge

CPM2C–Temperaturfühler–Baugruppen
CPM2C–TS001/101

E/A–Erweiterungssteck–
verbinder (Ausgang)
E/A–Erweiterungs–
steckverbinder (Eingang)

Cold–Junction–
Kompensation
(nur TS001) Temperatureingänge

DIP–Schalter
Wird verwendet, um die Tempe-
raturmasseinheit und die An-
zahl der verwendeten Dezimal-
stellen einzustellen.

Drehschalter
Wird verwendet, um den
Temperaturbebereich einzu-
stellen.

DIP–Schalter– Der DIP–Schalter wird dazu verwendet, die Temperaturmasseinheit (°C oder
einstellungen °F) und die Anzahl der verwendeten Nachkommastellen einzustellen.
CPM1A-TSjjj CPM2C-TSjjj

---
SW 1
--- F C
---

1 2
1
2

0.01 1 oder 0,1

Schalter 1 Einstellung
1 Temperaturmasseinheit
e e a u asse e AUS °C
EIN °F
2 Anzahl verwendeter AUS Normal (0 oder 1 Ziffer nach dem
Nachkommastellen Komma, je nach Eingabebereich)
EIN 2–Dezimalstellen–Betriebsart
(z.B., 0.01)

Hinweis Sehen Sie für Einzelheiten über die 2–Dezimalstellen–Betriebsart 3-2-8 Zwei–
Dezimalstellen–Betriebsart.

187
Temperaturfühler–Baugruppen Abschnitt 3-2

Drehschaltereinstellung Der Drehschalter wird verwendet, um den Temperaturbereich einzustellen.

! Vorsicht Stellen Sie den Temperaturbereich entsprechend dem mit der Baugruppe ver-
bundenen Temperaturfühler ein. Temperaturdaten werden nicht richtig gewan-
delt, wenn der Temperaturbereich nicht dem Fühler entspricht.

! Vorsicht Stellen Sie den Temperaturbereich nicht auf einen anderen Wert ein als den, der
in der folgenden Tabelle für den Temperaturbereich aufgeführt ist. Eine falsche
Einstellung kann Funktionsfehler verursachen.

Ein– CPM1A-TS001/002 CPM1A-TS101/102


stellung
g CPM2C-TS001 CPM2C-TS101
Ein– Bereich Bereich Ein– Bereich Bereich
gangstyp (°C) (°F) gangstyp (°C) (°F)
0 K –200 bis –300 bis Pt100 –200,0 bis –300,0 bis
1.300 2.300 650,0 1.200,0
1 0,0 bis 0,0 bis JPt100 –200,0 bis –300,0 bis
500,0 900,0 650,0 1.200,0
2 J –100 bis –100 bis --- Einstellung nicht möglich
850 1.500
3 0,0 bis 0,0 bis ---
400,0 750,0
4 bis F --- Einstellung nicht möglich ---

3-2-6 Anschluss der Temperaturfühler


Temperaturfühler–Baugruppen der CPM1A/CPM2A
Thermoelemente
CPM1A-TS001
K– oder J–Thermoelemente können angeschlossen werden, aber beide Ther-
moelemente müssen vom gleichen Typ sein und der gleiche Eingabebereich
muss für beide verwendet werden.
Ein- Ein-
gang 0 N.v. N.v. N.v.
gang 1
+ +
Ein- Ein- N.v. N.v. N.v. N.v. N.v.
gang 0 gang 1
– –

Temperatureingang 0

Temperatureingang 1 Cold–Junction–Kompensation

188
Temperaturfühler–Baugruppen Abschnitt 3-2

CPM1A-TS002
K– oder J–Thermoelemente können angeschlossen werden, aber alle vier
Thermoelemente müssen vom gleichen Typ sein und der gleiche Eingabebe-
reich muss für alle verwendet werden.

Eingang Eingang Eingang Eingang


2 3 N.v.
0 1
+ + + +
Eingang
Ein- Ein- N.v. N.v. N.v. Eingang
gang 0 gang 1 2 3
– – – –

Temperatur– Temperatur–
eingang 0 eingang 2

Cold–Junction–
Temperatur– Kompensation Temperatur–
eingang 1 eingang 3

Hinweis Beachten Sie beim Einsatz einer Temperaturfühler–Baugruppe mit einem Ther-
moelementeingang die folgenden Vorsichtsmaßnahmen:
• Entfernen Sie nicht den Cold–Junction–Kompensator, der zum Zeitpunkt
der Lieferung befestigt ist. Wird dieser entfernt, ist die Baugruppe nicht in
der Lage, die Temperaturen richtig zu messen.
• Jeder der Eingangskreise wurde mit dem an die Baugruppe angeschlos-
senen Cold–Junction–Kompensator kalibriert. Deshalb kann die Bau-
gruppe auch nicht mit einem Cold–Junction–Kompensator einer anderen
Baugruppe verwendet werden, da dann ebenfalls die Temperaturen nicht
richtig gemessen werden.
• Berühren Sie den Cold–Junction–Kompensator nicht. Hierdurch können
ebenfalls falsche Temperaturmessung entstehen.
Platin–Widerstands–
thermometer CPM1A-TS101
Ein Pt100– oder JPt100–Platin–Widerstandsthermometer kann angeschlossen
werden, aber beide Thermometer müssen vom gleichen Typ sein und der glei-
che Eingabebereich muss für beide verwendet werden.

Eingang 0 Eingang 1Eingang 1 N.v. N.v. N.v. N.v.


A A B

Eingang 0 Eingang 0 Eingang 1 N.v. N.v. N.v. N.v.


B B B

Pt Pt

Temperatureingang 0 Temperatureingang 1

CPM1A-TS102
Ein Pt100– oder JPt100–Platin–Widerstandsthermometer kann angeschlossen

189
Temperaturfühler–Baugruppen Abschnitt 3-2

werden, aber alle vier Thermometer müssen vom gleichen Typ sein und der glei-
che Eingabebereich muss für alle verwendet werden.

Eingang 0 Eingang 1 Eingang 1 N.v. Eingang 2Eingang 3 Eingang 3


A A B A A B

Eingang 0Eingang 0 Eingang 1 N.v. Eingang 2 Eingang 2Eingang 3


B B B B B B

Pt Pt Pt Pt

Temperatur– Temperatur– Temperatur– Temperatur–


eingang 0 eingang 1 eingang 2 eingang 3

Hinweis Legen Sie keine Verkabelungen an den Klemmen auf, die nicht als Eingänge
verwendet werden.

Temperaturfühler–Baugruppen der CPM2C


CPM2C-TS001 (Thermoelemente)
K– oder J–Thermoelemente können angeschlossen werden, aber beide Ther-
moelemente müssen vom gleichen Typ sein und der gleiche Eingangsbereich
muss für beide verwendet werden.

0+
0–
Temperatureingang 0
NC
1+
1–
Temperatureingang 1 NC

Cold–Junction–
Kompensation

Hinweis Beachten Sie beim Einsatz einer Temperaturfühler–Baugruppe mit einem Ther-
moelementeingang die folgenden Vorsichtsmaßnahmen:
• Berühren Sie den Cold–Junction–Kompensator nicht. Hierdurch können
ebenfalls falsche Temperaturmessung entstehen.
CPM2C–TS101 (Platin–Widerstandsthermometer)
Ein Pt100– oder JPt100–Platin–Widerstandsthermometer kann angeschlossen
werden, aber beide Thermometer müssen vom gleichen Typ sein und der glei-
che Eingangsbereich muss für beide verwendet werden.

0A
Pt 0B
Temperatureingang 0 0B
1A
Pt 1B

Temperatureingang 1 1B

190
Temperaturfühler–Baugruppen Abschnitt 3-2

3-2-7 Kontaktplanprogrammierung
Gewandelte Die Temperaturdaten werden als 4–stelliger Hexadezimalwert in den der Tem-
Temperaturdaten peraturfühler–Baugruppe zugewiesenen Eingangsworten gespeichert.
CPM1A-TS001/TS101 und CPM2C-TS001/TS101
“m” ist das letzte Wort, das der CPU–, Erweiterungs– oder E/A–Erweiterungs-
baugruppe, die unmittelbar vor der Temperaturfühler–Baugruppe angeschlos-
sen ist, zugewiesen wurde.
Wort
m+1 Konvertierte Temperaturdaten von Eingang 0
m+2 Konvertierte Temperaturdaten von Eingang 1

CPM1A-TS002/TS102
“m” ist das letzte Wort, das der CPU–, Erweiterungs– oder E/A–Erweiterungs-
baugruppe, die unmittelbar vor der Temperaturfühler–Baugruppe angeschlos-
sen ist, zugewiesen wurde.
Wort
m+1 Konvertierte Temperaturdaten von Eingang 0
m+2 Konvertierte Temperaturdaten von Eingang 1
m+3 Konvertierte Temperaturdaten von Eingang 2
m+4 Konvertierte Temperaturdaten von Eingang 3

Alle Temperaturfühler–Baugruppen
Negative Werte werden als 2er–Komplemente gespeichert. Daten für
Bereichscodes, die eine Ziffer nach dem Komma beinhalten, werden ohne das
Komma gespeichert, d.h. das 10–fache des tatsächlichen Wertes wird
gespeichert. Einige Beispiele sind in der folgenden Tabelle aufgeführt.
Eingang Datenwandlungs–Beispiele
Einheit: 1° K oder J 850° → 0352 Hex
–200° → FF38 Hex
Einheit: 0,1° K, J, Pt oder JPt 10 x 500,0° → 5000 → 1388 Hex
–20,0° → –200 → FF38 Hex
–200,0° → –2000 → F830 Hex

Überschreitet der angelegte Temperaturwert den wandelbaren Bereich, werden


die gewandelten Temperaturdaten auf den Maximal– oder Minimalwert des Be-
reichs gesetzt. Überschreitet der angelegte Temperaturwert den Bereich um
mehr als eine spezifizierte Größe, erfasst die Drahtbruch–Erfassungsfunktion
eine offen–Schaltung und die gewandelten Temperaturdaten werden auf 7FFF
eingestellt. Die Drahtbruch–Erfassungsfunktion arbeitet auch bei einem fehler-
haften Cold–Junction–Kompensator. Die Drahtbruch–Erfassungsfunktion wird
automatisch zurückgesetzt und die Wandlung beginnt automatisch, wenn der
am Eingang liegende Temperaturwert in den wandelbaren Bereich zurückkehrt.
Einschaltverhalten Nachdem Einschalten der Spannung vergeht ca. 1 s, bevor die ersten Daten ge-
wandelt werden. Die folgenden Befehle können an den Anfang des Programms
gestellt und IR 02000 ausgewertet werden, um das Lesen der gewandelten Da-
ten der Analogeingänge zu verzögern, bis die Wandlung tatsächlich begonnen
hat.

25313
(Immer–EIN–Merker)
CMP (20)
001 Dieser Wert zeigt an, dass die Temperatur-
datenumwandlung begonnen hat.
#7FFE

25506 (=)
02000 Anwenderdefinierter Merker, der anzeigt,
dass die Initialisierung beendet wurde

Hinweis Die Temperarurdaten werden auf den Wert 7FFE gesetzt, bis die tatsächlichen
Werte vorliegen.

191
Temperaturfühler–Baugruppen Abschnitt 3-2

Handhabungsprobleme Tritt ein Fehler in einer Erweiterungsbaugruppe auf, werden die Fehlermerker in
AR 0200 bis AR 0204 aktiviert (AR 0200 bis AR 0202 für die CPM1A/CPM2A).
Sehen Sie Seite 554 für weitere Information. Die Adressen der Fehlermerker lie-
gen in der Reihenfolge, in der die Erweiterungsbaugruppen an die SPS ange-
schlossen sind, wobei AR 0200 für die Erweiterungsbaugruppe verwendet wird,
die der CPU–Baugruppe am nächsten ist. Verwenden Sie diese Merker im Pro-
gramm, falls eine Fehlerauswertung erfolgen soll.
Tritt ein Fehler in einer Temperaturfühler–Baugruppe auf, besitzen die gewan-
delten Temperaturdaten den Wert 7FFF.
Hinweis Der Status von AR 0200 bis AR 0204 ändert sich nicht bei einer Drahtbruch–Er-
fassung.

Programmierbeispiel 1 Das folgende Programmierbeispiel zeigt, wie die Eingabedaten von 2 Tempera-
turfühler–Eingänge in BCD–Werte umgewandelt werden und das Ergebnis in
DM 0000 und DM 0001 abgespeichert wird. Die folgende Systemkonfiguration
wird verwendet.
CPU–Baugruppe mit Temperaturfühler–
20 Anschlüssen Baugruppe

Eingänge Eingänge
IR 000 IR 001
IR 002 Temperaturfühler–Baugrp.einstellung: AUS (°C)
Zwei–Dezimalstellen–Betriebsart: AUS (normal)
Eingabebereichs–Einstellung: 1 (K2, 0,0 bis 500,0°C)
Speicherwort Temperatureingang 0: IR 001
Ausgänge Ausgänge Speicherwort Temperatureingang 1: IR 002
IR 010 Kein

192
Temperaturfühler–Baugruppen Abschnitt 3-2

25313
(Immer–EIN–Merker)
CMP (20) Erfasst den Abschluss der Initialisierung von Eingang 0.
001
#7FFE

25506(=)
02000 EIN, wenn Eingang 0 initialisiert wurde

25313
(Immer–EIN–Merker)
CMP (20) Erfasst den Abschluss der Initialisierung von Eingang 1.
002
#7FFE

25506
02001 EIN, wenn Eingang 1 initialisiert wurde

02000 Ausführungsbedingung
CMP (20) Erkennt einen Drahtbruch–Alarm oder einen Bau-
001
gruppenfehler und setzt die Temperaturdaten auf den
Fehlercode 7FFF.
#7FFF

25506(=)
01000 EIN, wenn ein Drahtbruch–Alarm oder ein Baugrup-
penfehler für Eingang 0 erkannt wurde.

CMP (20) Überprüft, ob die Temperaturdaten in IR 001 500,0 °C


001 (1388 hex., ohne Komma) überschritten haben.
#1388

25505(>)
01001 Ein, für einen Eingang 0–Temperaturfehler

25507(<)
BCD (24) Konvertiert den Inhalt von IR 001 (Temperaturdaten
001
für Eingang 0) in einen BCD–Wert und speichert
das Ergebnis in DM 0000.
DM 0000

02001 Ausführungsbedingung
CMP (20) Erkennt einen Drahtbruch–Alarm oder einen Bau-
002 gruppenfehler und setzt die Temperaturdaten auf den
Fehlercode 7FFF.
#7FFF

25506(=)
01002
EIN, wenn ein Drahtbruch–Alarm oder ein Baugrup-
penfehler für Eingang 1 erkannt wurde.

CMP (20)
Überprüft, ob die Temperaturdaten in IR 002 500,0 °C
002 (1388 hex., ohne Komma) überschritten haben.
#1388

25505(>)
01003 Ein, für einen Eingang 1–Temperaturfehler

25507(<)
BCD (24) Konvertiert den Inhalt von IR 002 (Temperaturdaten
für Eingang 1) in einen BCD–Wert und speichert
002
das Ergebnis in DM 0001.
DM 0001

Programmierbeispiel 2 Das folgende Programmierbeispiel zeigt, wie die Eingabedaten von Tempera-
turfühler–Eingang 0 in BCD–Werte umgewandelt werden und das Ergebnis in
DM 0000 und DM 0001 abgespeichert wird. “0001” wird in DM 0001 gespei-
chert, wenn die Eingabedaten einen negativen Wert darstellen. Die folgende

193
Temperaturfühler–Baugruppen Abschnitt 3-2

Systemkonfiguration wird verwendet.


CPU–Baugruppe mit Temperaturfühler–Bau-
20 Anschlüssen gruppe

Eingänge Eingänge
IR 000 IR 001
IR 002 Temperaturfühler–Baugrp.–einstell.: AUS (°C)
Zwei–Dezimalstellen–Betriebsart: AUS (normal)
Eingabebereichs–Einstellung: 1 (Pt100, –200.0 bis 650.0°C)
Speicherwort von Temperatureingang 0: IR 001
Ausgänge Ausgänge
IR 010 Kein

Programmierung mit BCD(24)–Befehl

25313
(Immer–EIN–Merker)

CMP (20) Erfasst den Abschluss der Initialisierung von Eingang 0.


001
#7FFE

25606 (=)
02000 EIN, wenn Eingang 0 initialisiert wurde

02000 Ausführungsbedingung
CMP (20) Erkennt einen Drahtbruch–Alarm oder einen Bau-
gruppenfehler und setzt die Temperaturdaten auf den
001
Fehlercode 7FFF.
#7FFF

25506(=)
01000 EIN, wenn ein Drahtbruch–Alarm oder ein Baugrup-
penfehler für Eingang 0 erkannt wurde.

25506(=) 00115
BCD (24) Sind die Eingabetemperaturdaten nicht negativ,
001 wird der Inhalt von IR 001 (Temperaturdaten für
Eingang 0) in einen BCD–Wert konvertiert und das
DM 0000
Ergebnis in DM 0000 gespeichert.

MOV(21)
Speichert #0000 in 0001
#0000 DM.
DM 0001

00115
CLC(41)

SBB (51)
Sind die Eingabetemperaturdaten negativ, wird der
#0000 Inhalt von IR 001 in den absoluten Wert der Isttem-
001 peratur konvertiert und das Ergebnis in DM 0010
gespeichert.
DM 0010

BCD (24)
Konvertiert den Inhalt von DM 0010 (absoluter Wert
der negativen Temperaturdaten für Eingang 0) in
DM 0010 einen BCD–Wert und speichert das Ergebnis in
DM 0000 DM 0000.

MOV(21) Speichert #0001 in DM 0001, um einen negativen


Wert anzuzeigen.
#0001
DM 0001

194
Temperaturfühler–Baugruppen Abschnitt 3-2

Programmierung mit dem SCL2(––)–Befehl (nur CPM2A/CPM2C)

25313
(Immer–EIN–Merker)
CMP (20) Erkennt den Abschluss der Initialisierung.

001
#7FFE

25506(=)
02000 EIN, wenn die Initialisierung abgeschlossen ist.

02000 Ausführungsbedingung
CMP (20) Erfasst einen Drahtbruch–Alarm.

001
#7FFF

25506(=)
01000 EIN, wenn ein Drahtbruch–Alarm erkannt wurde.

25506(=)
SCL2 (–)
001
Parametereinstellungen
DM 0010 für Datenumwandlung:
DM 0000 DM 0010 #0000 Offset
DM 0011 #0001 ∆X (hex.)
DM 0012 #0001 ∆Y (BCD)

25504 (CY)
MOV(21) Speichert #0000 in DM 0001, wenn der konver-
tierte Wert nicht negativ ist.
#0000
DM 0001

25504 (CY)
MOV(21) Speichert #0001 in DM 0001, wenn der konver-
tierte Wert negativ ist.
#0001
DM 0001

Betrieb
Binär–zu–BCD–Konvertierung
IR 001 163 162 161 160
Zur Anzeige eines negativen
Ergebnisses auf EIN gesetzt. DM 0000 CY (bei Einsatz des SCL2–Befehls)
0 0 0 1/0 103 102 101 100 1/0

1: Negativ, 0: Nicht negativ


0: Speichert “0000” bei n. negativ. Daten in DM 0001
1: Speichert “0001” bei negativen Daten in DM 0001

195
Temperaturfühler–Baugruppen Abschnitt 3-2

3-2-8 Zwei–Dezimalstellen–Betriebsart
Wird Schalter 2 des DIP–Schalters eingeschaltet, werden Werte als zweistellige
Dezimalwerte gespeichert. In diesem Fall werden Temperaturdaten als 6–stel-
lige Hexadezimal(binär)–Daten mit 4 Stellen im ganzzahligen Teil und 2 Stellen
nach dem Komma gespeichert. Die tatsächlichen, im Speicher abgelegten Da-
ten entsprechen dem 100–fachen des Istwertes, d.h. das Komma wird nicht an-
gezeigt. In diesem Abschnitt werden Verfahren für die Anwendung dieser Daten
beschrieben.
Hinweis Nach der Einstellung zur Speicherung von Werten mit zwei Dezimalstellen wer-
den Temperaturdaten mit bis zu zwei Stellen nachdem das Komma in 6–stellige
Binärdaten konvertiert; die eigentliche Auflösung beträgt jedoch nicht 0,01°C
(°F). Aus diesem Grund können Sprünge und Ungenauigkeiten in der ersten Zif-
fer nach dem Komma (0,1) auftreten. Betrachten Sie jede höhere Auflösung des
normalen Datenformats als Referenzdaten.

Datenstruktur Die Struktur der im Speicher abgelegten Daten wird nachfolgend angezeigt. Der
Wert entspricht dem 100–fachen der Isttemperatur.

jjjjjj

Linksliegende 3 Stellen und Merker


15 14 13 12
Links–/
rechtsliegend– Temperaturein- Drahtbruch– Nicht ver- Temperaturdaten
Merker heit–Merker Merker wendet.

0: Linksliegend 0: °C 0: Normal immer 0


1: Rechtsliegend 1: °F 1: Fehler X 165 X 164 x 163

Rechtsliegende 3 Stellen und Merker


15 14 13 12
Links–/ Drahtbruch– Nicht verwen-
Temperaturein- Temperaturdaten
rechtsliegend– Merker det.
heit–Merker
Merker
0: °C 0: Normal immer 0
0: Linksliegend
1: °F 1: Fehler X 162 X 161 x 160
1: Rechtsliegend

Links–/rechtsliegend–Merker Zeigt an, ob die äußerst linken oder äußerst rechten 3 Stellen
zur Verfügung gestellt werden.
Temperatureinheit–Merker Zeigt an, ob die Temperatur in °C oder °F verarbeitet wird.
Drahtbruch–Merker Wird eingeschaltet(1), wenn ein Drahtbruch erfasst wird. Die
Temperaturdaten sind 7FF FFF, wenn dieser Merker aktiviert
ist.

196
Temperaturfühler–Baugruppen Abschnitt 3-2

Datenwandlungs– Einige Beispiele von für diverse Temperaturwerte gespeicherten Daten sind
Beispiele nachfolgend dargestellt.
Beispiel 1
Temperatur: 1.130,25°C
×100: 113025
Temperaturdaten : 01B981 hex.
Linksliegende 3 Stellen und Merker

Merker X 165 X 164 x 163


Bits 15 14 13 12 08 bis 11 04 bis 07 00 bis 03
Daten 0 0 0 0 0 1 B 0 0 1 B
Normal
°C Temperatur-
Merker daten
Linksliegend
Rechtsliegende 3 Stellen und Merker

Merker x 162 x 161 x 160


Bits 15 14 13 12 08 bis 11 04 bis 07 00 bis 03
Daten 1 0 0 0 9 8 1 8 9 8 1
Normal
°C Temperatur-
Merker daten
Rechtsliegend

Beispiel 2
Temperatur: –100,12°C
×100: –10012
Temperaturdaten : FFD8E4 (hex., für –10012)
Linksliegende 3 Stellen und Merker

Merker X 165 X 164 x 163


Bits 15 14 13 12 08 bis 11 04 bis 07 00 bis 03
Daten 0 0 0 0 F F D 0 F F D
Normal
°C Merker Temperatur-
Linksliegend daten

Rechtsliegende 3 Stellen und Merker

Merker x 162 x 161 x 160


Bits 15 14 13 12 08 bis 11 04 bis 07 00 bis 03
Daten 1 0 0 0 8 E 4 8 8 E 4
Normal
°C Merker Temperatur-
Rechtsliegend daten

197
Temperaturfühler–Baugruppen Abschnitt 3-2

Beispiel 3
Temperatur: –200,12°F
×100: –20012
Temperaturdaten: FFB1D4 (hex. für –20012)
Linksliegende 3 Stellen und Merker

Merker X 165 X 164 x 103


Bits 15 14 13 12 08 bis 11 04 bis 07 00 bis 03
Daten 0 1 0 0 F F B 4 F F B
Normal
°F Merker Temperatur-
Linksliegend daten

Rechtsliegende 3 Stellen und Merker

Merker x 162 x 101 x 160


Bits 15 14 13 12 08 bis 11 04 bis 07 00 bis 03
Daten 1 1 0 0 1 D 4 C 1 D 4
Normal
°F Merker Temperatur-
Rechtsliegend daten

Beispiel 4
Temperatur: Drahtbruch (°F)
Temperaturdaten: 7FFF FFFF
Linksliegende 3 Stellen und Merker

Merker X 165 X 164 x 103


Bits 15 14 13 12 08 bis 11 04 bis 07 00 bis 03
Daten 0 1 1 0 7 F F 6 7 F F
Fehler
°F Temperatur-
Merker
daten
Linksliegend

Rechtsliegende 3 Stellen und Merker

Merker x 162 x 101 x 160


Bits 15 14 13 12 08 bis 11 04 bis 07 00 bis 03
Daten 1 1 1 0 F F F E F F F

Fehler
Temperatur-
°F Merker
daten
Rechtsliegend

Hinweis 1. Äußerst linke Stellen werden auf den unteren Speicheradressen gespei-
chert. Verarbeiten Sie die Daten bei der Programmierung auf den unteren
Speicheradressen wie die äußerst linken Stellen.
2. Stellen Sie sicher, dass die Daten mindestens alle 125 ms gelesen werden,
um die CPU–Baugruppenzyklus– und Kommunikationszeit zu berücksichti-
gen. Korrekte Daten stehen möglicherweise nicht zur Verfügung, wenn der
Lesezyklus größer als 125 ms ist.

198
Temperaturfühler–Baugruppen Abschnitt 3-2

Programmbeispiel Das folgende Programmbeispiel zeigt, wie die 2–Dezimalstellen–Betriebsart


mit der folgende SPS–Konfiguration verwendet wird.
CPU–Baugruppe E/A–Erweiterungs- Temperaturfühler–
mit 20 Anschlüssen baugruppe mit 20 E/A Baugruppe

Temperaturfühler–Baugrup-
Eingänge Eingänge Eingänge peneinstellung:
IR 000 IR 001 IR 002 OFF (°C)
IR 003
Zwei–Dezimalstellen–Be-
triebsart ON (2 Stellen wer-
Ausgänge Ausgänge Ausgänge den nach dem Komma ge-
IR 010 IR 011 Kein speichert)

In diesem Beispiel wird das 100–fache der Temperaturdaten von Eingang 0 im


Binärformat in DM 0100 bis DM 0102 gespeichert.

Äußerst l. Daten IR 200


Temperatureingang 0 IR 002
Äußerst r. Daten

Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DM 0100 X 163 X 162 X 161 X 160
DM 0101 X 167 X 166 X 165 X 164

Das folgende Programm würde hierzu verwendet werden.

199
Temperaturfühler–Baugruppen Abschnitt 3-2

25315
(Erster–Zyklus–Merker)
MOV(21) (1)
#0000
Stellt DM 0103 auf #0100 und
DM 0102 auf #0000 ein.
DM 0102

MOV(21)
#0100

25313 DM 0103
(Immer–EIN–Merker)
CMP (20)
002 Erfasst den Abschluss der Initialisierung
von Eingang 0.
#7FFE

25506(=)
02000 EIN, wenn Eingang 0 initialisiert wurde

02000 00213 (Drahtbruch erfasst)


01000 Drahtbruch–Alarmausgang

00215 (äußerst linke Stellen)


SET 02001 Bereit zur Datenumwandlung.
02001 00215 (äußerst linke Stellen)
MOV(21) (2)
Äußerst linke Stellen wurden auf IR 200
002
übertragen
200
00215 (äußerst rechte Stellen) (3)
MOVD (83)
002 Äußerst linke und äußerst
#0020 rechte Stellen wurden umge-
stellt und auf IR 202 und IR
201
201 übertragen.
MOVD (83) (4)
200
#0300

201

MOVD (83) (5)


200
#0011

202

RSET 02001

SET 02002 Datenumstellung beendet.

200
Temperaturfühler–Baugruppen Abschnitt 3-2

02002 20207 (nicht negative Daten)


BCDL (59) (6)
201 Sind die Temperaturdaten nicht negativ, wer-
den die Binärdaten in IR 202 und IR 201 in
DM 0100
20207 (negative Daten) einen BCD–Wert konvertiert und in DM 0101
DM und DM 0100 gespeichert.
CLC(41)
(7)
SBB (51)
Sind die Temperaturdaten negativ, werden
die 2er–Komplementdaten in IR 202 und
DM 0102 IR 201 in Binärdaten konvertiert, die den
201 Absolutwert der Temperatureingabe dar-
HR00
stellen und in HR 01 und HR 00 gespei-
chert.
SBB (51)
DM 0103
202

HR01

BCDL (59) (8)


Die Binärdaten in HR 01 und HR 00 werden
HR00
in einen BCD–Wert konvertiert und in DM
DM 0100 0101 und DM 0100 gespeichert.

MOVD (83) (9)


“1” wird ins Bit von DM 0101, das ne-
#0008
gative Daten anzeigt, geschrieben.
#0300

DM 0101

SET 02002

Hinweis Der BCDL(59)Befehl steht nur in der CPM2A und CPM2C zur Verfügung.
Die den Nummern im obenstehenden Kontaktplanbeispiel entsprechenden Da-
tenbewegungen werden im folgenden Diagramm veranschaulicht.
IR 002: Äußerst linke 3 Stellen der Temperaturdaten IR 002: Äußerst rechte 3 Stellen der Temperaturdaten
0 165 164 163 1 162 161 160

(2)
(3)
IR 200 0 165 164 163
(4)
(5)

IR 202 0 0 165 164 IR 201 163 162 161 160


(6)
Sind die Temperaturdaten nicht negativ, wer-
den die Binärdaten in IR 202 und IR 201 in
einen BCD–Wert konvertiert und in DM 0101
DM 0101 0/8 106 105 104 DM 0100 10
3 102 101 100 DM und DM 0100 gespeichert.

(9) (8)
Sind Temperaturdaten negativ,wird hier “8” eingetragen (d.h. Sind die Temperaturdaten negativ, werden die
“1” wird in das Bit, das negative Daten anzeigt, geschrieben). Binärdaten in HR 01 und HR 00 in einen
(1) #0100 BCD–Wert konvertiert und in DM 0101 und
(1) #0000
DM 0100 gespeichert.
DM 0103 0 1 0 0 DM 0102 0 0 0 0

– IR 202 2er–Komplementdaten IR 201 2er–Komplementdaten

HR 01 0 0 165 164 HR 00 163 162 161 160

(7)
Die 2er–Komplementdaten in IR 202 und IR 201 werden als Binärdaten von den Daten
in DM 0103 DM und DM 0102 subtrahiert und in HR 01 und HR 00 gespeichert.

201
CompoBus/S–E/A–Link–Module Abschnitt 3-3

3-3 CompoBus/S–E/A–Link–Module
Eine SPS der Serie CPM1A, CPM2A oder CPM2C kann als Slave in einer Com-
poBus/S– (oder einer SRM1–CompoBus/S–)Master–Feldbussteuerung arbei-
ten, wenn ein CompoBus/S–E/A–Link–Modul angeschlossen wird. Das Com-
poBus/S–E/A–Link–Modul stellt eine E/A–Verbindung mit 8 Eingangs– und 8
Ausgangsmerkern zwischen der Master–Feldbussteuerung und der SPS her.
Hinweis Für die CPM1A muss eine CPM1A–CPU–Baugruppe mit 30 oder 40 Ein–/Aus-
gängen mit der CompoBus/S–E/A–Link–Baugruppe verbunden werden. Sie
kann nicht mit einer CPM1A–CPU–Baugruppe mit 10 oder 20 Ein–/Ausgängen
verbunden werden.

CompoBus/S–Master–Feldbus-
steuerung (oder SRM1 CompoBus/
S–Master–Feldbussteuerung) CPM1A-SRT21 CPM2C– CPM2C–SRT21
CPM1A/CPM2A– CompoBus/S– CPU– –CompoBus/S–
CPU–Baugruppe E/A–Link–Baugruppe Bau- E/A–Link–Modul
gruppe

Besonderes Flachband– oder VCTF–Kabel

Vom Standpunkt der CPU–Baugruppe entsprechen die dem CompoBus/S–E/


A–Link–Modul zugewiesenen 8 Eingangs– und 8 Ausgangsmerkern den der
E/A–Erweiterungsbaugruppe zugewiesenen Ein– und Ausgänge, auch wenn
das CompoBus/S–E/A–Link–Modul keine eigentliche Eingänge und Ausgänge
steuert. Vom Standpunkt des CompoBus/S–Masters werden die 8 Ein– und 8
Ausgangsmerker des CompoBus/S–E/A–Link–Moduls entsprechend der ein-
gestellten Teilnehmernummer adressiert.
Master–SPS (CS1–Serie) CPM1A, CPM2A oder CPM2C

CPU–Baugruppe CompoBus/S– CPU–Baugruppen mit 30 CompoBus/


Master–Feld- E/A–Anschlüssen S–E/A–Link–
bussteuerung Modul
E/A–Speicher E/A–Speicher
8 A–Merker Baugruppe
Nr. 0 8 E–Merker Teilnehmer-
Ausg. Eing.
nummer:
2000 IR 002
8 E–Merker 8 A–Merker 0
Eing. Ausg.
2004 IR 012

Technische Daten Technische Daten


Modell– CPM1A oder CPM2A: CPM1A-SRT21
nummer
CPM2C: CPM2C-SRT21
Master/Slave CompoBus/S–Slave
Anzahl der E/A–Merker 8 Eingangs– und 8 Ausgangsmerker
Anzahl der Worte, die im 1 Eingangswort, 1 Ausgangswort
E/A–Speicher einer
(Wird auf die gleiche Weise zugewiesen, wie
CPU–Baugruppe zugewiesen
E/A–Erweiterungsbaugruppen und andere
werden
Erweiterungsbaugruppen)
Teilnehmernummern– Einstellung über den DIP–Schalter
Einstellung
(Einstellung muss vor dem Einschalten der
Spannungsversorgung der CPU–Baugruppe erfolgen.)

202
CompoBus/S–E/A–Link–Module Abschnitt 3-3

LED–Anzeigen Anzeige Status Beschreibung


CO
COMM EIN Kommunikation aktiv.
(G lb)
(Gelb) AUS Die Kommunikation ist unterbrochen oder ein Fehler ist
aufgetreten.
ERR EIN Ein Kommunikationsfehler ist aufgetreten.
(R t)
(Rot) AUS Zeigt eine normale Kommunikation oder ein nicht
angeschlossenes Modul an.

Anwendungsverfahren

Baugruppe anschließen Schließen Sie das CompoBus/S–E/A–Link–Modul an.

Legen Sie die Teilnehmeradresse des Die Teilnehmernummer sollte eine einmalige Nummer zwischen 0
CompoBus/S–E/A–Link–Moduls fest und 15 sein.
und stellen Sie den DIP–Schalter ent-
sprechend ein Verwenden Sie den DIP–Schalter, um die die CompoBus/S–Teil-
nehmernummer der E/A–Link–Baugruppe, den Kommunikations-
modus und den Status der Ausgabedaten bei einem Kommunika-
tionsfehler zu spezifizieren.

Verlegen Sie die CompoBus/S– Schließen Sie das CompoBus/S–E/A–Link–Modul an


Verkabelung eine CompoBus/S–Verkabelung an.

Anschluss des Schließen Sie das CompoBus/S–E/A–Link–Modul an die CPU–Baugruppe an.


CompoBus/S–E/A–Link– Werden ebenfalls Erweiterungs– oder E/A–Erweiterungsbaugruppen ange-
Moduls schlossen, können sie in beliebiger Reihenfolge an die CPU–Baugruppe ange-
schlossen werden.
CPM1A-SRT21
CPM1A/CPM2A– CompoBus/S– CPM2C–CPU– CompoBus/S–E/
CPU–Baugruppe E/A–Link–Baugruppe Baugruppe A–Link–Modul

E/A–Zuweisung
E/A–Worte werden dem CompoBus/S–E/A–Link–Modul auf die gleiche Weise
wie Erweiterungs– und E/A–Erweiterungsbaugruppen zugewiesen: die näch-
sten verfügbaren Ein– und Ausgangsworte werden zugewiesen. Hierbei ist “m”
das letzte zugewiesene Eingangswort und “n” das letzte zugewiesene Aus-
gangswort; dem CompoBus/S–E/A–Link–Modul wird ”m+1” als Eingangswort
und“ ”n+1” als Ausgangswort zugewiesen.
CompoBus/S–E/A–Link–Modul
Wort m+1
Bit 00 bis 07

8 Eingänge
8 Ausgänge
Wort n+1
Bit 00 bis 07

203
CompoBus/S–E/A–Link–Module Abschnitt 3-3

Im folgenden Beispiel wird ein CompoBus/S–E/A–Link–Modul an eine CPU–


Baugruppe mit 30 Ein–/Ausgängen angeschlossen.

IR 000 IR 002
Eingangsworte IR 001
CPU–Baugrup- CompoBus/S–
pen mit 30 E/A E/A–Link–Mod.
Ausgangsworten IR 010
IR 011 IR 012

Das Eingangswort (m+1) enthält die 8 Datenmerker der Master–Feldbussteue-


rung und zwei CompoBus/S–Kommunikationsmerker.

15 09 08 07 00
Wort m +1 0 0 0 0 0 0

Daten von der Master–Feldbussteuerung


CompoBus/S–Kommunikations–Fehlermerker
0: Normal
1: Fehler
CompoBus/S–Kommunikations–Statusmerker
0: Keine Kommunikation;
1: Kommunikation aktiv

Daten, die an Master–Feldbussteuerung gesendet werden sollen, in das Aus-


gangswort (n+1) schreiben.
15 07 00
Wort n+1 0 0 0 0 0 0 0 0

Daten, die an die Master–Feldbussteuerung gesendet werden sollen

Die 8 E/A–Datenmerker werden nicht immer gleichzeitig gesendet. Mit anderen


Worten, 8 Datenmerker, die von der Master–CPU–Baugruppe gleichzeitig ge-
sendet werden, erreichen die Slave–CPU–Baugruppe nicht immer gleichzeitig
und 8 Datenmerker, die von der Slave–CPU–Baugruppe gleichzeitig gesendet
werden, erreichen die Master–CPU–Baugruppe nicht immer gleichzeitig.
Ändern Sie den Kontaktplan in der empfangenden CPU–Baugruppe, wenn 8
Eingabedatenmerker zusammen gelesen werden müssen. Lesen Sie z. B. die
Eingabedaten zweimal nacheinander und übernehmen Sie die Daten nur, wenn
die zwei Werte übereinstimmen.
Nichtverwendete Merker in dem CompoBus/S–E/A–Link–Modul können als Ar-
beitsmerker verwendet werden, aber nichtverwendete Merker in den Aus-
gangs–Slaves können nicht als Arbeitsmerker eingesetzt werden.
Nichtverwendete Merker in Eingangswort können nicht als Arbeitsmerker ver-
wendet werden.
Festlegung der Teilnehmernummer und Einstellung der DIP–Schalter
Teilnehmer
Das CompoBus/S–E/A–Link–Modul ist ein Slave–Modul mit 8 Ein– und 8 Aus-
gangsmerkern. Die Teilnehmernummern–Einstellung erfolgt über den DIP–
Schalter; Ein– und Ausgangsmerker verwenden die gleiche Teilnehmernum-
mer.
Der Bereich der möglichen Teilnehmernummern–Einstellungen wird durch den
SPS–Typ, in die die Master–Feldbussteuerung eingesetzt ist, und die Einstel-
lungen auf der Master–Feldbussteuerung bestimmt. Sehen Sie für weitere Ein-
zelheiten das CompoBus/S–Bedienerhandbuch.

204
CompoBus/S–E/A–Link–Module Abschnitt 3-3

DIP–Schaltereinstellungen
Verwenden Sie den DIP–Schalter, um die CompoBus/S–Teilnehmernummer
der E/A–Link–Baugruppe, den Kommunikationsmodus und den Status der Aus-
gabedaten bei einem Kommunikationsfehler zu spezifizieren.
CPM1A-SRT21

DIP–Schalter

CPM2C-SRT21

Schalter–
bezeich–
nung
1, 2, 4 und 8 Teilnehmer–Adresseneinstellung
Schalter Schalter
Adresse 8421Adresse 8421
0 0000 8 1000
1 0001 9 1001
2 0010 10 1010
3 0011 11 1011
4 0100 12 1100
5 0101 13 1101
6 0110 14 1110
7 0111 15 1111
1 = ON, 0 = OFF
DR ON Long-Distance–Kommunikationsmodus (sehen Sie Hinweis 2)
OFF High-speed–Kommunikationsmodus
HOLD
O ON Eingänge nach einem Kommunikationsfehler beibehalten
OFF Eingänge nach einem Kommunikationsfehler löschen

Hinweis 1. Schalten Sie immer die Spannungsversorgung aus, bevor Sie die DIP–
Schaltereinstellungen ändern.
2. Berühren Sie nie den DIP–Schalter, wenn die Baugruppe arbeitet. Statische
Elektrizität könnte Verarbeitungssfehler verursachen.
3. Der Long-Distance–Kommunikationsmodus ist nur einsetzbar, wenn eine
der folgenden Master–Feldbussteuerungen angeschlossen wird:
C200HW–SRM21–V1, CQM1–SRM21–V1 oder SRM1–C0j–V2.

205
CompoBus/S–E/A–Link–Module Abschnitt 3-3

Anschluss der Schließen Sie die CompoBus/S–Kommunikationsverkabelung an, wie es in den


CompoBus/S– folgenden Diagrammen dargestellt ist.
Kommunikations–
verkabelung

Diese Klemmen werden nicht ver-


wendet (NC: not connected = N.
CPM1A-SRT21 v.: nicht verbunden). Sie können
jedoch als Kommunikations–
N C (BS+) Spannungsversorgungsklemmen
N C (BS–) verwendet werden.
(BS +)

(BS –)

Anschluss an das
CompoBus/S–Kom-
munikationskabel.

CPM2C-SRT21
Von der CompoBus/S–
Kommunikations–
verkabelung
BD L BD H

BD H

BD H

BD L

BD L

NC

Zur CompoBus/S–
Kommunikations–
verkabelung

206
KAPITEL 4
Kommunikationsfunktionen
Dieser Abschnitt beschreibt dieVerwendung der Kommunikationsfunktionen der SPS–Systeme CPM1, CPM1A, CPM2A,
CPM2C und SRM1(–V2).
4-1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
4-1-1 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
4-1-2 Schnittstellenverdrahtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
4-2 CPM1–/CPM1A–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
4-2-1 Host–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
4-2-2 1:1–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . 211
4-2-3 1:1–PC–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . . 212
4-3 CPM2A–/CPM2C–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . 214
4-3-1 Host–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
4-3-2 Ohne Protokoll–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . 231
4-3-3 1:1–NT–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
4-3-4 1:1–PC–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
4-4 SRM1(–V2)–Kommunikationsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
4-4-1 Host–Link–Kommunikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
4-4-2 Ohne Protokoll–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . 251
4-4-3 1:1–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . 256
4-4-4 1:n–NT–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . 257
4-4-5 1:1–PC–Link–Kommunikationsmodus . . . . . . . . . . . . . . . . . . . . . . . . . 258
4-5 Host–Link–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
4-5-1 IR/SR–Bereich lesen – RR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
4-5-2 LR–Bereich lesen – RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
4-5-3 HR–Bereich lesen – RH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
4-5-4 Istwert lesen – RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
4-5-5 TC–Status lesen – RG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
4-5-6 DM–Bereich lesen – RD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
4-5-7 AR–Bereich lesen – RJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
4-5-8 IR/SR–Bereich schreiben – WR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
4-5-9 LR–Bereich schreiben – WL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
4-5-10 HR–Bereich schreiben – WH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
4-5-11 Istwert schreiben – WC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
4-5-12 TC–Status schreiben – WG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
4-5-13 DM–Bereich schreiben – WD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
4-5-14 AR–Bereich schreiben – WJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
4-5-15 Sollwert lesen 1 – R# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
4-5-16 Sollwert lesen 2 – R$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
4-5-17 Sollwert ändern 1 – W# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
4-5-18 Sollwert ändern 2 – W$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
4-5-19 Status lesen – MS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
4-5-20 Status schreiben – SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
4-5-21 Fehler lesen – MF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
4-5-22 Zwangsweises setzen – KS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
4-5-23 Zwangsweises rücksetzen – KR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
4-5-24 Mehrfaches zwangsweises setzen/rücksetzen – FK . . . . . . . . . . . . . . . 277
4-5-25 Zwangsweises Setzen/Rücksetzen aufheben – KC . . . . . . . . . . . . . . . . 278
4-5-26 SPS–Typ lesen – MM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
4-5-27 Test – TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
4-5-28 Programm lesen – RP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
4-5-29 Programm speichern – WP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
4-5-30 Zusammengefaßte Lesedaten – QQ . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
4-5-31 Abbruch – XZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
4-5-32 Initialisieren – :: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
4-5-33 TXD–Antwort – EX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
4-5-34 Nicht definierter Befehl – IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

207
Einführung Abschnitt 4-1

4-1 Einführung
4-1-1 Übersicht
CPM1/CPM1A– Die CPM1/CPM1A kommuniziert über ihre Peripherieschnittstelle mittels eines
Kommunikation RS–232C– oder eines RS–422–Adapters.
Host–Link–Kommunikationsmodus
Die CPM1/CPM1A–SPS–Systeme sind mit dem Host–Link–System kompati-
bel. Dies ermöglicht den Anschluss von bis zu 32 SPS an einen Host–Computer.
Ein RS–232C–Adapter wird für die1:1–Kommunikation und ein RS–422–Adap-
ter und ein B500–AL004–Link–Adapter werden für die 1:n–Kommunikation ver-
wendet.
Eine mit einem RS–232C–Adapter ausgerüstete CPM1/CPM1A kann über
Host–Link–Befehle auch mit einem programmierbaren Terminal (NT) von
OMRON kommunizieren.
Sehen Sie Abschnitt 4-2-1 CPM1/CPM1A–Host–Link in diesem Handbuch und
Abschnitt 1–2–2 Host–Link in den Technischen Handbüchern der CPM1 und
der CPM1A für weitere Informationen.
1:1–PC–Link–Kommunikationsmodus
Eine Datenverbindung kann mit einem Datenbereich in einer anderen CPM1–,
CPM1A–, CPM2A–, CPM2C–, CQM1–, C200HX/HG/HE– oder C200HS–SPS
erstellt werden. Für die 1:1–Verbindung wird ein RS–232C–Adapter benötigt.
Sehen Sie Abschnitt 4-2-3 CPM1/CPM1A 1:1–Link in diesem Handbuch und
Abschnitt 1–2–3 1:1–Links in den Technischen Handbüchern der CPM1 und der
CPM1A für weitere Informationen.
1:1–NT–Link–Kommunikationsmodus
Über die 1:1–NT–Link–Verbindung kann die CPM1–/CPM1A–SPS über einen
RS–232C–Adapter mit einem OMRON NT–Terminal (NT–Link–Schnittstelle)
kommunizieren.
Sehen Sie Abschnitt 4-2-2 CPM1/CPM1A–Host–Link in diesem Handbuch und
Abschnitt 1–2–2 Host–Link in dem Technischen Handbuch der CPM1 und der
CPM1A für weitere Informationen.
CPM2A/CPM2C– Die folgenden Kommunikationsmodi werden von den Schnittstellen der
Kommunikation CPM2A/CPM2C unterstützt.
• Host–Link–Kommunikation mit einem Host–Computer
• Aktive (RS–232C)Kommunikation mit einem Computer oder einem anderen
Gerät
• 1:1–PC–Link–Kommunikation mit einer anderen SPS
• 1:1–NT–Link–Kommunikation mit NT–Terminals von OMRON
Dieses Kapitel erläutert die erforderlichen Konfigurationseinstellungen und die
Verfahren zur Verwendung dieser Kommunikationsmodi.
SRM1(–V2)–Kommuni– Die folgenden Kommunikationsmodi werden von den Schnittstellen der
kationsfunktionen SRM1(-V2) ünterstützt.
• Host–Link–Kommunikation mit einem Host–Computer
• Aktive (RS–232C)Kommunikation mit einem Computer oder einem anderen
Gerät
• 1:1–PC–Link–Kommunikation mit einer anderen SPS
• 1:1–NT–Link–Kommunikation mit NT–Terminals von OMRON
Hinweis Die 1:1–NT–Link–Kommunikation ist mit der SRM1–C01 nicht möglich, da
diese nur über eine Peripherieschnittstelle verfügt. Die SRM1–C01 kann im
Host–Link–Modus über einen RS–232C–Adapter an ein programmierbares
Terminal angeschlossen werden.

208
Einführung Abschnitt 4-1

4-1-2 Schnittstellenverdrahtung
Informationen über die Verdrahtung der Kommunikationsschnittstellen finden
Sie in den Technischen Handbüchern der CPM1, CPM1A, CPM2A, CPM2C und
der SRM1–Master–Steuerung.

209
CPM1–/CPM1A–Kommunikationsfunktionen Abschnitt 4-2

4-2 CPM1–/CPM1A–Kommunikationsfunktionen
4-2-1 Host–Link–Kommunikation
Die Host-Link-Kommunikation wird zum Anschluss einer oder mehrerer SPS–
Systeme an einen Host-Computer über ein RS-232C-Kabel eingesetzt. Die
Kommunikation wird hierbei von dem Host–Computer gesteuert. Normaler-
weise gibt der Host-Computer einen Befehl an eine SPS aus, die wiederum au-
tomatisch eine Empfangsbestätigung zurückgibt. Daher wird die Kommunika-
tion ohne aktive Beteiligung der SPS ausgeführt. Einige SPS–Systeme können
ebenfalls Datenübertragungen einleiten, wenn eine direkte Beteiligung erfor-
derlich ist.
Im Allgemeinen stehen zur Implementation des Host–Link–Kommunikations-
modus zwei Verfahren zur Verfügung. Eines basiert auf den C-Modus– und das
andere auf den FINS(CV-Modus)–Befehlen. Die CPM1/CPM1A unterstützt nur
C-Modus–Befehle. Einzelheiten über die zur Verfügung stehenden Host–Link–
Befehle finden Sie im Abschnitt 4-5.
SPS–Konfigurations– Stellen Sie die CPM1/CPM1A–Peripherieschnittstelle für den Host–Link–Kom-
einstellung munikationsmodus entsprechend der folgenden Tabelle ein.
Wort Bit Funktion Einstellung
DM 6650 00 bis 07 Kommunikationsformat1 00
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
08 bis 11 Link–Bereich für 1:1 PC–Link über Peripherieschnittstelle 0 (Jeder Wert ist
0: LR 00 bis LR 15 zulässig)
12 bis 15 Kommunikationsmodus1 0
0: Host–Link;
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
DM 6651 00 bis 07 Baudrate1 00 (Jeder Wert
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2 ist zulässig)
08 bis 15 Rahmenformat1 00 (Jeder Wert
ist zulässig)
Start Länge Stop Parität
00: 1 Bit 7 Bits 1 Bit Gerade
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Kein
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Kein
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Kein
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Kein
DM 6652 00 bis 15 Übertragungsverzögerung (Host–Link)1 0000
0000 bis 9999: In ms.
DM 6653 00 bis 07 Teilnehmernummer (Host–Link)1 00 bis 31
00 bis 31 (BCD)
08 bis 15 Nicht verwendet. 00 (Jeder Wert
ist zulässig)

Hinweis 1. Bei einer falschen Einstellung tritt ein geringfügiger Fehler auf. AR 1302
wird auf EIN gesetzt und die Grundeinstellung (0, 00 oder 0000) verwendet.
2. Weitere Informationen über Host–Link–Einstellungen finden Sie in den je-
weiligen Technischen Handbüchern der SPS–Systeme.

210
CPM1–/CPM1A–Kommunikationsfunktionen Abschnitt 4-2

3. Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben


sich die folgenden Kommunikationsvorgaben. Setzen Sie in diesem Fall
den Wert zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer: 00
Beispielprogramm Dieses Beispiel zeigt ein BASIC–Programm, das den Zustand der CPM1–Ein-
gänge in IR 000 liest. Sehen Sie für weitere Einzelheiten den Abschnitt 4-5
Host–Schnittstellenbefehle.
Eine FCS–Prüfung (Rahmen–Überprüfungsfolge) wird bei den empfangenen
Antwortdaten in diesem Programm nicht durchgeführt. Vergewissern Sie sich
vor Ausführung des Programms, dass die RS–232C–Schnittstelle des Host–
Computers richtig konfiguriert ist.
1010 CPM1 SAMPLE PROGRAM
1020 ’SET THE COMMAND DATA
1030 S$=”@00RR00000001”
1040 FCS=0
1050 FOR I=1 TO LEN(S$)
1060 FCS=FCS XOR ASC(MID$(S$,I,1))
1070 NEXT I
1080 FCS$=(FCS):IF LEN(FCS$)=1 THEN FCS$=”0”+FCS$
1090 CLOSE 1
1100 CLS
1110 PRINT ”SENDING COMMAND”
1120 OPEN ”COM:E73” AS #1
1130 PRINT #1,S$ + FCS + CHR$(13);
1140 CLS
1150 PRINT ”RECEIVING RESPONSE DATA”
1160 LINE INPUT #1,A$
1170 PRINT A$
1180 END

4-2-2 1:1–NT–Link–Kommunikationsmodus
Mit Hilfe dieses Kommunikationsmodus kann die CPM1–/CPM1A–SPS über ei-
nen RS–232C–Adapter mit einem OMRON NT–Terminal (NT–Link–Schnitt-
stelle) kommunizieren.
CPM1–SPS
Programmierbares NT–Terminal RS–232C–Adapter CPM1 CPU–Baugruppe

CPM1 CPU

RS–232C–Kabel

211
CPM1–/CPM1A–Kommunikationsfunktionen Abschnitt 4-2

CPM1A–SPS
RS–232C–
Adapter
Programmierbares NT–Terminal CPM1A CPU–Baugruppe

RS–232C–Kabel

SPS–Konfigurations– In der folgenden Tabelle sind die auf die 1:1–NT–Link–Kommunikation bezoge-
einstellung nen Einstellungen aufgeführt.
Wort Bit Funktion Einstellung
DM 6650 00 bis 07 Kommunikationsformat1 00 oder 01
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
08 bis 11 Einstellung für den 1:1–NT–Link–Kommunikationsmodus unerheblich 0
12 bis 15 Kommunikationsmodus1 4
0: Host–Link;
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link

Hinweis 1. Wird eine falsche Einstellung verwendet, tritt ein geringfügiger Fehler auf.
AR 1302 wird auf EIN gesetzt und die Grundeinstellung (0 oder 00) verwen-
det.
2. Sehen Sie für weitere Informationen über die NT–Link–Einstellungen ande-
rer OMRON–SPS–Systeme das entsprechende Programmierhandbuch
der jeweiligen SPS.
3. Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben
sich die folgenden Kommunikationsparameter. Setzen Sie in diesem Fall
den Wert zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud)
Übertrag.verzöger.–zeit Keine
Teilnehmernummer: 00

4-2-3 1:1–PC–Link–Kommunikationsmodus
Bei einer 1:1–PC–Link–Kommunikation wird eine SPS der Serie CPM1/CPM1A
über einen RS–232C–Adapter und ein Standard–RS–232C–Kabel mit einer an-
deren CPM1/CPM1A, CPM2A/CPM2C, CQM1, C200HX/HG/HE oder C200HS
verbunden. Ein SPS–System dient als Master und das andere als Slave. Über
den 1:1–PC–Link können bis zu 256 Bits (LR 0000 bis LR 1515) in zwei SPS–
Systemen miteinander ausgetauscht werden.

212
CPM1–/CPM1A–Kommunikationsfunktionen Abschnitt 4-2

CPM1/CPM1A Das folgende Diagramm zeigt ein 1:1–PC–Link–Anschluss zwischen zwei


1:1–PC–Link–Anschluss CPM1–SPS–Systemen. Sehen Sie für weitere Informationen über den An-
schluss zweier CPM1 das Technische Handbuch der CPM1.
RS–232C–Kabel

RS–232C– RS–232C–
Adapter Adapter
CPM1 CPU–Baugruppe CPM1 CPU–Baugruppe

Die für den 1:1–PC–Link verwendeten Worte sind nachfolgend dargestellt.

Master Slave
LR 00 LR 00
Daten Schreibbe- Lesebereich Daten
schreiben LR 07 reich LR 07 lesen
LR 08 LR 08
Daten Lesebereich Schreibbereich Daten
lesen LR 15 LR 15 schreiben

1:1–PC–Link– In der CPM1/CPM1A können nur die16 LR–Worte von LR 00 bis LR 15 zur Kom-
Beschränkungen mit einer munikation benutzt werden. Verwenden Sie also nur diese16 Worte in der
CPM1/CPM1A CQM1 oder C200HS, wenn Sie einen 1:1–PC–Link mit einer CPM1/CPM1A
aufbauen. Ein 1:1–PC–Link kann nicht mit einer CPM1–/CPM1A–SPS über
LR 16 bis LR 63 in einer CQM1, C200HX/HG/HE oder C200HS erstellt werden.
SPS–Konfigurations– In der folgenden Tabelle sind die auf die 1:1–PC–Link–Kommunikation bezoge-
einstellung nen Einstellungen aufgeführt.
Wort Bit Funktion Einstellung Einstellung
(Master) (Slave)
DM 6650 00 bis 07 Kommunikationsformat1 00 oder 01 00 oder 01
00: Standard (1 Start–, 7 Daten– und 2 Stopbits,
gerade Parität, 9.600 Baud)
01: Einstellungen im Datenwort DM 6651
08 bis 11 Link–Bereich für 1:1 PC–Link über Peripherieschnittstelle 0 0 (Jeder Wert ist
0: LR 00 bis LR 15 zulässig)
12 bis 15 Kommunikationsmodus1 3 2
0: Host–Link;
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link

Hinweis 1. Wird eine falsche Einstellung verwendet, tritt ein geringfügiger Fehler auf.
AR 1302 wird auf EIN gesetzt und die Grundeinstellung (0 oder 00) wird ver-
wendet.
2. Weitere Informationen über die 1:1–PC–Link–Kommunikation mit einer an-
deren SPS finden Sie im jeweiligen Handbuch dieser SPS.
3. Weitere Informationen über die Anschlussbelegung bei der 1:1–PC–Link–
Kommunikation mit der CPM1/CPM1A finden Sie im Abschnitt 3–4–7 im
Technischen Handbuch der CPM1/CPM1A oder im Abschnitt 3–4–4 des
Technischen Handbuchs der SRM1–Master–Steuerung.
4. Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben
sich die folgenden Kommunikationsparameter. Setzen Sie in diesem Fall
den Wert zurück, damit dieser innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud

213
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Übertrag.verzögerungszeit Keine
Teilnehmernummer: 00
Beispielprogramm Dieses Beispiel zeigt ein Programm, in dem der Zustand von IR 0000 einer
CPM1/CPM1A nach SR 200 in der anderen CPM1/CPM1A kopiert wird.

Programmierung im Master Programmierung im Slave

25313 (Immer EIN) 25313 (Immer EIN)


MOV(21) MOV(21)
000 000
LR00 LR08

MOV(21) MOV(21)
LR08 LR00
200 200

LR 00 LR 00
IR 000 Schrei- Schreibbereich Lesebereich Lesen SR 200
ben LR 07 LR 07
LR 08 LR 08
SR 200 Lesen Lesebereich Schreibbereich Schrei– IR 000
ben
LR 15 LR 15

4-3 CPM2A–/CPM2C–Kommunikationsfunktionen
Dieser Abschnitt beschreibt den Einsatzbereich der Kommunikationsfunktio-
nen der CPM2A/CPM2C. Lesen Sie diesen Abschnitt, wenn Sie eine Kommuni-
kation ohne Protokoll, die Host–Link–, 1:1–NT–Link– oder 1:1–PC–Link–Kom-
munikation verwenden möchten.

4-3-1 Host–Link–Kommunikationsmodus
Das in der Host–Link–Kommunikation verwendete Kommunikationsprotokoll ist
ein dialogartiges Protokoll, in dem die SPS Antworten auf Befehle sendet, die
von einem Host–Computer gesendet wurden; es kann dazu verwendet werden,
Daten in Datenbereichen der SPS zu lesen oder in diese zu schreiben und ei-
nige SPS–Vorgänge zu steuern. Ein Kommunikationsprogramm in der SPS ist
nicht erforderlich. Die Host–Link–Kommunikation kann über die Peripherie-
schnittstelle oder die RS–232C–Schnittstelle der CPM2A /CPM2C erfolgen.

CPM2A
Befehle
Host–Computer
Antworten

214
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

CPM2A 1:1–Kommunikation

Programmierbares NT–
Terminal

Befehle

Befehle
Antworten

Antworten
Anschluss an die CPM2A–RS–232C– Anschluss an die CPM2A–RS–232C–
Schnittstelle (sehen Sie den Hinweis) Schnittstelle (sehen Sie den Hinweis)
Hinweis Für den Anschluss an die Peripherieschnittstelle ist ein RS–232C–
Adapter oder ein Computer–Anschlusskabel (CQM1–CIF01 oder
CQM1–CIF02) erforderlich.

CPM2C–1:1–Kommunikation
RS–232C–Schnittstelle
Anschlusskabel (Sub–D, 9–polig) CPM2C–CPU–Baugruppe
CBL–209–2M (2 m)
CBL–209–5M (5 m)

CPM2C–CN111 (0,15 m)

IBM PC/AT oder CS1W–CN118 (0,1 m) CPM2C–CPU–


kompatibel Baugruppe

CPM2C-CIF01

CPM2C–
CPU–
Bau-
gruppe

CPM2C-CIF11

215
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

CPM2A–1:n–Kommunikation

B500–AL004
IBM PC/AT oder Schnittstellen–
Adapter

Befehle
kompatibel

Anschluss an die
Antworten

CPM2A–RS–232C– Anschluss an die CPM2A–


Schnittstelle Peripherieschnittstelle

NT–AL001 CPM1–CIF11 RS–422–Adapter


RS232C/RS–422–Adapter

216
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

CPM2C–1:n–Kommunikation

IBM PC/AT oder


kompatibler Anschlusskabel
Computer CBL–209–2M (2 m)
CBL–209–5M (5 m)

B500–AL004 oder NT–AL001 (benötigt +5 V)


(Sehen Sie die Hinweise 1 und 2)
RS–422 (Gesamtlänge: max. 500 m)
Bei Einsatz der Peri-
pherieschnittstelle
der CPU
CPM2C– CPM2C– CPM2C–
CPU–Baugruppe CPU–Baugruppe CPU–Baugruppe

CPM2-CIF11 CPM2-CIF11 CPM2-CIF11

Bei Einsatz der NT–AL001


NT–AL001 NT–AL001
Schnittstelle als (Sehen Sie den
(Sehen Sie den Hinweis 1) (Sehen Sie den Hinweis 1)
RS–232C– Hinweis 1)
XW2Z070T–1 (0,7 m)
RS–232C–Schnittstelle XW2Z070T–1 (0,7 m)
Schnittstelle XW2Z200T–1 (2 m)
XW2Z200T–1 (2 m)
CPM2C– RS–232C– CPM2C–
CPM2C– CPU–Bau- Schnittstelle CPU–Bau- RS–232C–
CPU–Baugruppe Schnittstelle
gruppe CPM2C–CN111 An-
gruppe CPM1C–CN118 An-
XW2Z070T–1 (0,7 m)
XW2Z200T–1 (2 m) schlusskabel (0,15 m) schlusskabel (0,1 m)

CPM2-CIF01

Bis zu 32 SPS–Systeme

217
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Rahmenübertragung und Empfang


Bei der Host–Link–Kommunikation besitzt normalerweise der Host-Computer
als erster das Übertragungsrecht und leitet die Kommunikation ein. Die CPM2A/
CPM2C sendet dann automatisch eine Antwort.
Befehle und Antworten werden in der beschriebenen Reihenfolge ausge-
tauscht. Ein in einer einzelnen Übertragung übertragener Block von Daten heißt
“Rahmen”. Ein einzelner Rahmen besteht maximal aus 131 (Daten–)Zeichen.
Das Recht, einen Rahmen zu senden, wird ”Übertragungsrecht” genannt. Das
Gerät mit Übertragungsrecht kann zu jeder Zeit einen Rahmen senden. Das
Übertragungsrecht wechselt bei jeder Rahmenübertragung vom Host-Compu-
ter zur CPM2A/CPM2C und umgekehrt. Das Übertragungsrecht wird vom über-
tragenden Gerät zum empfangenden Gerät übergeben, wenn entweder ein En-
dezeichen (der Code, der das Ende eines Befehls oder einer Antwort kenn-
zeichnet) oder ein Begrenzer (der Code, der die Rahmen voneinander trennt)
empfangen wird.
Rahmen (Befehl) Rahmen (Befehl)
Teilnehmer–Nr. Teilnehmer–Nr.
Befehlscode Befehlscode
Host–
Computer Text Text

FCS-Prüfzeich. FCS-Prüfzeich.
Endezeichen Endezeichen

Nächste Rahmenübertragung
aktiviert (d.h. Übertragungsrecht
übergeben)

Teilnehmer–Nr. Teilnehmer–Nr.
Befehlscode Befehlscode
Endecode Endecode
CPM2A/CPM2C
Text Text

FCS-Prüfzeich. FCS-Prüfzeich.
Endezeichen Endezeichen
Rahmen (Antwort) Rahmen (Antwort)

Slave–initiierte Datenübertragungen von der SPS zum Host–Computer können von der CPU–
Kommunikation Baugruppe mit TXD(48) veranlasst werden.

Host– Es gibt keine Antwort


Computer vom Host–Computer

Teilnehmer–Nr.
Befehlscode

CPM2A/CPM2C Text

FCS-Prüfzeich.
Endezeichen
Rahmen (Antwort)

218
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Befehls– und Antwortformate


Dieser Abschnitt erläutert die Formate für die Befehle und Antworten, die in der
Host–Link–Kommunikation ausgetauscht werden.
Befehlsformat Bei der Übertragung eines Befehles von dem Host-Computer müssen die Be-
fehlsdaten folgendes Format besitzen.

@ 1
X 10 X 10
0 * ↵

Teilneh- Befehls– Text FCS– Ende–


mer-Nr. code Prüfzeichen zeichen

@
Ein ”@”–Symbol muss die Sequenz einleiten.
Teilnehmer–Nr.
Identifiziert die CPM2A/CPM2C–SPS, die mit dem Host–Computer kommuni-
ziert.
Spezifiziert die Teilnehmernummer der CPM2A/CPM2C in der SPS–Konfigura-
tion (DM 6648, DM 6653).
Befehlscode
Angabe eines 2 Zeichen umfassenden Befehlscodes.
Text
Angabe der Befehlsparameter.
FCS-Prüfzeichen
Spezifikation einer 2–Zeichen umfassenden Rahmenprüfsumme. Sehen Sie
Seite 221.
Endezeichen
Spezifizieren Sie zwei Zeichen,“*” und Carriage–Return (CHR$ (13)), um das
Ende des Befehls zu kennzeichnen.
Antwortformat Die Antwort von der CPM2A/CPM2C wird im nachfolgenden Format zurückge-
geben. Erstellen Sie ein Programm, mit dem die Anwortdaten ausgewertet und
verarbeitet werden können.

@ 1
X 10 X 10
0 1
x 16
0
x 16 * CR

Teilneh- Befehls– Ende- Text FCS– Ende–


mer-Nr. code code Prüfzeichen zeichen

@, Teilnehmer–Nr., Befehlscode
Der Inhalt entspricht dem des zurückgegeben Befehls.
Endecode
Der Ausgeführt–Zustand des Befehls (z.B., ob ein Fehler aufgetreten ist oder
nicht) wird zurückgegeben.
Text
Text wird nur bei Daten, z.B. gelesenen Daten, zurückgegeben.
FCS-Prüfzeichen
Die spezifizierte 2 Zeichen Rahmprüfsequenz wird zurückgegeben.
Endezeichen
Spezifizieren Sie zwei Zeichen,“*” und Carriage–Return (CHR$ (13)), um das
Ende der Antwort zu kennzeichnen.

Übertragung großer Datenmengen


Der größte Datenblock, der als einzelner Rahmen übertragen werden kann, ent-
hält 131 Zeichen. Ein Befehl oder eine Antwort von 132 Zeichen oder mehr muss
daher vor der Übertragung in mehrere Rahmen aufgeteilt werden. Bei einer auf-
geteilten Übertragung wird das Ende des ersten und des mittleren Rahmens
durch einen Begrenzer anstatt durch ein Endezeichen gekennzeichnet.

219
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Unterteilende Befehle Nachdem jeder Rahmen vom Host–Computer gesendet wurde, wartet dieser
auf den von der CPM2A/CPM2C gesendeten Begrenzer. Nachdem Empfang
des Begrenzers wird der nächste Rahmen übertragen. Dieser Vorgang wird so-
lange wiederholt, bis der gesamte Befehl übertragen wurde.

Rahmen 1 (Befehl) Rahmen 2 (Befehl) Rahmen 3 (Befehl)


Teilnehmer–Nr.
Befehlscode
Host–
Computer Text Text Text

FCS-Prüfzeich. FCS-Prüfzeich. FCS-Prüfzeich.


Begrenzer Begrenzer Endezeichen

Begrenzer Begrenzer Teilnehmer–Nr.


CPM2A/CPM2C
Befehlscode
Endecode

Text

FCS-Prüfzeich.
Endezeichen
Rahmen (Antwort)

Unterteilende Antworten Nach dem Empfang der Rahmen vom Host–Computer wird ein Begrenzer an
die CPM2A/CPM2C gesendet. Nach dessen Empfang sendet die CPM2A/
CPM2C den nächsten Rahmen. Dieser Vorgang wird solange wiederholt, bis
alle Antwortrahmen übertragen sind.
Rahmen (Befehl)
Teilnehmer–Nr.
Befehlscode
Host–
Computer Text

FCS–Prüfzeich.
Endezeichen Begrenzer Begrenzer

Teilnehmer–Nr.
Befehlscode Text Text
Endecode
FCS-Prüfzeich. FCS-Prüfzeich.
CPM2A/CPM2C Begrenzer Endezeichen
Text
Rahmen 2 (Antwort) Rahmen 3 (Antwort)
FCS–Prüfzeich.
Begrenzer
Rahmen 1 (Antwort)

220
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Vorsichtsmaßnahmen bei Stellen Sie bei der Aufteilung von Befehlen wie WR, WL, WC, oder WD, die
langen Übertragungen Schreiboperationen ausführen, sicher, dass Daten, die in ein Wort geschrieben
werden, nicht in verschiedene Rahmen aufgeteilt werden. Teilen Sie den Inhalt
der Rahmen so auf, dass diese Unterteilung mit der Unterteilung der Worte
übereinstimmt. Dies wird in der folgenden Abbildung gezeigt.

Rahmen (max. 131 Zeichen)


1
@ 0 0 W D Daten ↵
X 101 X 100

Teilneh- Befehls– Ein Datenwort FCS– Be-


mer-Nr. code Prüfzeichen gren-
zer
Daten desselben Wortes dürfen nicht geteilt werden.
Rahmen 2 (max. 128 Zeichen)

Daten * ↵

Ein Datenwort FCS– Ende–


Prüfzeichen zeichen
Daten desselben Wortes dürfen nicht
geteilt werden.

FCS (Blockprüfsumme)
Bei der Übertragung eines Rahmens wird die an Blockprüfsumme (FCS) vor
dem Begrenzer oder Abschlusszeichen positioniert, um zu überprüfen, ob bei
der Übertragung ein Datenfehler aufgetreten ist. Der FCS–Code wird durch
zwei in ASCII–Zeichen konvertierte 8 Bit–Daten ausgedrückt. Die 8 Bit–Daten
sind das Ergebnis einer EXKLUSIV ODER–Funktion, die sequentiell mit jedem
Zeichen, beginnend mit dem ersten Zeichen des Rahmens bis zum letzten Zei-
chen des Textes innerhalb dieses Rahmens, ausgeführt wird. Fehlerhafte Daten
im Rahmen können festgestellt werden, indem die FCS jedes Mal, nachdem ein
Rahmen empfangen wurde, berechnet und das Ergebnis mit der im Rahmen
eingeschlossenen FCS verglichen wird.

@ 1 0 R R 0 0 0 1 4 2 * CR

Teilneh- Befehlscode Text FCS– Ende–


mer-Nr. Prüfzeichen zeichen
Bereich für die FCS–Berechnung

ASCII–Code Erstes Zielwort Rechtsliegend

@ → 40 → 0100 0000
XOR
1 → 31 → 0011 0001
XOR
0 → 30 → 0011 0000
XOR
R → 52 → 0101 0010
XOR
0 → 30 → 0011 0000
XOR
0 → 30 → 0011 0000
XOR
bis
0 → 30 → 0011 0000
XOR
1 → 31 → 0011 0001
Berechnungsergebnisse 0100 0010
↓ ↓ Hexadezimal–Konvertierung.
4 2 Werden wie ASCII–Zeichen be-
handelt.

221
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Beispielprogramm für In diesem Beispiel wird ein einfaches BASIC–Unterprogramm für die
FCS Berechnung und Überprüfung einer FCS–Prüfsumme eines vom Host–PC
empfangenen Rahmens dargestellt.
Die empfangenen Daten beinhalten FCS, Begrenzer oder Endezeichen usw.
Tritt ein Fehler bei der Übertragung auf, können FCS oder andere Daten nicht
übertragen werden. Berücksichtigen Sie dies bitte bei der Programmierung.
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
400 *FCSCHECK
410 L = LEN ( RESPONSE$ ) ’.................Übertragene und empfangene Daten
420 Q = 0 : FCSCK$ = ” ”
430 A$ = RIGHT$ ( RESPONSE$ , 1)
440 PRINT RESPONSE$ , A$ , L
450 IF A$ = ”*” THEN LENGS = LEN ( RESPONSE$ ) – 3
ELSE LENGS = LEN ( RESPONSE$ ) – 2
460 FCSP$ = MID$ ( RESPONSE$ , LENGS + 1 , 2 ) ’.........FCS–Daten empfangen
470 FOR I = 1 TO LENGS ’........................Anzahl der Zeichen in FCS
480 Q = ASC ( MID$ ( RESPONSE$ , I , 1 ) ) XOR Q
490 NEXT I
500 FCSD$ = HEX$ ( Q )
510 IF LEN ( FCS0$ ) = 1 THEN FCSD$ = ” 0 ” + FCSD$ ’........FCS–Ergebnis
520 IF FCSD$ < > FCSP$ THEN FCSCK$ = ” ERR ”
530 PRINT ” FCSD$ = ” ; FCSD$ , ” FCSP$ = ” ; FCSP$ , ” FCSCK$ = ” ; FCSCK$
540 RETURN
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

222
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Befehle
Befehls–c
ee s c CPM2A/CPM2C–Betriebsart Name
a e Seite
Se e
d
ode RUN MONITOR Program
RR Gültig Gültig Gültig IR/SR–Bereich lesen 260
RL Gültig Gültig Gültig LR–Bereich lesen 261
RH Gültig Gültig Gültig HR–Bereich lesen 261
RC Gültig Gültig Gültig TC–Istwert lesen 261
RG Gültig Gültig Gültig TC–Status lesen 262
RD Gültig Gültig Gültig DM–Bereich lesen 263
RJ Gültig Gültig Gültig AR–Bereich lesen 263
WR Ungültig Gültig Gültig IR/SR–Bereich schreiben 264
WL Ungültig Gültig Gültig LR–Bereich schreiben 265
WH Ungültig Gültig Gültig HR–Bereich schreiben 265
WC Ungültig Gültig Gültig TC–Istwert schreiben 266
WG Ungültig Gültig Gültig TC–Status schreiben 266
WD Ungültig Gültig Gültig DM–Bereich schreiben 267
WJ Ungültig Gültig Gültig AR–Bereich schreiben 268
R# Gültig Gültig Gültig Sollwert 1 lesen 268
R$ Gültig Gültig Gültig Sollwert 2 lesen 269
W# Ungültig Gültig Gültig Sollwert 1 ändern 270
W$ Ungültig Gültig Gültig Sollwert 2 ändern 271
MS Gültig Gültig Gültig Status lesen 272
SC Gültig Gültig Gültig Status speichern 273
MF Gültig Gültig Gültig Fehler lesen 274
KS Ungültig Gültig Gültig Zwangsweises setzen 275
KR Ungültig Gültig Gültig Zwangsweises rücksetzen 276
FK Ungültig Gültig Gültig Mehrfaches zwangsweises setzen/rücksetzen 277
KC Gültig Gültig Gültig Zwangsweises setzen und rücksetzen aufheben 278
MM Gültig Gültig Gültig SPS–Modell lesen 279
TS Gültig Gültig Gültig Test 279
RP Gültig Gültig Gültig Programm lesen 280
WP Ungültig Ungültig Gültig Programm speichern 280
QQ Gültig Gültig Gültig E/A–Registrierung 281
XZ Gültig Gültig Gültig Abbruch (nur Befehl) 283
** Gültig Gültig Gültig Initialisierung (nur Befehl) 283
EX Gültig Gültig Ungültig TXD–Antwort (nur Antwort) 283
IC --- --- --- Nicht definierter Befehl (nur Antwort) 284

Hinweis –––: Wird nicht von der Betriebsart beeinflußt.

223
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Antwort–Codes
Ende- Inhalt Vermutlicher Grund Abhilfe
code
00 Normale Beendigung --- ---
01 Nicht in der RUN–Betriebsart ausführ- Der gesendete Befehl kann nicht aus- Überprüfen Sie die Abhängigkeit von
bar geführt werden, wenn die SPS in der Befehl und SPS–Betriebsart.
RUN–Betriebsart ist.
02 Nicht in der MONITOR–Betriebsart aus- Der gesendete Befehl kann nicht aus-
führbar geführt werden, wenn die SPS in der
MONITOR–Betriebsart ist.
04 Adresse überschritten Die höchste Adresse des Anwenderpro- Überprüfen Sie das Programm.
grammbereichs wurde überschritten.
0B Nicht in der PROGRAM– Der gesendete Befehl kann nicht aus- Dieser Code wird gegenwärtig nicht ver-
Betriebsart ausführbar geführt werden, wenn sich die SPS in wendet.
der PROGRAM–Betriebsart befindet.
13 FCS–Fehler Die FCS ist fehlerhaft. Entweder ist die Überprüfen Sie das FCS–Berechnungs-
FCS–Berechnung fehlerhaft oder Stö- verfahren. Übertragen Sie bei Störun-
rungen üben eine ungünstigen Einfluß gen den Befehl erneut.
aus.
14 Formatfehler Das Befehlsformat ist falsch. Überprüfen Sie das Format und übertra-
gen Sie den Befehl erneut.
15 Ziffern–Eingabefehler Die Lese–/Schreibbereichsspezifikation Korrigieren Sie den Bereich und über-
ist fehlerhaft. tragen Sie den Befehl erneut.
16 Befehl wird nicht unterstützt Der spezifizierte Befehl ist auf der spe- Überprüfen Sie die Adresse und den
zifizierten Adresse nicht vorhanden. Befehl.
(Lesen des Sollwertes, usw.)
18 Rahmenlängen–Fehler Die maximale Rahmenlänge wurde Unterteilen Sie den Befehl in mehrere
überschritten. Rahmen.
19 Nicht ausführbar Lesen von Angaben, die nicht im zu- QQ ausführen, um Angaben zu spei-
sammengesetzten Befehl (QQ) spezifi- chern, bevor diese gelesen werden.
ziert sind.
23 Anwenderspeicher mit Schreibschutz Der Speicher ist in der SPS–Konfigura- Ändern Sie die Einstellung in der SPS–
versehen tion schreibgeschützt. Konfiguration (DM 6602).
A3 Abbruch wegen eines FCS–Fehlers in Der Fehler wurde generiert, während Überprüfen Sie die Daten auf fehler-
den Sendedaten ein sich über mehrere Rahmen vertei- hafte Rahmen,, korrigieren
g Sie diese
l d B
lender f hl ausgeführt
Befehl füh t wurde.
d f und
ggf. d nehmen
h Si i erneute
Sie eine t Üb
Über-
A4 Abbruch wegen eines Formatfehlers in
tragung vor.
den Sendedaten Hinweis: Die Daten wurden bis zu die-
sem Punkt
P kt schon
h ini den
d entsprechen-
t h
A5 Abbruch wegen eines Eingabefehlers
den Bereich der CPU–Baugruppe ge-
von Zifferndaten in den Sendedaten
schrieben.
A8 Abbruch wegen eines Rahmenlängen-
fehlers in den Sendedaten
A5 --- Störungen beeinflussten den Empfang. Übertragen Sie den Befehl erneut.

Applikationsverfahren
Einstellung der Kommunikations– Stellen Sie den Kommunikationsschalter der CPM2A
schalter der CPU–Baugruppe CPU–Baugruppe oder den DIP–Schalter der CPM2C
CPU–Baugruppe ein.

Anschliessen der Kabel Stellen Sie 1:1– oder 1:n–Anschlüsse her.

Kontaktplan
Vom Host–Computer ausgesendete (von der CPM2A/CPM2C initiierte
Befehle. Kommunikation)

Kommunikations–DIP– Die Kommunikation der CPM2A wird über den Kommunikationsschalter auf der
Schaltereinstellungen Vorderseite der CPU–Baugruppe und die der CPM2C ebenfalls über den auf
der Vorderseite der CPU–Baugruppe befindlichen DIP–Schalter gesteuert.

224
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

CPM2A–Kommunikationsschaltereinstellung
Wird der Kommunikationsschalter auf OFF eingestellt, wird die Kommunikation
der Peripherie– und RS–232C–Schnittstelle von den Einstellungen in der SPS–
Konfiguration bestimmt.
Wird der Kommunikationsschalter auf ON eingestellt, wird die Kommunikation
der Peripherie– und RS–232C–Schnittstelle von den Standard–Host–Link–Ein-
stellungsparametern bestimmt (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Pari-
tät und eine Baudrate von 9.600 Bits/Sek.).
Hinweis Wird eine Programmierkonsole mit der Peripherieschnittstelle verbunden, er-
folgt die Kommunikation mit der Programmierkonsole natürlich unabhängig von
den Einstellungen des Kommunikationsschalters oder der SPS–Konfiguration.

Kommunikationsschalter

Peripherie-Schnittstelle RS–232C–Schnittstelle

Ein RS–232C–Adapter wird benötigt, um die Host–Link–Kommunikation über


eine Peripherieschnittstelle auszuführen.
CPM2C–DIP–Schaltereinstellungen
Wird Schalter 2 des DIP–Schalters auf OFF gesetzt, wird die Kommunikation
über die Peripherieschnittstelle auf das Programmierkonsolen–Protokoll einge-
stellt, unabhängig von der Einstellung von Schalter 1 oder den Einstellungen in
der SPS–Konfiguration.

DIP–Schalter

225
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Wird Schalter 2 auf ON eingestellt, legt die Einstellung von Schalter 1 fest, ob die
Kommunikation über die Peripherie– und RS–232C–Schnittstelle durch die Ein-
stellungen in der SPS–Konfiguration oder die Standard–Einstellungen beein-
flusst wird (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität und eine Baudrate
von 9.600 Bits/Sek.).
Schalterein– Peripherieschnittstellen– RS–232C–Schnittstellen–
stellungen Kommunikation Kommunikation
Schalter Schalter
1 2
OFF OFF Programmierkonsolen– Von der SPS–Konfiguration be-
Protokoll stimmt
bi DM 6649)
(DM 6645 bis
OFF ON Von der SPS–Konfiguration be-
stimmt
(DM 6650 bis DM 6654)
ON OFF Programmierkonsolen– Von Standard–Einstellungen be-
Protokoll stimmt
ON ON Von Standard–Einstellungen be-
stimmt

Ein RS–232C–Adapter wird benötigt, um die Host–Link–Kommunikation über


eine Peripherieschnittstelle auszuführen.
Anschluss der Kabel Dieser Abschnitt beschreibt RS–232C–Anschlüsse.
1:1–Anschlüsse
Die RS–232C–Schnittstelle des Host–Link–Computers und die RS–232C–
Schnittstelle der CPM2A/CPM2C oder des CPM1–CIF01 RS–232C–Adapters
wird wie im folgenden Diagramm gezeigt, angeschlossen, falls kein CTS–
Handshake der RS–232C–Schnittstelle erfolgt. Bei der CPM2C können die An-
schlusskabel CPM2C–CN111 und CS1W–CN118 an Stelle des RS–232C–
Adapters verwendet werden.
IBM PC/AT oder kompatibel RS–232C–Schnittstelle
Signal Stift–Nr. Signal Stift–Nr.

Gehäuse

1:n–Anschlüsse
Stellen Sie den DIP–Schalter des NT–AL001 RS232C/RS–422 Adapter ein.

Normalerweise auf ON
Auf ON, wenn sich die Baugruppe am Ende des Übertragungspfades befindet. OFF in allen anderen Fällen.

4–Drahtleiter–Einstellung (beide Schalter auf OFF gesetzt)

Mit RS–232C–CTS–Handshake–Steuerung (5: OFF, 6: ON)

Die RS–232C–Schnittstelle mit RS-232C/RS-422–Adapter NT-AL001 und die


RS–232C–Schnittstelle der CPM2A/CPM2C oder des CPM1–CIF01
RS–232C–Adapters wird, wie im folgenden Diagramm gezeigt, angeschlossen,
falls kein CTS–Handshake der RS–232C–Schnittstelle erfolgt. Eine Span-
nungsversorgung von 5 VDC wird an den RS–232C/RS–422–Adapter ange-

226
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

legt. Bei der CPM2C kann das Anschlusskabel CPM2C–CN111 und


CS1W–CN118 an Stelle des RS–232C–Adapters verwendet werden.
NT–AL001
RS232C/RS–422–Adapter RS–232C–Schnittstelle
Signal Stift–Nr. Signal Stift–Nr.

Gehäuse

Hinweis Schließen Sie keine anderen externen Geräte als den Adapter NT–AL001 an
die 5 VDC Spannungsversorgung (Stiftnummer 6) der RS–232C–Schnittstelle
der CPM2A/CPM2C an. In diesen Fällen können Schäden an der CPM2A/
CPM2C oder an dem externen Gerät entstehen.

SPS–Konfiguration Die erforderlich SPS–Konfigurationseinstellungen hängen davon ab, ob eine


Peripherie– oder eine RS–232C–Schnittstelle verwendet wird.
RS–232C–Schnittstelleneinstellungen
Wort Bit Funktion Einstellung
DM 6645 00 bis 03 Kommunikationsformat Entsprechend
0: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host– den Host– Para-
Link–Baugruppennummer: 0) metern
1: Einstellungen in DM 6646
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstel-
lung wird verwendet und AR 1302 wird auf EIN gesetzt).
04 bis 07 CTS–Handshake–Einstellungen 0 oder 1
0: Deaktiviert;
1: Einstellung aktiviert
08 bis 11 Link–Worte für 1:1–PC–Link Beliebige
0: LR 00 bis LR 15; andere: nicht wirksam Einstellung
12 bis 15 Kommunikationsmodus 0
0: Host–Link (Vorgabeeinstellung);
1: RS–232C (Ohne Protokoll);
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Host–Link–Ein-
stellung wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6646 00 bis 07 Baudrate: Entsprechend
den Host–
00: 1.200 Bits/Sek.; 01: 2.400 Bits/Sek 02: 4.800 Bits/Sek 03: 9.600 Bits/Sek 04:
Parametern
19.200 Bits/Sek.
08 bis 15 Rahmenformat
Start Länge Stop Parität
00: 1 7 1 Gerade
01: 1 7 1 Ungerade
02: 1 7 1 Keine
03: 1 7 2 Gerade
04: 1 7 2 Ungerade
05: 1 7 2 Keine
06: 1 8 1 Gerade
07: 1 8 1 Ungerade
08: 1 8 1 Keine
09: 1 8 2 Gerade
10: 1 8 2 Ungerade
11: 1 8 2 Keine
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstel-
lung (03) wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6647 00 bis 15 Übertragungsverzögerung (Host–Link) 0000 bis 9999
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms, z.B. Einstellung von 0001
gleich 10 ms
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstel-
lung (0000) wird verwendet und AR 1302 wird auf EIN gesetzt).

227
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Wort Bit Funktion Einstellung


DM 6648 00 bis 07 00 bis 31 (BCD): Teilnehmernummer (Host–Link) 00 bis 31
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstel-
lung (00) wird verwendet und AR 1302 wird auf EIN gesetzt).
08 bis 11 Startcode (RS–232C) Beliebige
0: deaktiviert; Einstellung
1: Startcode in DM 6649 verwenden.
12 bis 15 Endecode (RS–232C) Beliebige
0: deaktiviert (Anzahl der empfangenen Bytes) Einstellung
1: Endecode in DM 6649 verwenden.
2: CR, LF
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Deaktiviert–Ein-
stellung wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6649 00 bis 07 Startcode (00 bis FF) Beliebige
(Ohne Protokoll, wirksam, wenn, Bit 8 bis 11 von DM 6648 auf 1 gesetzt wird.) Einstellung
00 bis 15 Anzahl der empfangenen Datenbytes Beliebige
(Ohne Protokoll, wirksam, wenn Bit 12 bis 15 von DM 6648 auf 0 gesetzt wird.) Einstellung
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
Endecode (00 bis FF)
(Ohne Protokoll, wirksam, wenn, Bit 12 bis 15 von DM 6648 auf 1 gesetzt wird.)

Peripherieschnittstelleneinstellungen
Wort Bit Funktion Einstellung
DM 6650 00 bis 03 Kommunikationsformat Entsprechend
00: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host– den Host– Para-
Link–Baugruppennummer: 0) metern
01: Einstellungen im Datenwort DM 6651
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstellung
(00) wird verwendet und AR 1302 wird auf EIN gesetzt).
04 bis 11 Nicht verwendet 0
12 bis 15 Kommunikationsmodus 0
00: Host–Link oder Toolbus;
01: Ohne Protokoll
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Host–Link–Einstel-
lung (00) wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6651 00 bis 07 Baudrate Entsprechend
den Host– Para-
00: 1.200 Bits/Sek.; 01: 2.400 Bits/Sek.; 02: 4.800 Bits/Sek.; 03: 9.600 Bits/Sek.; 04:
metern
19.200 Bits/Sek.
08 bis 15 Rahmenformat
Start Länge Stop Parität
00: 1 7 1 Gerade
01: 1 7 1 Ungerade
02: 1 7 1 Kein
03: 1 7 2 Gerade
04: 1 7 2 Ungerade
05: 1 7 2 Kein
06: 1 8 1 Gerade
07: 1 8 1 Ungerade
08: 1 8 1 Kein
09: 1 8 2 Gerade
10: 1 8 2 Ungerade
11: 1 8 2 Kein
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung
(03) wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6652 00 bis 15 Übertragungsverzögerung (Host–Link) 0000 bis 9999
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms.
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstellung
(0000) wird verwendet und AR 1302 wird auf EIN gesetzt).

228
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Wort Bit Funktion Einstellung


DM 6653 00 bis 07 Teilnehmernummer (Host–Link) 00 bis 31
00 bis 31 (BCD)
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grund–einstellung
(03) wird verwendet und AR 1302 wird auf EIN gesetzt).
08 bis 11 Startcode (Peripherieschnittstelle) Beliebige Ein-
0: deaktiviert stellung
1: Startcode in DM 6654 verwenden.
12 bis 15 Endecode (Peripherieschnittstelle) Beliebige Ein-
0: deaktiviert (Anzahl der empfangenen Bytes) stellung
1: Endecode in DM 6654 verwenden.
2: CR, LF
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Deaktiviert–Einstel-
lung wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6654 00 bis 07 Startcode Beliebige Ein-
(Peripherieschnittstelle, wirksam, wenn Bit 08 bis 11 von DM 6653 auf 1 gesetzt wird.) stellung

00 bis FF (hexadezimal)
08 bis 15 Anzahl der empfangenen Datenbytes Beliebige Ein-
(Peripherieschnittstelle, wirksam, wenn Bit 12 bis 15 von DM 6653 auf 0 gesetzt wird.) stellung
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
Endecode (00 bis FF)
(Peripherieschnittstelle, wirksam, wenn, Bit 12 bis 15 von DM 6653 auf 1 gesetzt wird.)

Ausgabe von Befehlen Dieses Beispiel zeigt ein BASIC–Programm, das den Zustand der CPM2A/
über einen CPM2C–Eingänge in IR 000 liest. Sehen Sie für weitere Einzelheiten Abschnitt
Host–Computer 4-5 Host–Link–Befehle.
Eine FCS–Prüfung (Rahmen–Überprüfungsfolge) wird bei den empfangenen
Antwortsdaten in diesem Programm nicht durchgeführt.
Vergewissern Sie sich vor Durchführung des Programms, dass die RS–232C–
Schnittstelle des Host–Computers richtig konfiguriert ist.
1000 ’ –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
1010 ’ CPM2A/CPM2C Beispielsprogramm in BASIC
1020 ’
1050 ’ –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
1060 ’ ––RS–232C Baudrate:9.600 Bits/Sek,Parität:gerade,Datenbits:7,Stopbits:2––
1070 OPEN ”COM:E73” AS #1
1080 *REPEAT
1090 –––Übertragungsdateneingabe–––––––––––––––––––––––––––––––––––––––––––––––
1100 INPUT ” send data : ”,send$
1110 ’ –––FCS–Berechnung––––––––––––––––––––––––––––––––––––––––––––––––––––––––
1120 FCS=0
1130 FOR IFCS = 1 TO LEN ( send$ )
1140 FCS = FCS XOR ASC( MID$ ( SEND$ , IFCS , 1 ) )
1150 NEXT
1160 FCS$ = RIGHT$ ( ”0” + HEX$ ( FCS ) , 2 )
1170 ’ –––Kommunikationsausführung––––––––––––––––––––––––––––––––––––––––––––––
1180 ZZZ$ = SEND$ + FCS$ + ”*” + CHR$(13)
1190 PRINT #1 , ZZZ$ ;
1200 ’ –––Antworttest–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
1210 RECCNT = 0 : TMP$ – ””
1220 *DRECLOOP
1230 IF LOC ( 1 ) < > 0 THEN *DREC1
1240 RECCNT = RECCNT + 1
1250 IF RECCNT = 5000 THEN *DRECERR ELSE *DRECLOOP
1260 *DREC1
1270 TMP$ = TMP$ + INPUT$ ( LOC (1 ) , #1 )
1280 IF RIGHT$ ( TMP$ , 1 ) = CHR$ (13) THEN *DRECEND ELSE RECCNT = 0 : GOTO *
DRECLOOP
1290 *DRECERR
1300 TMP$ = ” No response !! ” + CHR$ ( 13 )
1310 *DRECEND
1320 PRINT ” Empfangsdaten: ” ; RECV$
1340 ’ –––Gehe zu Übertrage Dateneingabe––––––––––––––––––––––––––––––––––––––––
1350 GOTO *REPEAT
1360 ’ –––Verarbeitung abgeschlossen––––––––––––––––––––––––––––––––––––––––––––

229
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

1370 CLOSE #1
1380 END

Kontaktplan (AWL) Die unangeforderte Host–Link–Kommunikation wird mit TXD(48) ausgeführt.


AWL Steuerung Inhalt
(@)TXD(48) Schnittstellenausgabe Liest Daten aus dem E/A–Speicher und sendet
diese im spezifizierten Rahmenformat.

Die Host–Link–Kommunikation wird über die folgenden AR–Bereichsmerker


gesteuert.
Wort Bit (s) Inhalt
AR 08 00 bis 03 RS–232C–Schnittstelle: Fehlercode
0: Normale Beendigung 1: Paritätsfehler
2: Rahmenlängen–Fehler 3: Überlauffehler
04 RS–232C: Kommunikations–Fehlermerker
ON: RS–232C–Schnittstellen–Kommunikationsfehler
aufgetreten
OFF: Normal
05 RS–232C: Sendebereit–Merker
ON: Die SPS ist bereit, Daten zu senden.
08 bis 11 Peripherieschnittstelle: Fehlercode
0: Normale Beendigung 1: Paritätsfehler
2: Rahmenlängen–Fehler 3: Überlauffehler
12 Peripherieschnittstellen: Kommunikations–Fehlermerker
ON: Peripherieschnittstellen–Kommunikations–Fehler
aufgetreten
13 Peripherieschnittstellen: Sendebereit–Merker
ON: Die SPS ist bereit, Daten zu senden.

Unangeforderte Kommunikation
Eine Datenübertragung zum Host–Computer wird von der SPS initiiert.

(@)TXD
S S: Anfangsadresse der zu sendenden Daten
C C: Steuerdaten
N N: Anzahl der zu sendenden Bytes (BCD: 0001 bis 0061)

Kommunikationsschnittstelle
0: RS–232–Schnittstelle
1: Peripherie-Schnittstelle

Wird die Host–Link–Kommunikation verwendet, konvertiert TXD(48) die n–Da-


tenbytes, die an S beginnen zu ASCII–Daten, fügt Host–Link–Kopf, FCS und
Endezeichen hinzu und sendet diese Daten als Host–Link–Rahmen.
In der folgenden Abbildung ist der gesendete Host–Link–Rahmen dargestellt.

In ASCII konvertiert.

n–Bytes

Teilneh- Daten (ASCII)


mer-Nr. CR

230
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Im folgenden Programmbeispiel wird TXD(48) verwendet, um Daten über eine


RS–232C–Schnittstelle an einen Host–Computer zu senden. Ist AR 0805 (der
RS–232C–Sendenbereit–Merker) aktiviert, nachdem IR 00100 eingeschaltet
wurde, werden die zehn Datenbytes (DM 0000 bis DM 0004) zum Host–Com-
puter gesendet, wobei die äußerst linken Bytes zuerst gesendet werden.

(48)
Anfangsadresse der zu sendenden Daten

RS–232C–Schnittstellenepezifikation

10 Bytes

4-3-2 Ohne Protokoll–Kommunikationsmodus


Übersicht
Wird die Ohne Protokoll–Kommunikation verwendet, können Daten mit seriel-
len Geräten wie Barcode–Lesern und seriellen Druckern über TXD(48) und
RXD(47) ausgetauscht werden. Die Ohne Protokoll–Kommunikation kann über
eine RS–232C– oder Peripherieschnittstelle erfolgen.
CPM2A–Anschlüsse
CPM2A–CPU–Baugruppe

RS–232C–Geräte
Barcode–Leser
Seriellerer Drucker
Andere

RS–232C–Schnittstelle

CPM1–CIF01 RS–232C–Adapter
(Die CTS–Handshake–Steuerung CPM2A–CPU–Baugruppe
kann nicht verwendet werden.)
RS–232C–Geräte
Barcode–Leser
Seriellerer Drucker
Andere

Peripherieschnittstelle

CQM1–CIF02 RS–232C–Adapter CPM2A–CPU–Baugruppe


(Die CTS–Handshake–Steuerung
RS–232C–Geräte kann nicht verwendet werden.)
Barcode–Leser
Seriellerer Drucker
Andere

Peripherieschnittstelle

231
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

CPM2C–Anschlüsse

CPM2C–CPU–Baugruppe
RS–232C–Geräte
Barcode–Leser
Seriellerer Drucker
Andere

Hinweis Ein CPM1–CIF01 RS–232C–Adapter kann auch für eine Kommunikation ohne
Protokoll über die Peripherieschnittstelle verwendet werden oder für eine
CPM2C kann ein CPM2C–CIF01 Peripherie–/RS–232C Adapter zum An-
schluss externer Geräte eingesetzt werden. Sehen Sie das CPM2C Program-
mierhandbuch für weitere Einzelheiten.

Übertragungsdaten–Konfiguration
Wird die Ohne Protokoll–Kommunikation verwendet, werden Daten mit dem
TXD(48)–Befehl gesendet und mit dem RXD(47)–Befehl empfangen. Die maxi-
male Datenanzahl einschließlich des Start–/Endecodes beträgt hierbei 256 By-
tes.
Kein Start– und Endecode:

Daten (spezifizierte Anzahl der Bytes)

Nur Startcode:

ST Daten (spezifizierte Anzahl der Bytes)

Nur Endecode:

Daten (max. 256 Zeichen) ED

Sowohl Start– als auch Endecode:

ST Daten (max. 256 Zeichen) ED

CR, LF–Endecode:

Daten (max. 256 Zeichen) CR LF

Startcode 00–FF/Endecode CR, LF:

ST Daten (max. 256 Zeichen) CR LF

Hinweis 1. Die Start– und Endecodes werden in DM 6648 bis DM 6649 (RS–232C)
oder DM 6653 bis DM 6654 (Peripherieschnittstelle) in der SPS–Konfigura-
tion spezifiziert.
2. Befinden sich verschiedene Start– oder Endecodes in der Übertragung, ist
jeweils der erste wirksam.
3. Ist der Endecode zufällig in den Übertragungsdaten vorhanden und bricht
die Übertragung vorzeitig ab, so verwenden Sie CR und LF als Endecode.
4. Der Start– und Endecodes selbst werden nicht gesendet und empfangen.

232
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Übertragungsmerker
Werden Daten von der CPM2A/CPM2C gesendet, muss für die Ausführung des
TXD(48)–Befehls der Übertragung bereit–Merker auf einen EIN–Zustand gete-
stet werden. Während der Datenübertragung wird der Sendebereit–Merker auf
AUS und nach Beendigung der Übertragung wieder auf EIN gesetzt.
Nachdem die CPM2A/CPM2C Daten empfangen hat, wird der Empfang akti-
viert–Merker eingeschaltet. Wird der RXD(47)–Befehl ausgeführt, werden die
empfangenen Daten in die spezifizierten Worte geschrieben und der Empfang
beendet–Merker wird auf AUS gesetzt.
Merker Peripherie- RS–232C–Schnittstelle
schnittstelle
Sendebereit–Merker AR 0813 AR 0805
Empfang beendet–Merker AR 0814 AR 0806

Hinweis Die CPM2A/CPM2C beginnt und beendet den Datenempfang unter den folgen-
den Umständen:
Empfangsstart:
Startcode deaktiviert: Ständig auf Empfang
Startcode aktiviert: Nach Empfang des Startcodes.
Empfang beendet:
Wenn entweder der Endecode, die spezifizierte Anzahl von Zeichen oder 256
Zeichen empfangen wurden.

Applikationsverfahren

Einstellung des Kommunikations– Stellen Sie den Kommunikationsschalter der CPM2A


schalters CPU–Baugruppe oder den DIP–Schalter der CPM2C
CPU–Baugruppe ein.

Anschliessen der Kabel Stellen Sie den RS–232C–Anschluss mit dem seriellen Gerät her.

Kontaktplan–Programm

Kommunikations–DIP– Die Kommunikation der CPM2A wird über den Kommunikationsschalter auf der
Schaltereinstellungen Vorderseite der CPU–Baugruppe und die der CPM2C ebenfalls über den auf
der Vorderseite der CPU–Baugruppe befindlichen DIP–Schalter gesteuert.
CPM2A–Kommunikationsschaltereinstellung
Schalten Sie den Kommunikationsschalter auf OFF, wenn Sie die Ohne Proto-

233
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

koll–Kommunikation verwenden. Eine Ohne Protokoll–Kommunikation ist nicht


möglich, wenn der Kommunikationsschalter eingeschaltet ist.

Kommunikationsschalter

Peripherieschnittstelle RS–232C–Schnittstelle

Hinweis Ein RS–232C–Adapter ist für eine Ohne Protokoll–Kommunikation über die Pe-
ripherieschnittstelle erforderlich.
CPM2C–DIP–Schaltereinstellungen
Schalten Sie Schalter 1 des DIP–Schalters aus, wenn Sie die Ohne Protokoll–
Kommunikation verwenden, damit die Kommunikation über die RS–232C–
Schnittstelle durch die Einstellungen in der SPS–Konfiguration (DM 6645 bis
DM 6649) bestimmt werden. Schalten bei der Ohne Protokoll–Kommunikation
über die Peripherieschnittstelle Schalter 2 ebenfalls ein.

Kommunikationsschnittstellen–DIP–Schalter

Schalter– Peripherieschnittstellen– RS–232C–Schnittstellen–Kom


einstellungen Kommunikation munikation
Schalter 1 Schalter 2
OFF OFF Programmierkonsolen– Von der SPS–Konfiguration be-
Protokoll stimmt
bi DM 6649)
(DM 6645 bis
OFF ON Von der SPS–Konfiguration be-
stimmt
(DM 6650 bis DM 6654)
ON OFF Programmierkonsolen– Von Standard–Einstellungen be-
Protokoll stimmt
ON ON Von Standard–Einstellungen be-
stimmt

Hinweis Ein RS–232C–Adapter wird für die Ohne Protokoll–Kommunikation über die
Peripherieschnittstelle benötigt.

234
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Anschliessen der Kabel Dieser Abschnitt beschreibt RS–232C–Anschlüsse.


Die RS–232C–Schnittstelle des seriellen Gerätes und die RS–232C–Schnitt-
stelle der CPM2A/CPM2C oder des CPM1–CIF01 RS–232C–Adapters wird,
wie in der folgenden Abbildung gezeigt, angeschlossen. Bei der CPM2C kön-
nen die Anschlusskabel CPM2C–CN111 und CS1W–CN118 an Stelle des
RS–232C–Adapters verwendet werden.
RS–232C–Schnittstelle
Signal Stift–Nr.

Serielles Gerät RD (Empfangsdaten)


Serielles Gerät SD (Sendedaten)

Serielles Gerät SG (Signalmasse)


Gehäuse

SPS–Konfiguration Die erforderlich SPS–Konfigurationseinstellungen hängen davon ab, ob eine


Peripherie– oder eine RS–232C–Schnittstelle verwendet wird.
RS–232C–Schnittstelleneinstellungen
Wort Bit Funktion Einstellung
DM 6645 00 bis 03 Kommunikationsformat Applikations–
00: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host– abhängig
Link–Baugruppennummer: 0)
01: Einstellungen in DM 6646
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung wird
verwendet und AR 1302 wird auf EIN gesetzt).
04 bis 07 CTS–Handshake–Einstellungen
0: Deaktiviert;
1: Einstellung aktiviert
08 bis 11 Link–Worte für 1:1–PC–Link Beliebige Ein-
0: LR 00 bis LR 15; andere: nicht wirksam stellung
12 bis 15 Kommunikationsmodus 1
0: Host–Link
1: Ohne Protokoll (RS–232C)
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Host–Link–Einstellung
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6646 00 bis 07 Baudrate Applikations-
abhängig
00: 1.200 Bits/Sek.; 01: 2.400 Bits/Sek.; 02: 4.800 Bits/Sek.; 03: 9.600 Bits/Sek.; 04:
19.200 Bits/Sek.
08 bis 15 Rahmenformat
Start Länge Stop Parität
00: 1 7 1 Gerade
01: 1 7 1 Ungerade
02: 1 7 1 Kein
03: 1 7 2 Gerade
04: 1 7 2 Ungerade
05: 1 7 2 Kein
06: 1 8 1 Gerade
07: 1 8 1 Ungerade
08: 1 8 1 Kein
09: 1 8 2 Gerade
10: 1 8 2 Ungerade
11: 1 8 2 Kein
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (03)
wird verwendet und AR 1302 wird auf EIN gesetzt).

235
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Wort Bit Funktion Einstellung


DM 6647 00 bis 15 Übertragungsverzögerung (Host–Link) 0000 bis 9999
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms, z.B. Einstellung von 0001 gleich
10 ms
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung
(0000) wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6648 00 bis 07 00 bis 31 (BCD): Teilnehmernummer (Host–Link) Applikations-
(Andere Einstellungen verursachen einen gerinfügigen Fehler, die Vorgabeeinstellung (00) abhängig
wird verwendet und AR 1302 wird eingeschaltet.)
08 bis 11 Startcode (RS–232C) 0 oder 1
0: deaktiviert;
1: Startcode in DM 6649 verwenden.
12 bis 15 Endecode (RS–232C) 0 bis 2
00: deaktiviert (Anzahl der empfangenen Bytes)
01: Endecode in DM 6649 verwenden.
02: CR, LF
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6649 00 bis 07 Startcode (00 bis FF) 00 bis FF
(Ohne Protokoll, wirksam, wenn, Bit 8 bis 11 von DM 6648 auf 1 gesetzt wird.)
08 bis 15 Anzahl der empfangenen Datenbytes 00 bis FF
(Ohne Protokoll, wirksam, wenn Bit 12 bis 15 von DM 6648 auf 0 gesetzt wird.)
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
Endecode (00 bis FF) 00 bis FF
(Ohne Protokoll, wirksam, wenn, Bit 12 bis 15 von DM 6648 auf 1 gesetzt wird.)

236
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Peripherieschnittstelleneinstellungen
Wort Bit Funktion Einstellung
DM 6650 00 bis 03 Kommunikationsformat Applikations-
00: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host– abhängig
Link–Baugruppennummer: 0)
01: Einstellungen im Datenwort DM 6651
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
04 bis 11 Nicht verwendet 0
12 bis 15 Kommunikationsmodus 1
0: Host–Link oder Toolbus;
1: Ohne Protokoll
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Host–Link–Einstellung
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6651 00 bis 07 Baudrate Applikations-
00: 1.200 Bits/Sek.; 01: 2.400 Bits/Sek.; 02: 4.800 Bits/Sek.; 03: 9.600 Bits/Sek.; 04: abhängig
19.200 Bits/Sek.
08 bis 15 Rahmenformat
Start Länge Stop Parität
00: 1 7 1 Gerade
01: 1 7 1 Ungerade
02: 1 7 1 Kein
03: 1 7 2 Gerade
04: 1 7 2 Ungerade
05: 1 7 2 Kein
06: 1 8 1 Gerade
07: 1 8 1 Ungerade
08: 1 8 1 Kein
09: 1 8 2 Gerade
10: 1 8 2 Ungerade
11: 1 8 2 Keine
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (03)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6652 00 bis 15 Übertragungsverzögerung (Host–Link) 0000 bis 9999
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms.
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung
(0000) wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6653 00 bis 07 00 bis 31 (BCD): Teilnehmernummer (Host–Link) Applikations-
abhängig
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
08 bis 11 Startcode (Peripherieschnittstelle) 0 oder 1
0: deaktiviert
1: Startcode in DM 6654 verwenden.
12 bis 15 Endecode (Peripherieschnittstelle) 0 bis 2
00: deaktiviert (Anzahl der empfangenen Bytes)
01: Endecode in DM 6654 verwenden.
02: CR. LF
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6654 00 bis 07 Startcode (00 bis FF) 00 bis FF
(Peripherieschnittstelle, wirksam, wenn, Bit 8 bis 11 von DM 6653 auf 1 gesetzt wird.)
08 bis 15 Anzahl der empfangenen Datenbytes 00 bis FF
(Peripherieschnittstelle, wirksam, wenn Bit 12 bis 15 von DM 6653 auf 0 gesetzt wird.)
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
Endecode (00 bis FF) 00 bis FF
(Peripherieschnittstelle, wirksam, wenn Bit 12 bis 15 von DM 6653 auf 1 gesetzt wird.)

Programm Die folgenden Befehle werden in der Ohne Protokoll–Kommunikation verwen-


det.
AWL Steuerung Inhalt
(@)TXD(48) Datenausgabe über Liest Daten vom spezifizierten Speicher und sendet
die Schnittstellen diese im spezifizierten Rahmenformat (Start– und
Endecode können aktiviert/deaktiviert werden).
(@)RXD(47) Datenempfang über Empfängt Daten im spezifizierten Rahmenformat
die Schnittstelle (Start– und Endecode können aktiviert/ deaktiviert
werden) und speichert nur die Daten im spezifizierten
Speicher.

237
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Die Ohne Protokoll–Kommunikationverwendet die folgenden AR–Bereichs-


merker.
Wort Bit (s) Inhalt
AR 08 00 bis 03 RS–232C: Schnittstellen–Fehlercode
0: Normale Beendigung; 1: Paritätsfehler
2: Rahmenlängen–Fehler 3: Überlauffehler
04 RS–232C: Kommunikations–Fehlermerker
EIN: RS–232C–Schnittstellenkommunikations–Fehler aufgetreten.
AUS: Normal
05 RS–232C: Sendebereit–Merker
EIN: Die SPS ist bereit, Daten zu senden.
06 RS–232C: Empfang beendet–Merker
EIN: Die SPS hat das Lesen der Daten beendet.
07 RS–232C: Empfangsüberlaufmerker
EIN: Ein Empfangsüberlauf ist aufgetreten.
08 bis 11 Peripherieschnittstelle: Fehlercode
0: Normale Beendigung; 1: Paritätsfehler
2: Rahmenlängen–Fehler 3: Überlauffehler
12 Peripherieschnittstelle: Kommunikations–Fehlermerker
EIN: Ein Peripherieschnittstellen–Kommunikationsfehler ist aufge-
treten.
AUS: Normal
13 Peripherieschnittstelle: Sendebereit–Merker
EIN: Die SPS ist bereit, Daten zu senden.
14 Peripherieschnittstelle: Empfang beendet–Merker
EIN: Die SPS hat das Lesen der Daten beendet.
15 Peripherieschnittstelle :Empfangsüberlaufmerker
EIN: Ein Empfangsüberlauf ist aufgetreten.
AR 09 00 bis 15 RS–232C–Schnittstelle: Datenübertragungszähler (4–stelliger
BCD–Wert)
AR 10 00 bis 15 Peripherieschnittstelle: Datenübertragungszähler (4–stelliger
BCD–Wert)

Ohne Protokoll–Datenübertragung
TXD(48) wird zum Senden von Daten an RS–232C–Geräte verwendet.

(@)TXD
S S: Anfangsadresse der zu sendenden Daten
C C: Steuerdaten
N N: Anzahl der zu sendenden Bytes (BCD: 0001 bis 0256)

C
Speicherreihenfolge
0: Äußerst linke Bytes zuerst 1: Äußerst rechte Bytes zuerst
Kommunikationsschnittstelle
0: RS–232–Schnittstelle; 1: Peripherieschnittstelle

Wird die Ohne Protokoll–Kommunikation verwendet, sendet TXD(48) n Daten-


bytes, beginnend bei S.

238
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Datenempfang bei Verwendung der Ohne Protokoll–Option


RXD(47) wird zum Empfang von Daten von RS–232C–Geräten verwendet.

(@)RXD(47)
S S: Erste Adresse zum Speichern der Empfangsdaten
C C: Steuerdaten
N N: Anzahl der zu empfangenden Bytes (BCD: 0001 bis 0256)

Speicherreihenfolge
0: Äußerst linke Bytes zuerst
1: Äußerst rechte Bytes zuerst

Kommunikationsschnittstelle
0: RS–232–Schnittstelle
1: Peripherieschnittstelle

Das folgende Programm ist ein Beispiel für die Ohne Protokoll–Schnittstellen-
kommunikation über eine RS–232C–Schnittstelle und unter Verwendung des
TXD(48)– und RXD (47)–Befehls.
Ist AR 0805 (der RS–232C–Sendebereit-Merker) auf EIN gesetzt, wenn 00100
auf EIN gesetzt wird, werden die Datenbytes (DM0100 bis DM 0104), begin-
nend mit den äußerst linken Bytes, übertragen. Wird AR 0806 (Empfang been-
det–Merker) aktiviert, werden 256 Bytes der empfangenen Daten gelesen und
in DM 0200, beginnend mit den äußerst linken Bytes zu den äußerst rechten By-
tes) gespeichert.

00100
DIFU (13)
Ohne Protokoll–Kommunikation starten
00101
00101 AR 0805
TXD(48)
DM 0100 Erstes Wort mit den gesendeten Daten.
#0000 RS–232C–Schnittstelle verwenden; Da-
ten von den äußerst linken Bytes zu den
#0010 äußerst rechten Bytes senden.
AR 0806 10 Bytes senden.
@RXD(47)
DM 0200 Erstes Wort zur Speicherung der Empfangsdaten.
RS–232C–Schnittstelle verwenden; empfangene
#0000 Daten (beginnend bei den äußerst linken Bytes
#0256 zu den äußerst rechten Bytes) speichern.
256 Bytes empfangen.

239
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

4-3-3 1:1–NT–Link–Kommunikation
Der NT–Link ermöglicht die direkte Verbindung einer CPM2A/CPM2C–SPS mit
einem OMRON NT–Terminal. Ein Kommunikationsprogramm in der SPS ist
nicht erforderlich. Der RS–232C–Anschluss kann für NT–Link verwendet wer-
den.
CPM2A–Anschluss

CPM2A–CPU–Baugruppe

RS–232C–Kabel

Programmierbares NT–Terminal

RS–232C–Schnittstelle

CPM2C–1:1–NT–Link–Anschluss
RS–232C–Schnittstelle
Anschlusskabel CPM2C–CPU–
(Sub–D, 9–polig) RS–232C– Baugruppe
CBL–405C–2M (2 m) Schnittstelle
CBL–405C–5M (5 m)

RS–232C–Anschluss
CPM2C–CN111 (0,15 m)

Programmierbares
NT–Terminal
CS1W–CN118 (0,1 m)

RS–232C ← Peripherieschnittstelle
RS–422–Anschluss

RS–232C–Schnittstelle

CPM2C-CIF01

RS-422 ← Peripherieschnittstelle

NT-AL001
RS-232C–Adapter

RS–232C–Schnittstelle

XW2Z-070T-1 (0,7 m) CPM2C-CIF11


CBL–405C–2M (2 m)

Hinweis Bei einer 1:1–NT–Link–Kommunikation kann das NT–Terminal nicht an einen


Peripherieschnittstellen–Anschluss angeschlossen werden.

240
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

Applikationsverfahren
Verwenden Sie die Einstellungen in der SPS–Konfiguration
Kommunikationseinstellungen (DM6645 bis DM 6649) für die RS–232C–Kommunikation.
(Schalten Sie den Kommunikationsschalter auf der CPU–
Baugruppe der CPM2A oder Schalter 1 des DIP–Schalters
auf der CPU–Baugruppe der CPM2C aus.)

Anschliessen der Kabel Anschluss eines NT–Terminals.

Kommunikations–DIP– Die Kommunikation der CPM2A wird über den Kommunikationsschalter auf der
Schaltereinstellungen Vorderseite der CPU–Baugruppe und die der CPM2C ebenfalls über den auf
der Vorderseite der CPU–Baugruppe befindlichen DIP–Schalter gesteuert.
CPM2A–Kommunikationsschalter–Einstellung
Schalten Sie den Kommunikationsschalter aus, wenn Sie die 1:1–NT–Link
Kommunikation verwenden. Eine 1:1–NT–Link–Kommunikation ist nicht mög-
lich, wenn der Kommunikationsschalter eingeschaltet ist.

Kommunikationsschalter
ON

OFF

RS–232C–Schnittstelle

241
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

CPM2C–DIP–Schaltereinstellungen
Schalten Sie Schalter 1 des DIP–Schalters aus, wenn Sie die 1:1–NT–Link
Kommunikation verwenden, damit die Kommunikation über die RS–232C–
Schnittstelle durch die Einstellungen in der SPS–Konfiguration bestimmt wer-
den (DM 6645 bis DM 6649).

DIP–Schalter

Schalter– Peripherieschnittstellen– RS–232C–Schnittstellen–Kom


einstellungen Kommunikation munikation
Schalter 1 Schalter 2
OFF OFF Programmierkonsolen– Von der SPS–Konfiguration be-
Protokoll stimmt
bi DM 6649)
(DM 6645 bis
OFF ON Von der SPS–Konfiguration be-
stimmt
(DM 6650 bis DM 6654)
ON OFF Programmierkonsolen– Von Standard–Einstellungen be-
Protokoll stimmt
ON ON Von Standard–Einstellungen be-
stimmt

SPS–Konfiguration Beim Einsatz einer NT–Link–Kommunikation mit einer CPM2A/CPM2C–SPS


müssen die folgenden SPS–Einstellungen (DM 6645) über ein Programmierge-
rät vorgenommen werden.
Wort Bit Funktion Einstellung
DM 6645 00 bis 03 Kommunikationsformat 00 oder 01
00: Standard (1 Startbit, 7 Datenbits, 2 Stopbits, gerade Parität, 9.600 Bits/Sek.; Host–
Link–Baugruppennummer: 0)
01: Einstellungen in DM 6646
Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
04 bis 07 CTS–Handshake–Einstellungen 0 oder 1
0: Deaktiviert
1: Einstellung aktiviert
08 bis 11 Für den 1:1–NT–Link–Kommunikationsmodus unerheblich 0
12 bis 15 Kommunikationsmodus 4
0: Host–Link
1: Ohne Protokoll (RS–232C)
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Host–Link–Einstellung
wird verwendet und AR 1302 wird auf EIN gesetzt).

Sehen Sie für Informationen über die 1:1–NT–Link Einstellungen eines


OMRON NT–Terminal das entsprechende Bedienerhandbuch.
Anschliessen der Kabel Dieser Abschnitt beschreibt RS–232C–Anschlüsse.
Die RS–232C–Schnittstelle des NT–Terminals und die RS–232C–Schnittstelle
der CPM2A/CPM2C oder des CPM1–CIF01 RS–232C–Adapters wird wie in der
folgenden Abbildung gezeigt, angeschlossen, falls kein CTS–Handshake der

242
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

RS–232C–Schnittstelle erfolgt. Bei der CPM2C werden die Anschlusskabel


CPM2C–CN111 und CS1W–CN118 verwendet.
OMRON–NT RS–232C–Schnittstelle
Signal Stift–Nr. Signal Stift–Nr.

Empfohlene Kabel:
CBL–405C–2M: 2m
CBL–405C–5M: 5m

Gehäuse Gehäuse

4-3-4 1:1–PC–Link–Kommunikation
Ein 1:1–PC–Link mit bis zu 256 Bits (LR0000 bis LR1515) kann im Datenbereich
einer anderen CPM2A/CPM2C, CQM1, CPM1, CPM1A, SRM1(–V2) oder einer
C200HX/HG/HE erstellt werden, wobei eine SPS als Master dient und die ande-
ren als Slave. Ein Kommunikationsprogramm in der SPS ist nicht erforderlich.
Der 1:1–PC–Link erfolgt über die RS–232C–Schnittstelle.
1:1–PC–Link
CPM2A–CPU–Baugruppe CPM2A–CPU–Baugruppe

RS–232C–Schnittstelle RS–232C–Schnittstelle

OMRON–SPS (CQM1, CPM1, CPM1A, CPM2C, OMRON–SPS (CQM1, CPM1, CPM1A, CPM2C,
SRM1(–V2), C200HS oder C200HX/HG/HE) SRM1(–V2), C200HS oder C200HX/HG/HE)

243
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

1:1–Link–Master
1:1–Link–Slave
CPM2C–CPU– RS–232C–Schnittstelle RS–232C–Schnittstelle
CPM2C–CPU–
Baugruppe (Sub–D, 9–polig) (Sub–D, 9–polig)
Baugruppe

CPM2C–CN111
(0,1 m) CPM2C–CN111 (0,1 m)

Anschlusskabel
CBL–405C–2M (2 m)
CBL–405C–5M (5 m)
CS1W–CN118 CS1W–CN118 (0,1 m)
(0,1 m)

CPM2C-CIF01 CPM2C-CIF01

CPM2C-CIF11 CPM2C-CIF11

OMRON–SPS (CQM1, CPM1, CPM1A, CPM2A, OMRON–SPS (CQM1, CPM1, CPM1A, CPM2A,
SRM1(–V2), C200HS oder C200HX/HG/HE) SRM1(–V2), C200HS oder C200HX/HG/HE)
Master Slave
Link–Merker Link–Merker
LR 00 LR 00
Schreiben Schreib- Lese-
bereich Lesen
bereich
LR07 LR07
LR08 Schreib- LR08
Lese- Schreiben
Lesen bereich bereich
LR 15 LR 15

Hinweis Auch wenn die Peripherieschnittstelle des CPM2C–CIF01 RS–232C–Signale ausgeben kann, kann diese
Schnittstelle nicht für eine 1:1–Kommunikationsverbindung verwendet werden.

244
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

PC–Link mit anderen Der Link–Merkerbereich der CPM2A/CPM2C–SPS–Systeme umfasst 16


SPS–Systemen Worte, LR00 bis LR15. Verwenden Sie bei einem 1:1–PC–Link mit einer
CPM2A/CPM2C und einer CQM1, C200HS oder C200HX/HE/HG die entspre-
chenden 16 Worte, LR00 bis LR15 dieser CQM1, C200HS oder C200HX/
HE/HG. Ein 1:1–PC–Link mit einer CPM2A/CPM2C SPS kann nicht die Merker
LR16 bis LR 63 verwenden.

Applikationsverfahren
Verwenden Sie die Einstellungen in der SPS–
Konfiguration (DM6645 bis DM 6649) für die
Kommunikationseinstellungen RS–232C–Kommunikation.
(Schalten Sie den Kommunikationsschalter auf
der CPU–Baugruppe der CPM2A oder Schalter 1
des DIP–Schalters auf der CPU–Baugruppe der
CPM2C aus.)

Anschliessen der Kabel Schließen Sie eine SPS über den 1:1–PC–Link an
eine andere an.

Kommunikations–DIP– Die Kommunikation der CPM2A wird über den Kommunikationsschalter auf der
Schaltereinstellungen Vorderseite der CPU–Baugruppe und die der CPM2C ebenfalls über den auf
der Vorderseite der CPU–Baugruppe befindlichen DIP–Schalter gesteuert.
CPM2A–Kommunikationsschalter–Einstellung
Schalten Sie den Kommunikationsschalter aus, wenn Sie die 1:1–PC–Link
Kommunikation verwenden. Eine 1:1–PC–Link–Kommunikation ist nicht mög-
lich, wenn der Kommunikationsschalter eingeschaltet ist.

Kommunikationsschalter
ON

OFF

RS–232C–Schnittstelle

245
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

CPM2C–DIP–Schaltereinstellungen
Schalten Sie Schalter 1 des DIP–Schalters aus, wenn Sie die 1:1–PC–Link
Kommunikation verwenden, damit die Kommunikation über die RS–232C–
Schnittstelle durch die Einstellungen in der SPS–Konfiguration bestimmt wer-
den (DM 6645 bis DM 6649).

DIP–Schalter

Schalter– Peripherieschnittstellen– RS–232C–Schnittstellen–Kom


einstellungen Kommunikation munikation
Schalter 1 Schalter 2
OFF OFF Programmierkonsolen– Von der SPS–Konfiguration be-
Protokoll stimmt
bi DM 6649)
(DM 6645 bis
OFF ON Von der SPS–Konfiguration be-
stimmt
(DM 6650 bis DM 6654)
ON OFF Programmierkonsolen– Von Standard–Einstellungen be-
Protokoll stimmt
ON ON Von Standard–Einstellungen be-
stimmt

SPS–Konfiguration Verwenden Sie bei der Erstellung eines 1:1–PC–Links mit einer CPM2A/
CPM2C–SPS ein Programmiergerät, um die folgende SPS–Einstellung (DM
6645) im Master und Slave vorzunehmen.
Wort Bit Funktion Ein– Ein–
stellung stellung
(Master) (Slave)
DM 6645 00 bis 03 Kommunikationsformat Beliebige Beliebige
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud) Einstel- Einstel-
01: Einstellungen in DM 6646 lung lung
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstel-
lung (00) wird verwendet und AR 1302 wird auf EIN gesetzt).
04 bis 07 CTS–Handshake–Einstellungen 0 0
0: Deaktiviert
1: Einstellung aktiviert
08 bis 11 Link–Bereich für den 1:1–PC–Link 0 0
0: LR 00 bis LR 15
(Andere Einstellungen: deaktiviert)
12 bis 15 Kommunikationsmodus 3 2
0: Host–Link
1: Ohne Protokoll (RS–232C);
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Host–Link–
Einstellung wird verwendet und AR 1302 wird auf EIN gesetzt).

Weitere Informationen über die 1:1–PC–Link–Kommunikation mit einer ande-


ren SPS finden Sie im jeweiligen Handbuch dieser SPS.
Anschliessen der Kabel Dieser Abschnitt beschreibt den RS–232C–Anschluss.
Das für den 1:1–PC–Link verwendete RS–232C–Kabel ist ein Kreuzverbin-
dungskabel. Ohne CTS–Handshake–Steuerung der RS–232C–Schnittstelle

246
CPM2A–/CPM2C–Kommunikationsfunktionen Abschnitt 4-3

wird der in der nachfolgenden Abbildung dargestellte Anschluss verwendet. Bei


der CPM2C werden die Anschlusskabel CPM2C–CN111 und CS1W–CN118
verwendet.
RS–232C–Schnittstelle RS–232C–Schnittstelle
Signal Stift–Nr. Signal Stift–Nr.

Empfohlene Kabel
CBL–405C–2M: 2m
CBL–405C–5M: 5m

Gehäuse

247
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

4-4 SRM1(–V2)–Kommunikationsfunktionen
4-4-1 Host–Link–Kommunikation
Die Host-Link-Kommunikation wurde von OMRON zur Verbindung einer oder
mehrerer SPS mit einem Host-Computer über ein RS-232C-Kabel entwickelt.
Die Kommunikation wird hierbei von dem Host–Computer gesteuert. Normaler-
weise gibt der Host-Computer einen Befehl an eine SPS aus, die wiederum au-
tomatisch eine Empfangsbestätigung ausgibt. Daher wird die Kommunikation
ohne aktive Beteiligung der SPS ausgeführt. Einige SPS–Systeme können
ebenfalls Datenübertragungen einleiten, wenn eine direkte Beteiligung erfor-
derlich ist.
Im Allgemeinen stehen zur Implementation der Host–Link–Kommunikation
zwei Arten zur Verfügung. Eine baisert auf den C-Modus– und die andere auf
den FINS(CV-Modus)–Befehlen. Die SRM1(-V2) unterstützt nur C-Modus–Be-
fehle. Einzelheiten über die zur Verfügung stehenden Host–Link–Befehle finden
Sie im Kapitel 4-5.
SPS–Konfigurations– Die Einstellungen der SRM1(–V2)–Peripherieschnittstelle müssen richtig vor-
einstellung genommen werden, um die in der folgenden Tabelle dargestellte Host–Link–
Kommunikation zu verwenden.
Wort Bit Funktion Ein–
stellung
Einstellungen der Peripheriegeräte–Schnittstelle
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6650 00 bis 03 Kommunikationsformat Anpassung
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud) an Host–
01: Einstellungen im Datenwort DM 6651 Parameter
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
04 bis 07 Nicht verwendet. 0
08 bis 11 Nicht verwendet. 0
12 bis 15 Kommunikationsmodus 0: Host-
0: Host–Link; Link
1: Ohne Protokoll
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (0)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6651 00 bis 07 Baudrate Anpassung
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2 an Host–
Parameter
08 bis 15 Rahmenformat Anpassung
Start Länge Stop Parität an Host–
00: 1 Bit 7 Bits 1 Bit Gerade Parameter
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Kein
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Kein
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Kein
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Kein
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6652 00 bis 15 Übertragungsverzögerung (Host–Link) Anpassung
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms. an Host–
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (0000) Parameter
wird verwendet und AR 1302 wird auf EIN gesetzt).

248
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Wort Bit Funktion Ein–


stellung
DM 6653 00 bis 07 Teilnehmernummer (Host–Link) 00 bis 31
00 bis 31 (BCD)
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
08 bis 11 Startcode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6650 auf 1 Beliebige
gesetzt werden.) Einstellung
0: Deaktiviert
1: Einstellung aktiviert
12 bis 15 Endecode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6650 auf 1 Beliebige
gesetzt werden.) Einstellung
0: Deaktiviert (Anzahl der empfangenen Bytes)
1: Einstellung aktiviert (spezifizierter Endecode)
2: CR, LF
DM 6654 00 bis 07 Startcode (wirksam, wenn Bits 08 bis 11 von DM 6650 auf 1 gesetzt werden). Beliebige
00: 256 Bytes Einstellung
01 bis FF: 1 bis 255 Bytes
08 bis 15 Endecode (Ohne Protokoll) Beliebige
Bits 12 bis 15 des Datenwortes DM 6653 auf 0 gesetzt: Einstellung
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
Bits 12 bis 15 des Datenwortes DM 6653 auf 1 gesetzt:
Einstellung: 00 bis FF (hex)

Hinweis Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben sich die
folgenden Kommunikationsparameter. Setzen Sie in diesem Fall den Wert zu-
rück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stop–, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer: 00
Wort Bit Funktion Ein–
stellung
RS–232C Schnittstelleneinstellungen
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6645 00 bis 03 Kommunikationsformat Host–
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud) Parameter
01: Einstellungen in DM 6646
04 bis 07 CTS–Handshake–Einstellungen 0
0: Deaktiviert;
1: Einstellung aktiviert
08 bis 11 Bei Einsatz einer 1:1–PC–Link–Verbindung: stellt den Schnittstellenbereich auf 1:1–PC–Link
ein.
0: LR 00 bis LR 15
Ungleich 0: deaktivieren
Bei Einsatz einer 1:n–NT–Link–Verbindung: spezifiziert die höchste Bedien–Terminal–Teil-
nehmernummer.
1 bis 7
12 bis 15 Kommunikationsmodus 0
0: Host–Link;
1: Ohne Protokoll (RS–232C); 2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1 –NT–Link; 5: 1:n–NT–Link
(Alle anderen Einstellungen spezifizieren den Host–Link–Modus, verursachen einen gering-
fügigen Fehler und aktivieren AR 1302.)

249
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Wort Bit Funktion Ein–


stellung
DM 6646 00 bis 07 Baudrate Host–
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2 Parameter
08 bis 15 Rahmenformat Host–
Start Länge Stop Parität Parameter
00: 1 Bit 7 Bits 1 Bit Gerade
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Kein
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Kein
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Kein
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Kein
DM 6647 00 bis 15 Übertragungsverzögerung (Host–Link) Host–
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms, z.B. Einstellung von 0001 gleich Parameter
10 ms
DM 6648 00 bis 07 Teilnehmernummer (Host–Link, wirksam, wenn Bits 12 bis 15 von DM 6645 auf 0 gesetzt 00 bis 31
werden.)
00 bis 31 (BCD)
08 bis 11 Startcode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6645 auf 1 Beliebige
gesetzt werden). Einstellung
0: deaktiviert;
1: Einstellung aktiviert
12 bis 15 Endecode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6645 auf 1 Beliebige
gesetzt werden). Einstellung
0: deaktiviert (Anzahl der empfangenen Bytes)
1: Einstellung aktiviert (spezifizierter Endecode)
2: CR, LF
DM 6649 00 bis 07 Startcode (aktive Schnittstelle) Beliebige
00: 256 Bytes Einstellung
01 bis FF: 1 bis 255 Bytes
08 bis 15 Endecode aktiviert (aktive Schnittstelle) Beliebige
00 bis FF (BIN) Einstellung

Hinweis Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben sich die
folgenden Kommunikationsparameter. Setzen Sie in diesem Fall den Wert zu-
rück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer: 00
Beispielprogramm Dieses Beispiel zeigt ein BASIC–Programm, das den Zustand der
SRM1(-V2)–Eingänge in IR 000 liest. Sehen Sie für weitere Einzelheiten Ab-
schnitt 4-5 Host–Schnittstellenbefehle.
Eine FCS–Prüfung (Rahmen–Überprüfungsfolge) der empfangenen Antwort-
daten wird in diesem Programm nicht durchgeführt. Vergewissern Sie sich vor
der Ausführung des Programms, dass die RS–232C–Schnittstelle des Host–
Computers richtig konfiguriert ist.
1000 ’ ––––––––––––––
1010 ’SRM1 Beispielprogramm in BASIC
1020 ’
1050 ’ –––––––––––––
1060 ’ Eingest. RS-232C–Werte Baudrate: 9,6Kb/Sek,PARITÄT:GERADE,DATEN:7,STOP:2
1070 OPEN ”COM:E73” AS #1
1080 *REPEAT
1090 ’ Einlesen der Übertragungsdaten –––––––––––––
1100 INPUT ”send data:”,SEND$
1110 ’ FCS–Berechnung –––––––––––––

250
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

1120 FCS=0
1130 FOR IFCS=1 TO LEN(SEND$)
1140 FCS=FCS XOR ASC(MID$(SEND$;IFCS,1)
1150 NEXT
1160 FCS$=RIGHT$(”0”+HEX$(FCS),2)
1170 ’ Ausführung der Kommunikation ––––––––––––
1180 ZZZ$=SEND$+FCS$+”*”+CHR$(13)
1190 PRINT #1,ZZZ$;
1200 ’ Antworttest ––––––
1210 RECCNT=0:TMP$=””
1220 *DRECLOOP
1230 IF LOC(1)<>0 THEN *DREC1
1240 RECCNT=RECCNT+1
1250 IF RECCNT=5000 THEN *DRECERR ELSE *DRECLOOP
1260 *DREC1
1270 TMP$=TMP$+INPUT$(LOC(1),#1)
1280 IF RIGHT$(TMP$,1)=CHR$(13) THEN *DRECEND ELSE RECCNT=0:GOTO *DRECLOOP
1290 *DRECERR
1300 TMP$=”No response!!”+CHR$(13)
1310 *DRECEND
1320 RECV$=TMP$
1330 PRINT ”Empfangene Daten:”;RECV$
1340 ’ gehe zum Einlesen der Übertragungsdaten ––––––––––––
1350 GOTO *REPEAT
1360 ’ Bearbeitung abgeschlossen ––––––––––––
1370 CLOSE #1
1380 END

4-4-2 Ohne Protokoll–Kommunikationsmodus


Dieser Abschnitt beschreibt die Ohne Protokoll(RS–232C)–Kommunikation.
Diese Kommunikation ermöglicht den Datenaustausch mit Standard–
RS–232C–Geräten wie Druckern und Barcode–Lesern. Daten können von ei-
nem Drucker gedruckt oder von einem Barcodeleser gelesen werden. Bei der
Ohne Protokoll–Kommunikation wird kein Handshaking unterstützt.
Kommunikationsverfahren
Übertragungen
1, 2, 3... 1. Überprüfen Sie, ob AR 0805 (der Sendebereit–Merker der RS–232C–
Schnittstelle) gesetzt ist.
2. Verwenden Sie zur Datenübertragung den TXD(48)-Befehl.

(@)TXD S: Anfangs–Wort–Nr. der zu übertragenden Daten


S C: Steuerdaten
C
N: Anzahl der zu übertragenden Datenbytes
N (4–stellige BCD– Zahl), 0000 bis 0256

Von der Ausführung dieses Befehls bis zum Ende der Datenübertragung ist AR
0805 (oder AR 0813 für die Peripherieschnittstelle) auf AUS gesetzt. Nach Ab-
schluss der Datenübertragung wird er wieder auf EIN gesetzt.

251
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Bei der Spezifikation der Anzahl der zu übertragenden Bytes werden die Start–
und Endecodes nicht berücksichtigt. Bei der größten Übertragung mit oder ohne
Start– und Endecodes in 256 Bytes liegt N, abhängig von den Start– und Ende-
codes, zwischen 254 und 256. Wird die Anzahl der zu sendenden Bytes auf
0000 gesetzt, werden nur die Start– und Endecodes gesendet.
max. 256 Zeichen

Startcode Daten Endecode

Um die RS–232C–Schnittstelle zurückzusetzen (d.h., um den anfänglichen Sta-


tus wiederherzustellen), setzen Sie SR 25209 auf EIN. Setzen Sie SR 25208 auf
EIN, um die Peripherieschnittstelle zurückzusetzen. Nach der Rücksetzung
werden diese Bits automatisch wieder auf AUS gesetzt.
Datenempfang
1, 2, 3... 1. Stellen Sie sicher, dass AR 0806 (RS–232C–Empfang beendet–Merker)
oder AR 0814 (Peripherieschnittstellen–Empfang beendet–Merker) auf
EIN gesetzt ist.
2. Verwenden Sie den RXD(47)–Befehl für den Datenempfang.

(@)RXD(47)
S: Erste zu speichernde Wort–Nr. der Empfangsdaten
S
C: Steuerdaten
C Bits 00 bis 03
N 0: Äußerst linke Bytes zuerst
1: Äußerst rechte Bytes zuerst
Bits 12 bis 15
0: RS-232C-Schnittstelle
1: Peripherieschnittstelle
N: Anzahl der gespeicherten Bytes (4–stelliger BCD–
Wert), 0000 bis 0256

3. Die Leseergebnisse der empfangenen Daten werden im AR–Bereich ge-


speichert. Überprüfen Sie, ob der Vorgang erfolgreich beendet wurde. Jede
Ausführung des RXD(47)–Befehls setzt den Inhalt dieser Bits zurück.
RS–232C– Peripherie- Fehler
Schnittstelle schnittstelle
AR 0800 bis AR 0808 bis RS–232C–Schnittstellen–Fehlercode (1–stelliger BCD–
AR 0803 AR 0811 Wert) 0: Normaler Abschluss
1: Paritätsfehler
2: Rahmenfehler
3: Überlauffehler
AR 0804 AR 0812 Kommunikationsfehler
AR 0807 AR 0815 Empfangs–Überlaufmerker (nach Beendigung des Emp-
fangs wurden die nachfolgenden Daten empfangen, bevor
die Daten durch den RXD(47)–Befehl gelesen wurden).
AR 09 AR 10 Anzahl der empfangenen Zeichen

Um die RS-232C-Schnittstelle zurückzusetzen (d.h. den ursprünglichen Zu-


stand wiederherzustellen), setzen Sie SR 25209 auf EIN. Setzen Sie, um die
Peripherieschnittstelle zurückzusetzen, SR 25208 auf EIN. Nach der Rückset-
zung werden diese Bits automatisch wieder auf AUS gesetzt.
Der Start– und Endecode ist nicht in AR 09 oder AR 10 (Anzahl der empfange-
nen Bytes) enthalten.
Die Daten besitzen folgendes Format: “31323132313231323132CR LF”
Einstellungen der Wird die Peripherieschnittstelle als aktive Schnittstelle (ohne Protokoll) verwen-
Peripherieschnittstelle det, müssen die folgenden Einstellungen über ein Peripheriegerät in
DM 6650 bis DM 6653 der SRM1(–V2) vorgenommen werden.

252
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Wort Bit Funktion Ein–


stellung
Einstellungen der Peripheriegeräte–Schnittstelle
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6650 00 bis 03 Kommunikationsformat Applikations-
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud) abhängig
01: Einstellungen im Datenwort DM 6651
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
04 bis 07 Nicht verwendet. 0
08 bis 11 Nicht verwendet. 0
12 bis 15 Kommunikationsmodus 1: Ohne Proto-
0: Host–Link; koll
1: Ohne Protokoll
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (0)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6651 00 bis 07 Baudrate Applikations-
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2 abhängig
08 bis 15 Rahmenformat Applikations-
Start Länge Stop Parität abhängig
00: 1 Bit 7 Bits 1 Bit Gerade
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Kein
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Kein
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Kein
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Kein
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung (00)
wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6652 00 bis 15 Übertragungsverzögerung (Host–Link) Host–Parame-
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms. ter
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung
(000) wird verwendet und AR 1302 wird auf EIN gesetzt).
DM 6653 00 bis 07 Teilnehmernummer (Host–Link) 00 bis 31
00 bis 31 (BCD)
(Andere Einstellungen verursachen einen geringfügigen Fehler, die Grundeinstellung
(000) wird verwendet und AR 1302 wird auf EIN gesetzt).
08 bis 11 Startcode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6650 auf Applikations-
1 gesetzt werden.) abhängig
0: deaktiviert
1: Einstellung aktiviert
12 bis 15 Endecode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6650 auf Applikations-
1 gesetzt werden.) abhängig
0: deaktiviert (Anzahl der empfangenen Bytes)
1: Einstellung aktiviert (spezifizierter Endecode)
2: CR, LF
DM 6654 00 bis 07 Startcode 00 bis FF Applikations-
abhängig
(Diese Einstellung ist nur gültig, wenn die Bits 8 bis 11 von DM 6653 auf 1 eingestellt
werden)
08 bis 15 Bits 12 bis 15 des Datenmerkers DM 6653 auf 0 gesetzt:
spezifiziert die Anzahl der zu empfangenden Bytes. (00: 256 Bytes; 01 bis FF: 1 bis 255
Bytes)
Bits 12 bis 15 des Datenwortes DM 6653 auf 1 gesetzt:
Spezifiziert den Ende–Code (00 bis FF)

Hinweis Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben sich die
folgenden Kommunikationsparameter. Setzen Sie in diesem Fall den Wert zu-
rück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine

253
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Teilnehmernummer: 00
RS–232C–Schnittstellen– Wird die RS–232C–Schnittstelle als aktive Schnittstelle (ohne Protokoll) ver-
einstellungen wendet, müssen die folgenden Einstellungen über ein Peripheriegerät in
DM 6645 bis DM 6649 der SRM1(–V2) vorgenommen werden.
Wort Bit Funktion Ein–
stellung
RS–232C Schnittstelleneinstellungen
Die folgenden Einstellungen sind nach der Übertragung zur SPS wirksam.
DM 6645 00 bis 03 Kommunikationsformat Applikations-
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud) abhängig
01: Einstellungen in DM 6646
04 bis 07 CTS–Handshake–Einstellungen
0: Deaktiviert;
1: Einstellung aktiviert
08 bis 11 Bei Einsatz einer 1:1–PC–Link–Verbindung: Stellt den Schnittstellenbereich auf 1:1–PC– 0
Link ein.
0: LR 00 bis LR 15
Ungleich 0: Deaktiviert
12 bis 15 Kommunikationsmodus 1
0: Host–Link
1: Ohne Protokoll (RS–232C)
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
5: 1:n–NT–Link
(Alle anderen Einstellungen spezifizieren den Host–Link–Modus, verursachen einen ge-
ringfügigen Fehler und aktivieren AR 1302.)
DM 6646 00 bis 07 Baudrate Applikations-
00: 1,2K, 01: 2,4K, 02: 4,8K, 03: 9,6K, 04: 19,2 abhängig
08 bis 15 Rahmenformat Applikations-
Start Länge Stop Parität abhängig
00: 1 Bit 7 Bits 1 Bit Gerade
01: 1 Bit 7 Bits 1 Bit Ungerade
02: 1 Bit 7 Bits 1 Bit Kein
03: 1 Bit 7 Bits 2 Bits Gerade
04: 1 Bit 7 Bits 2 Bits Ungerade
05: 1 Bit 7 Bits 2 Bits Kein
06: 1 Bit 8 Bits 1 Bit Gerade
07: 1 Bit 8 Bits 1 Bit Ungerade
08: 1 Bit 8 Bits 1 Bit Kein
09: 1 Bit 8 Bits 2 Bits Gerade
10: 1 Bit 8 Bits 2 Bits Ungerade
11: 1 Bit 8 Bits 2 Bits Kein
DM 6647 00 bis 15 Übertragungsverzögerung (Host–Link) Applikations-
0000 bis 9999 (BCD): Einstellung in Einheiten von 10 ms, z.B. Einstellung von 0001 gleich abhängig
10 ms
DM 6648 00 bis 07 Teilnehmernummer (Host–Link, wirksam, wenn Bits 12 bis 15 von DM 6645 auf 0 gesetzt Applikations-
werden.) abhängig
00 bis 31 (BCD)
08 bis 11 Startcode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6645 auf 1 Applikations-
gesetzt werden). abhängig
0: deaktiviert;
1: Einstellung aktiviert
12 bis 15 Endecode (aktive Schnittstelle RS–232C, wirksam, wenn Bits 12 bis 15 von DM 6645 auf
1 gesetzt werden).
0: deaktiviert (Anzahl der empfangenen Bytes)
1: Einstellung aktiviert (spezifizierter Endecode)
2: CR, LF
DM 6649 00 bis 07 Startcode (aktive Schnittstelle)
00: 256 Bytes
01 bis FF: 1 bis 255 Bytes
08 bis 15 Endecode aktiviert (aktive Schnittstelle)
00 bis FF (BIN)

Hinweis Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben sich die
folgenden Kommunikationsparameter. Setzen Sie in diesem Fall den Wert zu-
rück, damit dieser innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link

254
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer: 00
Übertragungsdaten– Wird die Ohne Protokoll–Kommunikation verwendet, werden Daten mit dem
Konfiguration TXD(48)–Befehl gesendet und mit dem RXD(47)–Befehl empfangen. Die maxi-
male Datenanzahl einschließlich des Start–/Endecodes beträgt hierbei 256 By-
tes.
Ohne Start– und Endecode:

Daten (max. 256 Zeichen)

Nur Startcode:

ST Daten (max. 256 Zeichen)

Nur Endecode:

Daten (max. 256 Zeichen) ED

Sowohl Start– als auch Endecode:

ST Daten (max. 256 Zeichen) ED

Endecode bestehend aus CR, LF:

Daten (max. 256 Zeichen) CR LF

Startcode 00–FF/Endecode CR, LF:

ST Daten (max. 256 Zeichen) CR LF

Hinweis 1. Die Start– und Endecodes werden in DM 6648 bis DM 6649 und DM 6653
bis DM 6654 der SPS–Konfiguration spezifiziert.
2. Sind mehrere Start– und Endecodes vorhanden, ist jeweils der erste Teil
wirksam.
3. Verwenden Sie CR oder LF als Endecode, wenn der Endecode in den Über-
tragungsdaten enthalten ist und die Übertragung hierdurch teilweise ab-
bricht.
4. Die Start– und Endecodes werden nicht gespeichert.
Werden Daten von der SRM1(–V2) gesendet, muss für die Ausführung des
TXD(48)–Befehls der Sendebereit–Merker auf den EIN–Zustand getestet wer-
den. Während der Datenübertragung wird der Sendebereit–Merker auf AUS
und nach Beendigung der Übertragung wieder auf EIN gesetzt.
Übertragungsmerker Nachdem die SRM1(–V2) die Daten empfangen hat, wird der Sendebereit–Mer-
ker auf EIN gesetzt. Wird der RXD–Befehl ausgeführt, werden die empfange-
nen Daten in die spezifizierten Worte geschrieben und der Empfang beendet–
Merker wird auf AUS gesetzt.
Merker Peripherieschnittstelle RS–232C–Schnittstelle
Sendebereit–Merker AR 0813 AR 0805
Empfang beendet–Merker AR 0814 AR 0806

255
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Hinweis Der Zeitverlauf vom Start des Datenempfangs bis zur Beendigung ist nachfol-
gend für die SRM1(–V2) dargestellt.
Empfangsstart:
Ohne Startcode: Normaler Empfangsstatus
Mit Startcode: Nach Empfang des Startcode.
Empfang beendet:
Nachdem entweder der Endecode, die spezifizierte Anzahl von Zeichen oder
256 Zeichen empfangen wurden.
Programmbeispiel Im folgenden Programmbeispiel wird die Ohne Protokoll–Kommunikation über
eine RS–232C–Schnittstelle und unter Verwendung des TXD(48)– und RXD
(47)–Befehls durchgeführt.
Ist AR 0805 (Sendebereit–Merker) auf EIN gesetzt, wenn 00100 auf EIN gesetzt
wird, werden Daten von DM 0100 bis DM 0104 übertragen, beginnend mit den
höheren zu den niedrigen Werten. Wird AR 0806 (Empfang beendet–Merker)
auf EIN gesetzt, werden 256 Bytes empfangener Daten gelesen und von den
höheren zu den niedrigen Werten nach DM 0200 und folgende geschrieben.

00100
DIFU (13)
Ohne Protokoll–Kommunikation starten
00101
00101 AR 0805
TXD
DM 0100 Erstes Wort der gesendeten Daten
Über die RS–232C–Schnittstelle werden
#0000 die Daten gelesen und von den höheren
bis zu den niedrigen Werten gespeichert
#0010
10 übertragene Zeichen
AR 0806
@RXD
Erstes Wort zur Speicherung der
DM 0200 Empfangsdaten
#0000 Über die RS–232C–Schnittstelle werden
die Daten gelesen von den höheren bis
#256 zu den niedrigen Werten gespeichert
256 übertragene Zeichen

4-4-3 1:1–NT–Link–Kommunikationsmodus
Wird 1:1–NT–Link verwendet, kann die SPS SRM1(–V2) mit einem NT–Termi-
nal (NT–Link–Schnittstelle) verbunden werden. Die RS–232C–Schnittstelle
wird für den 1:1–NT–Link verwendet.
SRM1
Programmierbares NT–Terminal

1:1–NT–Link ist nur mit der SRM1–C02–V1/V2 möglich, die über eine
RS–232C–Schnittstelle verfügt.
SPS–Konfigurations– In der folgenden Tabelle sind die auf den 1:1–NT–Link–Kommunikationmodus
einstellung bezogenen Einstellungen aufgeführt.

256
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Wort Bit Funktion Ein–


stellung
DM 6645 00 bis 03 Kommunikationsformat 1 00 oder 01
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen in DM 6646
04 bis 07 CTS–Handshake–Einstellungen 0 oder 1
0: Deaktiviert
1: Einstellung aktiviert
08 bis 11 Für den 1:1–NT–Link–Kommunikationsmodus unbedeutend 0
12 bis 15 Kommunikationsmodus1 4
0: Host–Link
1: Ohne Protokoll (RS–232C)
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
5: 1:n–NT–Link

Hinweis 1. Wird eine falsche Einstellung verwendet, tritt ein geringfügiger Fehler auf.
AR 1302 wird auf EIN gesetzt und die Grundeinstellung (0 oder 00) wird ver-
wendet.
2. Sehen Sie für weitere Informationen über die 1:1–NT–Link–Einstellungen
einer anderen OMRON–SPS das entsprechende Programmierhandbuch
dieser jeweiligen SPS.
3. Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben
sich die folgenden Kommunikationsparameter. Setzen Sie in diesem Fall
den Wert zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer: 00

4-4-4 1:n–NT–Link–Kommunikationsmodus
1:n–NT–Link ermöglicht die direkte, schnelle Kommunikation einer SRM1(–V2)
SPS mit bis zu 8 OMRON NT–Terminals. 1:n–NT–Link wird mit der RS–232C–
Schnittstelle verwendet.
SRM1
Programmierbares NT–Terminal

1:n–NT–Link ist nur mit SPS–Systemen der Serie SRM1–C02–V2 möglich, die
über eine RS–232C–Schnittstelle verfügen.
Kabelanschlüsse Sehen Sie das SRM1 Master–Steuerungs–Bedienerhandbuch für Informatio-
nen über Kabelanschlüsse für eine 1:n–NT–Link–Kommunikation.
SPS–Konfigurations– In der folgenden Tabelle sind die auf den 1:n–NT–Link–Kommunikationmodus
einstellung bezogenen Einstellungen aufgeführt.

257
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Wort Bit Funktion Einstel-


lung
DM 6645 00 bis 03 Kommunikationsformat 1 00 oder 01
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud)
01: Einstellungen in DM 6646
04 bis 07 CTS–Handshake–Einstellungen 0 oder 1
0: Deaktiviert
1: Einstellung aktiviert
08 bis 11 Spezifiziert die höchste Bedien–Terminal–Teilnehmernummer. 1 bis 7
1 bis 7
12 bis 15 Kommunikationsmodus1 5
0: Host–Link
1: Ohne Protokoll (RS–232C)
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
5: 1:n–NT–Link

Hinweis 1. Wird eine falsche Einstellung verwendet, tritt ein geringfügiger Fehler auf.
AR 1302 wird auf EIN gesetzt und die Grundeinstellung (0 oder 00) wird ver-
wendet.
2. Sehen Sie für weitere Informationen über die 1:n–NT–Link–Einstellungen
einer anderen OMRON–SPS das entsprechende Programmierhandbuch
dieser jeweiligen SPS.
3. Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben
sich die folgenden Kommunikationsparameter. Setzen Sie in diesem Fall
den Wert zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer: 00

4-4-5 1:1–PC–Link–Kommunikationsmodus
In einem 1:1–PC–Link wird eine SPS der Serie SRM1 über ein Stan-
dard–RS–232C–Kabel mit einer anderen SRM1, CPM1A, CPM2A, CPM2C,
CQM1, C200HS oder C200HX/HG/HE verbunden. Eine der SPS–Systeme
dient als Master und ein anderes als Slave. Über 1:1–PC–Link können bis zu
256 Bits (LR 0000 bis LR 1515) von zwei SPS–Systemen miteinander ausge-
tauscht werden.
1:1–SRM1(–V2) In der folgenden Abbildung ist eine 1:1–PC–Link–Verbindung zwischen zwei
PC–Link–Verbindungen SRM1(–V2)–Systemen dargestellt.

SRM1 SRM1

RS–232C–Schnittstelle RS–232C–Schnittstelle

258
SRM1(–V2)–Kommunikationsfunktionen Abschnitt 4-4

Die für den 1:1–PC–Link verwendeten Worte sind nachfolgend dargestellt.

Master Slave
LR 00 LR 00
Daten Schreibbereich Lesebereich Daten
schreiben LR 07 LR 07 lesen
LR 08 LR 08
Daten Lesebereich Schreibbereich Daten
lesen LR 15 LR 15 schreiben

Beschränkungen der Ein 1:1–PC–Link ist nur mit der SRM1–C02–V1/V2 SPS–möglich, die mit einer
1:1–PC–Link– RS–232C–Schnittstelle ausgestattet ist.
Kommunikation mit einer
SRM1(–V2) In der SRM1 können nur die16 LR–Worte von LR 00 bis LR 15 zur Kommunika-
tion verwendet werden. Verwenden Sie also nur diese16 Worte in der CQM1
oder C200HS, wenn Sie einen 1:1–PC–Link mit einer dieser SPS–Systeme rea-
lisieren. Ein 1:1–Link–Verbund einer SRM1–SPS über LR 16 bis LR 63 in der
CQM1 oder C200HS ist nicht möglich.
Kabelanschlüsse Sehen Sie das SRM1 Technische Handbuch für Informationen über Kabelan-
schlüsse für die 1:1–PC–Link–Kommunikation.
SPS–Konfigurations– Nehmen Sie die folgenden SPS–Konfigurationseinstellungen mit einem Pro-
einstellung grammiergerät vor, wenn eine SRM1(–V2) in einem 1:1–PC–Link verwendet
wird.
Wort Bit Funktion Einstel- Einstel-
lung lung
(Master) (Slave)
DM 6645 00 bis 03 Kommunikationsformat1 00 oder 00 oder
00: Standard (1 Startbit, 7 Datenbits, gerade Parität, 2 Stopbits, 9.600 Baud) 01 01
01: Einstellungen im Datenwort DM 6651
04 bis 07 CTS–Handshake–Einstellungen 0 0
0: Deaktiviert
1: Einstellung aktiviert
08 bis 11 Stellt den Schnittstellenbereich auf 1:1–PC–Link ein 0 0
0: LR 00 bis LR 15
Ungleich 0: deaktiviert
12 bis 15 Kommunikationsmodus1 3 2
0: Host–Link
1: Ohne Protokoll (RS–232C)
2: 1:1–PC–Link (Slave)
3: 1:1–PC–Link (Master)
4: 1:1–NT–Link
5: 1:n–NT–Link

Hinweis 1. Wird eine falsche Einstellung verwendet, tritt ein geringfügiger Fehler auf.
AR 1302 wird auf EIN gesetzt und die Grundeinstellung (0 oder 00) wird ver-
wendet.
2. Weitere Informationen über die 1:1–PC–Link–Kommunikation mit einer an-
deren SPS finden Sie im jeweiligen Handbuch dieser entsprechenden SPS.
3. Wird ein außerhalb des Bereichs liegender Wert eingestellt, so ergeben
sich die folgenden Kommunikationsparameter. Setzen Sie in diesem Fall
den Wert zurück, damit er innerhalb des zulässigen Bereichs liegt.
Kommunikationsmodus: Host-Link
Kommunikationsformat: Standardeinstellungen
(1 Start–, 7 Daten–, 2 Stopbits, gerade Parität
9,600 Baud
Übertrag.verzögerungszeit Keine
Teilnehmernummer: 00

259
Host–Link–Befehle Abschnitt 4-5

Beispielprogramm Dieses Beispiel zeigt ein Kontaktplanprogramm, in dem der Zustand von IR
0000 in jeder SRM1 nach IR 200 in die jeweils andere SRM1 kopiert wird.

Programmierung im Master Programmierung im Slave

25313 (Immer EIN) 25313 (Immer EIN)


MOV (21) MOV (21)
000 000
LR00 LR08

MOV (21) MOV (21)


LR08 LR00
200 200

LR 00 LR 00
IR 000 Schrei- Schreibbereich Lesebereich Lesen IR 200
ben LR 07 LR 07
LR 08 LR 08
IR 200 Lesen Lesebereich Schreibbereich Schrei- IR 000
LR 15 LR 15 ben

4-5 Host–Link–Befehle
Nachfolgend werden die für die Host–Link–Kommunikation (Host–PC zur SPS)
notwendigen Befehle dargestellt.

4-5-1 IR/SR–Bereich lesen – RR


Dient zum Einlesen des Inhalts einer spezifizierten Anzahl von IR–/SR–Worten,
beginnend mit einem spezifiziertem Wort.
Befehlsformat

@ 1
X 10 X 10
0 R R x 10
3 x 102 X 101 X 100 x 10
3 x 102 X 101 X 100 : ↵

Teilneh- Befehls– Anfangswort* Anzahl der Worte FCS– Ende–


mer–Nr. code (0000 bis 0256) Prüfzeichen zeichen

Hinweis *Anfangswort: 0000 bis 0049 und 0200 bis 0255 in CPM2A/CPM2C–SPS–Sy-
stemen, 0000 bis 0019 und 0200 bis 0255 in CPM1/CPM1A/SRM1(–V2)–SPS–
Systemen.
(Eine Antwort von “0000” wird für nichtvorhandene IR– und SR–Worte zurück-
gegeben.)

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 R R x 16
1 x 160 3
x 16
2
x 16 x 16
1 x 160 : ↵

Teilneh- Befehls– Ende- Daten lesen (1 Wort) FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen
Daten lesen (sooft wie Wortanzahl)

Hinweis 1. In CPM2A/CPM2C SPS–Systemen können nicht die Worte 0050 bis 0199
spezifiziert werden und in CPM1/CPM1A/SRM1(–V2) SPS–Systemen
nicht die Worte 0020 bis 0199. Wird versucht, diese Worte zu lesen, erhal-
ten Sie als Antwort 0000.
2. Das Antwortformat wird unterteilt, wenn mehr als 30 Datenworte gelesen
werden.
Parameter Daten lesen (Antwort)
Die Inhalte der Worte, die über den Befehl spezifiziert wurden, werden bei der

260
Host–Link–Befehle Abschnitt 4-5

Antwort als Hexadezimalwerte ausgegeben. Die empfangenen Worte werden


in gleicher Reihenfolge ausgegeben, beginnend mit dem Anfangswort.

4-5-2 LR–Bereich lesen – RL


Liest den Inhalt einer spezifizierten Anzahl von LR–Worten, beginnend mit dem
spezifiziertem Wort.
Befehlsformat

@ 1
X 10 X 10
0 R L x 10
3 x 102 X 101 X 100 x 10
3 x 102 X 101 X 100 : ↵

Teilneh- Befehls– Anfangswort1 Wortanzahl2 FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Hinweis 1. Anfangswort: 0000 bis 0015


2. Wortanzahl: 0001 bis 0016
Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 R L x 16
1 x 160 x 16
3 x 16
2 x 16
1 x 160 : ↵

Teilneh- Befehls– Ende- Daten lesen (1 Wort) FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen
Daten lesen (sooft wie Wortanzahl)

Parameter Daten lesen (Antwort)


Die Inhalte der Worte, die über den Befehl spezifiziert wurden, werden bei der
Antwort als Hexadezimalwerte ausgegeben. Die empfangenen Worte werden
in gleicher Reihenfolge ausgegeben, beginnend mit dem Anfangswort.

4-5-3 HR–Bereich lesen – RH


Liest den Inhalt einer spezifizierten Anzahl von HR–Worten, beginnend mit dem
spezifizierten Wort.
Befehlsformat

@ 1
X 10 X 10
0 R H x 10
3 x 102 X 101 X 100 x 10
3 x 102 X 101 X 100 : ↵

Teilneh- Befehls– Anfangswort1 Wortanzahl2 FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Hinweis 1. Anfangswort: 0000 bis 0019


2. Wortanzahl 0001 bis 0020
Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 R H 1 x 160
x 16
3
x 16
2
x 16
1 x 160
x 16 : ↵

Teilneh- Befehls– Ende- Daten lesen (1 Wort) FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen
Daten lesen (sooft wie Wortanzahl)

Parameter Daten lesen (Antwort)


Die Inhalte der Worte, die über den Befehl spezifiziert wurden, werden bei der
Antwort als Hexadezimalwerte ausgegeben. Die empfangenen Worte werden
in gleicher Reihenfolge ausgegeben, beginnend mit dem Anfangswort.

4-5-4 Istwert lesen – RC


Liest den Inhalt einer spezifizierten Anzahl von Zähler–/Zeitgeber–Istwerten,
beginnend mit dem spezifizierten Zähler/Zeitgeber.

261
Host–Link–Befehle Abschnitt 4-5

Befehlsformat

@ 1
X 10 X 10
0 R C x 10
3 x 102 X 101 X 100 x 10
3 x 102 X 101 X 100 : ↵

Teilneh- Befehls– 1. Zeitgeber/Zähler1 Anzahl der FCS– Ende–


mer–Nr. code Zähler/Zeitgeber 2 Prüfzeichen zeichen

Hinweis 1. Zeitgeber/Zähler: 0000 bis 0255 in CPM2A/CPM2C–SPS–Syste-


men, 0000 bis 0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen
2. Anzahl der Zeitgeber/Zähler: 0001 bis 0256 in CPM2A/CPM2C–SPS–
Systemen, 0001 bis 0128 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen
Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 R C x 16
1 x 160 x 10
3 2
x 10
1
X 10 X 10
0 : ↵

Teilneh- Befehls– Ende- Daten lesen (1 Wort) FCS– Ende–


mer–Nr. code code Daten lesen (sooft wie Wortanzahl) Prüfzeichen zeichen

Das Antwortformat wird unterteilt, wenn mehr als 30 Datenworte gelesen wer-
den.
Parameter Daten lesen (Antwort)
Die Inhalte der Worte, die über den Befehl spezifiziert wurden, werden bei der
Antwort als Hexadezimalwerte ausgegeben. Die empfangenen Istwerte werden
in gleicher Reihenfolge beginnend mit dem spezifiziertem Zeitgeber/Zähler aus-
gegeben.

4-5-5 TC–Status lesen – RG


Liest den Status der Fertigmerker einer spezifizierten Anzahl von Zeitgeber/
Zählern, beginnend mit dem ersten spezifizierten Zeitgeber/Zähler.
Befehlsformat

@ 1
X 10 X 10
0 R G x 10
3 x 102 X 101 X 100 x 10
3 x 102 X 101 X 100 : ↵

Teilneh- Befehls– 1. Zeitgeber/Zähler1 Anzahl der FCS– Ende–


mer–Nr. code Zähler/Zeitgeber 2 Prüfzeichen zeichen

Hinweis 1. Zeitgeber/Zähler: 0000 bis 0255 in CPM2A/CPM2C–SPS–Syste-


men, 0000 bis 0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen
2. Anzahl der Zeitgeber/Zähler: 0001 bis 0256 in CPM2A/CPM2C–SPS–
Systemen, 0001 bis 0128 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen
Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 R G x 16
1 x 160 EIN/ : ↵
AUS

Teilneh- Befehls– Ende- FCS– Ende–


mer–Nr. code code Daten lesen Prüfzeichen zeichen
(1 Zeitgeber/Zähler)

Daten lesen
(Anzahl von Zeitgebern/Zählern)

Die Antwort wird beim Lesen von mehr als 123 Zeitgeber/Zähler aufgeteilt.
Parameter Daten lesen (Antwort)
Der Status der Fertigmerker, die über diesen Befehl spezifiziert wurden, wird bei
der Antwort übertragen. “1” bedeutet, dass der Status der Fertigmerker auf EIN
gesetzt ist.

262
Host–Link–Befehle Abschnitt 4-5

4-5-6 DM–Bereich lesen – RD


Liest den Inhalt einer spezifizierten Anzahl von DM–Worten, beginnend mit dem
spezifierten Wort.
Befehlsformat

@ 1
X 10 X 10
0 R D 3 x 102 X 101 X 100
x 10
3 x 102 X 101 X 100
x 10 : ↵

Teilneh- Befehls– Anfangswort* Wortanzahl FCS– Ende–


mer–Nr. code (0001 bis 6656) Prüfzeichen zeichen

Hinweis Anfangswort:
DM 0000 bis DM 1023 und DM 6144 bis DM 6655 in CPM1/CPM1A–SPS–Sy-
stemen
DM 0000 bis DM 2047 und DM 6144 bis DM 6655 in CPM2A/
CPM2C/SRM1(–V2)–SPS–Systemen (Eine Antwort von “0000” wird für nicht-
vorhandene DM–Worte zurückgegeben.)

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 R D x 16
1 x 160 3
x 16
2
x 16 x 16
1 x 160 : ↵

Teilneh- Befehls– Ende- Daten lesen (1 Wort) FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen
Daten lesen (sooft wie Wortanzahl)

Hinweis 1. Die Worte DM 1024 bis DM 6143 in CPM1/CPM1A–SPS und DM 2048 bis
DM 6143 in CPM2A/CPM2C/SRM1(–V2)–SPS–Systemen können nicht
spezifiziert werden. Wird versucht, diese Worte zu lesen, wird 0000 als Ant-
wort zurückgegeben.
2. Das Antwortformat wird unterteilt, wenn mehr als 30 Datenworte gelesen
werden.
Parameter Daten lesen (Antwort)
Der Inhalt der Worte, die über den Befehl spezifiziert wurden, wird bei der Ant-
wort als Hexadezimalwert ausgegeben. Die empfangenen Worte werden in
gleicher Reihenfolge ausgegeben, beginnend mit dem Anfangswort.
Hinweis Achten Sie bei der Spezifikation des DM–Bereichs darauf, dass der DM–Be-
reich bei den verschiedenen CPU–Modellen unterschiedlich ist.

4-5-7 AR–Bereich lesen – RJ


Liest den Inhalt einer spezifizierten Anzahl von AR–Worten, beginnend mit dem
spezifizierten Anfangswort.
Befehlsformat

@ 1
X 10 X 10
0 R J x 10
3 x 102 X 101 X 100 x 10
3 x 102 X 101 X 100 : ↵

Teilneh- Befehls– Anfangswort1 Wortanzahl2 FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Hinweis 1. Anfangswort: 0000 bis 0023 in CPM2A/CPM2C–SPS–Systemen, 0000 bis


0015 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen
2. Wortanzahl 0001 bis 0024 in CPM2A/CPM2C–SPS–Systemen, 0001 bis
0016 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen

263
Host–Link–Befehle Abschnitt 4-5

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 R J x 16
1 x 160 3
x 16 x 16
2 1 x 160
x 16 : ↵

Teilneh- Befehls– Ende- Daten lesen (1 Wort) FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen
Daten lesen
(Anzahl der gelesenen Worte)

Parameter Daten lesen (Antwort)


Die Inhalte der Worte, die über den Befehl spezifiziert wurden, wird bei der Ant-
wort als Hexadezimalwert ausgegeben. Die empfangenen Worte werden in
gleicher Reihenfolge ausgegeben, beginnend mit dem Anfangswort.

4-5-8 IR/SR–Bereich schreiben – WR


Schreiben von Daten in den IR– und SR–Bereich, beginnend mit dem spezifi-
ziertem Wort. Das Schreiben erfolgt Wort für Wort.
Befehlsformat

@ 1
X 10 X 10
0 W R x 10
3 x 102 X 101 X 100 x 16
3 x 162 1
x 16
0
x 16 : ↵

Teilneh- Befehls– Anfangswort* Daten speichern (1 Wort) FCS– Ende–


mer–Nr. code Prüfzeichen zeichen
Daten speichern
(Wortanzahl)

Hinweis 1. Anfangswort: 0000 bis 0049 und 0200 bis 0252 in CPM2A/CPM2C–SPS–
Systemen, 0000 bis 0019 und 0200 bis 0252 in
CPM1/CPM1A/SRM1(–V2)–SPS–Systemen.
2. Sollen mehr als 30 Datenworte geschrieben werden, muss der Befehl unter-
teilt werden.
Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W R x 16
1 x 160 : ↵

Teilneh- Befehls– Ende– FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen

Hinweis In CPM2A/CPM2C SPS–Systemen können nicht die Worte 0050 bis 0199 spe-
zifiziert werden und in CPM1/CPM1A/SRM1(–V2) SPS–Systemen nicht die
Worte 0020 bis 0199. Wird versucht, in diese Worte zu schreiben, wird der
Schreibvorgang nicht ausgeführt und eine normale Fertig–Meldung wird zu-
rückgegeben.

Parameter Daten schreiben (Befehl)


Spezifiziert die Anzahl der im IR– oder SR–Bereich zu speichernden Worte als
Hexadezimalwert, beginnend mit dem spezifizierten Anfangswort.
Hinweis Wird beim Schreiben der Daten der zulässige Bereich überschritten, wird ein
Fehler generiert und der Schreibvorgang wird nicht ausgeführt. Wird, z. B. 252
als Anfangswort zum Speichern zweier Worte spezifiziert, wird der Schreibvor-
gang abgebrochen, da SR 253 hinter dem zur Verfügung stehenden beschreib-
baren Speicherbereich liegt.

264
Host–Link–Befehle Abschnitt 4-5

4-5-9 LR–Bereich schreiben – WL


Schreibt Daten in den LR–Bereich, beginnend mit dem spezifizierten Wort. Das
Schreiben erfolgt Wort für Wort.
Befehlsformat

@ 1
X 10 X 10
0 W L x 10
3 x 102 X 101 X 100 x 16
3 x 162 x 16
1 x 16
0 : ↵

Teilneh- Befehls– Anfangswort* Daten speichern (1 Wort) FCS– Ende–


mer–Nr. code Prüfzeichen zeichen
(entspr. der Anzahl Worte) )

Hinweis Anfangswort: 0000 bis 0015

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W L x 16
1 x 160 : ↵

Teilneh- Befehls– Ende- FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen

Parameter Daten schreiben (Befehl)


Spezifiziert die Reihenfolge der Worte, die als Hexadezimalwerte in den LR–Be-
reich geschrieben werden sollen, beginnend mit dem ersten spezifizierten An-
fangswort.
Hinweis Wird beim Schreiben der Daten der zulässige Bereich überschritten, wird ein
Fehler generiert und der Schreibvorgang nicht ausgeführt. Soll z. B. ein aus 5
Worten bestehendes Datenpaket mit dem Anfangswort 12 in den LR–Bereich
geschrieben werden, belegt das letzte Wort 16.

4-5-10 HR–Bereich schreiben – WH


Schreibt Daten in den HR–Bereich, beginnend mit dem spezifizierten Wort. Das
Schreiben erfolgt Wort für Wort.
Befehlsformat

@ 1
X 10 X 10
0 W H 3 x 102 X 101 X 100
x 10 x 16
3 x 162 1
x 16
0
x 16 : ↵

Teilneh- Befehls– Anfangswort* Daten speichern (1 Wort) FCS– Ende–


mer–Nr. code Prüfzeichen zeichen
Daten schreiben
(entspr. der Anzahl Worte)

Hinweis Anfangswort: 0000 bis 0019

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W H x 16
1 x 160 : ↵

Teilneh- Befehls– Ende- FCS– Endezei-


mer–Nr. code code Prüfzeichen chen

Parameter Daten schreiben (Befehl)


Spezifiziert die Reihenfolge der Worte, die in den HR–Bereich als Hexadezimal-
werte geschrieben werden sollen, beginnend mit dem ersten spezifizierten An-
fangswort.

265
Host–Link–Befehle Abschnitt 4-5

Hinweis Wird beim Schreiben der Daten der zulässige Bereich überschritten, wird ein
Fehler generiert und der Schreibvorgang nicht ausgeführt. Soll bspw. ein aus 3
Worten bestehendes Datenpaket mit dem Anfangswort 18 in den HR–Bereich
geschrieben werden, belegt das letzte Wort 20. Der Schreibvorgang wird abge-
brochen, da für die Speicherung HR 20 jenseits des beschreibbaren Bereichs
liegen würde.

4-5-11 Istwert schreiben – WC


Schreibt den Istwert von Zeitgeber/Zählern, beginnend mit dem spezifizierten
Zeitgeber/Zähler.
Befehlsformat

@ 1
X 10 X 10
0 W C 3 x 102 X 101 X 100
x 10 x 10
3 x 102 X 101 X 100 : ↵

Teilneh- Befehls– 1. Zeitgeber/Zähler* Daten schreiben FCS– Ende–


mer–Nr. code (1 Zeigeber/Zähler) Prüfzeichen zeichen

Daten schreiben
(entsp. der Anzahl Istwerte)

Hinweis 1. Zeitgeber/Zähler: 0000 bis 0255 in CPM2A/CPM2C–SPS–Syste-


men, 0000 bis 0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen
2. Sollen mehr als 30 Datenworte geschrieben werden, muss der Befehl unter-
teilt werden.
Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W C 1 x 160
x 16 : ↵

Teilneh- Befehls– Ende- FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen

Parameter Daten schreiben (Befehl)


Spezifiziert die zu schreibende Anzahl von Zeitgeber–/Zähler–Istwerten als
BCD–Wert, beginnend mit dem ersten Zeitgeber/Zähler.
Hinweis 1. Wird dieser Befehl zum Schreiben von Daten im Istwert–Bereich einge-
setzt, werden die Fertigmerker der betroffenen Zeitgeber/Zähler auf AUS
gesetzt.
2. Wird beim Schreiben der Daten der zulässige Bereich überschritten, wird
ein Fehler generiert und der Schreibvorgang nicht ausgeführt. Soll z. B. ein
aus 3 Worten bestehendes Datenpaket mit dem Anfangswort 126 in den
TC–Bereich geschrieben werden, belegt das letzte Wort 128. Der Schreib-
vorgang wird abgebrochen, da für die Speicherung TC 128 jenseits des be-
schreibbaren Bereichs liegen würde.

4-5-12 TC–Status schreiben – WG


Schreibt den Status der Fertigmerker der Zeitgeber und Zähler in den TC–Be-
reich, beginnend mit dem spezifizierten Zeitgeber/Zähler (Nummer). Der
Schreibvorgang erfolgt mit aufeinanderfolgenden TC–Nummern.
Befehlsformat

@ 1
X 10 X 10
0 W G 3 x 102 X 101 X 100 EIN/
x 10 : ↵
AUS

Teilneh- Befehls– 1. Zeitgeber/Zähler* FCS– Ende–


mer–Nr. code Daten schreiben Prüfzeichen zeichen
(1 Zeitgeber/Zähler)

Daten schreiben
(entspr. der Wortanzahl)

266
Host–Link–Befehle Abschnitt 4-5

Hinweis 1. Zeitgeber/Zähler: 0000 bis 0255 in CPM2A/CPM2C–SPS–Syste-


men, 0000 bis 0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen
2. Soll der Status von mehr als 118 Zeitgeber/Zählern geschrieben werden,
muss der Befehl unterteilt werden.
Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W G x 16
1 x 160 : ↵

Teilneh- Befehls– Ende- FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen

Parameter Daten schreiben (Befehl)


Spezifiziert den Status der Fertigmerker der zu schreibenden Zeitgeber/Zähler,
mit der Reihenfolge (beginnend mit dem ersten Wort) als ON (d. h. ”1”) oder OFF
(d. h. ”0”). Ist ein Fertigmerker auf EIN gesetzt, bedeutet dies, dass der Zeit–
oder Zählvorgang abgeschlossen ist.
Hinweis Wird beim Schreiben der Daten der zulässige Bereich überschritten, wird ein
Fehler generiert und der Schreibvorgang nicht ausgeführt. Soll z. B. ein aus 3
Worten bestehendes Datenpaket mit dem Anfangswort 126 in den HR–Bereich
geschrieben werden, belegt das letzte Wort 128. Der Schreibvorgang wird ab-
gebrochen, da für die Speicherung TC 128 jenseits des beschreibbaren Be-
reichs liegen würde.

4-5-13 DM–Bereich schreiben – WD


Schreibt Daten in den DM–Bereich, beginnend mit dem spezifizierten Wort. Das
Schreiben erfolgt wortweise.
Befehlsformat

@ 1
X 10 X 10
0 W D 3 x 102 X 101 X 100
x 10 x 16
3 x 162 1
x 16
0
x 16 : ↵

Teilneh- Be- Anfangswort* Daten speichern (1 Wort) FCS– Ende–


mer–Nr. fehls– Prüfzeichen zeichen
code Daten speichern
(Wortanzahl)

Hinweis 1. Anfangswort:
DM 0000 bis DM 1023 und DM 6144 bis DM 6655 in CPM1/CPM1A–SPS–
Systemen
DM 0000 bis DM 2047 und DM 6144 bis DM 6655 in CPM2A/
CPM2C/SRM1(–V2)–SPS–Systemen
2. Sollen mehr als 30 Datenworte geschrieben werden, muss der Befehl unter-
teilt werden.
Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W D x 16
1 x 160 : ↵

Teilneh- Befehls– Ende- FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen

Hinweis Die Worte DM 1024 bis DM 6143 in CPM1/CPM1A– und DM 2048 bis DM 6143
in CPM2A/CPM2C/SRM1(–V2)–SPS–Systemen können nicht spezifiziert wer-
den. Wird versucht, in diese Worte zu schreiben, wird der Schreibvorgang für
diese Worte nicht ausgeführt und der Befehl wird mit einer normalen Fertigmel-
dung abgeschlossen.

Parameter Daten schreiben (Befehl)


Spezifiziert die Anzahl der Worte, die im DM–Bereich als Hexadezimalwerte ge-
speichert werden sollen, beginnend mit dem spezifizierten Anfangswort.

267
Host–Link–Befehle Abschnitt 4-5

Hinweis 1. Wird beim Schreiben der Daten der zulässige Bereich überschritten, wird
ein Fehler generiert und der Schreibvorgang nicht ausgeführt. Soll z. B. ein
aus 3 Worten bestehendes Datenpaket mit dem Anfangswort DM 1022 in
eine CPM1 geschrieben werden, belegt das letzte Wort DM 1024. Der
Schreibvorgang wird abgebrochen, da für die Speicherung DM 1024 jen-
seits des beschreibbaren Bereichs liegen würde.
2. Achten Sie bei der Spezifikation des DM–Bereichs darauf, dass dieser bei
den verschiedenen CPU–Modellen unterschiedlich ist.

4-5-14 AR–Bereich schreiben – WJ


Speichert Daten beginnend mit dem ersten spezifizierten Wort im AR–Bereich.
Das Schreiben erfolgt wortweise.
Befehlsformat

@ 1
X 10 X 10
0 W J x 10
3 x 102 X 101 X 100 x 16
3 x 162 x 16
1 0
x 16 : ↵

Teilneh- Befehls– Anfangswort* Daten speichern (1 Wort) FCS– Ende–


mer–Nr. code Prüfzeichen zeichen
Daten speichern
(entspr. der Wortanzahl)

Hinweis Anfangswort: 0000 bis 0023 in CPM2A/CPM2C–SPS–Systemen, 0000 bis


0015 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W J x 16
1 x 160 :: ↵

Teilneh- Befehls– Ende- FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen

Parameter Daten schreiben (Befehl)


Spezifiziert die Anzahl der zu schreibenden Worte, die im AR–Bereich als Hexa-
dezimalwerte gespeichert werden sollen, beginnend mit dem spezifizierten An-
fangswort.
Hinweis Wird beim Schreiben der Daten der zulässige Bereich überschritten, wird ein
Fehler generiert und der Schreibvorgang nicht ausgeführt. Soll z. B. ein aus 5
Worten bestehendes Datenpaket mit dem Anfangswort AR 12 in eine
CPM1–SPS geschrieben werden, belegt das letzte Wort AR 16. Der Schreibvor-
gang wird abgebrochen, da für die Speicherung AR 16 jenseits des beschreib-
baren Bereichs liegen würde.

4-5-15 Sollwert lesen 1 – R#


Sucht den ersten Eintrag eines Zeitgebers oder Zählerbefehls (TIM, TIMH (15),
TIML(––), TMHH(––), CNT oder CNTR (12)) mit der spezifizierten TC–Nummer
im Anwenderprogramm und liest den Sollwert, von dem angenommen wird,
dass er als Konstante spezifiziert wurde. Dieser Sollwert wird dann als 4–stelli-
ger BCD–Wert gelesen. Der Lesevorgang beginnt am Programmanfang. Daher
kann es bis zu 10 Sekunden dauern, bis eine Antwortmeldung erfolgt.
Befehlsformat

@ 1
X 10 X 10
0 R # OP
1 2
OP OP
3 4
OP x 10
3 2 X 101 X 100
x 10 : ↵

Teilneh- Befehls– Name TC–Nummer* FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Hinweis TC–Nummer: 0000 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 0000 bis


0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen

268
Host–Link–Befehle Abschnitt 4-5

Antwortformat

@ 1
X 10 X 10
0 R # x 16
1 x 160 x 10
3 2 X 101 X 100
x 10 : ↵

Teilneh- Befehls– Ende- Sollwert FCS– Ende–


mer–Nr. code code Prüfzeichen zeichen

Parameter Name, TC–Nummer (Befehl)


Spezifikation des Befehls zum Lesen des Sollwertes in ”Name”. Verwenden Sie
dazu 4 Zeichen. Spezifizieren Sie in ”TC–Nummer” die entsprechende Zeitge-
ber/Zähler–Nummer.
Name Befehlsname
ee s a e
OP1 OP2 OP3 OP4
T I M (Leerz.) Zeitgeber
T I M H Schneller Zeitgeber
T I M L Langer Zeitgeber
T M H H Sehr schneller Zeitgeber
C N T (Leerz.) Zähler
C N T R Aufwärts–/Abwärts–Zähler
Sollwert (Antwort)
Die Antwort beinhaltet den Sollwert als Konstante.
Hinweis 1. Der Befehlsname muss aus vier Zeichen bestehen.
2. Wird der gleiche Befehl mehrmals innerhalb eines Programmes verwendet,
wird nur der erste Befehl gelesen.
3. Benutzen Sie diesen Befehl nur dann, wenn ein Sollwert über eine Kon-
stante eingestellt wurde.
4. Der Antwort–Endecode zeigt einen Fehler (16), wenn der Sollwert nicht als
Konstante spezifiziert wurde.

4-5-16 Sollwert lesen 2 – R$


Liest die Sollwert–Konstante oder die Wortadresse des gespeicherten Sollwer-
tes. Der Sollwert, der als 4–stelliger BCD–Wert gelesen wird, ist als zweiter
Operand des TIM–, TIMH(15)–, CNT– oder CNTR(12)–Befehls an der spezifi-
zierten Programmadresse im Anwenderprogramm gespeichert. Die Pro-
grammgröße darf zur Ausführung dieses Befehles 10 K nicht überschreiten.
Befehlsformat

@ 1
X 10 X 10
0 R $ x 10
3 x 102 X 101 X 100 OP1 OP2 OP3 OP4 x 10
3 2
x 10 X 10
1 X 100 : ↵

Teilneh- Befehls– Programm– Name TC–Nummer* FCS– Ende–


mer–Nr. code adresse Prüfzeichen zeichen

Hinweis TC–Nummer: 0000 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 0000 bis


0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 R $ x 16
1 x 160 OP1 OP2 OP3 OP4 x 10
3 x 102 X 101 X 100 : ↵

Teilneh- Befehls– Endecode Operand Sollwert FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

269
Host–Link–Befehle Abschnitt 4-5

Parameter Name, TC–Nummer (Befehl)


Spezifikation des Befehles zum Lesen des Sollwertes in ”Name”. Verwenden
Sie für diese Einstellung 4 Zeichen. Als TC–Nummer muss die für diesen Befehl
zugewiesene Zeitgeber/Zähler–Nummer verwendet werden.
Name Befehlsname
ee s a e
OP1 OP2 OP3 OP4
T I M (Leerz.) Zeitgeber
T I M H Schneller Zeitgeber
T I M L Langer Zeitgeber
T M H H Sehr schneller Zeitgeber
C N T (Leerz.) Zähler
C N T R Aufwärts–/Abwärts–Zähler
Operand, Sollwert (Antwort)
Der Name, der die Sollwert–Klassifizierung anzeigt, wird an “Operand” zurück-
gegeben und enthält entweder die Wortadresse, auf der der Sollwert gespei-
chert ist oder die Konstante des Sollwertes wird an “SV” zurückgegeben.
Operand Klassifizierung Konstante oder
Wortadresse

OP1 OP2 OP3 OP4 CPM2A/CPM2C CPM1

C I O (Leerz.) IR oder SR 0000 bis 0049 0000 bis 0019


0200 bis 0255 0200 bis 0255
L R (Leerz.) (Leerz.) LR 0000 bis 0015 0000 bis 0015
H R (Leerz.) (Leerz.) HR 0000 bis 0019 0000 bis 0019
A R (Leerz.) (Leerz.) AR 0000 bis 0023 0000 bis 0015
D M (Leerz.) (Leerz.) DM 0000 bis 6655 0000 bis 6655
D M : (Leerz.) DM (indirekt) 0000 bis 6655 0000 bis 6655
C O N (Leerz.) Konstante 0000 bis 9999 0000 bis 9999

Hinweis Spezifizieren Sie den Befehlsnamen in ”Name”. Verwenden Sie für diese Ein-
stellung 4 Zeichen. Füllen Sie evtl. Lücken mit Leerzeichen, um den Befehl auf 4
Zeichen zu vervollständigen.

4-5-17 Sollwert ändern 1 – W#


Sucht das erste Vorkommen eines spezifizierten TIM–, TIMH(15)–, CNT– oder
CNTR(12)–Befehls im Anwenderprogramm. Der Sollwert wird anschließend
auf den im zweiten Wort des Befehls definierten Wert geändert. Der Suchvor-
gang beginnt am Programmanfang. Daher kann es unter Umständen bis zu 10
Sekunden dauern, bis eine Antwortmeldung erfolgt.
Befehlsformat

@ 1
X 10 X 10
0 W # OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 x 103 x 102 X 101 X 100 : ↵

Teilneh- Befehls– Name TC–Nummer* Sollwert SV FCS– Ende–


mer–Nr. code (0000 bis 9999) -Prüfzeichen zeichen

Hinweis TC–Nummer: 0000 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 0000 bis


0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W # 1 x 160
x 16 : ↵

Teilneh- Befehls– Endecode FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Parameter Name, TC–Nummer (Befehl)


Spezifizieren Sie den Namen des Befehls in ”Name”. Verwenden Sie für diese

270
Host–Link–Befehle Abschnitt 4-5

Einstellung 4 Zeichen. Verwenden Sie als TC–Nummer die entsprechende Zeit-


geber/Zähler–Nummer.
Befehlsname Klassifizierung
ass eu g
OP1 OP2 OP3 OP4
T I M (Leerz.) Zeitgeber
T I M H Schneller Zeitgeber
T I M L Langer Zeitgeber
T M H H Sehr schneller Zeitgeber
C N T (Leerz.) Zähler
C N T R Aufwärts–/Abwärts–Zähler

4-5-18 Sollwert ändern 2 – W$


Ändert den Inhalt des zweiten Wortes einer spezifizierten TIM–, TIMH(15)–,
CNT– oder CNTR(12)–Adresse im Anwenderprogramm. Die Programmgröße
darf zur Ausführung dieses Befehles 10 K nicht überschreiten.
Befehlsformat

@ 1
X 10 X 10
0 W $ 3 x 102 X 101 X 100 OP1 OP2 OP3 OP4
x 10 x 10
3 x 102 X 101 X 100

Teilneh- Befehls– Programm– Name TC–Nummer


mer–Nr. code adresse

OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 : ↵

Operand Sollwert FCS– Ende–


Prüfzeichen zeichen

Hinweis TC–Nummer: 0000 bis 0255 in CPM2A/CPM2C–SPS–Systemen, 0000 bis


0127 in CPM1/CPM1A/SRM1(–V2)–SPS–Systemen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W $ 1 x 160
x 16
: ↵

Teilneh- Befehls– Endecode FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Parameter Name, TC–Nummer (Befehl)


Spezifikation des Befehls zum Lesen des Sollwertes in ”Name”. Verwenden Sie
für diese Einstellung 4 Zeichen. Als TC–Nummer muss die diesem Befehl zuge-
wiesene Zeitgeber/Zähler–Nummer verwendet werden.
Befehlsname Klassifizierung
ass eu g
OP1 OP2 OP3 OP4
T I M (Leerz.) Zeitgeber
T I M H Schneller Zeitgeber
T I M L Langer Zeitgeber
T M H H Sehr schneller Zeitgeber
C N T (Leerz.) Zähler
C N T R Aufwärts–/Abwärts–Zähler

271
Host–Link–Befehle Abschnitt 4-5

Operand, Sollwert (Antwort)


Definition der Sollwert–Klassifizierung unter “Operand”. Verwenden Sie für
diese Einstellung 4 Zeichen. Spezifizieren Sie unter SV entweder die Wort–
adresse, unter der der Sollwert gespeichert ist oder die Sollwert–Konstante.
Operand Klassifizierung Konstante oder
Wortadresse

OP1 OP2 OP3 OP4 CPM2A/CPM2C CPM1/CPM1A/S


RM1(–V2)
C I O (Leerz.) IR oder SR 0000 bis 0049 0000 bis 0019
0200 bis 0252 0200 bis 0252
L R (Leerz.) (Leerz.) LR 0000 bis 0015 0000 bis 0015
H R (Leerz.) (Leerz.) HR 0000 bis 0019 0000 bis 0019
A R (Leerz.) (Leerz.) AR 0000 bis 0023 0000 bis 0015
D M (Leerz.) (Leerz.) DM 0000 bis 2047 0000 bis 1023*
6144 bis 6655 6144 bis 6655
D M : (Leerz.) DM (indirekt) 0000 bis 2047 0000 bis 1023*
6144 bis 6655 6144 bis 6655
C O N (Leerz.) Konstante 0000 bis 9999 0000 bis 9999

Hinweis *Bei der SRM1(–V2) umfasst der DM–Bereich 0000 bis 2047.

4-5-19 Status lesen – MS


Liest den SPS–Betriebszustand.
Befehlsformat

@ 1
X 10 X 10
0 M S : ↵

Teilneh- Befehls– FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 M S 1 x 160
x 16 x 16
3 x 16
2 x 16
1 0 16 Zeichen
x 16 : ↵

Teilneh- Befehls– Endecode Statusdaten Meldung FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

272
Host–Link–Befehle Abschnitt 4-5

Parameter Statusdaten, Meldung (Antwort)


Die Statusdaten bestehen aus einem 4–stelligen Hexedezimalwert (2 Bytes).
Über das höherwertige Byte wird die CPU–Betriebsart und über das niederwer-
tige Byte die Größe des Programmspeichers angezeigt.

x 16
3 x 16
2
Bit 15 14 13 12 11 10 9 8
0 0 0 0

Bit Betriebsart
1: schwerwiegender 9 8
Fehler
1: FALS generiert 0 0 PROGRAM Dieser Bereich un-
1 0 RUN terscheidet sich von
dem Bereich des Be-
1 1 MONITOR fehls “Status spei-
chern –– SC”

x 16
1 x 16
0
Bit 7 6 5 4 3 2 1 0
1 0 0 0

Schreibgeschützter Programmbereich
0: Schreibschutz aktiviert
Bit Programm– 1: Nicht schreibgeschützt
6 5 4 bereich

0 0 0 Kein
0 0 1 4 kB
0 1 0 8 kB

Der “Meldung”–Parameter ist eine max. 16 Zeichen–umfassende Meldung, die


vorhanden ist, nachdem MSG(47) ausgeführt wurde. Dieser Parameter entfällt,
wenn keine Fehlermeldung vorhanden ist.

4-5-20 Status schreiben – SC


Ändert die SPS–Betriebsart.
Befehlsformat

@ 1
X 10 X 10
0 S C x 16
1 x 160 : ↵

Teilneh- Befehls– Betriebsart– FCS– Ende–


mer–Nr. code Daten Prüfzeichen zeichen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 S C x 16
1 x 160 : ↵

Teilneh- Befehls– Endecode FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Parameter Betriebsartdaten (Befehl)


Die Betriebsartdaten bestehen aus einem 2–stelligen Hexadezimalwert (1

273
Host–Link–Befehle Abschnitt 4-5

Byte). Mit den rechten Stellen wird die Betriebsart festgelegt. Setzen Sie alle
verbleibenden Stellen auf “00”.

x 16
1 x 16
0
Bit 7 6 5 4 3 2 1 0
0 0 0 0 0 0

Bit Betriebsart
1 0
0 0 PROGRAM
Dieser Bereich unter-
1 0 MONITOR scheidet sich von dem
1 1 RUN Bereich des Befehls
“Status lesen –– MS”

4-5-21 Fehler lesen – MF


Liest und löscht Fehler in der SPS. Überprüft darüber hinaus, ob früher festge-
stellte Fehler bereits gelöscht wurden.
Befehlsformat

@ 1
X 10 X 10
0 M F 1
X 10 X 10
0 : ↵

Teilneh- Befehls– Fehler FCS– Ende–


mer–Nr. code löschen Prüfzeichen zeichen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 M F x 16
1 x 160 x 16
3 x 162 x 16
1 x 160 x 16
3 x 162 1 x 160
x 16 : ↵

Teilneh- Befehls– Endecode Fehlerinformation Fehlerinformation FCS– Ende–


mer–Nr. code (1. Wort) (2. Wort) Prüfzeichen zeichen

Parameter Fehler löschen (Befehl)


Spezifizieren Sie 01 zum Löschen der Fehler und 00 (in BCD), um keine Fehler
zu löschen. Schwerwiegende Fehler können nur dann gelöscht werden, wenn
sich die SPS in der PROGRAM–Betriebsart befindet.
Fehlerinformationen (Antwort)
Die Fehlerinformation besteht aus zwei Worten.

274
Host–Link–Befehle Abschnitt 4-5

CPM1/CPM1A/CPM2A–CPM2C–SPS–Systeme
1. Wort

x 16
3 x 16
2 x 16
1 x 16
0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0

EIN: Batteriealarm (F7)


EIN: Systemfehler (FAL)
EIN: Speicherfehler (Fehlercode F1)
EIN: E/A–Busfehler (Fehlercode C0)
EIN: Kein–Endebefehl–Fehler (FALS)
EIN: Systemfehler (FAL)

2. Wort
x 16
3 x 16
2 x 16
1 x 16
0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0

FAL, FALS –Nr. (00 bis FF)


EIN: Zykluszeit überschritten
(Fehlercode F8)
EIN: E/A–Baugruppenadressierung
überschritten (Fehlercode E1)

SRM1(–V2)–SPS–Systeme
1. Wort

x 16
3 x 16
2 x 16
1 x 16
0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0

EIN: Systemfehler (FAL)


EIN: Speicherfehler (Fehlercode F1)

EIN: Kein–Endebefehl–Fehler (FALS)


EIN: Systemfehler (FAL)

2. Wort
x 16
3 x 16
2 x 16
1 x 16
0
Bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0

FAL, FALS Nr. (00 bis 99)


EIN: Zykluszeit überschritten
(Fehlercode F8)

4-5-22 Zwangsweises setzen – KS


Setzt ein Bit im IR–, SR–, LR–, HR–, AR– oder TC–Bereich zwangsweise. Die
Merker können nur einzeln zwangsweise gesetzt werden.
Wurde ein Bit zwangsweise gesetzt oder zurückgesetzt, bleibt der Status so-
lange erhalten, bis ein Aufhebebefehl (KC) für den Befehl “Zwangsweise set-
zen/rücksetzen” oder der nächste Befehl “Zwangsweise setzen/rücksetzen”
übertragen wird.

275
Host–Link–Befehle Abschnitt 4-5

Befehlsformat

@ 1
X 10 X 10
0 K S OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 X 101 X 100 : ↵

Teilneh- Befehls– Name Wortadresse Bit FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 K S 1 x 160
x 16 : ↵

Teilneh- Befehls– Endecode FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Parameter Name, Wortadresse, Bit (Befehl)


Spezifizieren Sie unter “Name” den zwangsweise zu setzenden Bereich (IR,
SR, LR, HR, AR oder TC). Verwenden Sie für diese Einstellung 4 Zeichen. Über
Wortadresse wird die Adresse des Wortes und unter Bit die Bitadresse des
zwangsweise zu setzenden Bits spezifiziert.
Name Klassifizierung Wortadressen–Bereich für Bit
Einstellung

OP1 OP2 OP3 OP4 CPM2A/CPM2C CPM1/CPM1A/


SRM1(–V2)
C I O (Leerz.) IR oder SR 0000 bis 0049 0000 bis 0019 00 bis 15
0200 bis 0252 0200 bis 0252 ((dezimal))
L R (Leerz.) (Leerz.) LR 0000 bis 0015 0000 bis 0015
H R (Leerz.) (Leerz.) HR 0000 bis 0019 0000 bis 0019
A R (Leerz.) (Leerz.) AR 0000 bis 0023 0000 bis 0015
T I M (Leerz.) Fertigmerker (Zeitgeber) bis
0000 b s00255
55 bis
0000 b s00127 Immer
e
T I M H Fertigmerker (Schneller Zeitgeber) 00

T I M L Fertigmerker (langer Zeitgeber)


T M H H Fertigmerker (sehr schneller Zeitgeber)
C N T (Leerz.) Fertigmerker (Zähler)
C N T R Fertigmerker (Aufwärts–/Abwärtszähler)

Hinweis Für die Eingabe unter “Name” müssen vier Zeichen verwendet werden. Sind nur
zwei Zeichen vorgesehen, müssen die restlichen Zeichen durch Leerzeichen
(Leerz.) ergänzt werden.

4-5-23 Zwangsweises rücksetzen – KR


Hierdurch wird ein Bit im IR–, SR–, LR–, HR–, AR– oder TC–Bereich zwangs-
weise rückgesetzt. Die Merker können nur einzeln zwangsweise gesetzt wer-
den.
Wurde ein Bit zwangsweise gesetzt oder zurückgesetzt, bleibt der Status so-
lange erhalten, bis ein Aufhebebefehl (KC) für den Befehl “Zwangsweise set-
zen/rücksetzen” oder der nächste Befehl “Zwangsweise setzen/rücksetzen”
übertragen wird.
Befehlsformat

@ 1
X 10 X 10
0 K R OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 X 101 X 100 : ↵

Teilneh- Befehls– Name Worta- Bit FCS– Ende–


mer–Nr. code dresse Prüfzeichen zeichen

276
Host–Link–Befehle Abschnitt 4-5

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 K R x 16
1 x 160 : CR

Teilneh- Befehls– Endecode FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Parameter Name, Wortadresse, Bit (Befehl)


Spezifizieren Sie unter “Name” den zwangsweise rückzusetzenden Bereich (IR,
SR, LR, HR, AR oder TC). Verwenden Sie für diese Einstellung 4 Zeichen. Über
Wortadresse wird die Adresse des Wortes und unter Bit die Bitadresse des
zwangsweise rückzusetzenden Bits spezifiziert.
Name Klassifizierung Wortadressen–Bereich für Bit
Einstellung

OP1 OP2 OP3 OP4 CPM2A/ CPM1/CPM1A/S


CPM2C RM1(–V2)
C I O (Leerz.) IR oder SR 0000 bis 0049 0000 bis 0019 00 bis 15
0200 bis 0252 0200 bis 0252 ((dezimal))
L R (Leerz.) (Leerz.) LR 0000 bis 0015 0000 bis 0015
H R (Leerz.) (Leerz.) HR 0000 bis 0019 0000 bis 0019
A R (Leerz.) (Leerz.) AR 0000 bis 0023 0000 bis 0015
T I M (Leerz.) Fertigmerker (Zeitgeber) 0000 b
bis
s00255
55 0000 b
bis
s00127 Immer
e 00
T I M H Fertigmerker (Schneller Zeitgeber)
T I M L Fertigmerker (langer Zeitgeber)
T M H H Fertigmerker (sehr schneller Zeitgeber)
C N T (Leerz.) Fertigmerker (Zähler)
C N T R Fertigmerker (Aufwärts–/Abwärtszähler)

Hinweis Für die Eingabe unter “Name” müssen vier Zeichen verwendet werden. Sind nur
zwei Zeichen vorgesehen, müssen die restlichen Zeichen durch Leerzeichen
(Leerz.) ergänzt werden.

4-5-24 Mehrfaches zwangsweises setzen/rücksetzen – FK


Mit diesem Befehl werden Merker in den IR–, SR–, LR–, HR–, AR– oder TC–Be-
reichen zwangsweise gesetzt oder rückgesetzt.
Befehlsformat

@ 1
X 10 X 10
0 F K OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100

Teilneh- Be- Name Wortadre


mer–Nr. fehls– sse
code
Zwangsw. setzen/rücksetzen
: ↵
0
x 16 x 16
0 x 16
0 0
x 16 x 16
0 x 16
0 x 16
0 x 16
0

FCS– Ende–
Bit 15 14 13 12 11 10 1 0 Prüfzeichen zeichen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 F K x 16
1 x 160 : ↵

Teilneh- Be- Endecode FCS– Ende–


mer–Nr. fehls– Prüfzeichen zeichen
code

277
Host–Link–Befehle Abschnitt 4-5

Parameter Name, Wortadresse, Bit (Befehl)


Spezifizieren Sie unter “Name” den zwangsweise zu setzenden/rückzusetzen-
den Bereich (IR, SR, LR, HR, AR oder TC). Verwenden Sie für diese Einstellung
4 Zeichen. Über die Wortadresse wird die Adresse des Wortes und unter Bit die
Bitadresse des zwangsweise zu setzenden/rückzusetzenden Bits spezifiziert.
Name Klassifizierung Wortadressen–Bereich für
Einstellung

OP1 OP2 OP3 OP4 CPM2A/CPM2C CPM1/CPM1A/


SRM1(–V2)
C I O (Leerz.) IR oder SR 0000 bis 0049 0000 bis 0019
0200 bis 0252 0200 bis 0252
L R (Leerz.) (Leerz.) LR 0000 bis 0015 0000 bis 0015
H R (Leerz.) (Leerz.) HR 0000 bis 0019 0000 bis 0019
A R (Leerz.) (Leerz.) AR 0000 bis 0023 0000 bis 0015
T I M (Leerz.) Fertigmerker (Zeitgeber) 0000 bis 0255 0000 bis 0127
T I M H Fertigmerker (Schneller Zeitgeber) 0000 bis 0255 0000 bis 0127
T I M L Fertigmerker (langer Zeitgeber) 0000 bis 0255 0000 bis 0127
T M H H Fertigmerker (sehr schneller Zeitgeber) 0000 b
bis
s00255
55 0000 b
bis
s00127
C N T (Leerz.) Fertigmerker (Zähler)
C N T R Fertigmerker (Aufwärts–/Abwärtszähler)

Zwangsweises setzen/rücksetzen/Daten aufheben (Befehl)


Wird ein Zeitgeber– oder Zähler fertig–Merker spezifiziert, ist nur Bit 15 wirksam
und alle anderen Bits werden ignoriert. Für Zeitgeber und Zähler ist nur das
“zwangsweise Setzen/Rücksetzen” möglich.
Wurde eine Wortadresse spezifiziert, spezifiziert der Inhalt des Wortes die ver-
arbeitung jedes Bits, wie es in der folgenden Abbildung gezeigt wird.
Hexadezimal– Funktion
Einstellung
0000 Keine Funktion (Bitstatus wird nicht geändert)
0002 Rücksetzung
0003 Einstellung
0004 Zwangsweises rücksetzen
0005 Zwangsweises setzen
0008 “Zwangsweises setzen/rücksetzen” aufheben

Die Bits, die lediglich gesetzt oder rückgesetzt werden, ändern ihren Status bei
der nächsten Programmausführung. Die zwangsweise gesetzten/rückgesetz-
ten Bits jedoch behalten ihren Status solange, bis der Status aufgehoben wird.
Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 F K 1 x 160
x 16 : ↵

Teilneh- Befehls– Endecode FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

4-5-25 Zwangsweises Setzen/Rücksetzen aufheben – KC


Aufheben aller zwangsweise gesetzten/rückgesetzten Bits (einschließlich der
Bit–Einstellungen über die Befehle “Zwangsweises Setzen”, “Zwangsweises
Rücksetzen” und “Mehrfaches zwangsweises Setzen/Rücksetzen”). Wurden
mehrere Bits gesetzt, wird der “Zwangssetzungsstatus” aller Bits aufgehoben.
Es ist nicht möglich, den Status einzelner Bits über den Befehl KC aufzuheben.

278
Host–Link–Befehle Abschnitt 4-5

Befehlsformat

@ 1
X 10 X 10
0 K C : ↵

Teilneh- Befehls– FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 K C x 16
1 x 160 : CR

Teilneh- Befehls– Endecode FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

4-5-26 SPS–Typ lesen – MM


Mit diesem Befehl wird das SPS–Modell gelesen.
Befehlsformat

@ 1
X 10 X 10
0 M M : ↵

Teilneh- Befehls– FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 M M x 16
1 x 160 1 x 160
x 16 : ↵

Teilneh- Befehls– Endecode SPS– FCS– Ende–


mer–Nr. code Code Prüfzeichen zeichen

Parameter SPS–Modellcodes
Der gelesene Code der eingesetzten SPS ist ein 2–stelliger Hexadezimalwert.
SPS– Code Modell
01 C250
02 C500
03 C120
0E C2000
10 C1000H
11 C2000H/CQM1/CPM2A/CPM2C/CPM1/CPM1A/SRM1(-V2)
12 C20H/C28H/C40H/C200H/C200HS
20 CV500
21 CV1000
22 CV2000
40 CVM1-CPU01-E
41 CVM1-CPU11-E
42 CVM1-CPU21-E

4-5-27 Test – TS
Mit diesem Befehl wird eine Anzahl von Zeichen (max. 122) vom Host–PC über-
tragen.
Befehlsformat

@ 1
X 10 X 10
0 T S 122 Zeichen max. : ↵

Teilneh- Befehls– Zeichen FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

279
Host–Link–Befehle Abschnitt 4-5

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 T S 122 Zeichen max. : ↵

Teilneh- Befehls– Zeichen FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Parameter Zeichen (Befehl, Antwort)


Für diesen Befehl können alle Zeichen außer dem ”Carriage Return”
(CHR$(13)) eingesetzt werden. Ist der Test erfolgreich, enthält die Antwort alle
Zeichen unverändert.

4-5-28 Programm lesen – RP


Liest den Inhalt eines Anwenderprogrammes aus dem SPS–Programmspei-
cher in Maschinensprache (Objektcode). Der Inhalt wird als ein Block gelesen.
Befehlsformat

@ 1
X 10 X 10
0 R P : ↵

Teilneh- Befehls– FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 R P x 16
1 x 160 x 16
1 x 160 : ↵

Teilneh- Befehls– Endecode 1 Byte FCS– Ende–


mer–Nr. code Prüfzeichen zeichen
Programm
(gesamter UM–Bereich)

Parameter Programm (Antwort)


Das Programm des gesamten Programmbereichs wird ausgelesen.
Hinweis Verwenden Sie zur Unterbrechung dieser Befehlsausführung den Befehl
ABORT (XZ).

4-5-29 Programm speichern – WP


Speichert ein über den Host–PC geschriebenes Programm im Anwenderspei-
cher der SPS in Maschinensprache. Der Speichervorgang erfolgt in einem
Block.
Befehlsformat

@ 1
X 10 X 10
0 W P x 16
1 x 160 : CR

Teilneh- Befehls– 1 Byte FCS– Ende–


mer–Nr. code Prüfzei- zeichen
Programm (bis zur Größe chen
des UM–Bereichs)

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 W P x 16
1 x 160 : CR

Teilneh- Befehls– Endecode FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

Parameter Programm (Befehl)


Die Programmdaten dürfen die Größe des zur Verfügung stehenden Speicher-
Bereichs nicht überschreiten.

280
Host–Link–Befehle Abschnitt 4-5

4-5-30 Zusammengefaßte Lesedaten – QQ


Registriert alle spezifizierten Bits, Worte und Zeitgeber/Zähler, die gelesen wer-
den sollen. Der Lesevorgang erfolgt für alle Daten auf einmal.

(QQMR) Registrierung der zu lesenden Informationen


Registrierung der Informationen aller Bits, Worte und Zeitgeber/Zähler, die gele-
sen werden sollen.
Befehlsformat

@ 1 0 Q Q M R OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 OP1 OP2
X 10 X 10 ,

Teilneh- Befehls– Unter- Lesebereich Adressenbereich Daten– Trenn–


mer–Nr. code Befehls– lesen format zeichen
code
Einzelinformation lesen
Gesamtinformation lesen (max. 128 Zeichen)

OP1 OP2 OP3 OP4 x 103 x 102 X 101 X 100 OP1 OP2 : ↵
,

Trenn– Lesebereich Adressenbereich Daten– FCS– Ende–


zeichen lesen format Prüfzei- zeichen
chen
Einzelinformation lesen
Gesamtinformation lesen (max. 128 Zeichen)

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 Q Q M R 1 x 160
x 16 : ↵

Teilneh- Befehls– Unter- Endecode FCS– Ende–


mer–Nr. code Befehls– Prüfzeichen zeichen
code

Parameter Bereich lesen (Befehl


Spezifikation des zu lesenden Bereichs als 4–stelliger Code. Der Lesebereich
(Speicherbereich) der SPS ist in der nachfolgenden Tabelle dargestellt.

281
Host–Link–Befehle Abschnitt 4-5

Wortadresse lesen, Datenformat (Befehl)


In der folgenden Tabelle sind die zu lesenden Informationen nach Bereich und
Art gruppiert. Der Lesebereich wird als 4–stelliger BCD–Wert und das Datenfor-
mat als 2–stelliger BCD–Wert spezifiziert.
Bereichs–
e ec s Daten
ae Bereich
e e c le-
e Wort lesen Datenformat
ae o a
klassifizierung
kl ifi i l
lesen sen CPM2A/ CPM1/CPM1A/S
CPM2C RM1(–V2)
IR ode
oder S
SR Bit C I O (S) 0000 b
bis
s 00
0049
9 0000 b
bis
s 00
0019
9 00 bis 15 (dezimal)
Wort 0200 bi
bis 0255 0200 bi
bis 0255 “CH”
LR Bit L R (S) (S) bis
0000 b 0015
s 00 5 bis
0000 b 0015
s 00 5 00 bis 15 (dezimal)
Wort “CH”
HR Bit H R (S) (S) 0000 b
bis
s 00
0019
9 0000 b
bis
s 00
0019
9 00 bis 15 (dezimal)
Wort “CH”
AR Bit A R (S) (S) bis
0000 b 0023
s 00 3 bis
0000 b 0015
s 00 5 00 bis 15 (dezimal)
Wort “CH”
Zeitgeber
e gebe Fertigmerker T I M (S) 0000 b
bis
s00255
55 0000 b
bis
s00127 2 Zeichen außer “CH”
Istwert “CH”
Schneller
Sc e e Zeitgeber
e gebe Fertigmerker TIMH bis
0000 b s00255
55 bis
0000 b s00127 2 Zeichen außer “CH”
Istwert “CH”
LANGER
G ZEITGEBER
G Fertigmerker TIML 0000 b
bis
s00255
55 Nicht
c verwendet.
e e de 2 Zeichen außer “CH”
Istwert “CH”
S
SEHR SCHNELLER
SC Fertigmerker TMHH 0000 b
bis
s00255
55 Nicht
c verwendet.
e e de 2 Zeichen außer “CH”
ZEITGEBER Istwert “CH”
Zähler
ä e Fertigmerker C N T (S) 0000 b
bis
s00255
55 0000 b
bis
s00127 2 Zeichen außer “CH”
Istwert “CH”
Aufwärts–/Abwärts–zäh-
u ä s / b ä s ä Fertigmerker CNTR 0000 b
bis
s00255
55 0000 b
bis
s00127 2 Zeichen außer “CH”
l
ler Istwert “CH”
DM Wort D M (S) (S) 0000 bis 2047 0000 bis 1023* 2 beliebige Zeichen
6144 bis 6655 6144 bis 6655

Hinweis *Bei der SRM1(–V2) umfasst der DM–Bereich 0000 bis 2047.
(S): Leerzeichen.
Trennzeichen (Befehl)
Die auszulesende Informationen werden nacheinander, getrennt durch ein
Trennzeichen (,) spezifiziert. Es können max.128 Lesebereiche spezifiziert wer-
den. (Werden Istwerte von Zeitgebern/Zählern spezifiziert, wird auch der Status
des Fertig–Bits übertragen, deshalb handelt es sich hier um zwei Leseberei-
che).

(QQIR) Leseaufforderung
Bit–, Wort– und Zeitgeber–/Zähler–Werte werden entsprechend ihrer Registrie-
rung gruppenweise gelesen und in einer Antwort zurückgesendet, wie es im
QQMR–Befehls spezifiziert war.
Befehlsformat

@ 1
X 10 X 10
0 Q Q I R : ↵

Teilneh- Befehls– Unter- FCS– Ende–


mer–Nr. code Befehls– Prüfzeichen zeichen
code

282
Host–Link–Befehle Abschnitt 4-5

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 Q Q I R 1 x 160 EIN/
x 16
3 2 1 0 ,
AUS x 10 x 10 X 10 X 10

Teilneh- Befehls– Unter- Endecode Zeitgeber/Zähler Trenn–


mer–Nr. code Befehls– Ist der Istwert spezifiziert, zeichen
code wird der Status des Fertig-
merkers auch übertragen.

EIN/
, , , x 16
3 x 162 x 16
1 x 160 : ↵
AUS

Wortdaten FCS– Ende–


Bitdaten IR, SR, LR, HR, Prüfzeichen zeichen
EIN/AUS AR, DM

Parameter Daten lesen (Antwort)


Gelesene Daten werden, entsprechend dem Datenformat und in der Reihen-
folge, übertragen, wie sie im QQMR–Befehl spezifiziert wurden. Wurde der Fer-
tigmerker spezifiziert, dann werden Bitdaten (EIN oder AUS) zurückgegeben.
Wurde ”Wort” spezifiziert, werden Wortdaten zurückgesendet. Wurde Istwert
bei Zeitgebern/Zählern spezifiziert, wird der Istwert nach dem Fertigmerker zu-
rückgegeben.
Trennzeichen (Antwort)
Das Trennzeichen (,) markiert die Trennung zwischen den einzelnen gelesenen
Bereichen.

4-5-31 Abbruch – XZ
Mit dem Befehl “Abbruch” wird ein innerhalb der Host–Link–Schnittstelle ablau-
fender Prozess abgebrochen und die Freigabe zum Empfang des nächsten Be-
fehles bewirkt. Auf den ABBRUCH–Befehl erfolgt keine Antwort.
Befehlsformat

@ 1
X 10 X 10
0 X Z : CR

Teilneh- Befehls– FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

4-5-32 Initialisieren – ::
Durch den Befehl Initialisierung wird die Übertragungssteuerung aller an den
Host–PC angeschlossenen Steuerungen initialisiert. Dieser Befehl benötigt
keine Angabe der Stationsnummer oder FCS. Auf diesen Befehl erfolgt keine
Antwort.
Befehlsformat

@ : : ↵

4-5-33 TXD–Antwort – EX
Dieser Befehl wird von nur den SPS–Systemen CPM2A/CPM2C unterstützt.
Dies ist das verwendete Antwortsformat, wenn der TXD(48)–SPS–Befehl in
dem Host–Link–Kommunikationsmodus ausgeführt wird. EX besitzt keinen Pa-
rameter.
TXD(48) wandelt die spezifizierten Daten in ASCII um und sendet diese in dem
Format zum Host–Computer. Die Antwort kann bis zu 122 ASCII–Zeichen ent-
halten. (TXD (48) unterstützt keine Mehrfachrahmen.)

283
Host–Link–Befehle Abschnitt 4-5

Antwortformat Der Endecode 00 stellt den normalen Befehlsabschluss dar.

@ 1
X 10 X 10
0 E X In TXD(48) spezifizierte Daten : ↵

Teilneh- Befehls– Zeichen FCS– Ende–


mer–Nr. code (max. 122) Prüfzeichen zeichen

Parameter Zeichen (Antwort)


Dies sind die in TXD(48) spezifizierten Daten, die in ASCII–Code konvertiert
wurden.

4-5-34 Nicht definierter Befehl – IC


Diese Antwort wird gesendet, wenn die SPS den Befehlscode eines Befehls
nicht lesen kann. Überprüfen Sie bei Empfang dieser Antwort den Befehls–
Code und den SPS–Typ.
Antwortformat

@ X 101 X 100 I C : ↵

Teilneh- Befehls– FCS– Ende–


mer–Nr. code Prüfzeichen zeichen

284
KAPITEL 5
Speicherbereiche
Dieses Kapitel beschreibt die Struktur der SPS–Speicherbereiche und deren Anwendung.

5-1 Speicherbereichsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286


5-1-1 Speicherbereichsstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
5-1-2 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
5-1-3 CPM1/CPM1A/SRM1(-V2) Flash–Speicher . . . . . . . . . . . . . . . . . . . . 291
5-2 E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme . . . . . . . . . . . . . . . . 292
5-2-1 CPU–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
5-2-2 E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
5-2-3 Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
5-2-4 Beispiele für die Zuweisung von Erweiterungs– und
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
5-3 E/A–Zuweisung für CPM2C–SPS–Systeme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
5-3-1 CPU–Baugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
5-3-2 E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
5-3-3 Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
5-3-4 Beispiele für die Zuweisung von Erweiterungs– und
E/A–Erweiterungsbaugruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306

285
Speicherbereichsfunktionen Abschnitt 5-1

5-1 Speicherbereichsfunktionen
5-1-1 Speicherbereichsstruktur
CPM1/CPM1A Die folgenden Speicherbereiche können mit der CPM1/CPM1A verwendet wer-
den.
Datenbereich Worte Bits Funktion
IR– Eingangsbe- IR 000 ... IR 009 IR 00000 ... IR 00915 Diese Bits sind den physikalischen Ein– und Aus-
Bereich1 reich (10 Worte) (160 Bits) g g zugewiesen.
gängen g
Ausgangsbe- IR 010 ... IR 019 IR 01000 ... IR 01915
reich (10 Worte) (160 Bits)
Arbeits– IR 200 ... IR 231 IR 20000 ... IR 23115 Arbeitsmerker können beliebig innerhalb des Pro-
bereich (32 Worte) (512 Bits) gramms verwendet werden.
SR(Systemmerker)– SR 232 ... SR 255 SR 23200 ... SR 25515 Diese Systemmerker besitzen spezifische Funk-
Bereich (24 Worte) (384 Bits) tionen, z.B. als Merker- und Steuerbits.
TR (Temporärer --- TR 0 ... TR 7 Diese Merker dienen zur temporären Speiche-
Merker)–Bereich (8 Bits) rung des EIN/AUS-Zustands in Programmver-
zweigungen.
HR–Bereich2 HR 00 ... HR 19 HR 0000 ... HR 1915 Diese Bits speichern Daten und behalten ihren
(20 Worte) (320 Bits) EIN/AUS–Zustand, nachdem die Spannungsver-
sorgung ausgeschaltet wurde o. der Betrieb ge-
startet oder gestoppt wird. Sie werden wie Ar-
beitsmerker eingesetzt.
AR–Bereich AR 00 ... AR 15 AR 0000 ... AR 1515 Diese Systemmerker besitzen spezifische Funk-
(16 Worte) (256 Bits) tionen, z.B. als Merker- und Steuerbits.
LR(Schnittstellen– LR 00 ... LR 15 LR 0000 ... LR 1515 Wird bei 1:1–PC–Link mit einer anderen SPS ver-
merker)–Bereich1 (16 Worte) (256 Bits) wendet.

Zeitgeber/Zähler– TC 000 ... TC 127 Zeitgeber und Zähler verwenden den Befehl TIM,
Bereich2 (Zeitgeber/Zähler–Nummern) 3 TIMH(15), CNT und CNTR(12). Für Zeitgeber
und Zähler werden dieselben Nummern verwen-
det.
DM Lesen/ DM 0000 ... DM 0999 --- In diesem Bereich erfolgt der Datenzugriff wort-
(Daten– Speichern2 DM 1022 ... DM 1023 weise. Die Daten werden auch beim Ausschalten
Merker)– (1002 Worte) der Spann.versorgung oder bei Betriebsbeginn/–
Bereich ende aufrechterhalten.
In den Lese/Schreibbereichen kann beliebig in-
nerhalb des Programms gelesen und in diese ge-
schrieben werden.
Fehler– DM 1000 ... DM 1021 --- Speichert Zeitpunkt und Fehlercode. Diese Worte
protokoll (22 Worte) können als gewöhnliche Lese/Schreib–DM–
Worte verwendet werden, wenn die Fehlerproto-
koll–Funktion nicht verwendet wird.
Nur Lesen4 DM 6144 ... DM 6599 --- Können vom Programm nicht überschrieben wer-
(456 Worte) den.
SPS–Konfi- DM 6600 ... DM 6655 --- Speichert verschiedene Steuerparameter der
guration4 (56 Worte) SPS-Operationen.

Hinweis 1. IR- und LR-Bits, die keiner bestimmten Funktion zugewiesen sind, können
als Arbeitsmerker verwendet werden.
2. Ein Kondensator dient zur Datensicherung des HR–, AR–, Zähler– und Le-
se/Schreib–DM–Bereiches. Die Datensicherungszeit variiert mit der Umge-
bungstemperatur, aber bei 250C hält der Kondensator den Speicherinhalt
20 Tage lang aufrecht. Ist die Spannungsversorgung über einen die Siche-
rungszeit überschreitenden Zeitraum ausgeschaltet, wird der Speicherin-
halt gelöscht und AR1314 aktiviert (wird aktiviert, wenn keien Daten mehr
über die Kondensatorspannung aufrechterhalten werden.) Ein Diagramm
mit einem Vergleich der Datensicherungszeit/Temperatur finden Sie im
Technischen Handbuch der CPM1/CPM1A (Abschnitt 2−1−2 Merkmale).
3. Beim Zugriff auf einen Istwert werden TC-Worte als Wortdaten und beim Zu-
griff auf den Fertigmerker als Bitdaten verwendet.
4. Daten in DM 6144 bis DM 6655 können vom Programm nicht überschrieben
aber über ein Programmiergerät geändert werden.

286
Speicherbereichsfunktionen Abschnitt 5-1

CPM2A/CPM2C Die folgenden Speicherbereiche können mit der CPM2A/CPM2C verwendet


werden.
Datenbereich Worte Bits Funktion
IR– Eingangsbe- IR 000 ... IR 009 IR 00000 ... IR 00915 Diese Bits sind den physikalischen Ein– und Aus-
Bereich1 reich (10 Worte) (160 Bits) g g zugewiesen.
gängen g
Ausgangsbe- IR 010 ... IR 019 IR 01000 ... IR 01915
reich (10 Worte) (160 Bits)
Arbeits– IR 020 bis IR 049 IR 02000 bis IR 04915 Arbeitsmerker können beliebig innerhalb des Pro-
bereich IR 200 bis IR 227 IR 20000 bis IR 22715 gramms verwendet werden.
(58 Worte) (928 Bit)
SR(Systemmerker)– SR 228 ... SR 255 SR 22800 ... SR 25515 Diese Systemmerker besitzen spezifische Funk-
Bereich (28 Worte) (448 Bits) tionen, z.B. als Merker- und Steuerbits.
TR(Temporärer --- TR 0 ... TR 7 Diese Merker dienen zur temporären Speiche-
Merker)–Bereich (8 Bits) rung des EIN/AUS-Zustands in Programmver-
zweigungen.

HR–Bereich2 HR 00 ... HR 19 HR 0000 ... HR 1915 Diese Bits speichern Daten und behalten ihren
(20 Worte) (320 Bits) EIN/AUS–Zustand, nachdem die Spannungsver-
sorgung ausgeschaltet wurde oder der Betrieb
gestartet oder gestoppt wird. Sie werden wie Ar-
beitsmerker eingesetzt.
AR–Bereich2 AR 00 ... AR 23 AR 0000 ... AR 2315 Diese Merker besitzen spezifische Funktionen,
(24 Worte) (384 Bits) z.B. als Systemmerker und Steuerbits.
LR(Schnittstellenmer- LR 00 ... LR 15 LR 0000 ... LR 1515 Wird für einen 1:1–PC–Link mit einer anderen
ker)–Bereich1 (16 Worte) (256 Bits) SPS verwendet.

Zeitgeber/Zähler– TC 000 ... TC 255 Zeitgeber und Zähler verwenden die TIM–,
Bereich2 (Zeitgeber/Zähler–Nummern) 3 TIMH(15)–, CNT–, CNTR(12)–, TMHH(––)– und
TIML(––)–Befehle. Für Zeitgeber/Zähler werden
dieselben Nummern verwendet.
DM Lesen/ DM 0000 ... DM 1999 --- In diesem Bereich erfolgt der Datenzugriff wort-
(Daten– Speichern2 DM 2022 ... DM 2047 weise. Die Worte werden auch beim Ausschalten
Merker)– (2,026 Worte) der Spannungsversorgung oder bei Betriebsbe-
Bereich ginn oder –ende aufrechterhalten.
In den Lese/Schreibbereichen kann beliebig in-
nerhalb des Programms gelesen und geschrie-
ben werden.
Fehlerprotokoll DM 2000 ... DM 2021 --- Speichert Zeitpunkt und Fehlercode. Diese Worte
(22 Worte) können als gewöhnliche Lese/Schreib–DM–
Worte verwendet werden, wenn die Fehlerproto-
koll–Funktion nicht verwendet wird.
Nur Lesen4,5 DM 6144 ... DM 6599 --- Können vom Programm nicht überschrieben wer-
(456 Worte) den.
SPS–Konfigu- DM 6600 ... DM 6655 --- Speichert verschieden Steuerparameter von
ration4,5 (56 Worte) SPS-Operationen.

Hinweis 1. IR- und LR-Bits, die keiner bestimmten Funktion zugewiesen sind, können
als Arbeitsmerker verwendet werden.
2. Der Inhalt des HR–, AR–, Zähler– und DM–Lese/Schreibbereichs wird über
die Batterie der CPU–Baugruppe abgesichert. Wird die Batterie entfernt
oder fällt diese aus, geht der Inhalt dieser Bereiche verloren und wird auf die
Standardwerte zurückgesetzt. (In CPM2C–CPU–Baugruppen ohne Batte-
rie werden diese Bereiche über die in einem Kondensator gespeicherte
Spannung abgesichert.)
3. Wird eine TC–Nummer als ein Wortoperand verwendet, wird auf den Zeit-
geber oder Zähler–Istwert zugegriffen; wird er als Bitoperand verwendet,
wird auf den Fertigmerker zugegriffen.
4. Daten in DM 6144 bis DM 6655 können vom Programm nicht überschrieben
aber von einem Programmiergerät geändert werden.
5. Das Programm und die Daten in 6144 DM bis DM 6655 werden im Flash–
Speicher abgelegt.

287
Speicherbereichsfunktionen Abschnitt 5-1

SRM1(–V2) Die folgenden Speicherbereiche können mit der SRM1(–V2) verwendet wer-
den.
Datenbereich Worte Bits Funktion
IR– Eingangsbe- IR 000 ... IR 007 IR 00000 ... IR 00715 Diese Bits sind den externen Ein–/Ausgängen
Bereich1 reich (8 Worte) (128 Bits) zugewiesen. Der EIN/AUS–Zustand der E/A–Bits
enspricht dem der Ein–/Ausgänge
Bit Betriebsart
(Wird der CompoBus/S in der 128 Bit–Betriebsart
Ausgangsbe- IR 010 ... IR 017 IR 01000 ... IR 01715 verwendet, können IR 004 bis IR 007 und IR 014
reich (8 Worte) (128 Bits) bis IR 017 auch als Arbeitsmerker verwendet
werden.)
Arbeits– IR 008 bis IR 009 IR 00800 bis IR 00915 Arbeitsmerker können beliebig innerhalb des Pro-
bereich IR 018 bis IR 019 IR 01800 bis IR 01915 gramms verwendet werden. IR 232 bis IR 239
IR 200 bis IR 239 IR 20000 bis IR 23915 werden jedoch als MAKRO–Eingangsbereich ver-
(44 Worte) (704 Bit) wendet, wenn MCRO(99) verwendet wird.
SR (Systemmerker)– SR 240 ... SR 255 SR 24000 ... SR 25507 Diese Systemmerker besitzen spezifische Funk-
Bereich (16 Worte) (248 Bits) tionen, z.B. als Merker- und Steuerbits.
TR (Temporärer Mer- --- TR 0 ... TR 7 Diese Merker dienen zur temporären Speiche-
ker)–Bereich (8 Bits) rung des EIN/AUS-Zustands in Programmver-
zweigungen.

HR–Bereich2 HR 00 ... HR 19 HR 0000 ... HR 1915 Diese Bits speichern Daten und behalten ihren
(20 Worte) (320 Bits) EIN/AUS–Zustand, nachdem die Spannungsver-
sorgung ausgeschaltet wurde o. der Betrieb ge-
startet oder gestoppt wird. Sie werden wie Ar-
beitsmerker eingesetzt.
AR–Bereich2 AR 00 ... AR 15 AR 0000 ... AR 1515 Diese Systemmerker besitzen spezifische Funk-
(16 Worte) (256 Bits) tionen, z.B. als Merker- und Steuerbits. AR 04 bis
07 werden für Slave–Funktionen verwendet. Se-
hen Sie den AR–Bereich.
LR–Bereich1 LR 00 ... LR 15 LR 0000 ... LR 1515 Wird für einen 1:1–PC–Link mit einer anderen
(16 Worte) (256 Bits) SPS verwendet.
Zeitgeber/Zähler– TC 000 ... TC 127 Zeitgeber und Zähler verwenden den Befehl TIM,
Bereich2 (Zeitgeber/Zähler–Nummern)3 TIMH(15), CNT und CNTR(12). Für Zeitgeber
und Zähler werden dieselben Nummern verwen-
det.
DM Lesen/ DM 0000 ... DM 1999 --- In diesem Bereich erfolgt der Datenzugriff wort-
(Daten- Speichern2 (2.000 Worte) weise. Die Worte werden auch beim Ausschalten
merker)– der Spannungsversorgung, bei Betriebsbeginn/–
Bereich ende aufrechterhalten.
In den Lese/Schreibbereichen kann beliebig in-
nerhalb des Programms gelesen und geschrie-
ben werden.
Fehler– DM 2000 ... DM 2021 --- Speichert Zeitpunkt und Fehlercode. Diese Worte
protokoll (22 Worte) können als gewöhnliche Lese/Schreib–DM–
Worte verwendet werden, wenn die Fehlerproto-
koll–Funktion nicht verwendet wird.
Nur Lesen4 DM 6144 ... DM 6599 --- Können vom Programm nicht überschrieben wer-
(456 Worte) den.
SPS–Konfi- DM 6600 ... DM 6655 --- Speichert verschieden Steuerparameter von
guration4 (56 Worte) SPS-Operationen.

Hinweis 1. IR- und LR-Bits, die keiner bestimmten Funktion zugewiesen sind, können
als Arbeitsmerker verwendet werden.
2. Ein Kondensator oder eine Batterie dient zur Datensicherung des HR–,
AR–, Zähler– und Lese/Schreib–DM–Bereiches. Ein Diagramm mit der Ge-
genüberstellung der Datensicherungszeit/Temperatur finden Sie im Techni-
schen Handbuch der SRM1 Master–Steuerungsbaugruppe in Abschnitt
2-1-2 Technische Daten.
3. Beim Zugriff auf einen Istwert werden TC-Worte als Wortdaten und beim Zu-
griff auf Fertigmerker als Bitdaten verwendet.
4. Daten in DM 6144 bis DM 6655 können vom Programm nicht überschrieben
aber über ein Programmiergerät geändert werden.

288
Speicherbereichsfunktionen Abschnitt 5-1

5-1-2 Funktionen
IR–Bereich Die Funktionen der verschiedenen Bereiche werden im folgenden erklärt.
Bei den CPM1–, CPM1A–, CPM2A– und CPM2C–SPS–Systemen sind die
E/A–Adressbereichs–Bits von IR 00000 bis IR 01915 den Klemmen auf der
CPU–Baugruppe und denen der E/A–Erweiterungsbaugruppen zugewiesen.
Bei der SRM1(–V2) sind die E/A–Adressbereichs–Bits von IR 00000 bis IR
00715 und IR 01000 bis IR 01715 CompoBus/S–Slaves zugewiesen. Sie geben
den EIN/AUS-Zustand der Eingangs– und Ausgangssignale wieder. Eingangs-
bits beginnen bei IR 00000 und Ausgangsbits bei IR 01000.
IR Worte, die nicht Ein– oder Ausgängen zugewiesen sind, können als Arbeits-
worte verwendet werden. Zusätzlich können nicht verwendete Bits in IR–Wor-
ten, die Ausgängen zugewiesen sind, als Arbeitsmerker verwendet werden.
Arbeitsmerker Die Arbeitsmerker können innerhalb eines Programmes frei verwendet werden,
jedoch nur für Funktionen innerhalb des Programms und nicht zur Adressierung
physikalischer Ein–/Ausgänge.
Hinweis 1. Die in den folgenden Tabellen aufgeführten CPU–Eingänge können als nor-
male Eingänge arbeiten oder diesen können in der SPS–Konfiguration be-
sondere Funktionen zugewiesen werden.
Besondere Funktionen für die Bits IR 00000 bis IR 00002 werden in DM
6642 spezifiziert:
Bit– SPS–Konfigurationseinstellung (DM 6642 Bits 08 bis 15)
adresse
d 00 01 02, 03 oder 04
IR 00000 Werden als Werden als schnelle Werden als Eingänge für eine
normale Zählereingänge synchronisierte
IR 00001 g g
Eingänge verwendet. Impulssteuerung verwendet.
verwendet.
d t
IR 00002 Wird als normaler Eingang
verwendet.
Besondere Funktionen für die Bits IR 00003 bis IR 00006 werden in
DM 6628 spezifiziert:
Bit– Bits
s in SPS–Konfigurationseinstellung (in DM 6628)
adresse
d DM 6628 0 1 2
IR 00003 00 bis 03 Werden als Werden als Werden als
normale Eingänge Interrupt
Interrupt– Eingänge mit
IR 00004 04 bis 07 verwendet. Eingänge Im uls
Impuls–
IR 00005* 08 bis 11 (einschließlich speicherung
Zählbetriebsart) verwendet
verwendet.
IR 00006* 12 bis 15 verwendet.

Hinweis *Eingang 00006 ist nicht vorhanden und Eingang 00005 muss als
normaler Eingang in CPM2C–CPU–Baugruppen mit 10 Ein–/Aus-
gängen verwendet werden.
2. Ausgangsbits IR 01000 und IR 01001 können als normale Ausgänge arbei-
ten oder sie können mit PULS(65), SYNC(––) oder PWM(––) als Impuls–
ausgänge verwendet werden. (Verwenden Sie eine CPU–Baugruppe mit
Transistorausgänge für Impulsausgabefunktionen.)
Befehl Funktion
PULS (65) Mit SPED(64):
Einphasige Impulsausgaben ohne Beschleunigung und Abbremsung
Mit ACC(––):
Einphasige Impulsausgaben mit trapezförmiger
Beschleunigung/Abbremsung
SYNC(––) Synchronisierte Impulssteuerung
PWM(––) Impulsausgabe mit variablem Tastverhältnis

SR–Bereich Diese Bits dienen hauptsächlich als Merker für den SPS-Betrieb oder enthalten
Ist– und Sollwerte für diverse Funktionen. Einzelheiten über die diversen Bit-
funktionen finden Sie in den relevanten Kapiteln dieses Handbuches oder im
Anhang C Speicherbereiche.

289
Speicherbereichsfunktionen Abschnitt 5-1

Einige SR–Bereichsworte können als Arbeitsworte verwendet werden, wenn


sie nicht für ihren vorgesehenen, reservierten Zweck verwendet werden.
TR–Bereich Diese Bits verwendet der Kontaktplan–Editor zur vorübergehenden Speiche-
rung von EIN/AUS–Ausführungsbedingungen von Programmverzweigungen.
Sie können auch für die Anweisungslisten-Programmierung verwendet werden.
Bei der Kontaktplan-Programmierung über die Programmiersoftware SYSWIN
oder CX–P werden temporäre Merker automatisch verarbeitet.
Diese TR–Bits können nicht mehrmals innerhalb des gleichen Blocks verwen-
det werden aber in unterschiedlichen Blöcken. Der EIN-/AUS-Zustand temporä-
rer Merker kann nicht über ein Programmiergerät überwacht werden.
Beispiele für die Anwendung der TR–Bits in der Programmierung finden Sie auf
Seite 326.
HR–Bereich Diese Bits behalten ihren EIN-/AUS-Zustand auch bei ausgeschalteter Versor-
gungsspannung der SPS oder bei Betriebsbeginn oder –ende bei. Sie werden
wie Arbeitsmerker eingesetzt.
AR–Bereich Diese Bits dienen hauptsächlich als Merker für den SPS-Betrieb. Diese Merker
behalten ihren Zustand auch nach dem Ausschalten der SPS–Versorgungs-
spannung oder bei Betriebsbeginn oder –ende bei. Einzelheiten über die diver-
sen Merkerfunktionen finden Sie in den relevanten Kapiteln dieses Handbuches
oder im Anhang C Speicherbereiche.
LR–Bereich Wird die CPM1/CPM1A/CPM2A/CPM2C/SRM1(–V2) 1:1 mit einer anderen
SPS des Typs CPM1/CPM1A/CPM2A/CPM2C/SRM1(–V2), einer CQM1,
C200HS oder C200HX/HG/HE verknüpft, werden diese Bits für eine gemein-
same Nutzung der Daten verwendet. Weitere Informationen sehen Sie Seite
212.
LR–Bit können als Arbeitsmerker verwendet werden, wenn diese nicht für einen
1:1–PC–Link verwendet werden.
Zeitgeber/Zählerbereich Dieser Bereich dient dazu, Zeitgeber und Zähler zu verwalten, die mit TIM,
TIMH(15), CNT und CNTR(12) erstellt werden. Dieselben Nummern werden so-
wohl für Zeitgeber als auch für Zähler verwendet. Jede Nummer kann jedoch
nur einmal im Anwenderprogramm verwendet werden. Programmieren Sie in
keinem Fall dieselbe TC–Nummer zweimal, auch wenn es sich um verschie-
dene Befehle handelt.
Verwenden Sie die TC–Nummern 000 bis 003 für TIMH(15) und die TC–Num-
mern 004 bis 007 für TMHH(––)*. Werden diese Zeitgebernummern verwendet,
wird deren Zeitverhalten als Interruptvorgang ausgewertet und der Zykluszeit-
geber beeinflusst nicht den Zeitgeberbetrieb.
TC–Nummern dienen der Erstellung von Zeitgebern und Zählern, wie auch dem
Zugriff auf Ausgeführt–Merker und Istwerte. Wird eine TC–Nummer für Wortda-
ten spezifiziert, wird auf den Istwert zugegriffen. Wird sie für Bitdaten verwendet,
wird der Ausgeführt–Merker für den Zeitgeber/Zähler angesprochen.
Einzelheiten über Zeitgeber und Zähler finden Sie unter ”Befehle” ab Seite 362.
DM–Bereich Auf DM–Bereichsdaten wird in nur in Worteinheiten zugegriffen. Der Inhalt des
DM–Bereiches wird auch nach dem Ausschalten der SPS–Versorgungsspan-
nung oder bei Betriebsbeginn oder –ende beibehalten.
CPM1/CPM1A
DM 0000 bis DM 0999, DM 1022 und DM 1023 können beliebig im Programm
verwendet werden; anderen DM–Worten werden spezielle, nachfolgend be-
schriebenen Funktionen, zugewiesen.
DM 1000 bis DM 1021 DM enthalten Fehlerprotokoll–Informationen. Weitere In-
formationen über das Fehlerprotokoll finden Sie in Kapitel 9 Fehlersuche.
CPM2A/CPM2C
DM–Worte 0000 bis 1999 und DM 2022 bis DM 2047 können beliebig im Pro-
gramm verwendet werden; anderen DM–Worten sind spezielle, nachstehend
beschriebene Funktionen zugeordnet.

290
Speicherbereichsfunktionen Abschnitt 5-1

DM 2000 bis DM 2021 enthält die Fehlerprotokoll–Informationen. Sehen Sie Ka


pitel 9 Fehlersuche für weitere Informationen zum Fehlerprotokoll.
SRM1(-V2)
DM–Worte 0000 bis 1999 können beliebig im Programm verwendet werden; an-
deren DM–Worten sind spezielle, nachstehend beschriebene Funktionen zuge-
ordnet.
DM 2000 bis DM 2021 enthält die Fehlerprotokoll–Informationen. Sehen Sie Ka
pitel 9 Fehlersuche für weitere Informationen zum Fehlerprotokoll.
Hinweis DM 6600 bis DM 6655 DM enthalten die SPS–Konfiguration. Sehen Sie Kapitel
1-1 SPS–Konfiguration für weitere Informationen.

5-1-3 CPM1/CPM1A/SRM1(-V2) Flash–Speicher


Die folgenden Einstellungen müssen vorgenommen werden, um den Flash–
Speicherbereich für die CPM1/CPM1A/SRM1(–V2)–SPS–Systeme zu verwen-
den.
Schreiben von Daten Um den Inhalt des UM–Bereichs, des DM–Nur–Lese–Bereichs (DM 6144 bis
DM 6599) und des SPS–Konfigurationsbereichs (DM 6600 bis DM 6655) in dem
Flash–Speicher zu speichern, muß die SPS aus– und anschließend wieder ein-
geschaltet werden.
Hinweis SRM1–C01/02 kondensatorbasierende Datensicherung
Werden Änderungen an den zuvor beschriebenen Speicherbereichen vorge-
nommen und werden diese nicht in den Flash–Speicher geschrieben, dann ge-
hen die Änderungen (im RAM) verloren, wenn die Versorgungsspannung für 20
Tagen (bei 25°C) oder mehr abgeschaltet wird. Nach dem Datenverlust wird der
nicht geänderte Inhalt des Flash–Speichers beim Einschalten der SPS eingele-
sen.

Speicherbereichs–Änderung Beachten Sie beim erstmaligen Betrieb der SRM 1 nach erfolgten Änderungen
im UM–, DM–Nur–Lese– (DM 6144 bis DM 6599) und SPS–Konfigurationsbe-
reich (DM 6600 bis DM 6655) die Effekte, die sich durch die SRM1–Verzögerung
beim Betrieb mit anderen Geräten ergeben.
Der erste Betrieb der SRM1 nach den oben genannten Änderungen setzt maxi-
mal 850 ms später als bei einem normalen Einschalten ohne Änderungen ein.
SRM1–Zykluszeiten Eine Zykluszeit–Überlaufwarnung wird nicht ausgegeben, wenn jede der fol-
genden Operationen in der MONITOR–Betriebsart ausgeführt wird. Seien Sie
vorsichtig mit der Wirkung der On–line–Editierung in bezug auf die SRM1–E/A–
Ansprechzeit.
• Änderungen im Programm, wobei die On–line–Editierung verwendet wird.
• Änderungen im DM–Nur–Lese–Bereich (DM 6144 bis DM 6599).
• Änderung im SPS–Konfigurationsbereich (DM 6600 bis DM 6655).
Wird eine der zuvor beschriebenen Operationen durchgeführt, wird die
SRM1–Zykluszeit um maximal 850 ms verlängert. Während dieser Zeitspanne
werden Interrupts während des Speicherns des Programms oder des Speicher-
inhalts deaktiviert.

291
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme Abschnitt 5-2

5-2 E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme


5-2-1 CPU–Baugruppen
CPM1
Anzahl der E/A Modell– E/A Zugewiesene Bits Max. Anzahl der Max. Anzahl der
(auf der CPU– nummer E/A– E/A (sehen Sie
Baugruppe) Erweiterungs–b Hinweis 1)
augruppen
10
0 CPM1–10CDRj
C 0C j Eingang 6 Eingänge: 00000 ... 00005 1 (sehen
(se e Sie
Se 30
Ausgang 4 Ausgänge: 01000 ... 01003 Hi i 1)
Hinweis

20
0 CPM1–20CDRj
C 0C j Eingang 12 Eingänge: 00000 ... 00011 1 (sehen
(se e Sie
Se 40
0
Ausgang 8 Ausgänge: 01000 ... 01007 Hi
Hinweis
i 1)

30 CPM1–30CDRj Eingang 18 Eingänge: 1 (sehen Sie 50


00000 bis 00011 Hinweis 1)
00100 bis 00105
Ausgang 12 Ausgänge:
01000 bis 01007
01100 bis 01103
30 CPM1-30CDR-j-V1 Eingang 18 Eingänge: 3 (sehen Sie 90
00000 bis 00011 Hinweis 2)
00100 bis 00105
Ausgang 12 Ausgänge:
01000 bis 01007
01100 bis 01103

Hinweis 1. Die Werte für die max. Anzahl der E/A in der obenstehenden Tabelle bein-
halten auch die E/A von E/A–Erweiterungsbaugruppen.
2. Beim Einsatz einer anderen CPM1–CPU–Baugruppe als der
CPM1–30CDRj–V1 kann eine der folgenden E/A–Erweiterungsbaugrup-
pen mit 20 Anschlüssen an die SPS angeschlossen werden:
• CPM1–20EDR (Relaisausgänge)
• CPM1A–20EDT (NPN–Transistorausgänge)
• CPM1A–20EDT1 (PNP–Transistorausgänge)
3. Beim Einsatz einer CPM1–30CDRj–V1 können bis zu drei 3
CPM1/CPM1A–E/A–Erweiterungs– oder CPM1A-MAD01 Analog–E/A–
Baugruppen an die SPS angeschlossen werden.
CPM1A
Anzahl der E/A Modell– E/A Zugewiesene Bits Max. Anzahl der Max. Anzahl
(auf der CPU– nummer E/A– der E/A
Baugruppe) Erweiterungs– (sehen Sie
baugruppen Hinweis 1)
10 CPM1A-10CDR-j Eingang 6 Eingänge: 00000 ... 00005 Kein 10
CPM1A-10CDT-D
CPM1A-10CDT1-D Ausgang 4 Ausgänge: 01000 ... 01003
20 CPM1A-20CDR-j Eingang 12 Eingänge: Kein 20
CPM1A-20CDT-D 0000 bis 00011
CPM1A 20CDT1 D
CPM1A-20CDT1-D
Ausgang 8 Ausgänge: 01000 ... 01007
30 CPM1A-30CDR-j Eingänge 18 Eingänge: 3 (sehen Sie den 90
CPM1A-30CDT-D 00000 bis 00011 Hinweis)
CPM1A-30CDT1-D 00100 bis 00105
Ausgang 12 Ausgänge:
01000 bis 01007
01100 bis 01103
40 CPM1A-40CDR-j Eingänge 24 Eingänge: 3 (sehen Sie den 100
CPM1A-40CDT-D 00000 bis 00011 Hinweis)
CPM1A-40CDT1-D 00100 bis 00111
Ausgang 16 Ausgänge:
01000 bis 01007
01100 bis 01107

Hinweis 1. Die Werte für die max. Anzahl der E/A in der obenstehenden Tabelle bein-
halten auch die E/A von E/A–Erweiterungsbaugruppen.

292
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme Abschnitt 5-2

2. Beim Einsatz einer CPM1A–CPU–Baugruppe mit 30 oder 40 E/A können


bis zu drei 3 E/A–Erweiterungsbaugruppen an die CPU–Baugruppe ange-
schlossen werden.
CPM2A
Anzahl der E/A Modell– E/A Zugewiesene Bits Max. Anzahl der Max. Anzahl
(auf der CPU– nummer E/A– der E/A
Baugruppe) Erweiterungs–ba (sehen Sie
ugruppen Hinweis 1)
20 CPM2A-20CDR-j Eingang 12 Eingänge: 3 80
CPM2A-20CDT-D 0000 bis 00011
CPM2A 20CDT1 D
CPM2A-20CDT1-D
Ausgang 8 Ausgänge: 01000 ... 01007
30 CPM2A-30CDR-j Eingang 18 Eingänge: 3 90
CPM2A-30CDT-D 00000 bis 00011
CPM2A-30CDT1-D 00100 bis 00105
Ausgang 12 Ausgänge:
01000 bis 01007
01100 bis 01103
40 CPM2A-40CDR-j Eingang 24 Eingänge: 3 100
CPM2A-40CDT-D 00000 bis 00011
CPM2A-40CDT1-D 00100 bis 00111
Ausgang 16 Ausgänge:
01000 bis 01007
01100 bis 01107
60 CPM2A-60CDR-j Eingang 36 Eingänge: 3 120
CPM2A-60CDT-D 00000 bis 00011
CPM2A-60CDT1-D 00100 bis 00111
00200 bis 00211
Ausgang 24 Ausgänge:
01000 bis 01007
01100 bis 01107
01200 bis 01207

Hinweis 1. Die Werte für die max. Anzahl der E/A in der obenstehenden Tabelle bein-
halten auch die E/A von E/A–Erweiterungsbaugruppen.
2. Beim Einsatz einer CPM2A–CPU–Baugruppe können bis zu 3 Erweite-
rungsbaugruppen oder E/A–Erweiterungsbaugruppen an die SPS ange-
schlossen werden.

CPU–Baugruppenzuweisung
• In den folgenden Diagrammen kennzeichnen schattierte Bereiche Bits, die
physikalische Eingänge oder Ausgänge darstellen.
• Eingangsbits werden von IR 00000 an beginnend zugeordnet.
• Ausgangsbits werden von IR 01000 an beginnend zugeordnet.
• Alle Bits der Ausgangsworte, die nicht als Ausgangsbits verwendet werden,
können als Arbeitsmerker verwendet werden.
• Alle Bits der Eingangsworte, die nicht als Eingangsbits verwendet werden,
können nicht als Arbeitsmerker verwendet werden.
CPU–Baugruppen mit 10 E/A–Anschlüssen

6 Eingänge CPM1-10CDR-j
IR 00000 bis IR 00005 CPM1A-10CDjj

4 Ausgänge
IR 01000 bis IR 01003

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Eingänge IR 000 Bitte nicht verwenden


Ausgänge IR 010

293
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme Abschnitt 5-2

CPU–Baugruppen mit 20 E/A–Anschlüssen

12 Eingänge
CPM1-20CDR-j
IR 00000 bis IR 00011
CPM1A-20CDj-j
CPM2A-20CDj-j

8 Ausgänge
IR 01000 bis IR 01007

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Eingänge IR 000 Bitte nicht verwenden


Ausgänge IR 010

CPU–Baugruppen mit 30 E/A–Anschlüssen


18 Eingänge
IR 00000 bis IR 00011 CPM1-30CDR-j/CPM1-30CDR-j-V1
IR 00100 bis IR 00105 CPM1A-30CDj-j
CPM2A-30CDj-j
12 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01103

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000
Eingänge
IR 001 Bitte nicht verwenden
IR 010
Ausgänge
IR 011

CPU–Baugruppen mit 40 E/A–Anschlüssen


24 Eingänge
IR 00000 bis IR 00011 CPM1A-40CDj-j
IR 00100 bis IR 00111 CPM2A-40CDj-j

16 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01107

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000
Eingänge Bitte nicht verwenden
IR 001
IR 010
Ausgänge
IR 011

294
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme Abschnitt 5-2

CPU–Baugruppen mit 60 E/A–Anschlüssen


36 Eingänge
IR 00000 bis IR 00011
IR 00100 bis IR 00111 CPM1A-60CDj-j
IR 00200 bis IR 00211

24 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01107
IR 01200 bis IR 01207

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000
Eingänge IR 001 Bitte nicht verwenden
IR 002
IR 010
Ausgänge IR 011
IR 012

5-2-2 E/A–Erweiterungsbaugruppen
Anzahl der Modell– E/A Zugewiesene Bits Kompatible
E/A nummer CPU–Baugruppen
8 CPM1A-8ED Eingang 8 Eingänge: Wort (m+1), Bit 00 bis 07 CPM1
CPM1A-30/40
Ausgang --- CPM2A
8 CPM1A-8ER Eingang --- CPM1
CPM1A-8ET CPM1A-30/40
CPM1A-8ET1 Ausgang 8 Ausgänge: Wort (n+1), Bit 00 bis 07 CPM2A
20 CPM1A-20EDR Eingang 12 Eingänge: Wort (m+1), Bit 00 bis 11 CPM1
CPM1A-20EDR1
CPM1A 20EDR1 CPM1A-30/40
CPM1A 30/40
CPM1A-20EDT Ausgang 8 Ausgänge: Wort (n+1), Bit 00 bis 07 CPM2A
CPM1A-20EDT1
20 CPM1A-20EDR Eingang 12 Eingänge: Wort (m+1), Bit 00 bis 11 CPM1
CPM1A-30/40
Ausgang 8 Ausgänge: Wort (n+1), Bit 00 bis 07 CPM2A

Hinweis “m”: bezeichnet das letzte Eingangswort, das der CPU–Baugruppe oder der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewie-
sen wird , falls diese angeschlossen ist.
“n”: bezeichnet das letzte Ausgangswort, das der CPU–Baugruppe oder der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewie-
sen wird, falls diese angeschlossen ist.

E/A–Erweiterungsbaugruppenzuweisung
• In den folgenden Diagrammen kennzeichnen schattierte Bereiche Bits, die
physikalische Eingänge oder Ausgänge darstellen.
• Eingangsmerker werden E/A–Erweiterungsbaugruppen, beginnend mit Wort
(m+1) zugewiesen, wobei “m” das letzte Eingangswort ist, das der CPU–, der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewie-
sen wird, fall diese bereits angeschlossen ist.
• Ausgangsmerker werden E/A–Erweiterungsbaugruppen, beginnend mit Wort
(n+1) zugewiesen, wobei “n” das letzte Eingangswort ist, das der CPU–, der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewie-
sen wird, fall diese bereits angeschlossen ist.
• Alle Bits der Ausgangsworte, die nicht als Ausgangsbits verwendet werden,
können als Arbeitsmerker verwendet werden.
• Alle Bits der Eingangsworte, die nicht als Eingangsbits verwendet werden,
können nicht als Arbeitsmerker verwendet werden.

295
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme Abschnitt 5-2

E/A–Erweiterungsbaugruppen mit 8 Eingängen

8 Eingänge
CPM1A-8ED
Wort (m+1), Bits 00 bis 07

Keine Ausgänge

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Eingänge m+1 Bitte nicht verwenden

E/A–Erweiterungsbaugruppen mit 8 Ausgängen

Keine Eingänge CPM1A-8ER


CPM1A-8ET
CPM1A-8ET1

8 Ausgänge
Wort (n+1), Bits 00 bis 07

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Ausgänge n+1

E/A–Erweiterungsbaugruppen mit 20 E/A–Anschlüssen

12 Eingänge CPM1-20EDR
Wort (m+1), Bits 00 bis 11
CPM1A-20EDR
CPM1A-20EDR1
CPM1A-20EDT
8 Ausgänge CPM1A-20EDT1
Wort (n+1), Bits 00 bis 07

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Eingänge m+1 Bitte nicht verwenden
Ausgänge n+1

5-2-3 Erweiterungsbaugruppen
Baugruppe Modell– E/A Zugewiesene Worte Max. Anzahl der Kompatible
nummer Baugruppen CPU–
Baugruppen
Analoge E/A– CPM1A-MAD01 Eingang 2 Eingänge: m+1, m+2 3 (sehen Sie CPM1
Baugruppe Hinweis 2) CPM1A
Ausgang 1 Ausgang: n+1 CPM2A
Temperaturfühler–Bau
e eau ü e au C
CPM1A–TS001
S00 Eingang 2 Eingänge: m+1, m+2 3 C
CPM1A
gruppen CPM1A TS101
CPM1A–TS101 Ausgang --- CPM2A

CPM1A-TS002
C S00 Eingang 4 Eingänge: m+1 bis m+4 1 CPM1A
C
CPM1A TS102
CPM1A-TS102 Ausgang --- CPM2A

Co o us/S /
CompoBus/S–E/A–Lin CPM1A-SRT21
C S Eingang 1 Eingang: m + 1 3 C
CPM1A
k B
k–Baugruppe Ausgang 1 Ausgang: n+1 CPM2A

Hinweis 1. “m”: bezeichnet das letzte Eingangswort, das der CPU–Baugruppe oder
der vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zu-
gewiesen wird, falls diese angeschlossen ist.
“n”: bezeichnet das letzte Ausgangswort, das der CPU–Baugruppe oder
der vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zu-
gewiesen wird, falls diese angeschlossen ist.

296
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme Abschnitt 5-2

2. Nur an CPM1–CPU–Baugruppen mit dem Zusatz “–V1” können 3 Analog–


E/A–Baugruppen angeschlossen werden. An CPU–Baugruppen ohne den
“–V1”–Zusatz kann nur eine Analog–E/A–Baugruppe angeschlossen wer-
den.
3. Nur eine CPM1ATS002/102–Temperaturfühler–Baugruppe kann an die
SPS angeschlossen werden. Wird eine CPM1A–TS002/102–Temperatur-
fühler–Baugruppe mit der SPS verbunden, kann nur eine andere Erweite-
rungs– oder E/A–Erweiterungsbaugruppe (außer der
CPM1A–TS002/102–Temperaturfühler–Baugruppe) angeschlossen wer-
den.
Analog–E/A–Baugruppe

CPM1A-MAD01
2 Analogeingänge
Eingang 0: Wort (m+1)
Eingang 1: Wort (m + 2)

1 analoge Ausgang
Ausgang 0: Wort (n + 1)

Temperaturfühler–Baugruppen

CPM1A-TS001/TS101 CPM1A-TS002/TS102
2 Temperatureingänge 4 Temperatureingänge
Eingang 0: Wort (m+1) Eingang 0: Wort (m+1)
Eingang 1: Wort (m + 2) Eingang 1: Wort (m+2)
Eingang 2: Wort (m+3)
Eingang 3: Wort (m+4)

Keine Ausgänge Keine Ausgänge

CompoBus/S–E/A–Link–Baugruppen

CPM1A-SRT21
8 Eingänge
Eingang: Wort (m + 1)

8 Ausgänge
Ausgang: Wort (n + 1)

Hinweis Eingangsbits 00 bis 07 des Wortes (m+1) sind Ausgänge des Masters. Aus-
gangsbits 00 bis 07 des Wortes (n+1) sind Eingänge des Masters.

5-2-4 Beispiele für die Zuweisung von Erweiterungs– und


E/A–Erweiterungsbaugruppen
• Beim Einsatz einer CPM1–CPU–Baugruppe ohne “–V1” am Ende der Modell-
nummer kann nur eine E/A–Erweiterungsbaugruppe angeschlossen werden.
• Beim Einsatz einer CPM1–CPU–Baugruppe mit “–V1” am Ende der Modell-
nummer können bis zu 3 E/A–Erweiterungsbaugruppen der CPM1A–Serie
angeschlossen werden.
• Beim Einsatz einer CPM1A–CPU–Baugruppe mit 30 oder 40 E/A–Anschlüs-
sen oder beim Einsatz einer CPM2A–CPU–Baugruppe können bis zu 3 Erwei-
terungs– oder E/A–Erweiterungsbaugruppen, außer Temperaturfühler–Bau-
gruppen mit 4 Eingängen, angeschlossen werden. Nur eine Temperaturfüh-
ler–Baugruppe mit 4 Eingängen kann angeschlossen werden. Wird eine Tem-
peraturfühler–Baugruppe mit 4 Eingängen an die SPS angeschlossen, kann
zusätzlich nur noch eine weitere Erweiterungs– oder E/A–Erweiterungsbau-
gruppe (außer einer anderen Temperaturfühler–Baugruppe mit 4 Eingängen)
angeschlossen werden.

297
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme Abschnitt 5-2

Beispiel: CPU–Baugruppe mit 20 Ein–/Ausgängen mit zusätzlicher E/A–Erweiterungsbaugruppe mit


20 E/A
CPU–Baugruppe mit E/A–Erweiter.–baugruppe
20 E/A–Anschlüssen (20 E/A–Anschlüssen)
12 Eingänge 12 Eingänge
IR 00000 bis IR 00011 IR 00100 bis IR 00111

8 Ausgänge 8 Ausgänge
IR 01000 bis IR 01007 IR 01100 bis IR 01107

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000 Bitte nicht verwenden
Eingänge
IR 001 Bitte nicht verwenden
IR 010
Ausgänge
IR 011

• IR 00000 bis IR 00011 und IR 00100 bis IR 00111 werden als Eingangsbits zu-
gewiesen. IR 00012 bis 00015 können nicht verwendet werden.
• IR 01000 bis IR 01007 und IR 01100 bis IR 01107 werden als Ausgangsbits
zugewiesen. IR 01108 bis IR 01115 können als Arbeitsmerker verwendet wer-
den.
• IR 002 bis IR 009 der Eingangsworte und IR 012 bis IR 019 der Ausgangsworte
können alle als Arbeitsworte verwendet werden.
Beispiel: CPU–Baugruppe mit 30 Ein–/Ausgängen mit 3 zusätzlichen E/A–Erweiterungsbaugruppen
mit 20 E/A
CPU–Baugruppe mit E/A–Erweiter.–baugruppe E/A–Erweiter.–baugruppe E/A–Erweiter.–baugruppe
30 E/A–Anschlüssen (20 E/A–Anschlüssen) (20 E/A–Anschlüssen) (20 E/A–Anschlüssen)
18 Eingänge
12 Eingänge 12 Eingänge 12 Eingänge
IR 00000 bis IR 00011
IR 00100 bis IR 00105 IR 00200 bis IR 00211 IR 00300 bis IR 00311 IR 00400 bis IR 00411

12 Ausgänge 8 Ausgänge 8 Ausgänge


8 Ausgänge
IR 01000 bis IR 01007
IR 01200 bis IR 01207 IR 01300 bis IR 01307 IR 01400 bis IR 01407
IR 01100 bis IR 01103

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000 Bitte nicht verwenden
IR 001 Bitte nicht verwenden

Eingänge IR 002 Bitte nicht verwenden


IR 003 Bitte nicht verwenden
IR 004 Bitte nicht verwenden
IR 010
IR 011
Ausgänge IR 012
IR 013
IR 014

298
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme Abschnitt 5-2

Beispiel: CPU–Baugruppe mit 60 E/A–Anschlüssen mit 3 zusätzlichen E/A–Erweiterungsbaugruppen


CPU–Baugruppe mit E/A–Erweiter.–baugruppe E/A–Erweiter.–baugruppe E/A–Erweiter.–baugruppe
60 E/A–Anschlüssen (20 E/A–Anschlüssen) (8 Ausgänge) (20 E/A–Anschlüssen)
36 Eingänge
IR 00000 bis IR 00011 12 Eingänge 12 Eingänge
IR 00300 bis IR 00311 Keine Eingänge IR 00400 bis IR 00411
IR 00100 bis IR 00111
IR 00200 bis IR 00211

24 Ausgänge
IR 01000 bis IR 01007 8 Ausgänge 8 Ausgänge 8 Ausgänge
IR 01100 bis IR 01107 IR 01300 bis IR 01307 IR 01400 bis IR 01407 IR 01500 bis IR 01507
IR 01200 bis IR 01207

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000 Bitte nicht verwenden
IR 001 Bitte nicht verwenden
Eingänge IR 002 Bitte nicht verwenden
IR 003 Bitte nicht verwenden
IR 004 Bitte nicht verwenden
IR 010
IR 011
Ausgänge IR 012
IR 013
IR 014
IR 015

299
E/A–Zuweisung für CPM1/CPM1A/CPM2A–SPS–Systeme Abschnitt 5-2

Beispiel: Konfiguration, einschließlich Analog–E/A–Baugruppe, Temperaturfühler–Baugruppe und


E/A–Erweiterungsbaugruppe
CPU–Baugruppe mit Analog–E/A–Baugruppe Temperaturfühler–Baugrp. E/A–Erweiter.–baugruppe
60 E/A–Anschlüssen CPM1A–MAD01 CPM1A–TS001/101 (20 E/A–Anschlüssen)
36 Eingänge 2 Analogeingänge 2 Temperatureingänge
IR 00000 bis IR 00011 12 Eingänge
Eingang 0: IR 003 Eingang 0: IR 005
IR 00100 bis IR 00111 IR 00700 bis IR 00711
Eingang 1: IR 004 Eingang 1: IR 006
IR 00200 bis IR 00211

24 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01107 1 analoger Ausgang Keine Ausgänge 8 Ausgänge
IR 01200 bis IR 01207 Ausgang 1: IR 013 IR 01400 bis IR 01407

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000 Bitte nicht verwenden
IR 001 Bitte nicht verwenden
Eingänge IR 002 Bitte nicht verwenden
IR 003 Für Eingang 0 der Analog–E/A–Baugruppe verwendet
IR 004 Für Eingang 1 der Analog–E/A–Baugruppe verwendet
IR 005 Für Eingang 2 der Temperaturfühler–Baugruppe verwendet
IR 006 Für Eingang 3 der Temperaturfühler–Baugruppe verwendet
IR 007 Bitte nicht verwenden
IR 010
IR 011
Ausgänge IR 012
IR 013 Für den Ausgang der Analog–E/A–Baugruppe verwendet
IR 014

Mit Ausnahme der CPM1A–TS002/102–Temperaturfühler–Baugruppen kön-


nen bis zu 3 Erweiterungsbaugruppen (Analog–E/A–Baugruppen, Temperatur-
fühler–Baugruppen oder CompoBus/s–Baugruppen) mit einer CPM1A– oder
CPM2A–SPS verbunden werden. Nur eine CPM1A–TS002/102–Temperatur-
fühler–Baugruppe kann an die SPS angeschlossen werden. (Sehen Sie Seite
301 für einen Beispiel der CPM1A–TS002/102–Zuweisungen.)

300
E/A–Zuweisung für CPM2C–SPS–Systeme Abschnitt 5-3

Beispiel: Konfiguration, einschließlich der Temperaturfühler–Baugruppe mit 4 Eingängen und


CompoBus/s–Link–Baugruppe
CPU–Baugruppen mit Temperaturfühler–Baugrp. CompoBus/S–E/A–Link–
60 E/A–Anschlüssen CPM1A–TS002/102 Baugrp. CPM1A-SRT21

36 Eingänge 2 Temperatureingänge 8 Eingangsbits


IR 00000 bis IR 00011 Eingang 0: IR 003 IR 00700 bis IR 00707
IR 00100 bis IR 00111 Eingang 1: IR 004
IR 00200 bis IR 00211 Eingang 2: IR 005
Eingabe 3: IR 006

24 Ausgänge
IR 01000 bis IR 01007
IR 01100 bis IR 01107 8 Ausgangsbits
IR 01200 bis IR 01207 Keine Ausgänge IR 01300 bis IR 01307

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000 Bitte nicht verwenden
IR 001 Bitte nicht verwenden
Eingänge IR 002 Bitte nicht verwenden
IR 003 Für Eingang 0 der Temperaturfühler–Baugruppe verwendet
IR 004 Für Eingang 1 der Temperaturfühler–Baugruppe verwendet
IR 005 Für Eingang 2 der Temperaturfühler–Baugruppe verwendet
IR 006 Für Eingang 3 der Temperaturfühler–Baugruppe verwendet
IR 007 Bitte nicht verwenden
IR 010
IR 011
Ausgänge
IR 012
IR 013

Nur eine Temperaturfühler–Baugruppe mit 4 Eingängen (CPM1A–TS002/102)


kann an die SPS angeschlossen werden. Die CPM1A–TS002/102 kann jedoch
mit einer E/A–Erweiterungsbaugruppe oder einer anderen Erweiterungsbau-
gruppe verbunden werden.

5-3 E/A–Zuweisung für CPM2C–SPS–Systeme


5-3-1 CPU–Baugruppen
Anzahl der E/A Modell– E/A Zugewiesene Bits Max. Anzahl der Max. Anzahl der
(auf der CPU– nummer E/A– E/A
Baugruppe) Erweiterungs– (sehen Sie
baugruppen Hinweis 1)
10 CPM2C-10CDR-D Eingang 6 Eingänge: 00000 ... 00005 5 130
CPM2C-10C1DR-D
CPM2C-10CDTC-D
CPM2C 10CDTC D
CPM2C-10C1DTC-D Ausgang 4 Ausgänge: 01000 ... 01003
CPM2C-10C1DTC-D
CPM2C-10C1DT1C-D
20 CPM2C-20CDTC-D Eingang 12 Eingänge: 00000 ... 00011 5 140
CPM2C-20C1DTC-D
CPM2C 20C1DTC D
CPM2C-20C1DTC-D Ausgang 8 Ausgänge: 01000 ... 01007
CPM2C-20C1DT1C-D

Hinweis 1. Die Werte für die max. Anzahl der E/A in der obenstehenden Tabelle bein-
halten auch E/A von E/A–Erweiterungsbaugruppen.
2. Obwohl nur bis zu 5 Erweiterungs– oder E/A–Erweiterungsbaugruppen mit
einer CPM2C–SPS verbunden werden können, können nicht mehr als 10
Eingangs– und 10 Ausgangsworten zugewiesen werden.

301
E/A–Zuweisung für CPM2C–SPS–Systeme Abschnitt 5-3

CPU–Baugruppenzuweisung
• In den folgenden Diagrammen kennzeichnen schattierte Bereiche Bits, die
physikalische Eingänge oder Ausgänge darstellen.
• Eingangsbits werden von IR 00000 an beginnend zugeordnet.
• Ausgangsbits werden von IR 01000 an beginnend zugeordnet.
• Alle Bits der Ausgangsworte, die nicht als Ausgangsbits verwendet werden,
können als Arbeitsmerker verwendet werden.
• Alle Bits der Eingangsworte, die nicht als Eingangsbits verwendet werden,
können nicht als Arbeitsmerker verwendet werden.
CPU–Baugruppe mit 10 E/A–Anschlüssen
6 Eingänge CPM2C-10CjDjj-j
IR 00000
bis
IR 00005

4 Ausgänge
IR 01000
bis
IR 01003

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Eingänge IR 000 Bitte nicht verwenden
AusgängeIR 010

CPU–Baugruppe mit 20 E/A–Anschlüssen

12 Eingänge CPM2C-20CjDjj-j
IR 00000
bis
IR 00011

8 Ausgänge
IR 01000
bis
IR 01007

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Eingänge IR 000 Bitte nicht verwenden


Ausgänge IR 010

5-3-2 E/A–Erweiterungsbaugruppen
Anzahl der E/A Modellnummer E/A Zugewiesene Bits Max. Anzahl der
Baugruppen
8 CPM2C-8EDC
C C8 C Eingang 8 Eingänge: Wort (m+1), Bit 00 bis 07 5
Ausgang ---
16
6 CPM2C-16EDC
C C 6 C Eingang 16 Eingänge: Wort (m+1), Bits 00 bis 15 5
Ausgang ---
8 CPM2C-8ER Eingang --- 5
CPM2C-8ETC
CPM2C-8ET1C Ausgang 8 Ausgänge: Wort (n+1), Bit 00 bis 07
16
6 C
CPM2C-16ETC
C 6 C Eingang --- 5
CPM2C 16ET1C
CPM2C-16ET1C Ausgang 16 Ausgänge: Wort (n+1), Bits 00 bis 15
10
0 CPM2C-10EDR
C C 0 Eingang 6 Eingänge: Wort (m+1), Bits 00 bis 05 5
Ausgang 4 Ausgänge: Wort (n+1), Bits 00 bis 03
24 CPM2C-24ETC
C C C Eingang 16 Eingänge: Wort (m+1), Bits 00 bis 15 5
CPM2C 24ET1C
CPM2C-24ET1C Ausgang 8 Ausgänge: Wort (n+1), Bit 00 bis 07

302
E/A–Zuweisung für CPM2C–SPS–Systeme Abschnitt 5-3

Hinweis “m”: bezeichnet das letzte Eingangswort, das der CPU–Baugruppe oder der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewie-
sen wird, falls diese schon angeschlossen ist.
“n”: bezeichnet das letzte Ausgangswort, das der CPU–Baugruppe oder der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewie-
sen wird, falls diese schon angeschlossen ist.

E/A–Erweiterungsbaugruppenzuweisung
• In den folgenden Diagrammen kennzeichnen schattierte Bereiche Bits, die
physikalische Eingänge oder Ausgänge darstellen.
• Eingangsmerker werden E/A–Erweiterungsbaugruppen, beginnend mit Wort
(m+1) zugewiesen, wobei “m” das letzte Eingangswort ist, das der CPU–, der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewie-
sen wird, fall diese angeschlossen ist.
• Ausgangsmerker werden E/A–Erweiterungsbaugruppen, beginnend mit Wort
(n+1) zugewiesen, wobei “n” das letzte Eingangswort ist, das der CPU–, der
vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zugewie-
sen wird, fall diese angeschlossen ist.
• Alle Bits der Ausgangsworte, die nicht als Ausgangsbits verwendet werden,
können als Arbeitsmerker verwendet werden.
• Alle Bits der Eingangsworte, die nicht als Eingangsbits verwendet werden,
können nicht als Arbeitsmerker verwendet werden.
E/A–Erweiterungsbaugruppe mit 8 Eingängen

8 Eingänge CPM2C-8EDC
Wort (m+1) Bit 00
bis
Wort (m+1) Bit 07

Keine Ausgänge

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Eingänge m+1 Bitte nicht verwenden

E/A–Erweiterungsbaugruppe mit 16 Eingängen

16 Eingänge CPM2C-16EDC
Wort (m+1), Bit 00
bis
Wort (m+1), Bit 15

Keine Ausgänge

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Eingänge m+1

303
E/A–Zuweisung für CPM2C–SPS–Systeme Abschnitt 5-3

E/A–Erweiterungsbaugruppen mit 8 Ausgänge

CPM2C-8ER
Keine Eingänge CPM2C-8ETC
CPM2C-8ET1C

8 Ausgänge
Wort (n+1), Bit 00
bis
Wort (n+1), Bit 07

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Ausgänge n+1

E/A–Erweiterungsbaugruppe mit 16 Ausgängen

CPM2C-16ETC
Keine Eingänge CPM2C-16ET1C

16 Ausgänge
Wort (n+1), Bit 00
bis
Wort (n+1), Bit 15

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00

Ausgänge n+1

E/A–Erweiterungsbaugruppe mit 10 E/A–Anschlüssen

6 Eingänge CPM2C-10EDR
Wort (m+1), Bit 00
bis
Wort (m+1), Bit 05

4 Ausgänge
Wort (n+1), Bit 00
bis
Wort (n+1), Bit 03

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Eingänge m+1 Bitte nicht verwenden
Ausgänge n+1

E/A–Erweiterungsbaugruppe mit 24 E/A–Anschlüssen

16 Eingänge CPM2C-24ETC
Wort (m+1), Bit 00 CPM2C-24ET1C
bis
Wort (m+1), Bit 15

8 Ausgänge
Wort (n+1), Bit 00
bis
Wort (n+1), Bit 07

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Eingänge m+1
Ausgänge n+1

304
E/A–Zuweisung für CPM2C–SPS–Systeme Abschnitt 5-3

5-3-3 Erweiterungsbaugruppen
Baugruppe Modell– E/A Zugewiesene Worte Max. Anzahl der
nummer Baugruppen
Analoge
a oge E/A–Baugruppe
/ aug u e CPM2C-MAD11
C C Eingang 2 Eingänge: m+1, m+2 4
Ausgang 1 Ausgang: n+1
Temperaturfühler–Baugruppe
e eau ü e aug u e C
CPM2C-TS001
C S00 Eingang 2 Eingänge: m+1, m+2 4
CPM2C TS101
CPM2C-TS101 Ausgang ---
Co o us/S /
CompoBus/S–E/A–Link– CPM2C-SRT21
C CS Eingang 1 Eingang: m + 1 5
B
Baugruppe Ausgang 1 Ausgang: n+1

Hinweis 1. “m”: bezeichnet das letzte Eingangswort, das der CPU–Baugruppe oder
der vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zu-
gewiesen wird, falls diese angeschlossen ist.
“n”: bezeichnet das letzte Ausgangswort, das der CPU–Baugruppe oder
der vorhergehenden Erweiterungs– oder E/A–Erweiterungsbaugruppe zu-
gewiesen wird, falls diese angeschlossen ist.
2. Da die CPM2C–MAD11–Analog–E/A–Baugruppe und die CPM2C–
TS001/101–Temperaturfühler–Baugruppe jeweils 2 E/A–Worte benötigen,
können nur vier dieser Baugruppen an die SPS angeschlossen werden.
(Die CPU–Baugruppe selbst benötigt ein Eingangswort und ein Ausgangs-
wort.) Eine andere Baugruppe, wie eine E/A–Erweiterungsbaugruppe oder
CPM2C–SRT21–CompoBus/S–E/A Link–Baugruppe kann jedoch zusätz-
lich zu den 4 Analog–E/A–Baugruppen oder Temperaturfühler–Baugrup-
pen angeschlossen werden.
Analog–E/A–Baugruppe

CPM2C-MAD11
2 Analogeingänge
Eingang 0:
Wort (m+1)
Eingang 1:
Wort (m + 2)

1 analoger
Ausgang
Ausgang 0:
Wort (n + 1)

Temperaturfühler–Baugruppe

CPM2C-TS001/TS101
2 Temperatur–
eingänge
Eingang 0:
Wort (m+1)
Eingang 1:
Wort (m + 2)

Keine Ausgänge

CompoBus/S–E/A–Link–Baugruppe

CPM2C-SRT21
8 Eingangsmerker
Eingang: Wort (m + 1)

8 Ausgangsmerker
Ausgang: Wort (n + 1)

305
E/A–Zuweisung für CPM2C–SPS–Systeme Abschnitt 5-3

Hinweis Eingangsmerker 00 bis 07 in Wort (m+1) sind Ausgänge des Masters. Aus-
gangsmerker 00 bis 07 in Wort (n+1) sind Eingänge des Masters.

5-3-4 Beispiele für die Zuweisung von Erweiterungs– und


E/A–Erweiterungsbaugruppen
Bis zu 5 Erweiterungs– oder E/A–Erweiterungsbaugruppen können mit einer
CPM2C SPS verbunden werden. Ein– und Ausgangsbits werden automatisch
zugewiesen, beginnend mit der CPU–Baugruppe und anschließend die Erwei-
terungs– und E/A–Erweiterungsbaugruppen, in der Reihenfolge, in der sie an-
geschlossen sind. Der Eingangsbereich besteht aus den 10 Worten von IR 000
bis 009 und der Ausgangsbereich aus den 10 Worten von IR 010 bis 019. Ob-
wohl E/A–Bits automatisch zugewiesen werden, ist es erforderlich, sicherzu-
stellen, dass sowohl die Anzahl der Ein– und der Ausgangsworte 10 nicht über-
schreitet. Zum Beispiel benötigen Analog–E/A– und Temperaturfühler–Bau-
gruppen jeweils 2 Eingangsworte; somit ist es nicht möglich, 5 dieser Baugrup-
pen anzuschließen.
Beispiel: CPU–Baugruppe mit 20 Ein–/Ausgängen und zusätzlicher E/A–Erweiterungsbaugruppe
mit 24 E/A
CPU–Baugruppe E/A–Erweiter.–baugrp.
(20 E/A–Anschl.) (24 E/A–Anschlüssen)
12 Eingänge 16 Eingänge
IR 00000 IR 00100
bis IR bis
00011 IR 00115

8 Ausgänge 8 Ausgänge
IR 01000 IR 01100
bis IR bis IR
01007 01107

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000 Bitte nicht verwenden
Eingänge
IR 001
IR 010
Ausgänge
IR 011

306
E/A–Zuweisung für CPM2C–SPS–Systeme Abschnitt 5-3

Beispiel: CPU–Baugruppe mit 20 Ein–/Ausgängen und 5 zusätzlichen


E/A–Erweiterungsbaugruppen mit 24 E/A
E/A–Erweiterungs– E/A–Erweiterungs– E/A–Erweiterungs– E/A–Erweiterungs– E/A–Erweiterungs–
CPU–Baugruppe mit baugruppe baugruppe baugruppe baugruppe baugruppe
20 E/A–Anschlüssen (24 E/A–Anschlüsse) (24 E/A–Anschlüsse) (24 E/A–Anschlüsse) (24 E/A–Anschlüsse) (24 E/A–Anschlüsse)

12 Eingänge 16 Eingänge 16 Eingänge 16 Eingänge 16 Eingänge 16 Eingänge


IR 00000 IR 00100 IR 00200 IR 00300 IR 00400 IR 00500
bis IR bis bis bis bis bis
00011 IR 00115 IR 00215 IR 00315 IR 00415 IR 00515

8 Ausgänge 8 Ausgänge 8 Ausgänge 8 Ausgänge 8 Ausgänge 8 Ausgänge


IR 01000 IR 01100 IR 01200 IR 01300 IR 01400 IR 01500
bis IR bis IR bis IR bis IR bis IR bis IR
01007 01107 01207 01307 01407 01507

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000 Bitte nicht verwenden

IR 001

Eingänge IR 002
IR 003
IR 004
IR 005
IR 010
IR 011

Ausgänge IR 012
IR 013
IR 014
IR 015

Beispiel: Konfiguration, einschließlich E/A–Erweiterungsbaugruppen und einer CompoBus/S–E/A


Link–Baugruppe
E/A–Erweiterungs– E/A–Erweiterungs– E/A–Erweiterungs– E/A–Erweiterungs–
CPU–Baugruppe mit baugruppe baubaugruppe baugruppe baugruppe CompoBus/S–E/A–
20 E/A–Anschlüssen (16 Eingänge) (16 Eingänge) (16 Ausgänge) (16 Ausgänge) Link–Baugruppe

12 Eingänge 16 Eingänge 16 Eingänge 8 Eingangsmerker


IR 00000 IR 00100 IR 00200 IR 00300
bis IR bis bis Keine Eingänge Keine Eingänge bis
00011 IR 00115 IR 00215 IR 00307

8 Ausgänge 16 Ausgänge 16 Ausgänge 8 Ausgangsmerker


IR 01000 IR 01100 IR 01200 IR 01300
bis IR Keine Ausgänge Keine Ausgänge bis bis bis IR
01007 IR 01115 IR 01215 01307

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000 Bitte nicht verwenden
IR 001
Eingänge
IR 002
IR 003 Bitte nicht verwenden

IR 010
IR 011
Ausgänge
IR 012
IR 013

307
E/A–Zuweisung für CPM2C–SPS–Systeme Abschnitt 5-3

Beispiel: Konfiguration, einschließlich Analog–E/A–Baugruppen, Temperaturfühler–Baugruppen


und E/A–Erweiterungsbaugruppe
Analog–E/A– Temperaturfühler– Analog–E/A– Temperaturfühler– E/A–Erweiterungs–
CPU–Baugruppe mit Baugruppe 1 Baugruppen Baugruppe 2 Baugruppe 2 baugrp. (24 E/A)
20 E/A–Anschlüssen CPM2C–MAD11 CPM2C–TS001 CPM2C–MAD11 CPM2C-TS101
12 Eingänge 2 Analogeingänge 2 Temperatur– 2 Analogeingänge 2 Temperatur– 16 Eingänge
IR 00000 Eingang 0: IR 001 eingänge Eingang 0: IR 005 eingänge IR 00900
bis IR Eingang 1: IR 002 Eingang 0: IR 003 Eingang 1: IR 006 Eingang 0: IR 007 bis
00011 Eingang 1: IR 004 Eingang 1: IR 008 IR 00915

8 Ausgänge 1 analoger Ausgang 1 analoger Ausgang 8 Ausgänge


IR 01000 Ausgang: IR 011 Ausgang: Wort 012 IR 01300
bis IR Keine Ausgänge Keine Ausgänge bis IR
01007 01307

Bits 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
IR 000 Bitte nicht verwenden

IR 001 Für Eingang 0 der Analog–E/A–Baugruppe 1 verwendet

IR 002 Für Eingang 1 der Analog–E/A–Baugruppe 1 verwendet


IR 003 Für Eingang 0 der Temperaturfühler–Baugruppe 1 verwendet

Eingänge IR 004 Für Eingang 1 der Temperaturfühler–Baugruppe 1 verwendet

IR 005 Für Eingang 0 der Analog–E/A–Baugruppe 2 verwendet

IR 006 Für Eingang 1 der Analog–E/A–Baugruppe 2 verwendet


IR 007 Für Eingang 0 der Temperaturfühler–Baugruppe 2 verwendet

IR 008 Für Eingang 1 der Temperaturfühler–Baugruppe 2 verwendet


IR 009
IR 010
IR 011 Für den Ausgang von Analog–E/A–Baugruppe 1 verwendet
Ausgänge
IR 012 Für den Ausgang von Analog–E/A–Baugruppe 2 verwendet
IR 013

308
Kapitel 6
Kontaktplan–Programmierung
Dieses Kapitel enthält eine Einführung in die Grundbegriffe der Kontaktplan–Programmierung. Es stellt die Befehle vor, die
dazu verwendet werden, die Basisstruktur des Kontaktplans zu erstellen und die Ausführung zu steuern. Der vollständige
Befehlssatz wird in Kapitel 7 Befehlssatz beschrieben.

6-1 Generelle Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310


6-2 Befehlsterminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
6-3 Kontaktplanstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
6-3-1 Basis–Begriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
6-3-2 AWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
6-3-3 Kontaktplanbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
6-3-4 OUTPUT und OUTPUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
6-3-5 Der END–Befehl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
6-3-6 Logikblock–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
6-3-7 Programmierung mehrerer Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
6-3-8 Strompfad–Verzweigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
6-3-9 Sprungbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
6-4 Steuerung des Bitzustands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
6-4-1 SET und RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
6-4-2 DIFFERENTIATE UP– und DIFFERENTIATE DOWN
(Flankengesteuerte Ausführung) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
6-4-3 KEEP (Bistabiles Flip–Flop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
6-4-4 Selbsthaltemerker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
6-5 Arbeitsmerker (interne Relais) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
6-6 Vorsichtsmaßnahmen bei der Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
6-7 Programmausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336

309
Generelle Vorgehensweise Abschnitt 6-1

6-1 Generelle Vorgehensweise


Es gibt einige grundsätzliche Schritte, die beim Erstellen eines Programms be-
achtet werden müssen. Im Anhang D E/A–Zuweisungs–Formblatt und Anhang
E Programm–Code–Formblatt sind Formblätter vorbereitet, die eine Hilfestel-
lung beim Programmieren bieten.
1, 2, 3... 1. Erstellen Sie eine Liste aller E/A–Geräte mit zugeordneten Ein–/Ausgän-
gen und fertigen Sie eine Tabelle an, in der jedem E/A–Gerät die entspre-
chenden E/A–Bits zugewiesen werden.
2. Falls Sie LR–Bits für die Link–Verbindung zweier SPS verwenden möch-
ten, sollten Sie auch hierfür ein entsprechendes Formblatt anfertigen, dass
die entsprechenden Zuweisungen enthält.
3. Ermitteln Sie, welche Worte für Arbeitsmerker verfügbar sind und fertigen
Sie eine entsprechende Tabelle an, aus der Sie die Zuweisungen jederzeit
entnehmen können.
4. Ferner schlagen wir vor, dass Sie bei der Programmiervorbereitung Tabel-
len mit TC– und Sprungnummern erstellen. Bedenken Sie dabei, dass die
Sprungnummern 01 bis 99 jeweils nur einmal verwendet werden können.
(Sehen Sie für weitere Information zur TC–Nummer den Abschnitt 7-15
Zeitgeber– und Zählerbefehle; Sprungnummern werden nachfolgend er-
läutert).
5. Erstellen Sie den Kontaktplan.
6. Geben Sie das Programm in die CPU ein. Falls Sie hierfür eine Program-
mierkonsole verwenden, so arbeitet diese in AWL.
7. Überprüfen Sie das Programm auf Syntaxfehler und korrigieren Sie diese.
8. Starten Sie das Programm, um es auf Ausführungsfehler zu überprüfen
und korrigieren Sie diese ggf.
9. Ist das vollständige Steuerungssystem nach Installation betriebsbereit,
sollten Sie das Programm starten und noch eventuell erforderliche Feinab-
stimmungen vornehmen.
Die Grundlagen der Kontaktplan– und AWL–Programmierung werden in Ab-
schnitt 6-3 Kontaktplan–Grundlagen erläutert. Beschreibungen der Programm-
vorbereitung und –eingabe über die Programmierkonsole finden Sie in den
Technischen Handbüchern der SPS–Systeme der C–Serie CPM1, CPM1A,
CPM2A, CPM2C und SRM1.
Am Ende dieses Kapitels 6 werden fortgeschrittene Programmierfunktionen,
Vorsichtsmaßnahmen beim Programmieren und die Programmausführung er-
läutert. Eine vollständige Darstellung aller Sonderfunktions–Befehle finden Sie
in Kapitel 7 Befehlssatz. Sehen Sie die technischen Handbücher der CPM1,
CPM1A, CPM2A, CPM2A, CPM2C und SRM1–Master–Baugruppe für weitere
Informationen zur Eingabe von Befehlen über die Programmierkonsole und
CX–P in SPS–Systeme der C–Serie. Kapitel 9 Fehlersuche enthält Informatio-
nen zur Fehlersuche.

310
Befehlsterminologie Abschnitt 6-2

6-2 Befehlsterminologie
Bei der Kontaktplan–Programmierung gibt es zwei Befehlsarten. Befehle der ei-
nen entsprechen den Bedingungen im Kontaktplan und werden nur bei der Pro-
grammkonvertierung in AWL als Befehle angesehen; die andere umfasst Be-
fehle, die letztendlich entsprechend den Bedingungen im Kontaktplan ausge-
führt werden.
Die meisten Befehle besitzen mindestens einen oder mehrere Operanden, mit
denen sie verknüpft sind. Die Operanden weisen auf Daten hin bzw. übergeben
diese, mit denen der Befehl ausgeführt wird. Gelegentlich können sie als echte
numerische Werte eingegeben werden. Gewöhnlich handelt es sich aber um
Adressen von Datenbereichs–Worten oder Bits. Zum Beispiel verschiebt ein
MOVE–Befehl, dem IR 000 als Quellenoperand zugewiesen ist, den Inhalt von
IR 000 auf eine andere Adresse. Diese Zieladresse ist ebenfalls über ein Ope-
rand festgelegt. Ein Bit, dessen Adresse als Operand gekennzeichnet ist, heißt
Operandenbit; ein Wort, dessen Adresse als Operand gekennzeichnet ist, heißt
Operandenwort. Wird ein echter numerischer Wert als Konstante eingegeben,
wird ein # vorangestellt, um kenntlich zu machen, dass es sich nicht um eine
Adresse handelt.
Weitere Termini zur Befehlsbeschreibung finden Sie in Kapitel 7 Befehlssatz.

6-3 Kontaktplanstruktur
Ein Kontaktplan besteht aus einer auf der linken Seite vertikal nach unten lau-
fenden Linie, der Stromschiene, von der nach rechts horizontale Linien, die
Netzwerke, abzweigen. Entlang der Netzwerke sind die Bedingungen aufge-
führt, die zu den Befehlen auf der rechten Seite führen. Die logische Verknüfung
dieser Bedingungen bestimmt wann und wie die Befehle auf der rechten Seite
ausgeführt werden. Nachfolgend sehen Sie ein Kontaktplanbeispiel.

00000 20000 25208 HR 0109 LR 0003 20001 20002


Befehl

00001 00501 00502 00503 00504

00100 00002 00003 HR 0500 00007 TIM 001 LR 0515 00403 00405
Befehl

00010 21001 21002

00011 21005 21007

Wie aus dieser Zeichnung ersichtlich ist, können die Strompfade verzweigen
und wieder zusammengeführt werden. Die vertikalen Linienpaare heißen Be-
dingungen. Bedingungen mit vertikalen Linien ohne eine Diagonale repräsen-
tieren die Schließer–Bedingung und entsprechen einem LOAD–, AND– oder
OR–Befehl. Paarweise vertikale Linien mit einer Diagonalen repräsentieren die
Öffner–Bedingung und entsprechen einem LOAD NOT–, AND NOT– oder OR
NOT–Befehl. Die Ziffer oberhalb der Bedingungen zeigt das Operandenbit für
den Befehl. Es ist der Zustand des Bits in Zusammhang mit jeder Bedingung auf
dem Strompfad, der die Ausführungsbedingung für den nachfolgenden Befehl
bestimmt. Die Art und Weise der Ausführung jedes Befehls entsprechend einer
Bedingung wird nachfolgend beschrieben. Bevor wir diese jedoch beachten,
gibt es einige zu erläuternde Basisbegriffe.
Hinweis Beim Anzeigen von Kontaktplänen mit CX–P wird (wahlweise) eine zweite
Stromschiene rechts auf dem Kontaktplan angezeigt, die mit allen Anweisun-
gen an deren rechter Seite verbunden ist. Dies ändert nicht an der Kontaktplan–
Programmausführung im funktionalen Sinn. Keine Bedingungen können zwi-

311
Kontaktplanstruktur Abschnitt 6-3

schen den Befehlen auf der rechten Seite und der rechten Stromschiene einge-
fügt werden, d.h. es müssen alle Befehle auf der rechten Seite direkt mit der
rechten Stromschiene verbunden werden. Sehen Sie bitte das CX–P–Bedie-
nerhandbuch: SPS der C–Serie für weitere Einzelheiten.

6-3-1 Basis–Begriffe
Schließer– und Abhängig von dem ihr zugewiesenen Operandenbit hat jede Bedingung entwe-
Öffner–Bedingungen der den Status EIN oder AUS. Eine Schließer–Bedingung ist EIN, wenn das
Operandenbit GESETZT ist. Eine Öffner–Bedingung ist EIN, wenn das Operan-
denbit NICHT GESETZT ist; sie ist AUS, wenn das Operandenbit GESETZT ist.
Allgemein sollte eine Schließer–Bedingung verwendet werden, wenn etwas in
Folge des Bitzustands GESETZT geschehen soll. Eine Öffner–Bedingung
sollte verwendet werden, wenn etwas in Folge des Bitzustands NICHT GE-
SETZT geschehen soll.

00000
Befehl
Der Befehl wird ausgeführt,
wenn IR Bit 00000
Schließer– GESETZT ist.
Bedingung
00000
Befehl
Der Befehl wird ausgeführt,
wenn IR Bit 00000 NICHT
Öffner– GESETZT ist.
Bedingung

Ausführungsbedingungen In der Kontaktplan–Programmierung bestimmt die logische Verknüpfung der


EIN– und AUS–Bedingungen vor einem Befehl die zusammengesetzte Bedin-
gung, unter der der Befehl ausgeführt wird. Diese Bedingung, die entweder EIN
oder AUS ist, wird Ausführungsbedingung genannt. Alle Befehle, mit Ausnahme
der LOAD–Befehle, besitzen Ausführungsbedingungen.

Operandenbits Jedem Befehl im Kontaktplan kann jedes Bit aus den IR–, SR–, HR–, LR– oder
TC–Bereichen als Operand zugewiesen werden. Das bedeutet, dass die Bedin-
gungen im Kontaktplan über E/A–Bits, Merker, Arbeitsmerker, Zeitgeber/Zähler
usw. bestimmt werden. Die LOAD– und OUTPUT–Befehle können darüber hin-
aus Bits aus dem TR–Bereich verwenden; jedoch nur in besonderen Applikatio-
nen. Sehen Sie für weitere Informationen Abschnitt 6-3-8 Verzweigungsbe-
fehle.

Logische Blöcke Das Verhältnis der Bedingungen untereinander legt fest, wie Bedingungen und
Befehle miteinander korrespondieren. Jede Gruppe von Bedingungen, die im
Zusammenwirken ein logisches Ergebnis erzeugt, wird logischer Block ge-
nannt. Obwohl Kontaktplanprogramme geschrieben werden können, ohne den
jeweiligen logischen Block zu analysieren, ist ein Verständnis des logischen
Blocks für effizientes Programmieren notwendig und unabdingbar, wenn das
Programm als AWL erstellt werden soll.

Befehlsblock Ein Befehlsblock besteht aus allen Befehlen, die innerhalb des Kontaktplans
miteinander im Verbindung stehen, umfasst also die Befehle, zwischen denen
eine waagerechte Line quer über den Kontaktplan gezogen werden kann, ohne
eine senkrechte Line zu schneiden und den nächsten Bereich, in dem eine
gleichartige Linie gezogen werden kann.

6-3-2 AWL
Der Kontaktplan kann nicht unmittelbar über eine Programmierkonsole in die
SPS eingegeben werden. Vielmehr ist es notwendig, den Kontaktplan zunächst
in die AWL zu konvertieren. Die AWL beinhaltet exakt die gleichen Informatio-
nen wie der Kontaktplan, kann jedoch direkt in die SPS eingegeben werden. Es
kann auch direkt in AWL programmiert werden; dies ist jedoch für Anfänger oder
bei der Erstellung komplexer Programme nicht empfehlenswert. Darüberhinaus

312
Kontaktplanstruktur Abschnitt 6-3

wird unabhängig davon, mit welchem Gerät (PC/AT, Programmierkonsole) pro-


grammiert wurde, das Programm selbst als AWL im Speicher abgelegt, so daß
es unabdingbar ist, die AWL zu verstehen.
Basierend auf der Bedeutung der Programmierkonsole als Programmiergerät
und der Wichtigkeit eines umfassenden Verständnisses der AWL wird diese an-
hand des folgenden Kontaktplans erläutert. Die AWL ist nicht erforderlich, wenn
Sie das Programm über den CX–P eingeben (obwohl Sie die AWL mit dem
CX–P verwenden können, wenn Sie dies vorziehen).

Programmspeicher– Das Programm belegt im Programmspeicher entsprechende Adressen. Adres-


Struktur sen des Programmspeichers unterscheiden sich von denen anderer Speicher-
bereiche, da sich auf jeder Adresse nicht notwendigerweise die gleiche Anzahl
von Daten befindet. Vielmehr befinden sich auf jeder Adresse die von einem Be-
fehl benötigten Definitionen und Operanden (wird nachfolgend ausführlicher
beschrieben) gespeichert. Da einige Befehle keine, andere jedoch bis zu drei
Operanden erfordern, können ein bis zu vier Worte der Programmspeicher–
Adressen belegt sein.
Programmspeicher–Adressen beginnen bei 00000 und setzen sich bis zur Ka-
pazitätsgrenze des Programmspeichers fort. Das erste Wort auf jeder Adresse
bestimmt den Befehl. Alle vom Befehl verwendeten Zuweiser sind ebenfalls in
diesem ersten Wort enthalten. Auch wenn ein Befehl nur einen einzigen Bitope-
randen (ohne Zuweiser) benötigt, wird dieser in der gleichen Zeile wie der Be-
fehl programmiert. Die übrigen Worte, die für den Befehl erforderlich sind, bein-
halten die Operanden, die angeben, welche Daten verwendet werden. Bei der
AWL werden alle Befehle im gleichen Format gespeichert; nämlich ein Wort pro
Zeile und zwar in der Reihenfolge der Kontaktplan–Symbole. Die nachfolgende
Tabelle zeigt ein Beispiel für die AWL. Die darin verwendeten Befehle werden in
anderen Kapiteln des Handbuches erläutert.

Adresse Befehl Operanden


00000 LD HR 0001
00001 AND 00001
00002 OR 00002
00003 LD NOT 00100
00004 OR 00101
00005 AND LD
00006 MOV (21)
000
DM 0000
00007 CMP (20)
DM 0000
HR 00
00008 AND 25505
00009 OUT 20000
00010 MOV (21)
DM 0000
DM 0500
00011 LD 00502
00012 AND 00005
00013 OUT 20001

In die Adressen– und Befehlsspalten der AWL–Tabelle werden nur Daten des
Befehlsworts eingetragen. In allen anderen Zeilen bleiben die beiden linken
Spalten frei. Sollte der Befehl keinen Zuweiser oder Bit–Operanden benötigen,
bleibt die Operanden–Spalte in der ersten Zeile leer. Es wird empfohlen, jede
leere Spalte (alle Befehlsworte, die keine Daten benötigen) durchzustreichen,
so daß die Datenspalte schnell auf eventuell ausgelassene Operanden über-
prüft werden kann.

313
Kontaktplanstruktur Abschnitt 6-3

Die Programmadressen müssen während der Programmierrung nicht eingege-


ben werden, sondern werden automatisch fortlaufend angezeigt. Eine dezi-
dierte Eingabe ist jedoch möglich, wenn aus irgendeinem Grund für den Befehl
eine bestimmte Programmadresse gewünscht wird. Bei der Konvertierung in
AWL sollte mit der Programmadresse 00000 begonnen werden, es sei denn,
dass aus besonderen Gründen eine andere Start–Programmadresse sinnvoll
erscheint.

6-3-3 Kontaktplanbefehle
Kontaktplanbefehle sind jene Befehle, die die Bedingungen des Kontaktplans
darstellen. Die Kontaktplanbefehle selbst bzw. in Verbindung mit den im wei-
teren erläuterten Befehlsblöcken gestalten die Ausführungsbedingungen, auf
denen die Ausführung aller anderen Befehle beruht.

LOAD und LOAD NOT Diese erste Bedingung steht im Kontaktplan am Anfang eines jeden logischen
Blocks und entspricht dem LOAD bzw. LOAD NOT–Befehl. Jeder dieser Be-
fehle benötigt in der AWL eine Zeile. Im nachfolgenden Beispiel wird “Befehl” als
Platzhalter für alle anderen in folgenden Kapiteln des Handbuch erläuterten Be-
fehle verwendet.

00000

Adresse Befehl Operanden


LOAD–Befehl
00000 LD 00000
00000 00001 Befehl
00002 LD NOT 00000
LOAD NOT–BEFEHL 00003 Befehl

Ist in dem Strompfad nur eine einzige Bedingung vorhanden, ist die Ausfüh-
rungsbedingung für den Befehl WAHR, wenn die Bedingung EIN ist. Für den
LOAD–Befehl (d.h. eine Schließer–Bedingung) wäre die Ausführungsbedin-
gung WAHR, wenn IR 00000 GESETZT ist; für den LOAD–NOT–Befehl (d.h.
eine Öffner–Bedingung) wäre sie WAHR, wenn IR 00000 NICHT GESETZT ist.

AND und AND NOT Folgen zwei oder mehr Bedingungen in einem Strompfad aufeinander, ent-
spricht die erste dem LOAD oder LOAD NOT–Befehl und die übrigen den AND–
und AND NOT–Befehlen. Das nachfolgende Beispiel zeigt drei Bedingungen,
welche in der Reihenfolge von links nach rechts einem LOAD–, einem AND
NOT und einem AND–Befehl entsprechen. Wiederum benötigt jeder dieser Be-
fehle in der AWL eine Zeile.

00000 00100 LR 0000


Befehl

Adresse Befehl Operanden


00000 LD 00000
00001 AND NOT 00100
00002 AND LR 0000
00003 Befehl

Die Ausführungsbedingung des Befehls würde nur dann WAHR sein, wenn alle
drei Bedingungen WAHR sind, d.h. wenn IR 00000 auf EIN, IR 00100 auf AUS
und LR 0000 auf EIN gesetzt sind.
Aufeinanderfolgende AND–Befehle können einzeln betrachtet werden, wobei
jeweils die logische AND–Verknüpfung der Ausführungsbedigung (d.h. die Ge-
samtheit aller Bedingungen bis zu diesem Punkt) und der Zustand des dem
AND–Befehl zugeordneten Operandenbits zu beachten ist. Falls beide den Zu-
stand WAHR aufweisen, folgt hieraus eine WAHR–Ausführungsbedingung mit
dem Zustand WAHR für den nächsten Befehl. Falls irgendeine Bedingung

314
Kontaktplanstruktur Abschnitt 6-3

FALSCH ist, ist das Gesamtergebnis ebenfalls AUS. Die Ausführungsbedin-


gung für den ersten AND–Befehl in einer Befehlsfolge ist die erste Bedingung
für den Strompfad.
Jeder von mehreren aufeinanderfolgenden AND NOT–Befehlen verfügt zwi-
schen der Ausführungsbedingung und dem invertierten Operandenbit über eine
logische AND–Verknüpfung.

OR und OR NOT Liegen zwei oder mehr Bedingungungen auf verschiedenen parallel zueinander
verlaufenden Strompfaden, die dann zusammengeführt werden, entspricht die
erste Bedingung einem LOAD oder LOAD NOT–Befehl, die übrigen Bedingun-
gen einem OR oder OR NOT–Befehl. Das nachfolgende Beispiel zeigt drei Be-
dingungen, die in ihrer Reihenfolge von oben nach unten einem LOAD NOT–,
OR NOT– und OR–Befehl entsprechen. Wiederum benötigt jeder dieser Be-
fehle in der AWL eine Zeile.

00000
Befehl

00100

LR 0000

Adresse Befehl Operanden


00000 LD NOT 00000
00001 OR NOT 00100
00002 OR LR 0000
00003 Befehl

Die Ausführungsbedingung des Befehls ist WAHR, wenn irgendeine der drei
Bedingungen WAHR ist, d.h. wenn IR 00000 NICHT GESETZT ist, IR 00100
NICHT GESETZT ist und LR 0000 GESETZT ist.
OR– und OR NOT–Befehle können einzeln betrachtet werden, wobei jeweils
die logische OR–Verknüpfung zwischen der Ausführungsbedingung und dem
Status des dem OR–Befehl zugeordneten Operandenbits zu beachten ist. Ist
eine der Bedingungen WAHR, folgt hieraus eine WAHR–Ausführungsbedin-
gung mit dem Zustand WAHR für den nächsten Befehl.

Verknüpfung von AND– und Sollen in einem komplizierteren Kontaktplan AND– und OR–Befehle miteinan-
OR–Befehlen der verknüpft werden, können sie im Einzelfall einzeln betrachtet werden, wobei
jeder Befehl eine logische Folge für die Ausführungsbedingung und das Ope-
randenbit bewirkt. Das folgende Beispiel veranschaulicht, dass der Kontaktplan
und die AWL der gleichen Logik folgen.

00000 00001 00002 00003


Befehl

00200

Adresse Befehl Operanden


00000 LD 00000
00001 AND 00001
00002 OR 00200
00003 AND 00002
00004 AND NOT 00003
00005 Befehl

315
Kontaktplanstruktur Abschnitt 6-3

Hier bestimmt die AND–Verknüpfung zwischen dem Zustand von IR 00000 und
IR 0001 die Ausführungsbedingung für OR mit dem Zustand von IR 00200. Das
Ergebnis bestimmt die Ausführungsbedingung für ein AND mit dem Status von
IR 00002, welches wiederum die Ausführungsbedingung für ein AND mit dem
invertierten (d.h. und AND NOT) Zustand von IR 00003 festlegt.
In komplizierteren Kontaktplänen ist es jedoch notwendig, sich mit den logi-
schen Blöcken auseinanderzusetzen, bevor die Ausführungsbedingung für den
endgültigen Befehl ermittelt werden kann. Hier werden die Befehle AND LOAD
und OR LOAD benötigt. Nachfolgend sollen aber zunächst die Befehle erläutert
werden, die für ein einfaches Programms erforderlich sind.

6-3-4 OUTPUT und OUTPUT NOT


Die einfachste Art der Ergebnissausgabe von miteinander verknüpften Ausfüh-
rungsbedingungen ist die Verwendung der Befehle OUTPUT und OUTPUT
NOT. Diese Befehle steuern den Zustand des gekennzeichneten Operanden-
bits entsprechend der Ausführungsbedingung. Mit dem OUTPUT–Befehl wird
das Operandenbit, wenn und solange die Ausführungsbedingung WAHR ist,
gesetzt und, wenn und solange die Ausführungsbedingung FALSCH ist, rück-
gesetzt. Mit dem OUTPUT NOT–Befehl wird das Operandenbit, wenn und so-
lange die Ausführungsbedingung FALSCH ist, gesetzt und, wenn und solange
die Ausführungsbedingung WAHR ist, zurückgesetzt. Dies ist nachfolgend dar-
gestellt. Wie nachstehend dargestellt, erfordert jeder dieser Befehle in der AWL
eine Zeile.

00000 Adresse Befehl Operanden


01000
00000 LD 00000
00001 OUT 01000
00001
01001 Adresse Befehl Operanden
00000 LD 00001
00001 OUT NOT 01001

Im obigem Beispiel ist IR 01000 solange EIN, wie IR 00000 EIN ist und IR 01001
ist solange AUS, wie IR 00001 EIN ist. IR 00000 und IR 00001 sind hier Ein-
gangsbits und IR 01000 und IR 01001 Ausgangsbits, die der CPU–Baugruppe
zugewiesen sind. Dies bedeutet, dass die Signale, die an den Eingängen der
zugewiesenen IR 0000 und IR 00001 anliegen, die Ausgänge steuern, denen IR
01000 und IR 01001 zugewiesen sind.
Die Zeit, in der ein Bit gesetzt oder nicht gesetzt ist, kann durch Verknüpfung der
OUTPUT und OUTPUT NOT–Befehle mit einem Zeitgeber–Befehl gesteuert
werden. Sehen Sie für weitere Informationen Kapitel 7-15-1 Zeitgeber – TIM.

316
Kontaktplanstruktur Abschnitt 6-3

6-3-5 Der END–Befehl


Der letzte Befehl in einem einfachen Programm ist der END–Befehl. Wenn die
CPU das Programm durchläuft, führt sie alle Befehle bis zum ersten END–Be-
fehl aus, bevor sie zum Programmanfang zurückkehrt und mit der Ausführung
von vorn beginnt. Zum Austesten eines Programms kann der END–Befehl an
beliebiger Stelle des Programms eingefügt werden, mit der Folge, dass alle Be-
fehle im Programm nach dem END–Befehl nicht ausgeführt werden. Die Ziffer,
die in der AWL hinter dem END–Befehl steht, ist der Funktions–Code, der zur
Eingabe der meisten Befehle in die SPS benötigt wird. Dieser Funktions–Code
wird in nachfolgenden Abschnitten im Handbuch beschrieben. Der END–Befehl
erfordert keinen Operanden und läßt sich nicht mit Ausführungsbedingungen
verknüpfen.

00000 00001
Befehl

END(01)
Programmende

Adresse Befehl Operanden


00500 LD 00000
00501 AND NOT 00001
00502 Befehl
00503 END(01) ---

Ein Programm ohne END–Befehl kann nicht ausgeführt werden.


Jetzt sind Ihnen alle Befehle bekannt, die erforderlich sind, um einfache Ein–/
Ausgabe–Programme zu schreiben. Bervor die Eingabe des Programms in die
SPS beschrieben wird, sollen noch einige Grundsätze bzgl. logischer Blöcke er-
läutert werden.

6-3-6 Logikblock–Befehle
Logikblock–Befehle entsprechen nicht etwa bestimmten Bedingungen in dem
Kontaktplan, sondern beschreiben vielmehr die Beziehungen der logischen
Blöcke untereinander. Der AND LOAD–Befehl führt eine logische UND–Ver-
knüpfung der von zwei logischen Blöcken erzeugten Ausführungsbedingungen
durch, während der OR LOAD–Befehl diese Ausführungsbedingungen durch
ODER verknüpft.

AND LOAD Obwohl auf den ersten Blick einfach strukturiert, erfordert der nachstehende
Kontaktplan doch einen AND LOAD–Befehl.

00000 00002
Befehl

00001 00003

Adresse Befehl Operanden


00000 LD 00000
00001 OR 00001
00002 LD 00002
00003 OR NOT 00003
00004 AND LD ---

317
Kontaktplanstruktur Abschnitt 6-3

Die beiden logischen Blöcke sind durch gestrichelte Linien gekennzeichnet.


Das Beispiel verdeutlich, dass die Ausführungsbedingung WAHR ist, wenn eine
der Bedingungen im linken logischen Block WAHR ist (also entweder IR 00000
oder IR 00001 gesetzt ist) und eine der Bedingungen im rechten logischen Block
WAHR ist (also entweder IR 00002 EIN oder IR 00003 AUS ist).
Nur mit den AND– und OR–Befehlen läßt sich der obenstehende Kontaktplan
nicht in eine AWL konvertieren. Der Versuch einer AND–Verknüpfung zwischen
IR 00002 und den Ergebnissen der OR–Verknüpfung zwischen IR 00000 und IR
00001 misslingt, denn dann wird die OR NOT–Verknüpfung zwischen IR 00002
und IR 00003 gelöscht und OR NOT steht schlußendlich als OR NOT–Verknüp-
fung zwischen IR 0003 und dem Ergebnis der AND–Verknüfung zwischen IR
00002 und dem ersten OR. Benötigt wird vielmehr ein unabhängiges OR (NOT)
mit einer folgenden Möglichkeit der Verknüpfung der Ergebnisse.
Um dies zu erreichen, besteht die Möglichkeit, den LOAD– bzw. LOAD NOT–
Befehl zwischen den logischen Blöcken in dem Strompfad zu verwenden. Das
bewirkt, dass die aktuelle Ausführungsbedingung in einem besonderen Puffer
gespeichert und der logische Prozeß dieses Ergebnisses zunächst übergangen
wird. Die Verknüpfung dieser zwischengespeicherten und zunächst “nicht ver-
wendeten” Ausführungsbedingung mit der dann aktuellen Ausführungsbedin-
gung erfolgt mit den AND LOAD– und OR LOAD–Befehlen. Hier bezieht sich
“LOAD” auf das Laden der letzten, nicht verwendeten Ausführungsbedingung.
Eine in diesem Sinne nicht verwendete Ausführungsbedingung wird durch die
LOAD– oder LOAD NOT–Befehle für jede, außer der ersten Bedingung auf dem
Strompfad erzeugt.
Betrachtet man den obigen Kontaktplan unter dem Gesichtspunkt der AWL–Be-
fehle, so ist die Bedingung für IR 00000 ein LOAD–Befehl und die anschlie-
ßende Bedingung ein OR–Befehl hinsichtlich des Zustands von IR 00000 und
des von IR 00001. Die Bedingung für IR 00002 ist ein weiterer LOAD–Befehl und
die anschließende Bedingung ist ein OR NOT–Befehl; dies bedeutet eine OR–
Verknüpfung zwischen dem Zustand von IR 00002 und dem invertierten Zu-
stand von IR 00003. Um die endgültige Ausführungsbedingung für den Befehl
zu ermitteln, wird das logische AND–Ergebnis der beiden aus den logischen
Blöcken resultierenden Ausführungsbedingungen gebildet, was im Beispielfall
AND LOAD ist. AND LOAD führt dies aus. Die AWL ist unter dem Kontaktplan
dargestellt. Der AND LOAD–Befehl erfordert keinen eigenen Operanden, weil
er mit der zuvor ermittelten Ausführungsbedingung verknüpft ist. Auch hier wer-
den Striche dazu verwendet, anzuzeigen, dass keine Operandenzuweisung
oder kein Eingang erforderlich ist.

OR LOAD Im nachfolgenden Kontaktplan ist ein OR LOAD–Befehl zwischen dem oberem


und unteren logischen Block erforderlich. Die Ausführungsbedingung für den
Befehl ist WAHR, wenn entweder IR 00000 EIN und IR 0001 AUS ist oder wenn
IR 00002 und IR 00003 EIN sind. Die Behandlung des OR LOAD–Befehls in der
AWL ist identisch mit der des AND LOAD–Befehls, mit dem Unterschied, dass
die aktuelle Ausführungsbedingung und die vorherige nicht verwendete Ausfüh-

318
Kontaktplanstruktur Abschnitt 6-3

rungsbedingung mit einer Oder–Verknüpfung zueinander in Beziehung gesetzt


werden.

00000 00001
Befehl

00002 00003

Adresse Befehl Operanden


00000 LD 00000
00001 AND NOT 00001
00002 LD 00002
00003 AND 00003
00004 OR LD ---

Selbstverständlich müssen in manchen Kontaktplänen sowohl die AND LOAD–


als auch die OR LOAD–Befehle verwendet werden.

Logikblock–Befehle in Serie Um Kontaktpläne mit aufeinanderfolgenden Logikblock–Befehlen einzugeben


muss zunächst eine Aufgliederung des Plans in logische Blöcke erfolgen. In je-
dem Block ist die erste Bedingung mit einem LOAD–Befehl zu programmieren
und mit AND LOAD und OR LOAD werden die Blöcke dann logisch miteinander
verknüpft. Letzteres kann auf zwei Arten erreicht werden. Entweder wird der er-
ste Logikblock–Befehl nach den ersten beiden Blöcken programmiert und dann
mit den einzelnen Blöcken fortgefahren oder jeder Block wird unter Verwendung
von LOAD oder LOAD NOT einzeln eingegeben und dann die Logikblock–Be-
fehle programmiert, die die Blöcke untereinander verknüpfen. Bei der zweiten
Methode müssen die Befehle für die letzten beiden Blöcke zuerst verknüpft wer-
den und dann erfolgt eine Verknüpfung mit dem jeweils vorhergehenden Block
bis zum Anfang. Obwohl mit beiden Methoden die gleichen Ergebnisse erzielt
werden können, kann die zweite nur verwendet werden, wenn höchstens sie-
ben Logikblock–Befehle erforderlich sind. Mit der ersten Methode kann eine be-
liebige Anzahl von Blöcken verknüpft werden.
Im folgenden Kontaktplan ist ein AND LOAD–Befehl für die Konvertierbarkeit in
die AWL erforderlich, da drei Parallelbedingungen paarweise in Reihe geschal-
tet sind. Die Programmierung der Programme ist ebenfalls dargestellt:

00000 00002 00004


20000

00001 00003 00005

Adresse Befehl Operanden Adresse Befehl Operanden


00000 LD 00000 00000 LD 00000
00001 OR NOT 00001 00001 OR NOT 00001
00002 LD NOT 00002 00002 LD NOT 00002
00003 OR 00003 00003 OR 00003
00004 AND LD — 00004 LD 00004
00005 LD 00004 00005 OR 00005
00006 OR 00005 00006 AND LD —
00007 AND LD — 00007 AND LD —
00008 OUT 20000 00008 OUT 20000

Auch hier können mit der Methode auf der rechten Seite maximal acht Blöcken
verbunden werden. Es gibt keine Grenze der Anzahl der Blöcke, die mit der er-
sten Methode verknüpft werden können.

319
Kontaktplanstruktur Abschnitt 6-3

Im folgenden Kontaktplan ist OR LOAD erforderlich, da drei Bedingungspaare


in Reihe parallel zueinander geschaltet sind.

00000 00001
20001

00002 00003

00004 00005

Mit LOAD wird die erste Bedingung eines Paares samt zugewiesenem Operan-
den kodiert und dann mit der anderen AND–Bedingungen verknüpft. Die beiden
ersten Blöcke werden zuerst codiert, gefolgt von einem OR LOAD, dem letzten
Block und einem OR LOAD. Bei der zweiten Methode werden alle drei Blöcke
gefolgt von zwei OR LOADs kodiert. Beide AWL–Varianten sind nachfolgend
dargestellt.

Adresse Befehl Operanden Adresse Befehl Operanden


00000 LD 00000 00000 LD 00000
00001 AND NOT 00001 00001 AND NOT 00001
00002 LD NOT 00002 00002 LD NOT 00002
00003 AND NOT 00003 00003 AND NOT 00003
00004 OR LD – 00004 LD 00004
00005 LD 00004 00005 AND 00005
00006 AND 00005 00006 OR LD –
00007 OR LD – 00007 OR LD –
00008 OUT 20001 00008 OUT 20001

Auch hier können mit der Methode auf der rechten Seite maximal acht Blöcken
verbunden werden. Es gibt keine Grenze der Anzahl der Blöcke, die mit der er-
sten Methode verknüpft werden können.

Verknüpfen von AND LOAD Sollen AND LOAD und OR LOAD miteinander verknüpft werden, können, so-
und OR LOAD lange es sich nicht um mehr als acht Blöcke handelt, beide oben dargestellten
Programmiermethoden verwendet werden.
Der nachfolgende Kontaktplan enthält lediglich zwei logische Blöcke. Es ist
nicht notwendig, Block b weiter zu unterteilen, da problemlos mit AND und OR
programmiert werden kann.

00000 00001 00002 00003


20001

00201

00004

Block Block
a b

Adresse Befehl Operanden


00000 LD 00000
00001 AND NOT 00001
00002 LD 00002
00003 AND 00003
00004 OR 00201
00005 OR 00004
00006 AND LD –
00007 OUT 20001

320
Kontaktplanstruktur Abschnitt 6-3

Obwohl der folgende Kontaktplan dem vorhergehenden sehr ähnlich ist, muss
Block b hier in zwei logische Blöcke aufgegliedert werden, die mit OR LOAD mit-
einander zu verknüpfen sind. In diesem Beispiel wurden die drei Blöcke zuerst
kodiert. Dann wurden mit OR LOAD die letzten beiden Blöcke verknüpft, gefolgt
von AND LOAD, um die von OR LOAD erzeugte Ausführungsbedingung mit der
Ausführungsbedingung von Block a zu verknüpfen.
Bei der Programmierung der Logikblock–Befehle am Ende der Logikblöcke, die
diese verbinden, müssen die Befehle, wie nachfolgend gezeigt wird, in umge-
kehrter Reihenfolge programmiert werden, d.h. der Logikblock–Befehl für die
letzten zwei Blöcke wird zuerst eingegeben, gefolgt von der Ausführungsbedin-
gung, die aus dem ersten Logikblock–Befehl resultiert und der Ausführungsbe-
dingung des 3. Logikblockes vom Ende aus und zurück zum ersten zu verknüp-
fenden Logikblock.

Block
b1

00000 00001 00002 00003


20002

00004 00202

Block
b2

Block Block
a b

Adresse Befehl Operanden


00000 LD NOT 00000
00001 AND 00001
00002 LD 00002
00003 AND NOT 00003
00004 LD NOT 00004
00005 AND 00202
00006 OR LD –
00007 AND LD –
00008 OUT 20002

Komplexe Kontaktpläne Um zu ermitteln, welche Logikblock–Befehle erforderlich sind, um einen Kon-


taktplan zu programmieren, ist es manchmal notwendig, den Kontaktplan in zu-
nächst größere und dann immer kleinere Blöcke, bis hin zu Blöcken, die ohne
Logikblockbefehle programmiert werden können, zu unterteilen. Dann werden
zuerst die kleinen Blöcke programmiert und diese dann mit AND LOAD bzw. OR
LOAD mit den größeren Blöcken verknüpft. Dabei verknüpfen AND LOAD bzw.
OR LOAD immer die beiden letzten Ausführungsbedingungen, unabhängig da-
von, ob diese von einer Einzelbedingung, einem logischen Block oder einem
vorhergehenden Logikblock–Befehl stammen.
Bei komplizierten Kontaktplänen sollte die Programmierung der Blöcke grund-
sätzlich von links oben nach unten und dann erst nach rechts vorgenommen
werden. Diese Vorgehensweise stellt sicher, dass der OR LOAD–Befehl vor
dem AND LOAD–Befehl eingegeben wird.

321
Kontaktplanstruktur Abschnitt 6-3

Der nachfolgende Kontaktplan muss in zwei Blöcke, und diese dann in zwei wei-
tere Blöcke unterteilt werden, bevor er programmiert werden kann. Wie nach-
stehend dargestellt, erfordern die Blöcke a und b AND LOAD. Vor AND LOAD
muss jedoch OR LOAD verwendet werden, um den oberen und unteren Block
auf beiden Seiten des Kontaktplans zu verknüpfen (a1 und a2 bzw. b1 und b2).

Block Block
a1 b1

00000 00001 00004 00005


20003

00002 00003 00006 00007

Block Block
a2 b2

Block Block
a b

Adresse Befehl Operanden


00000 LD 00000
00001 AND NOT 00001
00002 LD NOT 00002
00003 AND 00003
00004 OR LD – Blocks a1 und a2
00005 LD 00004
00006 AND 00005
00007 LD 00006
00008 AND 00007
00009 OR LD – Block b1 und b2
00010 AND LD – Blöcke a und b
00011 OUT 20003

Der folgende Kontaktplan ist leicht zu kodieren, wenn folgende Reihenfolge ein-
gehalten wird: von oben nach unten und dann von links nach rechts. In diesem
Kontaktplan müssen die Blöcke a und b –wie oben gezeigt– mit AND LOAD ver-
knüpft werden. Dann ist Block c zu kodieren, der mit einem zweiten AND LOAD–
Befehl mit der aus dem ersten AND LOAD–Befehl folgenden Ausführungsbe-
dingung zu verknüpfen ist. Nach dem Kodieren von Block d muss mit einem drit-
ten AND LOAD–Befehl dessen Ausführungsbedingung mit der Ausführungsbe-
dingung des zweiten AND LOAD–Befehls verknüpft werden und so fort, bis zum
Erreichen des Blocks n.

20000

Block Block Block Block


a b c n

322
Kontaktplanstruktur Abschnitt 6-3

Der folgende Kontaktplan erfordert einen OR LOAD–Befehl, gefolgt von einem


AND LOAD–Befehl, um die oberen der drei Blöcke zu kodieren. Zwei weitere
OR LOAD–Befehle vervollständigen die AWL.

00000 00001 Adresse Befehl Operanden


LR 0000
00000 LD 00000
00002 00003
00001 LD 00001
00002 LD 00002
00004 00005
00003 AND NOT 00003
00006 00007
00004 OR LD ––
00005 AND LD ––
00006 LD NOT 00004
00007 AND 00005
00008 OR LD ––
00009 LD NOT 00006
00010 AND 00007
00011 OR LD ––
00012 OUT LR 0000

Das obige Programm ist ausführbar. Wird der Kontaktplan jedoch wie nachste-
hend gezeichnet, führt dies zu einer Vereinfachung des Programms und zur Ein-
sparung von Speicherplatz, da sowohl der erste OR LOAD– als auch der erste
AND LOAD–Befehl entbehrlich wird.

00002 00003 00000


Adresse Befehl Operanden
LR 0000 00000 LD 00002
00001 00001 AND NOT 00003
00002 OR 00001
00004 00005 00003 AND 00000
00004 LD NOT 00004
00006 00007 00005 AND 00005
00006 OR LD --
00007 LD NOT 00006
00008 AND 00007
00009 OR LD ––
00010 OUT LR 0000

Beim folgenden Kontaktplan sollten Sie zunächst die fünf Blöcke programmie-
ren und dann, beginnend mit den beiden letzten, die Verknüpfungen rückwärts
mit OR LOAD– und AND LOAD–Befehlen durchführen. Der OR LOAD–Befehl
auf Adresse 00008 verknüpft die Blöcke d und e, der nachfolgende AND LOAD–
Befehl verknüpft die daraus folgende Ausführungsbedingung mit der von Block
c usw.

00000 00001 00002 Adresse Befehl Operanden


LR 0000
00000 LD 00000
Block 00001 LD 00001
Block b 00002 AND 00002
a 00003 LD 00003
Block Block
c d 00004 AND 00004
00003 00004 00005
00005 LD 00005
00006 LD 00006
00007 AND 00007
00006 00007
00008 OR LD ––
Blöcke d und e 00009 AND LD ––
Block Block c mit Ergebnis Vorzeile 00010 OR LD ––
e Block b mit Ergebnis Vorzeile 00011 AND LD ––
Block a mit Ergebnis Vorzeile 00012 OUT LR 0000

323
Kontaktplanstruktur Abschnitt 6-3

Wiederum kann eine Änderung des Kontaktplans zu einer Vereinfachung der


Programmstruktur und zur Einsparung von Speicherplatz führen.

00006 00007 00003 00004 00000


LR 0000 Adresse Befehl Operanden

00005 00000 LD 00006


00001 AND 00007
00001 00002 00002 OR 00005
00003 AND 00003
00004 AND 00004
00005 LD 00001
00006 AND 00002
00007 OR LD ––
00008 AND 00000
00009 OUT LR 0000

Das nächste und letzte Beispiel erscheint auf den ersten Blick sehr kompliziert,
kann aber, unter Verwendung von nur zwei Logikblock–Befehlen, programmiert
werden. Das Netzwerk erscheint wie folgt:

Block a

00000 00001 00002 00003 00004 00005


20000

01000 01001 00006

20000

Block b Block c

Der erste Logikblock–Befehl dient dazu, die aus Block a und b folgenden Aus-
führungsbedigungen zu verknüpfen, während der zweite Logikblock–Befehl die
Ausführungsbedingung von Block c mit der Ausführungsbedingung der Öffner–
Bedingung, die IR 00003 zugewiesen ist, verknüpft. Der übrige Kontaktplan
kann mit OR–, AND– und AND NOT–Befehlen kodiert werden. Die nachfol-
gende Abbildung veranschaulicht die logischen Abläufe.

Block a Block b
00000 00001 01000 01001

LD 00000 LD 01000
UND 00001 UND 01001
Adresse Befehl Operanden
OR LD 00000 LD 00000
00001 AND 00001
Block c 00002 LD 01000
20000 00004 00005 00003 AND 01001
00004 OR LD ––
OR 20000 LD 00004
AND 00005 00005 OR 20000
00006 AND 00002
00002 00003 00006 00007 AND NOT 00003
00008 LD 00004
AND 00002 OR 00006 00009 AND 00005
AND NOT 00003
00010 OR 00006
AND LD 00011 AND LD ––
00012 OUT 20000

20000

324
Kontaktplanstruktur Abschnitt 6-3

6-3-7 Programmierung mehrerer Befehle


Gibt es mehrere Befehle mit der gleichen Ausführungsbedingung, werden diese
aufeinanderfolgend kodiert. Im nachstehenden Beispiel befindet sich auf dem
letzten/unteren Strompfad eine Bedingung mehr, die eine zusätzliche AND–
Verknüpfung auf IR 00004 erforderlich macht.

00000 00003
HR 0001
Adresse Befehl Operanden
00000 LD 00000
00001 00001 OR 00001
20000
00002 OR 00002
00003 OR HR 0000
00002 00004
20001 00004 AND 00003
00005 OUT HR 0001
HR 0000 00006 OUT 20000
00007 AND 00004
00008 OUT 20001

6-3-8 Strompfad–Verzweigungen
Bei einem mehrfach verzweigenden Strompfad kann es notwendig werden,
Verriegelungen oder TR–Bits in der AWL–Darstellung zu verwenden, um die
Ausführungsbedingung am Verzweigungspunkt zu erhalten. Die Problemstel-
lung besteht darin, dass der Strompfad zunächst von links nach rechts abgear-
beitet wird und das Programm erst nach der Ausführung des ersten Befehls zum
Verzweigungspunkt zurückkehrt, um dann den abzweigenden Strompfad abzu-
arbeiten. Sollte also eine Bedingung auf einem Strompfad hinter einem Ver-
zweigungspunkt liegen, könnte sich die Ausführungsbedingung innerhalb die-
ser Zeitspanne verändern, mit der Folge, dass eine ordnungsgemäße Pro-
grammausführung unmöglich wird. Die folgenden Abbildungen veranschauli-
chen dies. In beiden Fällen wird zunächst Befehl 1 ausgeführt, bevor das Pro-
gramm zum Verzweigungspunkt zurückkehrt und den Strompfad, der zum Be-
fehl 2 führt, abarbeitet.

Verzweigungs–
00000 punkt Adresse Befehl Operanden
Befehl 1
00000 LD 00000
00002 00001 Befehl 1
Befehl 2
00002 AND 00002
Abbildung A: Korrekter Ablauf in KOP und AWL 00003 Befehl 2

Verzweigungs-
00000 punkt 00001
Befehl 1 Adresse Befehl Operanden
00002 00000 LD 00000
Befehl 2
00001 AND 00001
00002 Befehl 1
Abbildung B: Korrektur des fehlerhaften Ablaufs in AWL–Darstellung
erforderlich 00003 AND 00002
00004 Befehl 2

Wenn sich wie in Abbildung A die Ausführungsbedingung nicht verändert, bevor


das Programm zum Verzweigungspunkt zurückkehrt, erfolgt die Ausführung
insgesamt korrekt und besondere Programmiermaßnahmen sind nicht erfor-
derlich.
Wenn, wie in Abbildung B, auf dem oberen Strompfad zwischen Verzweigungs-
punkt und Befehl eine weitere Bedingung vorhanden ist, kann es dazu führen,
dass sich nach Ausführung des ersten Befehls die Ausführungsbedingung am
Verzweigungspunkt verändert hat, so daß eine korrekte Abarbeitung des ab-
zweigenden Strompfades unmöglich wird.
Es gibt zwei programmiertechnische Möglichkeiten, die Ausführungsbedingung
für den Fall von Verzweigungen zu erhalten. Zum einen können TR–Bits (”Tem-

325
Kontaktplanstruktur Abschnitt 6-3

poräre Merker”), zum anderen die Verriegelungsbefehle IL(02)/IL(03) in der


AWL–Darstellung angewendet werden.

TR–Bits Die TR–Bits TR 0 bis TR 7 (also insgesamt 8 Bits) können zum temporären Er-
halt der Ausführungsbedingung in der AWL–Darstellung verwendet werden.
Wird ein TR–Bit auf einen Verzweigungspunkt gesetzt, wird beim ersten Errei-
chen des Verzweigungspunktes die aktuelle Ausführungsbedingung im zuge-
wiesenen TR–Bit gespeichert. Bei Rückkehr des Programms zum Verzwei-
gungspunkt stellt das TR–Bit die ursprüngliche Ausführungsbedingung wieder
her.
Um einen korrekten Ablauf zu gewährleisten, muss der obige, unter B abgebil-
dete Kontaktplan gemäß nachfolgender Abbildung verändert werden. In der
AWL wird die Ausführungsbedingung am Verzweigungspunkt gespeichert, wo-
bei das TR–Bit als Operand des OUTPUT–Befehls verwendet wird. Bei der
Rückkehr des Programms zum Verzweigungspunkt wird die Ausführungsbedin-
gung unter Verwendung des TR–Bits als Operand des LOAD–Befehls wieder-
hergestellt.

TR 0 Adresse Befehl Operanden


00000 00001
Befehl 1 00000 LD 00000
00002 00001 OUT TR 0
Befehl 2 00002 AND 00001
00003 Befehl 1
Abbildung B: Korrigierter Ablauf in AWL unter Verwendung eines TR–Bits
00004 LD TR 0
00005 AND 00002
00006 Befehl 2

Der obige Code wird wie folgt interpretiert: Der Zustand von IR 00000 wird gela-
den (LOAD–Befehl), um die anfängliche Ausführungsbedingung zu erzeugen.
Diese Ausführungsbedingung wird dann unter Verwendung des OUTPUT–Be-
fehls an TR 0 ausgegeben, um den Zustand am Verzweigungspunkt zu spei-
chern. Diese Ausführungsbedingung wird mit dem Zustand von IR 00001 AND–
verknüpft und der Befehl 1 entsprechend ausgeführt. Die am Verzweigungs-
punkt gespeicherte Ausführungsbedingung wird dann zurückgeladen (ein
LOAD–Befehl mit TR 0 als Operand), mit dem Zustand von IR 00002 AND–ver-
knüpft und dann Befehl 2 entsprechend ausgeführt.
Das folgende Beispiel zeigt eine Anwendung mit zwei TR–Bits.

TR 0 TR 1 Adresse Befehl Operanden


00000 00001 00002
Befehl 1
00000 LD 00000
00001 OUT TR 0
00003
Befehl 2 00002 AND 00001
00003 OUT TR 1
00004
Befehl 3 00004 AND 00002
00005
00005 Befehl 1
Befehl 4 00006 LD TR 1
00007 AND 00003
00008 Befehl 2
00009 LD TR 0
00010 AND 00004
00011 Befehl 3
00012 LD TR 0
00013 AND NOT 00005
00014 Befehl 4

Hier werden TR 0 und TR 1 verwendet, um die Ausführungsbedingungen an


den Verzweigungspunkten zu speichern. Nach der Ausführung des Befehls 1
wird der in TR 1 gespeicherte Zustand geladen und mit dem AND–Zustand von
IR 00003 verknüpft. Der in TR 0 gespeicherte Zustand wird zweimal geladen,

326
Kontaktplanstruktur Abschnitt 6-3

das erste Mal für die AND–Verknüpfung mit dem Zustand von IR 00004 und das
zweite Mal für eine AND–Verknüpfung mit dem invertierten Zustand von IR
00005.
TR–Bits können so oft wie erforderlich verwendet werden, solange nicht das
gleiche TR–Bit mehr als einmal für den selben Befehlsblock verwendet wird. Ein
neuer Befehlsblock beginnt immer dann, wenn eine Rückkehr zur Stromschiene
erfolgt. Sind in einem einzelnen Befehlsblock mehr als acht Verzweigungs-
punkte mit zwischenzuspeichernden Ausführungszuständen erforderlich, müs-
sen Verriegelungen (eine Begriffserklärung befindet sich weiter hinten im Hand-
buch) verwendet werden.
Verwenden Sie beim Entwurf eines Kontaktplanes nur dann TR–Bits, wenn
diese wirklich erforderlich sind. Häufig kann ein Programm einfacher, d.h. mit
deutlich weniger Befehlen und übersichtlicher strukturiert werden, was oft dazu
führt, dass TR–Bits gar nicht benötigt werden. Die beiden nachfolgenden Bei-
spiele veranschaulichen dies. Die jeweils untere Version beinhaltet weniger Be-
fehle und keine TR–Bits. Im ersten Beispiel wird dies durch eine Neuorganisa-
tion der Teile des Befehlsblockes erreicht: durch Weglassen des zweiten OUT-
PUT–Befehls und Einfügen eines weiteren LOAD–Befehls wird eine eindeutige
Ausführungsbedingung erzeugt.
Hinweis Neben der Vereinfachung der Programmstruktur, auf die immer Wert gelegt
werden sollte, ist oft auch die Reihenfolge der Befehlsausführung wichtig. So
kann zum Beispiel ein MOVE–Befehl vor der Ausführung eines BINARY ADD–
Befehls erforderlich werden, damit dem Operanden–Wort die richtigen Daten
zugewiesen werden. Vor Überarbeitung eines Programmes sollte daher die
Reihenfolge der Ausführungs immer in die Überlegungen mit einbezogen wer-
den.

TR 0 00000 00003
00000 00001
Befehl 1
Befehl 1

Befehl 2 TR 0
00001 00002

00004
Befehl 2
00000
Befehl 2

00001
Befehl 1

00001 00002 00003


Befehl 1

00000

00001 00004
Befehl 2

Hinweis TR–Bits müssen nur bei der Programmierung in der AWL vom Anwender selbst
eingegeben werden. Bei der Kontaktplan–Programmierung über die Program-
miersoftware CX–P werden temporäre Merker (TR) automatisch verarbeitet.
Die Einschränkungen bzgl. Anzahl der TR–Bits gilt aber auch in diesem Fall.

Verriegelungen Das Problem, Ausführungsbedingungen an Verzweigungspunkten zu spei-


chern, kann auch mittels der Befehle INTERLOCK (IL (02)) (Verriegelung) und
INTERLOCK CLEAR (ILC (03)) (Verriegelung aufheben) gelöst werden. Diese
Befehle bewirken, dass ein Verzweigungspunkt vollständig entfernt wird und
stattdessen eine besondere Ausführungsbedigung eine ganze Gruppe von Be-

327
Kontaktplanstruktur Abschnitt 6-3

fehlen steuert. INTERLOCK und INTERLOCK CLEAR–Befehle müssen immer


paarweise verwendet werden.
Wird ein INTERLOCK–Befehl vor einen Kontaktplan–Abschnitt gesetzt, steuert
die Ausführungsbedingung dieses INTERLOCK–Befehls die Ausführung aller
weiteren Befehle bis hin zum nächsten INTERLOCK CLEAR–Befehl. Ist die
Ausführungsbedingung für den INTERLOCK–Befehl FALSCH, werden alle wei-
teren Befehle bis zum Erreichen von INTERLOCK CLEAR mit der Ausführungs-
bedingung FALSCH ausgeführt und damit der gesamte Abschnitt des Kontakt-
plans zurückgesetzt. Sehen Sie für weitere Informationen, insbesondere die
Auswirkung auf andere Befehle, Abschnitt 7-11 INTERLOCK und INTERLOCK
CLEAR IL(02) und ILC(03).
Der Kontaktplan – Abbildung B – kann auch mittels eines Verriegelungsbefehls
korrigiert werden. Im ersten Strompfad wird die Bedingung programmiert, die
vor dem ursprünglichen Verzweigungspunkt lag. Dieser Strompfad schließt mit
dem INTERLOCK–Befehl ab. Jede weitere Bedingung wird auf einem separa-
ten Strompfad programmiert und schließlich wird ein weiterer letzter Strompfad
hinzugefügt, der mit dem INTERLOCK CLEAR–Befehl abschließt. Keine Bedin-
gungen sind auf der INTERLOCK CLEAR–Befehlszeile erlaubt. Beachten Sie,
dass weder dem INTERLOCK– noch dem INTERLOCK CLEAR–Befehl ein
Operand zugewiesen ist.
00000
IL (02) Adresse Befehl Operanden
00001 00000 LD 00000
Befehl 1 00001 IL (02) –––
00002 00002 LD 00001
Befehl 2 00003 Befehl 1
00004 LD 00002
ILC (03) 00005 Befehl 2
00006 ILC (03) ---

Ist in der oben dargestellten, geänderten Version des Kontaktplanes IR 00000


GESETZT, bestimmt der Zustand von IR 00001 bzw. IR 00002 die Ausführungs-
bedingung für Befehl 1 und 2. Das Setzen von IR 00000 bewirkt das gleiche Er-
gebnis wie eine AND–Verknüpfung des Zustands der beiden Bits. Ist IR 00001
nicht gesetzt, bewirkt der INTERLOCK–Befehl eine FALSCH–Ausführungsbe-
dingung für die Befehle 1 und 2 und die Programmausführung wird dann ent-
sprechend dem unteren Strompfad mit dem INTERLOCK CLEAR–Befehl fort-
gesetzt.
Gemäß nachfolgender Abbildung kann innerhalb eines Befehlsblocks mehr als
ein INTERLOCK–Befehl verwendet werden. Jeder INTERLOCK–Befehl ist bis
zum nächsten INTERLOCK CLEAR–Befehl wirksam.

00000
IL (02)
Adresse Befehl Operanden
00001 00000 LD 00000
Befehl 1 00001 IL (02) –––
00002 LD 00001
00002
IL (02) 00003 Befehl 1
00004 LD 00002
00003 00004
00005 IL (02) –––
Befehl 2
00006 LD 00003
00005
Befehl 3
00007 AND NOT 00004
00008 Befehl 2
00006
Befehl 4 00009 LD 00005
00010 Befehl 3
00011 LD 00006
ILC (03)
00012 Befehl 4
00013 ILC (03) ---

328
Kontaktplanstruktur Abschnitt 6-3

Ist IR 00000 im obenstehenden Kontaktplan nicht gesetzt (d.h., wenn die Aus-
führungsbedingung für den ersten INTERLOCK–Befehl FALSCH ist), werden
die Befehle 1 bis 4 mit der Ausführungsbedingung FALSCH ausgeführt. Dann
wird mit den Befehlen, die auf den INTERLOCK CLEAR–Befehl folgen, fortge-
fahren. Ist IR 00000 gesetzt, wird der Zustand von IR 00001 als Ausführungsbe-
dingung für Befehl 1 geladen und der Zustand von IR 00002 bestimmt die Aus-
führungsbedingung für den zweiten INTERLOCK–Befehl. Ist IR 00002 AUS,
werden die Befehle 2 bis 4 mit FALSCH–Ausführungsbedingungen ausgeführt.
Ist IR 00002 EIN, bestimmen IR 00003, IR 00005 und IR 00006 die erste Ausfüh-
rungsbedingung für weitere Strompfade.

6-3-9 Sprungbefehle
Mit einer entsprechenden Ausführungsbedingung können bestimmte Pro-
grammabschnitte übersprungen werden. Die Wirkung eines Sprungbefehls ist
der Wirkung eines INTERLOCK–Befehls mit der FALSCH–Ausführungsbedin-
gung ähnlich. Beim Sprung wird jedoch der Zustand der Befehlsoperanden bei-
behalten. Sprungbefehle dienen daher zur Steuerung von Geräten, die Aus-
gänge mit Selbsthaltung benötigen, wie z.B. pneumatische und hydraulische
Anlagen. Bei elektronischen Geräten, die diese Art von Ausgängen nicht erfor-
dern, wird der INTERLOCK–Befehl verwendet.
Es stehen zwei Sprungbefehle zur Verfügung, JUMP (Sprung) (JMP (04)) und
JUMP END (Sprung Ende) (JME (05)). Ist die Ausführungsbedingung für den
JUMP–Befehl EIN, läuft das Programm so ab, als gäbe es keine JUMP–Anwei-
sung. Ist die Ausführungsbedigung AUS, übergeht das Programm alle Befehle
zwischen JUMP und JUMP–END, ohne daß der Zustand der Befehlsoperanden
geändert wird.
Den JUMP– und JUMP END–Befehlen werden Sprungnummern zwischen 00
und 99 zugewiesen. Es gibt zwei Arten von Sprungbefehlen. Die verwendete
Sprungnummer trifft eine Aussage darüber, welche Art von Sprungbefehl ver-
wendet wird.
Die Sprungnummern 01 bis 99 können nur jeweils einmal verwendet werden,
d.h. jede Nummer kann einmal für einen JUMP– und einmal für einen JUMP
END–Befehl verwendet werden. Sobald das Programm einen solchen Befehl
erreicht, springt es zu dem entsprechenden JUMP END–Befehl mit der gleichen
Nummer. Im folgenden soll Abbildung B (TR–Bit und INTERLOCK–Beispiel) so
abgeändert werden, dass auch die Vorgänge beim JUMP–Befehl veranschau-
licht werden. Obwohl 01 als Sprungnummer verwendet wurde, könnte jede Zahl
zwischen 01 und 99 verwendet werden, solange diese noch nicht in einem an-
deren Teil des Programms verwendet wird. Außer der Sprungnummer benöti-
gen JUMP und JUMP END keine weiteren Operanden.
00000
JMP (04) 01 Adresse Befehl Operanden
00001 00000 LD 00000
Befehl 1
00001 JMP (04) 01
00002 00002 LD 00001
Befehl 2
00003 Befehl 1
00004 LD 00002
JME (05) 01
00005 Befehl 2
00006 JME (05) 01
Abbildung B: Korrigierter Ablauf mit Sprungbefehl

Die Version der Abbildung B würde eine kürzere Zykluszeit als irgendeine der
anderen Kontaktplanversionen besitzen.

329
Kontaktplanstruktur Abschnitt 6-3

Der zweite Sprungtyp wird mit Sprungnummer 00 erzeugt. Sprungnummer 00


kann mit beliebig vielen JUMP–Befehlen verwendet werden, die dann nachein-
ander ausgeführt werden. Dies bedeutet, dass nur ein einziger JUMP End–Be-
fehl mit Sprungnummer 00 für alle JUMP–Befehle mit Sprungnummer 00 benö-
tigt wird. Wird 00 als Sprungsnummer für einen JUMP–Befehl verwendet, wird
die Programmausführung mit dem Befehl nach dem nächsten JUMP END–Be-
fehl mit der Sprungnummer 00 fortgesetzt. Damit können große Programmab-
schnitte übersprungen werden. Da das Programm nach dem nächsten JUMP
END–Befehl mit Sprungnummer 00 suchen muss, wird die Zykluszeit hierdurch
verlängert.
Der Ablauf von Programmen mit diesem Mehrfach–Sprungbefehl ähnelt dem
von INTERLOCK–Befehlen. Das zuvor aufgezeigte Kontaktplan–Beispiel zur
Veranschaulichung des INTERLOCK–Befehls ist nachfolgend noch einmal auf-
geführt, jedoch insofern abgeändert, als es die Funktionsweise des JUMP–Be-
fehls mit Sprungnummer 00 erläutert. Der wesentliche Unterscheid zwischen
beiden Befehlsarten besteht darin, dass der INTERLOCK–Befehl den Bitzu-
stand innerhalb ganzer Programmabschnitte zurücksetzt, während der JUMP–
Befehl den Bitzustand überhaupt nicht beeinflußt.
00000
JMP (04) 00 Adresse Befehl Operanden
00000 LD 00000
00001
Befehl 1 00001 JMP (04) 00
00002 LD 00001
00002 00003 Befehl 1
JMP (04) 00
00004 LD 00002
00003 00004 00005 JMP (04) 00
Befehl 2 00006 LD 00003
00005 00007 AND NOT 00004
Befehl 3 00008 Befehl 2
00006 00009 LD 00005
Befehl 4
00010 Befehl 3
00011 LD 00006
JME (05) 00 00012 Befehl 4
00013 JME (05) 00

330
Steuerung des Bitzustands Abschnitt 6-4

6-4 Steuerung des Bitzustands


Es gibt sieben Basisbefehle, die zur Steuerung des individuellem Bitstatus ver-
wendet werden können. Dies sind: OUTPUT, OUTPUT NOT, SET, RESET, DIF-
FERENTIATE UP, DIFFERENTIATE DOWN und KEEP. Alle diese Befehle wer-
den als letzter Befehl des Strompfads programmiert und besitzen eine Bita-
dresse als Operanden. Obwohl Abschnitt 7-8 Bit–Steuerbefehle eine umfang-
reiche Beschreibung enthält, erfolgt an dieser Stelle auf Grund der besonderen
Bedeutung dieser Befehle bereits eine Beschreibung (ohne OUTPUT und OUT-
PUT NOT). Obwohl diese Befehle dazu verwendet werden, Ausgangsbits im
IR–Bereich zu setzen und zurückzusetzen (d.h., Ausgangssignale an externe
Geräte zu senden bzw. diese zu unterbrechen), können diese auch dazu ver-
wendet werden, den Zustand anderer Bits im E/A– oder in anderen Speicherbe-
reichen zu steuern.

6-4-1 SET und RESET


Der SET– bzw. RESET–Befehl ändert den Zustand des Operandenbits. Die
Wirkungsweise der Befehle ist ähnlich den OUTPUT– und OUTPUT NOT–Be-
fehlen, mit dem Unterschied, dass eine Änderung des Bitzustandes nur bei ei-
ner WAHR–Ausführungsbedingung erfolgt. Keine der Befehle beeinflusst den
Zustand seines Operandenbits, wenn die Ausführungsbedingung FALSCH ist.
Der SET–Befehl setzt das Operandenbit, wenn die Ausführungsbedingung
WAHR wird. Aber anders als beim OUTPUT–Befehl setzt SET das Operanden-
bit nicht zurück, sobald die Ausführungsbedingung FALSCH wird. RESET setzt
das Operandenbit zurück, wenn die Ausführungsbedingung WAHR wird. Aber
anders als OUTPUT NOT setzt RESET das Bit nicht wieder, wenn die Ausfüh-
rungsbedingung FALSCH wird.
Im folgenden Beispiel wird IR 20000 nach IR 00100 gesetzt und dieser Zustand
beibehalten, bis IR 00101 gesetzt wird, völlig unabhängig davon, welchen Zu-
stand IR 00100 dann einnimmt. Wird IR 00101 gesetzt, wird IR 20000 (RESET)
zurückgesetzt.

00100 Adresse Befehl Operanden


SET 20000
00000 LD 00100
00001 SET 20000
00101 00002 LD 00101
RSET 20000 00003 RSET 20000

Hinweis SET und RSET besitzen keine Funktionscodes. Drücken Sie die FUN– und
SET–Tasten oder die FUN– und RSET–Tasten, gefolgt von der Bitadresse, um
diese Befehle über die Programmierkonsole einzugeben.

6-4-2 DIFFERENTIATE UP– und DIFFERENTIATE DOWN


(Flankengesteuerte Ausführung)
Mit DIFFERENTIATE UP– und DIFFERENTIATE DOWN wird das Operanden-
bit für einen Zyklus auf EIN gesetzt. Der DIFFERENTIATE UP–Befehl setzt das
Operandenbit für einen Zyklus, nachdem die Ausführungsbedingung von
FALSCH auf WAHR gewechselt hat; der DIFFERENTIATE DOWN–Befehl setzt
das Operandenbit für einen Zyklus, nachdem die Ausführungsbedingung von

331
Steuerung des Bitzustands Abschnitt 6-4

WAHR auf FALSCH gewechselt hat. Beide Befehle erfordern in der AWL jeweils
eine Zeile.

00000 Adresse Befehl Operanden


DIFU (13) 20001
00000 LD 00000
00001 DIFU(13) 20001
00001
DIFD (14) 20002 Adresse Befehl Operanden
00000 LD 00001
00001 DIFD (14) 20002

IR 20001 wird für einen Zyklus gesetzt, nachdem IR 00000 gesetzt ist. Wird
DIFU(13) 20001 erneut ausgeführt, wird IR 20001 zurückgesetzt und zwar un-
abhängig davon, welchen Zustand IR 00000 einnimmt. Mit dem DIFFERENTIA-
TION DOWN–Befehl wird IR 20002 für einen Zyklus gesetzt, nachdem IR 00001
rückgesetzt wurde (IR 20002 wird den Zustand bis dahin beibehalten) und wird
rückgesetzt, wenn DIFD(14) 20002 erneut ausgeführt wird.

6-4-3 KEEP (Bistabiles Flip–Flop)


Der KEEP–Befehl wird dazu verwendet, den Zustand eines Operandenbits ba-
sierend auf zwei Ausführungsbedingungen zu steuern. Dazu wird der KEEP–
Befehl mit zwei Strompfaden verknüpft. Ist die Ausführungsbedingung am Ende
des ersten Strompfades WAHR, wird das Operandenbit des KEEP–Befehls ge-
setzt. Ist die Ausführungsbedingung am Ende des zweiten Strompfades WAHR,
wird das Operandenbit zurückgesetzt. Das Operandenbit wird seinen Zustand
selbst dann beibehalten, wenn es in einem verriegelten (INTERLOCK) Ab-
schnitt des Kontaktplans liegt.
Im folgenden Beispiel wird HR 0000 gesetzt, wenn IR 00002 gesetzt ist und IR
00003 nicht gesetzt ist. HR 0000 bleibt EINGESCHALTET, bis entweder IR
00004 oder IR 00005 zurückgesetzt wird. Beim KEEP–Befehl, wie bei allen an-
deren Befehlen, die aus mehr als einer AWL–Zeile bestehen, werden die Be-
fehlszeilen vor dem Befehl, der diese steuert, programmiert.

00002 00003 Adresse Befehl Operanden


S: Setz–EINGANG 00000 LD 00002
KEEP (11)
00001 AND NOT 00003
HR 0000 00002 LD 00004
00004
00003 OR 00005
R: Rücksetz–EINGANG
00005 00004 KEEP (11) HR 0000

6-4-4 Selbsthaltemerker
Manchmal kann es erforderlich werden, dass Selbsthaltemerker, die in einem
verriegelten Abschnitt des Kontaktplans liegen, mit zurückgesetzt werden.
Um einen solchen Selbsthaltemerker zu erzeugen, wird das Operandenbit des
OUTPUT–Befehls als Bedingung für den gleichen OUTPUT–Befehl in einer
OR–Verknüpfung verwendet, so daß das Operandenbit des OUTPUT–Befehls
den Zustand EIN oder AUS solange beibehält, bis sich der Zustand der anderen
Bits ändert. Mindestens eine weitere Bedingung muss vor dem OUTPUT–Be-
fehl gesetzt sein, damit eine Rücksetzung erfolgen kann. Ohne diese Rückset-
zung gibt es keine Möglichkeit das Operandenbit des OUTPUT–Befehls zu
steuern.
Der obenstehende Kontaktplan kann folgendermaßen verändert werden. Le-
diglich die Programmausführung in einem verriegelten Programmabschnitt er-
folgt unterschiedlich, wenn nämlich die Ausführungsbedingung für den INTER-
LOCK–Befehl WAHR ist. Auch hier, wie im Beispiel zur Veranschaulichung des

332
Arbeitsmerker (interne Relais) Abschnitt 6-5

KEEP–Befehls, werden zwei Rücksetz–Bits verwendet, da HR 0000 entweder


durch Setzen von IR 00004 oder IR 00005 zurückgesetzt werden kann.

00002 00003 00004 Adresse Befehl Operanden


HR 0000
00000 LD 00002
00005
00001 AND NOT 00003
HR 0000 00002 OR HR 0000
00003 LD NOT 00004
00004 OR NOT 00005
00005 AND LD –––
00006 OUT HR 0000

6-5 Arbeitsmerker (interne Relais)


In der Programmierung ist es oft äußerst schwierig, entsprechende Ausfüh-
rungsbedingungen durch eine direkte Verknüpfung von Bedingungen zu erzeu-
gen. Ein einfacher Weg, dieser Problematik zu begegnen, ist dieVerwendung
von besonderen Bits, die andere Befehle indirekt auslösen. Solche Bits werden
Arbeitsmerker genannt. Manchmal sind für diesen Zweck ganze Worte erforder-
lich, die dann Hilfsworte genannt werden.
Arbeitsmerker werden nicht von der SPS gelesen oder zur SPS übertragen, da
sie lediglich ein Hilfsmittel für den Programmiervorgang selbst darstellen. E/A–
Bits und bestimmte andere Bits können nicht als Arbeitsmerker verwendet wer-
den. Alle Bits des E/A–Bereichs ohne zugewiesene E/A–Funktionen und be-
stimmte nicht verwendete Bits des AR–Bereiches stehen als Arbeitsmerker zur
Verfügung. Es ist empfehlenswert, die verwendeten Arbeitsmerker als Referenz
aufzuzeichnen. Dies erleichtert die Programmplanung und –erstellung und un-
terstützt spätere Programmtestläufe.

Arbeitsmerker– Im folgenden werden zwei der gebräuchlichsten Anwendungsmöglichkeiten für


Anwendungen Arbeitsmerker erläutert, um Anhaltspunkte über deren Verwendungsmöglich-
keiten zu geben. Sollten Schwierigkeiten bei der Programmierung eines Steuer-
vorgangs auftreten, so sollte die Verwendung von Arbeitsmerkern berücksich-
tigt werden, um die Programmierung zu vereinfachen.
Arbeitsmerker werden häufig zusammen mit OUTPUT–, OUTPUT NOT–, DIF-
FERENTIATE UP, DIFFERENTIATE DOWN und KEEP–Befehlen verwendet.
Zunächst wird der Arbeitsmerker als Operand einer dieser Befehle eingesetzt,
so daß es später als Bedingung verwendet werden kann, die bestimmt, wie ein
Befehl ausgeführt wird. Arbeitsmerker können auch mit anderen Befehlen, wie
z.B. SHIFT REGISTER (Schieberegister) (SFT (10)) verwendet werden. In Ab-
schnitt 7-16-1 SCHIEBEREGISTER – SFT (10) ist ein Beispiel für die Verwen-
dung eines Hilfswortes mit dem SCHIEBEREGISTER–Befehl dargestellt.
Obwohl sie im einzelnen nicht immer so bezeichnet werden, sind viele der in den
Beispielen im Kapitel 7 Befehlssatz verwendeten Bits Arbeitsmerker. Ein umfas-
sendes Verständnis für deren Funktionsweise ist für eine effiziente Program-
mierung unabdingbar.

Vereinfachung komplexer Arbeitsmerker können die Programmierung vereinfachen, wenn eine be-
Bedingungen stimmte Kombination von Bedingungen wiederholt in Verbindung mit anderen
Bedingungen verwendet wird. Im folgenden Beispiel werden IR 00000, IR
00001, IR 00002 und IR 00003 in einem Logikblock verknüpft, der die resultie-
rende Ausführungsbedingung als Zustand von IR 21600 speichert. IR 21600
wird dann mit diversen anderen Bedingungen verknüpft, um die Ausgangsbe-

333
Arbeitsmerker (interne Relais) Abschnitt 6-5

dingungen für IR 20000, IR 20001 und IR 20002 zu bestimmen, d.h., um die die-
sen Bits zugewiesenen Ausgänge ein– und auszuschalten.

00000 00001
Adresse Befehl Operanden
21600 00000 LD 00000
00001 AND NOT 00001
00002 00002 OR 00002
00003 OR NOT 00003
00004 OUT 21600
00003 00005 LD 21600
00006 AND 00004
00007 AND NOT 00005
21600 00004 00005
20000
00008 OUT 20000
00009 LD 21600
00010 OR NOT 00004
21600 00005
00011 AND 00005
20001
00012 OUT 20001
00013 LD NOT 21600
00004
00014 OR 00006
00015 OR 00007
21600 00016 OUT 20002
20002

00006

00007

Differenzierte Bedingungen Arbeitsmerker können auch dann verwendet werden, wenn einige, aber nicht
alle Bedingungen unterschiedlich behandelt werden müssen. Im nachfolgen-
den Beispiel muss IR 20000 solange gesetzt bleiben, wie IR 00001 gesetzt ist
und sowohl IR 00002 als auch IR 00003 nicht gesetzt sind oder solange IR
00004 gesetzt ist und IR 00005 nicht gesetzt ist. IR 20000 muss jedesmal für
jeweils einen Zyklus gesetzt werden, wenn IR 00000 gesetzt wird (es sei denn,
dass eine der vorhergehenden Bedingungen IR 00000 dauerhaft setzt).
Dies wird erreicht, in dem IR 22500 als Arbeitsmerker verwendet wird, der wie-
derum als Operand des DIFFERENTIATE UP–Befehls (DIFU(13)) program-
miert wird. Wird IR 00000 gesetzt, wird IR 22500 für einen Zyklus gesetzt und
dann im nächsten Zyklus durch DIFU(13) zurückgesetzt. Vorausgesetzt, dass
die anderen, IR 20000–steuernden Bedingungen diese nicht dauerhaft gesetzt
halten, setzt der Arbeitsmerker IR 22500 IR 20000 nur für einen Zyklus.

00000
Adresse Befehl Operanden
DIFU (13) 22500
00000 LD 00000
22500 00001 DIFU(13) 22500
20000
00002 LD 22500
00001 00002 00003 00003 LD 00001
00004 AND NOT 00002
00004 00005 00005 AND NOT 00003
00006 OR LD –––
00007 LD 00004
00008 AND NOT 00005
00009 OR LD –––
00010 OUT 20000

334
Vorsichtsmaßnahmen bei der Programmierung Abschnitt 6-6

6-6 Vorsichtsmaßnahmen bei der Programmierung


Die Anzahl der Bedingungen, die in Reihe oder Parallel verwendet werden kön-
nen, ist unbegrenzt, solange die Speicherkapazität der SPS nicht überschritten
wird. Verwenden Sie deshalb soviele Bedingungen wie erforderlich, um einen
übersichtlichen Kontaktplan zu programmieren. Die nachfolgende Abbildung A
zeigt eine Variante, die so nicht programmierbar ist. Der Kontaktplan muss viel-
mehr, wie in Abbildung B gezeigt, programmiert werden.

00000 00002
Befehl 1

00004
00001 00003
Befehl 2

Abbildung A: Nicht programmierbar

00001 00004 00002 Adresse Befehl Operanden


Befehl 1
00000 LD 00001
00000
00001 AND 00004
00002 OR 00000
00000 00004 00003
Befehl 2
00003 AND 00002
00004 Befehl 1
00001
00005 LD 00000
00006 AND 00004
Abbildung B: Korrigierte Version 00007 OR 00001
00008 AND NOT 00003
00009 Befehl 2

Einem bestimmten Bit können Bedingungen beliebig oft zugewiesen werden.


Komplexe Programme sind oft das Ergebnis des Versuchs, die Anzahl der Zu-
griffe auf ein bestimmtes Bit zu reduzieren.
Abgesehen von den Befehlen ohne Bedingungen, wie z.B. INTERLOCK
CLEAR oder JUMP END, muss jedem Befehl auf dem Strompfad mindestens
eine Bedingung zugewiesen werden, um eine Ausführungsbedingung für den
Ausgangsbefehl (letzter Befehl auf dem Strompfad) festzulegen. Der nachfol-
gende Kontaktplan A muss daher als Kontaktplan B programmiert werden. Soll
ein Befehl fortlaufend ausgeführt werden (z.B. ein dauerhaft zu aktivierender
Ausgang), kann der Immer–Ein–Merker (SR 25313) verwendet werden.

Befehl

Abbildung A: Die meisten Befehle können so nicht programmiert werden

25313
Befehl Adresse Befehl Operanden
00000 LD 25313
Abbildung B: Korrigierte Version 00001 Befehl

Es gibt einige Ausnahmen von dieser Regel, insbesondere für die INTERLOCK
CLEAR–, JUMP END– und STEP–Befehle. Diese Befehle werden jeweils paar-
weise verwendet und von der Ausführungsbedingung des ersten Befehls ge-
steuert. Es sollten keine weiteren Bedingungen auf Strompfaden plaziert wer-
den, die zu solchen Paarbefehlen führen. Sehen Sie für weitere Informationen
Kapitel 7 Befehlssatz.
Bei der Erstellung von Kontaktplänen ist es wichtig, sich auf die wirklich notwen-
dige Anzahl von Befehlen zu beschränken. In der nachfolgenden Abbildung A
ist ein OR LOAD–Befehl erforderlich, um den oberen und unteren Strompfad-

335
Programmausführung Abschnitt 6-7

zweig logisch miteinander zu verknüpfen. Gemäß Abbildung B kann dies durch


Umstrukturierung des Kontakplans vermieden werden. In Abbildung B sind
keine AND LOAD bzw. OR LOAD–Befehle erforderlich. Sehen Sie für weitere
Informationen Abschnitt 7-7-2 AND LOAD und OR LOAD.

00000 Adresse Befehl Operanden


20007
00000 LD 00000
00001 LD 00001
00001 20007
00002 AND 20007
00003 OR LD –––
00004 OUT 20007
Abbildung A

Adresse Befehl Operanden


00001 20007
20007 00000 LD 00001
00001 AND 20007
00000
00002 OR 00000
00003 OUT 20007

Abbildung B

6-7 Programmausführung
Bei der ersten Programmausführung durchläuft die CPU–Baugruppe das Pro-
gramm von Anfang bis Ende. Dabei werden alle Bedingungen und die Ausfüh-
rung aller Befehle überprüft. Es ist wichtig, dass die Befehle in der geeigneten
Reihenfolge angeordnet werden; z.B. sollte der gewünschte Dateninhalt tat-
sächlich in ein Datenwort verschoben werden, bevor dieses Wort als Operand
eines Befehls verwendet wird. Bedenken Sie immer, dass ein Strompfad zu-
nächst bis zum äußersten rechten Ausgangsbefehl abgearbeitet wird, bevor
Verzweigungen zu anderen Ausgangsbefehlen berücksichtigt werden.
Der Programmausführung ist nur eine der Aufgaben, die von der CPU innerhalb
der Zykluszeit abgearbeitet wird. Sehen Sie für weitere Informationen Kapitel 8
SPS–Betrieb.

336
Kapitel 7
Befehlssatz
Die CPM1, CPM1A, CPM2A, CPM2C und SRM1(–V2) verfügen über umfangreiche Befehlssätze, die das Program-
mieren auch komplizierter Steuerungsvorgänge erheblich vereinfachen. Dieses Kapitel beschreibt die Kontaktplan–Sym-
bole, Speicherbereiche und Merker und ihre sachgerechte Anwendung.
Die Befehlssätze sind nach Gruppen geordnet dargestellt: Kontaktplan–Befehle, Befehle mit festen Funktionscodes und
anwenderdefinierte Befehle.
Einige Befehle, wie Zeitgeber– und Zähler–Befehle werden verwendet, um andere Befehle zu steuern; so setzt z. B. der
Zeitgeber fertig–Merker ein Bit, wenn die für den Zeitgeber eingestellte Zeit abgelaufen ist. Obgleich diese anderen Befehle
oft dazu verwendet werden, Ausgänge über den OUTPUT–Befehl zu steuern, können diese ebenfalls zur Steuerung der Aus-
führung weiterer Befehle verwendet werden. Die in den Beispielen dieses Handbuchs verwendeten OUTPUT–Befehle
können auch durch andere Befehle ersetzt werden, um das jeweilige Programm an bestimmte Anwendungen anzuspassen,
anstatt nur Ausgänge zu steuern.

7-1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340


7-2 Befehlsformate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
7-3 Datenbereiche, Zuweiserwerte und Merker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
7-4 Befehle mit flankengesteuerter Ausführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
7-5 Eingabe von rechts angeordneten Befehlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
7-6 Befehlstabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
7-6-1 CPM1/CPM1A–Funktionscodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
7-6-2 CPM2A/CPM2C–Funktionscodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
7-6-3 SRM1(–V2) Funktionscodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
7-6-4 Alphabetischsortierte AWL–Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
7-7 Kontaktplanbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
7-7-1 LOAD, LOAD NOT, AND, AND NOT, OR und OR NOT . . . . . . . . . 350
7-7-2 AND LOAD und OR LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
7-8 Bitsteuerungs–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
7-8-1 OUTPUT und OUTPUT NOT – OUT und OUT NOT . . . . . . . . . . . . 352
7-8-2 SET und RESET – SET und RSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
7-8-3 KEEP (R–S– Flip–Flop) – KEEP(11) . . . . . . . . . . . . . . . . . . . . . . . . . . 353
7-8-4 DIFFERENTIATE UP and DOWN (Ausführung bei steigender/fallender Flanke)
DIFU(13) und DIFD(14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
7-9 NO OPERATION (Keine Funktion) – NOP(00) . . . . . . . . . . . . . . . . . . . . . . . . . . 355
7-10 END (ENDE) – END(01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
7-11 INTERLOCK und INTERLOCK CLEAR (Verriegelungsbefehle) –
IL(02) und ILC(03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
7-12 JUMP und JUMP END (Sprungbefehle) – JMP(04) und JME(05) . . . . . . . . . . . . 358
7-13 Anwenderdefinierte Fehlerbefehle
FAILURE ALARM AND RESET und SEVERE FAILURE ALARM –
FAL(06) und FALS(07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
7-14 Schrittbefehle
STEP DEFINE und STEP START (Schritt und nächster Schritt) –
STEP(08)/SNXT(09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
7-15 Zeitgeber– und Zählerbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
7-15-1 TIMER (ZEITGEBER) – TIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
7-15-2 HIGH–SPEED TIMER (Schneller Zeitgeber) – TIMH(15) . . . . . . . . . 364
7-15-3 VERY HIGH-SPEED TIMER (Sehr schneller Zeitgeber) –
TMHH(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
7-15-4 LONG TIMER (Langer Zeitgeber) – TIML(––) . . . . . . . . . . . . . . . . . . 367
7-15-5 COUNTER (Zähler) – CNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
7-15-6 REVERSIBLE COUNTER (Aufwärts–/Abwärtszähler) – CNTR(12) 370
7-15-7 REGISTER COMPARISON TABLE (Vergleichstabelle) – CTBL(63) 371
7-15-8 MODE CONTROL (Zählersteuerung) – INI(61) . . . . . . . . . . . . . . . . . 374
7-15-9 HIGH–SPEED COUNTER PV READ (Schneller Zähler–Istwert einlesen) –
PRV (62) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
7-16 Schiebebefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
7-16-1 SHIFT REGISTER (Schieberegister) – SFT(10) . . . . . . . . . . . . . . . . . 379
7-16-2 WORD SHIFT (Wortweises Verschieben) – WSFT(16) . . . . . . . . . . . 380

337
Abschnitt

7-16-3ARITHMETIC SHIFT LEFT (Verschiebung nach links) – ASL (25) . 381


7-16-4ARITHMETIC SHIFT RIGHT (Arithmetisches Verschieben nach rechts) –
ASR(26) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
7-16-5 ROTATE LEFT (Rotation nach links) – ROL(27) . . . . . . . . . . . . . . . . 382
7-16-6 ROTATE RIGHT (Rotation nach rechts) – ROR(28) . . . . . . . . . . . . . . 382
7-16-7 ONE DIGIT SHIFT LEFT (Eine Stelle nach links verschieben) –
SLD(74) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
7-16-8 ONE DIGIT SHIFT RIGHT (Verschiebung um eine Stelle nach rechts) –
SRD(75) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
7-16-9 REVERSIBLE SHIFT REGISTER (Links/Rechts–Schieberegister) –
SFTR(84) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
7-16-10 ASYNCHRONOUS SHIFT REGISTER (Asynchrones Schieberegister) –
ASFT (17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
7-17 Datenübertragungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
7-17-1 MOVE (Übertragen) – MOV(21) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
7-17-2 MOVE NOT (Invertiertes Übertragen) – MVN(22) . . . . . . . . . . . . . . . 388
7-17-3 BLOCK TRANSFER (Blockweise übertragen) – XFER(70) . . . . . . . . 389
7-17-4 BLOCK SET (Blockweise vorbesetzen) – BSET(71) . . . . . . . . . . . . . 390
7-17-5 DATA EXCHANGE (Datenaustausch) – XCHG(73) . . . . . . . . . . . . . . 391
7-17-6 SINGLE WORD DISTRIBUTE (Datenverteilung) – DIST(80) . . . . . 392
7-17-7 DATA COLLECT (Daten sammeln) – COLL(81) . . . . . . . . . . . . . . . . 393
7-17-8 MOVE BIT (Bit übertragen) – MOVB(82) . . . . . . . . . . . . . . . . . . . . . 395
7-17-9 MOVE DIGIT (Digit–Übertragung) – MOVD(83) . . . . . . . . . . . . . . . 396
7-18 Datensteuerungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
7-18-1 SCALING (Skalierung) – SCL(66) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
7-18-2 SIGNED BINARY TO BCD SCALING (Vorzeichenbehafteten Binärwert in
BCD–Wert konvertieren) – SCL2(––) . . . . . . . . . . . . . . . . . . . . . . . . . 399
7-18-3 BCD TO SIGNED BINARY SCALING (BCD–Wert in vorzeichenbehafteten
Binärwert konvertieren) – SCL3(––) . . . . . . . . . . . . . . . . . . . . . . . . . . 401
7-18-4 PID CONTROL (PID–Regelung) – PID(––) . . . . . . . . . . . . . . . . . . . . 403
7-19 Vergleichsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
7-19-1 COMPARE (Vergleich) – CMP(20) . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
7-19-2 TABLE COMPARE (Tabellenvergleich) – TCMP(85) . . . . . . . . . . . . . 410
7-19-3 BLOCK COMPARE (Blockweiser Vergleich) – BCMP(68) . . . . . . . . 411
7-19-4 DOUBLE COMPARE (Doppeltgenauer Vergleich) – CMPL(60) . . . . 413
7-19-5 – AREA RANGE COMPARE (Bereichsvergleich) – ZCP(––) . . . . . . 414
7-19-6 DOUBLE AREA RANGE COMPARE (Doppelwort– Bereichsvergleich) –
ZCPL(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
7-20 Konvertierungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
7-20-1 BCD–TO–BINARY (BCD–Binär–Konvertierung) – BIN(23) . . . . . . . 416
7-20-2 BINARY–TO–BCD (BIN–BCD–Konvertierung) – BCD(24) . . . . . . . 417
7-20-3 DOUBLE BINARY–TO–DOUBLE BCD (BCD–Doppelwort–zu–
BIN–Doppelwort–Konvertierung) – BINL(58) . . . . . . . . . . . . . . . . . . 418
7-20-4 DOOUBLE BINARY–TO–DOUBLE BCD (BIN–Doppelwort–zu–
BCD–Doppelwort–Konvertierung) – BCDL(59) . . . . . . . . . . . . . . . . . 418
7-20-5 4–TO–16 DECODER (4–in–16–Dekoder) – MLPX(76) . . . . . . . . . . . 419
7-20-6 16–TO–4 ENCODER (16–in–4–Enkoder) – DMPX(77) . . . . . . . . . . . 421
7-20-7 7–SEGMENT DECODER (Dekodierung für 7–Segment–Anzeige) –
SDEC(78) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
7-20-8 ASCII CONVERT (ASCII–Konvertierung) – ASC(86) . . . . . . . . . . . . 426
7-20-9 ASCII–TO–HEXADECIMAL (in Hexadezimal–Wort konvertieren) –
HEX(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
7-20-10 HOURS–TO–SECONDS (Stunden–in–Sekunden) – SEC(––) . . . . . . 430
7-20-11 SECONDS–TO–HOURS (Sekunden–in–Stunden) – HMS(––) . . . . . . 431
7-20-12 2’S COMPLEMENT (2er–Komplement) – NEG(––) . . . . . . . . . . . . . 432
7-21 BCD–Rechenbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
7-21-1 SET CARRY (Übertragsmerker setzen) – STC(40) . . . . . . . . . . . . . . . 434
7-21-2 CLEAR CARRY (Übertragsmerker rücksetzen) – CLC(41) . . . . . . . . 434
7-21-3 BCD ADDITION (BCD–Addition) – ADD(30) . . . . . . . . . . . . . . . . . . 434
7-21-4 BCD SUBTRACT (BCD–Subtraktion) – SUB(31) . . . . . . . . . . . . . . . 435
7-21-5 BCD MULTIPY (BCD–Multiplikation) – MUL(32) . . . . . . . . . . . . . . 437
7-21-6 BCD DIVIDE (BCD–Division) – DIV(33) . . . . . . . . . . . . . . . . . . . . . 438
7-21-7 DOUBLE BCD ADD (BCD–Doppelwort–Addition) – ADDL(54) . . . 439
7-21-8 DOUBLE BCD SUBTRACT (BCD–Doppelwort–Subtraktion) –
SUBL(55) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441

338
Abschnitt

7-21-9 DOUBLE BCD MULTIPLY (BCD–Doppelwort–Multiplikation) –


MULL(56) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
7-21-10 DOUBLE BCD DIVIDE (BCD–Doppelwort–Division) – DIVL(57) . 443
7-22 Binäre Rechenbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
7-22-1 BINÄR ADD (Binäre Addition) – ADB(50) . . . . . . . . . . . . . . . . . . . . 444
7-22-2 SBB(51) – BINARY SUBTRACT (Binäre Subtraktion) . . . . . . . . . . . 445
7-22-3 BINARY MULTIPLY (Binäre Multiplikation) – MLB(52) . . . . . . . . . 446
7-22-4 BINARY DIVIDE (Binäre Division) – DVB(53) . . . . . . . . . . . . . . . . . 447
7-23 Spezielle mathematische Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
7-23-1 DATA SEARCH (Datenbereiche durchsuchen) – SRCH(––) . . . . . . . . 448
7-23-2 FIND MAXIMUM (Maximum suchen) – MAX(––) . . . . . . . . . . . . . . 449
7-23-3 FIND MINIMUM (Minimum suchen) – MIN(––) . . . . . . . . . . . . . . . . 451
7-23-4 AVERAGE VALUE (Mittelwerte berechnen) – AVG(––) . . . . . . . . . . 453
7-23-5 SUM (Addition) – SUM(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
7-24 Logikbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
7-24-1 COMPLEMENT (Komplement) – COM(29) . . . . . . . . . . . . . . . . . . . . 457
7-24-2 LOGICAL AND (Wortweise UND–Verknüpfung) – ANDW(34) . . . . 458
7-24-3 LOGICAL OR (Wortweise ODER–Verknüpfung) – ORW(35) . . . . . . 458
7-24-4 EXCLUSIVE OR (Wortweise EXKLUSIV–ODER–Verknüpfung) –
XORW(36) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
7-24-5 EXCLUSIVE NOR (Wortweise EXKLUSIV–ODER–NICHT–Verknüpfung) –
XNRW(37) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
7-25 Inkrementier/Dekrementier–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
7-25-1 BCD INCREMENT (BCD–Wert inkrementieren) – INC(38) . . . . . . . 460
7-25-2 BCD DECREMENT (BCD–Wert dekrementieren) – DEC(39) . . . . . . 461
7-26 Unterprogramm–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
7-26-1 SUBROUTINE ENTER (Unterprogramm–Aufruf) – SBS(91) . . . . . . 462
7-26-2 SUBROUTINE DEFINE und RETURN (Unterprogramm–Anfang und
Unterprogramm–Ende) – SBN(92)/RET(93) . . . . . . . . . . . . . . . . . . . . 464
7-26-3 MACRO (Unterprogramm–Struktur) – MCRO(99) . . . . . . . . . . . . . . . 464
7-27 Impulsausgabe–Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
7-27-1 SET PULSES (Impulsausgabe) – PULS(65) . . . . . . . . . . . . . . . . . . . . 466
7-27-2 SPEED OUTPUT (Geschwindigkeitsausgabe) – SPED(64) . . . . . . . . 467
7-27-3 ACCELERATION CONTROL (Beschleunigungssteuerung) –
ACC(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
7-27-4 PULSE WITH VARIABLE DUTY RATIO (Impulsausgabe mit
variablem Tastverhältnis) – PWM(––) . . . . . . . . . . . . . . . . . . . . . . . . . 473
7-27-5 SYNCHRONIZED PULSE CONTROL (Synchronisierte Impulsausgabe) –
SYNC(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
7-28 Spezielle Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
7-28-1 MESSAGE DISPLAY (Meldungsanzeige) – MSG(46) . . . . . . . . . . . . 477
7-28-2 I/O REFRESH (E/A–Auffrischung) – IORF(97) . . . . . . . . . . . . . . . . . 478
7-28-3 BIT COUNTER (Bits zählen) – BCNT(67) . . . . . . . . . . . . . . . . . . . . . 479
7-28-4 FRAME CHECKSUM (Rahmenprüfsumme berechnen) – FCS(––) . . 479
7-29 Interrupt–Verarbeitungsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
7-29-1 INTERRUPT CONTROL (Interrupt–Steuerung) – INT(89) . . . . . . . . 481
7-29-2 INTERVAL TIMER (Intervall–Zeitgeber) – STIM(69) . . . . . . . . . . . . 484
7-30 Kommunikationsbefehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
7-30-1 RECEIVE (Empfangen) – RXD(47) . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
7-30-2 TRANSMIT (Daten senden) – TXD(48) . . . . . . . . . . . . . . . . . . . . . . . 487
7-30-3 CHANGE RS-232C SETUP (RS–232C–Konfiguration ändern) –
STUP(––) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489

339
Datenbereiche, Zuweiserwerte und Merker Abschnitt 7-3

7-1 Notation
Nachfolgend werden alle in diesem Handbuch beschriebenen Befehle mit ihren
mnemonischen Namen bezeichnet. So wird z.B. der OUTPUT–Befehl OUT und
der AND LOAD–Befehl AND LD genannt. Sehen Sie Anhang A
Programmierbefehle für weitere Informationen, welcher mnemonischer Name
zu welchem Befehl gehört.
Ist einem Befehl ein Funktionscode zugewiesen, wird dieser hinter dem Befehl
in Klammern angegeben. Die in 2–stelligen Dezimalzahlen dargestellten Funk-
tionscodes dienen der Befehlseingabe in die CPU. Eine nach Funktionscodes
geordnete Tabelle ist ebenfalls Bestandteil von Anhang A Programmierbe-
fehle. Eine Tabelle aller Befehle finden Sie in Abschnitt 7-6 Befehlstabelle.
Ein @ vor einem mnemonischen Code bedeutet, dass es sich um einen Befehl
mit flankengesteuerter Ausführung handelt. Befehle mit flankengesteuerter
Ausführung werden in Abschnitt 7-4 beschrieben.

7-2 Befehlsformate
Die meisten Befehlen besitzen ein oder auch mehrere Operanden. Die Operan-
den weisen auf Daten hin bzw. übergeben diese, mit denen der Befehl ausge-
führt wird. Die Eingabe erfolgt entweder als echter numerischer Wert (z.B. bei
einer Konstanten), oder, in den meisten Fällen, durch Angabe der Adresse des
Datenwortes, dass die Daten enthält, oder von Bits. Ein Bit, dessen Adresse als
Operand gekennzeichnet ist, heißt Operandenbit; ein Wort, dessen Adresse als
Operand gekennzeichnet ist, heißt Operandenwort. In einigen Befehlen zeigt
die in einem Befehl zugewiese Wortadresse das erste von mehreren Worten
(Mehrfachwort) an, die die gewünschten Daten enthalten.
Jeder Befehl erfordert ein oder mehrere Worte im Programmspeicher. Das erste
Wort ist das Befehlswort, das den Befehl spezifiziert und das alle Zuweiser (die-
ser Begriff wird nachfolgen beschrieben) oder Operandenbits enthält, die der
Befehl benötigt. Weitere Operanden werden durch die nachfolgenden Worte
bereitgestellt, jeweils ein Operand pro Wort. Einige Befehle benötigen bis zu vier
Worte.
Ein Zuweiser ist ein Operand, der mit dem Befehl verknüpft ist und der im glei-
chen Wort enthalten ist, wie der Befehl selbst. Diese Operanden dienen mehr
der Definition des Befehls, als dass sie eine Aussage darüber treffen, welche
Daten verwendet werden. Zuweiser sind zum Beispiel die TC–Nummern, die
bei Zeitgeber– und Zählerbefehlen verwendet werden, um Zeitgeber und Zähler
zu erstellen oder auch die Sprungnummern, die angeben, welcher Sprungbe-
fehl mit welchem Sprung–Ende–Befehl korrespondiert. Bitoperanden können
im selben Wort wie der Befehl selbst enthalten sein, obwohl diese deshalb nicht
etwa als Zuweiser angesehen werden dürfen.

7-3 Datenbereiche, Zuweiserwerte und Merker


In diesem Abschnitt wird für jeden Befehl das Kontaktplansymbol, die vom Ope-
randen zuverwendenden Speicherbereiche und die den Zuweisern zuzuord-
nenden Werte aufgeführt. Ebenso werden Einzelheiten über den Datenbereich
wie Operandennamen und die Art der Daten, die dieser anfordert, spezifiziert
(d.h. Wort oder Bit und bei Worten das Hexadezimal– oder BCD–Format).
Nicht alle Adressen in den spezifizierten Speicherbereichen dürfen als Operan-
den verwendet werden. Benötigt ein Operand z.B. zwei Worte, kann das letzte
Wort innerhalb des Speicherbereichs nicht dem Operanden als erstes Wort zu-
gewiesen werden, da die Worte immer im selben Speicherbereich liegen müs-
sen. Andere besondere Einschränkungen finden Sie im Abschnitt Einschrän-
kungen. Sehen Sie den Abschnitt 5 Speicherbereiche bzgl. Adressierkonven-
tionen und Adressen von Merkern und Steuerbits.

340
Datenbereiche, Zuweiserwerte und Merker Abschnitt 7-3

! Vorsicht Die IR– und SR–Bereiche werden als separate Speicherbereiche angesehen.
Hat ein Operand Zugriff auf den einen Bereich, bedeutet dies nicht notwendiger-
weise, dass er auch Zugriff auf den anderen Bereich hat. Die Grenze zwischen
IR– und SR–Bereich kann jedoch für einen einzelnen Operanden überschritten
werden, insofern als das letzte Bit im IR–Bereich für einen Operanden, der mehr
als ein Wort benötigt, spezifiziert werden kann, wenn dieser Operand auch im
SR–Bereich adressiert werden darf.

Im Unterabschnitt Merker sind die Merker aufgeführt, die durch Ausführung ei-
nes Befehls beeinflußt werden. Dies umfaßt auch die nachfolgenden SR–Be-
reichsmerker.
Abkürzung Name Bit
ER Befehlsausführungs–Fehlermerker 25503
CY Übertragungsmerker 25504
GR Größermerker 25505
EQ Gleichmerker 25506
LE Kleinermerker 25507

ER ist der Merker, der am häufigsten für die Überwachung einer Befehlsausfüh-
rung verwendet wird. Ist ER aktiviert, wird angezeigt, dass ein Fehler bei der ak-
tuellen Programmausführung aufgetreten ist. Im Unterabschnitt Merker sind für
jeden Befehl mögliche Gründe für eine Aktivierung des ER–Merkers dargestellt.
ER wird immer aktiviert, wenn Operanden fehlerhaft spezifiziert wurden. Be-
fehle werden bei gesetztem ER–Merker nicht ausgeführt. Sehen Sie Anhang B
Fehler– und Arithmetikmerker–Vorgänge für eine Tabelle der Befehle und Mer-
ker, die eine Beeinflussung ausüben.
Indirekte Adressierung Kann der DM–Bereich für den Operanden spezifiziert werden, kann auch eine
indirekte Adresse verwendet werden. Eine indirekte DM–Adressierung wird
durch ein Sternsymbol vor DM angezeigt: *DM.
Wird eine indirekte DM–Adresse angegeben, enthält das zugewiesene DM–
Wort die Adresse des DM–Wortes, das die Daten enthält, die als Operand des
Befehles verwendet werden sollen. Wird zum Beispiel *DM 0001 als erster und
LR 00 als zweiter Operand von MOV( 21) bestimmt, so beinhaltete DM 0001 die
Adressierung für DM 1111. DM 1111 enthält den Wert 5555, der nach LR 00
übertragen wird.

Wort Inhalt
MOV(21)
DM 0000 4C59
*DM 0001
DM 0001 1111
LR 00 Indirekte Zeigt auf
DM 0002 F35A
Adresse DM 1111.

DM 1111 5555
DM 1113 2506 5555 über-
DM 1114 D541 tragen nach
LR 00.

Bei der indirekten Adressierung muss das gewünschte Wort in BCD–Form an-
gegeben werden. Darüberhinaus muss es ein Wort innerhalb des DM–Berei-
ches spezifizieren. Im obenstehenden Beispiel muß der Inhalt von DM 0001 in
BCD–Code vorliegen und eine zu verwendende Adresse im DM–Bereich der
SPS spezifizieren. Sehen Sie Abschnitt 5 Speicherbereiche für Einzelheiten zu
den DM–Bereichen.)
Zuweisung von Konstanten Viele Operanden und alle Zuweiser werden als Konstanten eingegeben. Der
verfügbare Wertebereich für einen Zuweiser oder Operanden ist vom verwen-
deten Befehl abhängig. Konstanten müssen ebenfalls in den vom entsprechen-
den Befehl geforderten Format eingegeben werden, d.h. in BCD oder hexadezi-
mal.

341
Befehle mit flankengesteuerter Ausführung Abschnitt 7-4

7-4 Befehle mit flankengesteuerter Ausführung


Die meisten Befehle stehen auch mit einer flankengesteuerten Ausführung zur
Verfügung. Befehle mit flankengesteuerter Ausführung sind durch ein @–Sym-
bol vor dem mnemonischen Code gekennzeichnet.
Ein Befehl ohne flankengesteuerte Ausführung wird abgearbeitet, wenn seine
Ausführungsbedingung WAHR ist. Ein Befehl mit flankengesteuerter Ausfüh-
rung wird nur ein Mal, und zwar nach dem AUS/EIN–Übergang der Ausfüh-
rungsbedingung ausgeführt. Hat sich die Ausführungsbedingung seit der letz-
ten Überprüfung durch das Programm nicht verändert oder ist er von EIN auf
AUS gewechselt, wird der Befehl nicht ausgeführt. Die nachfolgenden Kontakt-
pläne zeigen dies am Beispiel von MOV(21) und @MOV(21). Die Daten der
durch den ersten Operanden gekennzeichneten Adresse werden auf die durch
den zweiten Operanden gekennzeichnete Adresse übertragen.
00000
Adresse Befehl Operanden
MOV(21)

HR 10
00000 LD 00000
Abbildung A
00001 MOV (21)
DM 0000
HR 10
DM 0000

00000
@MOV(21) Adresse Befehl Operanden
HR 10 00000 LD 00000
Abbildung B DM 0000 00001 @MOV(21)
HR 10
DM 0000

In Kontaktplan A überträgt der nicht flankengesteuerte Befehl MOV(21) jedes


Mal, wenn er vom Programm angesprochen wird, den Inhalt von HR 10 nach DM
0000. Beträgt die Zykluszeit 80 ms und bleibt 00000 für 2 Sekunden gesetzt,
wird der Übertragungsvorgang 25 mal ausgeführt und nur der zuletzt nach DM
00000 übertragene Wert bleibt erhalten.
In Kontaktplan B überträgt der Befehl mit flankengesteuerter Ausführung
@MOV(21) den Inhalt von HR 10 nur ein einziges Mal nach DM 0000, und zwar
nachdem 00000 auf EIN gesetzt wurde. Auch wenn 00000 bei gleicher Zyklus-
zeit von 80 ms für 2 Sekunden eingeschaltet bleibt, wird die Funktion nur ein ein-
ziges Mal, während des ersten Zyklus, nachdem 00000 von AUS auf EIN wech-
selt, ausgeführt. Da sich der Inhalt von HR 10 während der 2 Sekunden, in der
00000 auf EIN gesetzt ist, durchaus verändern kann, könnte sich der endgültige
Inhalt von DM 0000 nach Ablauf der zwei Sekunden unterscheiden, abhängig
von der Verwendung von MOV(21) oder @MOV(21).
Operanden, Kontaktplansymbole und andere Befehlsspezifikationen bleiben
gleich, unabhängig davon, ob der Befehl mit oder ohne Flankensteuerung aus-
geführt wird. Bei der Eingabe über die Programmierkonsole werden die glei-
chen Funktionscodes verwendet, jedoch wird NOT hinter dem Funktionscode
eingegeben, um zu kennenzeichnen, dass es sich um einen Befehl mit flanken-
gesteuerter Ausführung handelt. Viele, aber nicht alle Befehle verfügen über
eine flankengesteuerte Variante.
Sehen Sie Abschnitt 7-11 INTERLOCK und INTERLOCK CLEAR – IL(02) und
IL(03) für weitere Informationen über die Auswirkung von INTERLOCK– und IN-
TERLOCK–CLEAR–Befehle auf Befehle mit flankengesteuerter Ausführung.
Die CPM2A/CPM2C verfügt ebenfalls über Befehle mit flankengesteuerter Aus-
führung: DIFU(13) und DIFD(14). DIFU(13) arbeitet wie ein Befehl mit flanken-
gesteuerter Ausführung, aber setzt ein Bit für einen Zyklus auf EIN. DIFD(14)
setzt ebenfalls ein Bit für einen Zyklus auf EIN, jedoch bei einem Wechsel der
Ausführungsbedingung von EIN auf AUS. Sehen Sie Abschnitt 7-8-4
Ausführung bei steigender und fallender Flanke – DIFU(13) und DIFD(14) für
weitere Informationen.

342
Eingabe von rechts angeordneten Befehlen Abschnitt 7-5

7-5 Eingabe von rechts angeordneten Befehlen


Der AWL–Code für Kontaktpläne wird in Abschnitt 6 Kontaktplan–Programmie-
rung beschrieben. Die Konvertierung der Anweisungen in Kontaktplansymbole
erfolgt nach dem gleichen Muster und wird im folgenden nicht für jeden Befehl
gesondert bechrieben.
Das erste Wort eines Befehls bestimmt sowohl den Befehl selbst als auch alle
damit korrespondierenden Zuweiser. Benötigt der Befehl lediglich einen Signal–
Bitoperanden und keinen Zuweiser, wird das Bit in die gleiche Zeile wie der
AWL–Code geschrieben. Ansonsten werden die Operanden jeweils in geson-
derte Zeilen geschrieben, und zwar in der gleichen Reihenfolge, wie sie als Kon-
taktplansymbole der Befehle erscheinen.
Die Befehlsspalten der AWL werden ausschließlich mit dem Befehlswort ausge-
füllt. In allen anderen Zeilen bleiben die beiden linken Spalten frei. Sollte der Be-
fehl weder Zuweiser noch Operanden benötigen, bleibt die Datenspalte in der
ersten Zeile leer. Es wird empfohlen, jede leere Spalte (alle Befehlsworte, die
keine Daten benötigen) durchzustreichen, so daß die Datenspalte schnell auf
eventuell ausgelassene Operanden überprüft werden kann.
Wird in der Datenspalte eine IR– oder SR–Adresse verwendet, wird die IR– und
SR–Bezeichnung nicht eingegeben. Bei Adressen aus einem anderen Spei-
cherbereich wird die Speicherbereichs–Abkürzung auf der linken Seite vor der
Adresse eingetragen. Bei einer Konstanten wird auf der linken Seite vor dem
Wert der Konstanten ein #–Zeichen eingegeben. Die Zuweiser des Befehlswor-
tes benötigen kein Ziffernsymbol auf der rechten Seite. Die TC–Bits werden,
wenn sie als Zeitgeber oder Zähler definiert sind, über die Präfixe TIM and CNT
angesprochen.
Stellen Sie bei der Eingabe eines Befehls mit Funktionscode über die Program-
mierkonsole sicher, dass Sie den richtigen Funktionscode eingeben. Das Glei-
che gilt für die Eingabe des @–Symbols bei Befehlen mit flankengesteuerter
Ausführung.
Hinweis Der AWL–Code der Erweiterten Befehle führt hinter dem Befehl ein ”(––)” als
Funktionscode, wodurch eine Kennzeichnung erfolgt, dass es sich um vom An-
wender zugewiesene Funktionscodes der Befehlstabelle handelt. Sehen Sie
Seite 154 für weitere Informationen.

343
Eingabe von rechts angeordneten Befehlen Abschnitt 7-5

Der folgende Kontaktplan und der entsprechende AWL–Code verschaulichen


die zuvor beschriebenen Regeln:

00000 00001 Adresse Befehl Daten


DIFU (13) 21600 00000 LD 00000
00002
00001 AND 00001
00002 OR 00002
00100 00200 21600 00003 DIFU(13) 21600
BCNT (67)
00004 LD 00100
01001 01002 LR 0000 #0001

004
00005 AND NOT 00200

HR 00 00006 LD 01001
00007 AND NOT 01002
00008 AND NOT LR 0000
00005
00009 OR LD ––
TIM 000
00010 AND 21600
#0150
00011 BCNT (67) ––
TIM 000
# 0001
MOV (21)
004
HR 00
LR 00 HR 00
00012 LD 00005
00013 TIM 000
HR 0015
01000 # 0150
00014 LD TIM 000
00015 MOV (21) ––
HR 00
LR 00
00016 LD HR 0015
00017 OUT NOT 01000

Mehrfache Setzt ein Befehl mehrere Strompfade voraus (wie z.B. KEEP(11), werden zu-
Anweisungszeilen nächst alle Bedingungen auf dem Strompfad, jeweils beginnend mit LD oder LD
NOT, eingegeben. Die sich so ergebenden logischen Blöcke werden letztend-
lich durch den Befehl ausgewertet. Das nachstehende Beispiel veranschaulicht
dies für den Befehl SFT(10).

00000 00001
Adresse Befehl Daten
I
SFT (10) 00000 LD 00000
00002
P 00001 AND 00001
HR 00
00100 00200 21600
R
00002 LD 00002
HR 00
00003 LD 00100
01001 01002 LR 0000
00004 AND NOT 00200

HR 0015
00005 LD 01001
01001 00006 AND NOT 01002
00007 AND NOT LR 0000
00008 OR LD ––
00009 AND 21600
00010 SFT (10) HR 00
HR 00
00011 LD HR 0015
00012 OUT NOT 01001

344
Befehlstabellen Abschnitt 7-6

7-6 Befehlstabellen
In diesem Abschnitt befinden sich Tabellen mit den von den CPM1/CPM1A,
CPM2A/CPM2C und SRM1(–V2)–SPS–Systemen unterstützten Befehlen. Sie
können die ersten Tabellen dazu verwenden, die Befehle anhand des Funkti-
onscodes zu suchen. Die letzte Tabelle dient zur Auffindung der Befehle anhand
der AWL–Bezeichnung. In beiden Tabellen kennzeichnet das @–Symbol, dass
der Befehl auch als flankengesteuerte Ausführungsvariante verfügbar ist.

7-6-1 CPM1/CPM1A–Funktionscodes
In der folgenden Tabelle sind die CPM1/CPM1A–Befehle aufgeführt, die festge-
legte Funktionscodes besitzen. Sowohl der Befehlsname als auch die AWL–Be-
zeichnung sind angegeben. Verwenden Sie die Ziffern in der äußerst linken
Spalte als linke Stelle und die Ziffern in der Spaltenüberschrift als rechte Stelle
des Funktionscodes.
Linkee Rechte Stelle
Stelle
St ll 0 1 2 3 4 5 6 7 8 9
0 NOP END IL ILC JMP JME (@) FAL FALS STEP SNXT
NO INTERLOCK INTERLOCK JUMP JUMP END FAILURE SEVERE STEP STEP START
OPERATION CLEAR ALARM AND FAILURE DEFINE
RESET ALARM

1 SFT KEEP CNTR DIFU DIFD TIMH (@) WSFT (@) ASFT --- ---
SHIFT REVER- DIFFEREN- DIFFEREN- HIGH- WORD ASYNCHRO-
REGISTER SIBLE TIATE UP TIATE DOWN SPEED SHIFT NOUS SHIFT
COUNTER TIMER REGISTER

2 CMP (@) MOV (@) MVN (@) BIN (@) BCD (@) ASL (@) ASR (@) ROL (@) ROR (@) COM
COMPARE MOVE MOVE NOT BCD TO BI- BINARY TO SHIFT LEFT SHIFT ROTATE ROTATE COMPLE-
NARY BCD RIGHT LEFT RIGHT MENT

3 (@) ADD (@) SUB (@) MUL (@) DIV (@) ANDW (@) ORW (@) XORW (@) XNRW (@) INC (@) DEC
BCD ADD BCD BCD BCD LOGICAL LOGICAL OR EXCLUSIVE EXCLUSIVE INCREMENT DECRE-
SUBTRACT MULTIPLY DIVIDE AND OR NOR MENT

4 (@) STC (@) CLC --- --- --- --- (@) MSG --- --- ---
SET CARRY CLEAR MESSAGE
CARRY DISPLAY

5 (@) ADB (@) SBB (@) MLB (@) DVB (@) ADDL (@) SUBL (@) MULL (@) DIVL --- ---
BINARY ADD BINARY BINARY BINARY DOUBLE DOUBLE DOUBLE DOUBLE
SUBTRACT MULTIPLY DIVIDE BCD ADD BCD BCD BCD
SUBTRACT MULTIPLY DIVIDE

6 CMPL (@) INI (@) PRV (@) CTBL (@) SPED (@) PULS --- (@) BCNT (@) BCMP (@) STIM
DOUBLE MODE HIGH- COMPARI- SPEED SET PULSES BIT BLOCK INTERVAL
COMPARE CONTROL SPEED SON TABLE OUTPUT * * COUNTER COMPARE TIMER
COUNTER LOAD
PV READ

7 (@) XFER (@) BSET --- (@) XCHG (@) SLD (@) SRD (@) MLPX (@) DMPX (@) SDEC ---
BLOCK BLOCK SET DATA ONE DIGIT ONE DIGIT 4-TO-16 16-TO-4 7-SEGMENT
TRANSFER EXCHANGE SHIFT LEFT SHIFT DECODER ENCODER DECODER
RIGHT

8 (@) DIST (@) COLL (@) MOVB (@) MOVD (@) SFTR (@) TCMP (@) ASC --- --- (@) INT
SINGLE DATA MOVE BIT MOVE DIGIT REVER- TABLE ASCII INTERRUPT
WORD COLLECT SIBLE SHIFT COMPARE CONVERT CONTROL
DISTRIBUTE REGISTER

9 --- (@) SBS SBN RET --- --- --- (@) IORF --- (@) MCRO
SUBROU- SUBROU- SUBROU- I/O MACRO
TINE ENTRY TINE TINE REFRESH
DEFINE RETURN

Hinweis * Nur für die CPM1A–Transistorausgangs–Modelle.

345
Befehlstabellen Abschnitt 7-6

7-6-2 CPM2A/CPM2C–Funktionscodes
In der folgenden Tabelle sind die CPM2A/CPM2C–Befehle aufgeführt, die fest-
gelegte Funktionscodes besitzen. Sowohl der Befehlsname als auch die AWL–
Bezeichnung sind angegeben. Verwenden Sie die Ziffern in der äußersten lin-
ken Spalte als linke Stelle und die Nummer in der Spaltenüberschrift als rechte
Stelle des Funktionscodes.
Linkee Rechte Stelle
Stelle
St ll 0 1 2 3 4 5 6 7 8 9
0 NOP END IL ILC JMP JME (@) FAL FALS STEP SNXT
NO END INTERLOCK INTERLOCK JUMP JUMP END FAILURE SEVERE STEP STEP START
OPERATION CLEAR ALARM AND FAILURE DEFINE
RESET ALARM

1 SFT KEEP CNTR DIFU DIFD TIMH (@) WSFT (@) ASFT --- ---
SHIFT KEEP REVER- DIFFEREN- DIFFEREN- HIGH- WORD ASYNCHRO-
REGISTER SIBLE TIATE UP TIATE DOWN SPEED SHIFT NOUS SHIFT
COUNTER TIMER REGISTER

2 CMP (@) MOV (@) MVN (@) BIN (@) BCD (@) ASL (@) ASR (@) ROL (@) ROR (@) COM
COMPARE MOVE MOVE NOT BCD TO BINARY TO SHIFT LEFT SHIFT ROTATE ROTATE COMPLE-
BINARY BCD RIGHT LEFT RIGHT MENT

3 (@) ADD (@) SUB (@) MUL (@) DIV (@) ANDW (@) ORW (@) XORW (@) XNRW (@) INC (@) DEC
BCD ADD BCD BCD BCD LOGICAL LOGICAL OR EXCLUSIVE EXCLUSIVE INCREMENT DECRE-
SUBTRACT MULTIPLY DIVIDE AND OR NOR MENT

4 (@) STC (@) CLC --- --- --- --- (@) MSG (@) RXD (@) TXD ---
SET CARRY CLEAR MESSAGE RECEIVE TRANSMIT
CARRY DISPLAY

5 (@) ADB (@) SBB (@) MLB (@) DVB (@) ADDL (@) SUBL (@) MULL (@) DIVL (@) BINL (@) BCDL
BINARY ADD BINARY BINARY BINARY DOUBLE DOUBLE DOUBLE DOUBLE DOUBLE DOUBLE BI-
SUBTRACT MULTIPLY DIVIDE BCD ADD BCD BCD BCD BCD-TO- NARY-TO-
SUBTRACT MULTIPLY DIVIDE DOUBLE DOUBLE
BINARY BCD

6 CMPL (@) INI (@) PRV (@) CTBL (@) SPED (@) PULS (@) SCL (@) BCNT (@) BCMP (@) STIM
DOUBLE MODE HIGH- COMPARI- SPEED OUT- SET PULSES SCALING BIT BLOCK INTERVAL
COMPARE CONTROL SPEED SON TABLE PUT COUNTER COMPARE TIMER
COUNTER LOAD
PV READ

7 (@) XFER (@) BSET --- (@) XCHG (@) SLD (@) SRD (@) MLPX (@) DMPX (@) SDEC ---
BLOCK BLOCK SET DATA ONE DIGIT ONE DIGIT 4-TO-16 16-TO-4 7-SEGMENT
TRANSFER EXCHANGE SHIFT LEFT SHIFT DECODER ENCODER DECODER
RIGHT

8 (@) DIST (@) COLL (@) MOVB (@) MOVD (@) SFTR (@) TCMP (@) ASC --- --- (@) INT
SINGLE DATA MOVE BIT MOVE DIGIT REVER- TABLE ASCII INTERRUPT
WORD COLLECT SIBLE SHIFT COMPARE CONVERT CONTROL
DISTRIBUTE REGISTER

9 --- (@) SBS SBN RET --- --- --- (@) IORF --- (@) MCRO
SUBROU- SUBROU- SUBROU- I/O MACRO
TINE TINE TINE REFRESH
ENTRY DEFINE RETURN

Hinweis Die schattierten Bereiche sind Funktionscodes, denen normalerweise Erwei-


terte Befehle zugeordnet sind oder denen der Anwender Erweiterte Befehle zu-
ordnen kann. Die folgenden Erweiterten Befehle sind zusätzlich zu denen, die
oben mit Standard–Funktionscodes aufgeführt sind, verfügbar.

AWL– Name AWL– Name


Befehl Befehl
(@)ACC Beschleunigungssteuerung (@)SCL3 Skalierung eines BCD–Wertes zu
einem vorzeichenbehafteten Binärwert
AVG Durchschnittswert (@)SEC Stunden zu Sekunden
(@)FCS FCS–Berechnung (@)SRCH Datensuche
(@)HEX ASCII–zu–Hexadezimal (@)STUP RS–232C–Konfiguration ändern
(@)HMS Sekunden zu Stunden (@)SUM Summenbildung
(@)MAX Finde Maximum SYNC Synchronisierte Impulssteuerung
(@)MIN Finde Minimum TIML Langer Zeitgeber
(@)NEG 2er–Komplement TMHH Sehr schneller Zeitgeber
PID PID–Regelung ZCP Bereichsgrößen vergleichen
(@)PWM Impuls mit variablem Tastverhältnis ZCPL
C Doppelwort–Bereichsgrößen
o e o e e c sg öße
(@)SCL2 Skalierung eines vorzeichen– l i h
vergleichen
behafteten Binärwertes zu einem
BCD–Wert

346
Befehlstabellen Abschnitt 7-6

7-6-3 SRM1(–V2) Funktionscodes


In der folgenden Tabelle sind die SRM1(-V2)–Befehle aufgeführt, die festge-
legte Funktionscodes besitzen. Sowohl der Befehlsname als auch die AWL–Be-
zeichnung sind aufgeführt. Verwenden Sie die Ziffern in der äußerst linken
Spalte als linke Stelle und die Nummer in der Spaltenüberschrift als rechte Stelle
des Funktionscodes.
Linkee Rechte Stelle
Stelle
St ll 0 1 2 3 4 5 6 7 8 9
0 NOP END IL ILC JMP JME (@) FAL FALS STEP SNXT
NO END INTERLOCK INTERLOCK JUMP JUMP END FAILURE SEVERE STEP STEP START
OPERATION CLEAR ALARM AND FAILURE DEFINE
RESET ALARM

1 SFT KEEP CNTR DIFU DIFD TIMH (@) WSFT (@) ASFT --- ---
SHIFT KEEP REVER- DIFFEREN- DIFFEREN- HIGH- WORD ASYNCHRO-
REGISTER SIBLE TIATE UP TIATE DOWN SPEED SHIFT NOUS SHIFT
COUNTER TIMER REGISTER

2 CMP (@) MOV (@) MVN (@) BIN (@) BCD (@) ASL (@) ASR (@) ROL (@) ROR (@) COM
COMPARE MOVE MOVE NOT BCD TO BI- BINARY TO SHIFT LEFT SHIFT ROTATE ROTATE COMPLE-
NARY BCD RIGHT LEFT RIGHT MENT

3 (@) ADD (@) SUB (@) MUL (@) DIV (@) ANDW (@) ORW (@) XORW (@) XNRW (@) INC (@) DEC
BCD ADD BCD BCD BCD LOGICAL LOGICAL OR EXCLUSIVE EXCLUSIVE INCREMENT DECRE-
SUBTRACT MULTIPLY DIVIDE AND OR NOR MENT

4 (@) STC (@) CLC --- --- --- --- (@) MSG (@) RXD (@) TXD ---
SET CARRY CLEAR MESSAGE RECEIVE TRANSMIT
CARRY DISPLAY

5 (@) ADB (@) SBB (@) MLB (@) DVB (@) ADDL (@) SUBL (@) MULL (@) DIVL --- ---
BINARY ADD BINARY BINARY BINARY DOUBLE DOUBLE DOUBLE DOUBLE
SUBTRACT MULTIPLY DIVIDE BCD ADD BCD BCD BCD
SUBTRACT MULTIPLY DIVIDE

6 CMPL --- --- --- --- --- (@) SCL (@) BCNT (@) BCMP (@) STIM
DOUBLE SCALING BIT BLOCK INTERVAL
COMPARE COUNTER COMPARE TIMER

7 (@) XFER (@) BSET --- (@) XCHG (@) SLD (@) SRD (@) MLPX (@) DMPX (@) SDEC ---
BLOCK BLOCK SET DATA ONE DIGIT ONE DIGIT 4-TO-16 16-TO-4 7-SEGMENT
TRANSFER EXCHANGE SHIFT LEFT SHIFT DECODER ENCODER DECODER
RIGHT

8 (@) DIST (@) COLL (@) MOVB (@) MOVD (@) SFTR (@) TCMP (@) ASC --- --- ---
SINGLE DATA MOVE BIT MOVE DIGIT REVER- TABLE ASCII
WORD COLLECT SIBLE SHIFT COMPARE CONVERT
DISTRIBUTE REGISTER

9 --- (@) SBS SBN RET --- --- --- --- --- (@) MCRO
SUBROU- SUBROU- SUBROU- MACRO
TINE TINE TINE
ENTRY DEFINE RETURN

Hinweis Die schattierten Bereiche sind Funktionscodes, denen normalerweise Erwei-


terte Befehle zugeordnet sind oder denen der Anwender Erweiterte Befehle zu-
ordnen kann. Die folgenden Erweiterten Befehle sind zusätzlich zu denen, die
oben mit Standard–Funktionscodes aufgeführt sind, verfügbar.

AWL–Befehl Name
(@)FCS FCS–Berechnung
(@)HEX ACII–zu–Hexadezimal
(@)NEG* 2er–Komplement
PID* PID–Regelung
(@)STUP RS–232C–Konfiguration ändern
ZCP* Bereichsgrößen vergleichen

Hinweis *SCL(66), NEG(––), PID(––) und ZCP (––) werden nur von den
SRM1–C0j–V2–CPUs unterstützt.

347
Befehlstabellen Abschnitt 7-6

7-6-4 Alphabetischsortierte AWL–Liste


Striche (“––”) in der Code–Spalte kennzeichnen Erweiterte Befehle, die noch
keine festgelegten Funktionscodes besitzen. “Keine” kennzeichnet Befehle, für
die kein Funktionscode verwendet wird.
In der CPU–Baugruppenspalte kennzeichnet “SRM1” alle Versionen der
SRM1–CPU–Baugruppen und “SRM1(–V2)” nur die Version 2 der
SRM1–CPU–Baugruppe.
AWL– Code Worte Name CPU–Baugruppen Seite
Befehl
ACC(@) –– 4 BESCHLEUNIGUNGSSTEUERUNG CPM2A/CPM2C 470
ADB(@) 50 4 BINÄRE ADDITION Alle 444
ADD(@) 30 4 BCD–ADDITION Alle 434
ADDL(@) 54 4 BCD–DOPPELWORT–ADDITION Alle 440
AND Kein 1 UND Alle 350
AND LD Kein 1 UND LADEN Alle 351
AND NOT Kein 1 UND NICHT Alle 350
ANDW(@) 34 4 LOGISCHES UND Alle 458
ASC(@) 86 4 ASCII–KONVERTIERUNG Alle 426
ASFT(@) 17 4 ASYNCHRONES SCHIEBEREGISTER Alle 386
ASL(@) 25 2 ARITHMETISCHES VERSCHIEBEN NACH Alle 381
LINKS
ASR(@) 26 2 ARITHMETISCHES VERSCHIEBEN NACH Alle 381
RECHTS
AVG –– 4 DURCHSCHNITTSWERT CPM2A/CPM2C 453
BCD(@) 24 3 BINÄR ZU BCD Alle 417
BCDL(@) 59 3 BINÄR–DOPPELWORT ZU BCD–DOPPELWORT CPM2A/CPM2C 418
BCMP(@) 68 4 BLOCK VERGLEICHEN Alle 411
BCNT(@) 67 4 BIT–ZÄHLER Alle 479
BIN(@) 23 3 BCD–BIN–KONVERTIERUNG Alle 416
BINL(@) 58 3 BINÄR–DOPPELWORT ZU BCD–DOPPELWORT CPM2A/CPM2C 418
BSET(@) 71 4 BLOCK–SETZEN Alle 390
CLC(@) 41 1 ÜBERTRAG ZURÜCKSETZEN Alle 434
CMP 20 3 VERGLEICHEN Alle 409
CMPL 60 4 DOPPELWORT VERGLEICHEN Alle 413
CNT Kein 2 ZÄHLER Alle 369
CNTR 12 3 UMKEHRBARER ZÄHLER Alle 370
COLL(@) 81 4 DATEN SAMMELN Alle 393
COM(@) 29 2 KOMPLEMENT Alle 457
CTBL(@) 63 4 VERGLEICHSTABELLE LADEN Alle 371
DEC(@) 39 2 BCD–WERT DEKREMENTIEREN Alle 461
DIFD 14 2 AUSFÜHRUNG BEI FALLENDER FLANKE Alle 354
DIFU 13 2 AUSFÜHRUNG BEI STEIGENDER FLANKE Alle 354
DIST(@) 80 4 EINZELWORT–VERTEILUNG Alle 392
DIV(@) 33 4 BCD–WERT–DIVISION Alle 438
DIVL(@) 57 4 BCD–DOPPELWORT–DIVISION Alle 443
DMPX(@) 77 4 16–ZU–4_ENKODER Alle 421
DVB(@) 53 4 BINÄRDIVISION Alle 447
END 01 1 ENDE Alle 355
FAL(@) 06 2 FEHLERALARM UND RÜCKSETZUNG Alle 359
FALS 07 2 SCHWERWIEGENDER FEHLERALARM Alle 359
FCS(@) –– 4 FCS–BERECHNUNG CPM2A/CPM2C/SRM1(-V2) 479
HEX(@) –– 4 ASCII–ZU–HEXADEZIMAL CPM2A/CPM2C/SRM1(-V2) 428
HMS –– 4 SEKUNDEN ZU STUNDEN CPM2A/CPM2C 431
IL 02 1 VERRIEGELUNG Alle 356
ILC 03 1 VERRIEGELUNG LÖSCHEN Alle 356
INC(@) 38 2 INKREMENTIEREN Alle 460
INI(@) 61 4 BETRIEBSARTENSTEUERUNG Alle 374

348
Befehlstabellen Abschnitt 7-6

AWL– Code Worte Name CPU–Baugruppen Seite


Befehl
INT(@) 89 4 INTERRUPT–VERARBEITUNG Alle 481
IORF(@) 97 3 E/A–AUFFRISCHUNG Alle außer SRM1 478
JME 05 2 SPRUNGENDE Alle 358
JMP 04 2 SPRUNG Alle 358
KEEP 11 2 KEEP (R–S–FLIP–FLOP) Alle 353
LD Kein 1 LADEN Alle 350
LD NOT Kein 1 LADEN NICHT Alle 350
MAX(@) –– 4 FINDE MAXIMUM CPM2A/CPM2C 449
MCRO(@) 99 4 MAKRO Alle 464
MIN(@) –– 4 FINDE MINIMUM CPM2A/CPM2C 451
MLB(@) 52 4 BINÄR–MULTIPLIKATION Alle 446
MLPX(@) 76 4 4–ZU–16 DEKODER Alle 419
MOV(@) 21 3 ÜBERTRAGEN Alle 388
MOVB(@) 82 4 BIT ÜBERTRAGEN Alle 395
MOVD(@) 83 4 ZIFFER ÜBERTRAGEN Alle 396
MSG(@) 46 2 MELDUNG Alle 477
MUL(@) 32 4 BCD–MULTIPLIKATION Alle 437
MULL(@) 56 4 BCD–DOPPELWORT–MULTIPLIKATION Alle 442
MVN(@) 22 3 ÜBERTRAGEN INVERTIERT Alle 388
NEG(@) –– 4 2er–KOMPLEMENT CPM2A/CPM2C/SRM1(-V2) 432
NOP 00 1 KEINE BEARBEITUNG Alle 355
OR Kein 1 OR Alle 350
OR LD Kein 1 OR LADEN Alle 351
OR NOT Kein 1 OR NOT Alle 350
ORW(@) 35 4 LOGISCHES ODER Alle 458
OUT Kein 2 AUSGABE Alle 352
OUT NOT Kein 2 INVERTIERTE AUSGABE Alle 352
PID –– 4 PID–REGELUNG CPM2A/CPM2C/SRM1(-V2) 403
PRV(@) 62 4 SCHNELLER ZÄHLER– ISTWERT LESEN Alle außer SRM1 376
PULS(@) 65 4 IMPULSAUSGABE CPM1A/CPM2A/CPM2C 466
(Nur Transistorausgänge)
PWM(@) –– 4 IMPULS MIT VARIABLEM TASTVERHÄLTNIS CPM2A/CPM2C 473
RET 93 1 UNTERPROGRAMMRÜCKKEHR Alle 464
ROL(@) 27 2 ROTATION NACH LINKS Alle 382
ROR(@) 28 2 ROTATION NACH RECHTS Alle 382
RSET Kein 2 RÜCKSETZEN Alle 352
RXD(@) 47 4 EMPFANGEN CPM2A/CPM2C/SRM1 486
SBB(@) 51 4 BINÄR–SUBTRAKTION Alle 445
SBN 92 2 UNTERPROGRAMM DEFINIEREN Alle 464
SBS(@) 91 2 UNTERPROGRAMM–ANFANG Alle 462
SCL(@) 66 4 SKALIERUNG CPM2A/CPM2C/SRM1(-V2) 397
SCL2(@) –– 4 SKALIERUNG VORZEICHENBEHAFTETER CPM2A/CPM2C 399
BINÄRWERT ZU BCD
SCL3(@) –– 4 SKALIERUNG BCD–WERT ZU CPM2A/CPM2C 401
VORZEICHENBEHAFTETEM BINÄRWERT
SDEC(@) 78 4 7–SEGMENT–DEKODER CPM2A/CPM2C 423
SEC –– 4 STUNDEN ZU SEKUNDEN CPM2A/CPM2C 430
SET Kein 2 SETZEN Alle 352
SFT 10 3 SCHIEBEREGISTER Alle 379
SFTR(@) 84 4 UMKEHRBARES SCHIEBEREGISTER Alle 385
SLD(@) 74 3 EINE STELLE NACH LINKS VERSCHIEBEN Alle 383
SNXT 09 2 SCHRITTBEGINN Alle 360
SPED(@) 64 4 GESCHWINDIGKEITSAUSGABE CPM1A/CPM2A/CPM2C 467
(Nur Transistorausgänge)
SRCH(@) –– 4 DATENSUCHE CPM2A/CPM2C 448
SRD(@) 75 3 EIN STELLE NACH RECHTS VERSCHIEBEN Alle 384

349
Kontaktplanbefehle Abschnitt 7-7

AWL– Code Worte Name CPU–Baugruppen Seite


Befehl
STC(@) 40 1 ÜBERTRAGSMERKER SETZEN Alle 434
STEP 08 2 SCHRITT DEFINIEREN Alle 360
STIM(@) 69 4 INTERVALL–ZEITGEBER Alle 484
STUP –– 3 RS–232C–KONFIGURATION ÄNDERN CPM2A/CPM2C/SRM1 489
SUB(@) 31 4 BCD–SUBTRAKTION Alle 435
SUBL(@) 55 4 BCD–DOPPELWORT–SUBTRAKTION Alle 441
SUM(@) –– 4 SUM CPM2A/CPM2C 455
SYNC(@) –– 4 SYNCHRONISIERTE IMPULSSTEUERUNG CPM2A/CPM2C 475
TCMP(@) 85 4 TABELLEN VERGLEICHEN Alle 410
TIM Kein 2 ZEITGEBER Alle 363
TIMH 15 3 SCHNELLER ZEITGEBER Alle 364
TIML –– 4 LANGER ZEITGEBER CPM2A/CPM2C 367
TMHH –– 4 SEHR SCHNELLER ZEITGEBER CPM2A/CPM2C 366
TXD(@) 48 4 SENDEN CPM2A/CPM2C/SRM1 487
WSFT(@) 16 3 WORTVERSCHIEBUNG Alle 380
XCHG(@) 73 3 DATENAUSTAUSCH Alle 391
XFER(@) 70 4 BLOCKÜBERTRAGUNG Alle 389
XNRW(@) 37 4 EXKLUSIVES NICHT–ODER Alle 460
XORW(@) 36 4 EXKLUSIVES ODER Alle 459
ZCP –– 4 BEREICHSGRÖßEN VERGLEICHEN CPM2A/CPM2C/SRM1(-V2) 414
ZCPL –– 4 BEREICHSGRÖßEN VERGLEICHEN CPM2A/CPM2C 415

7-7 Kontaktplanbefehle
Kontaktplan– und Logik–Blockbefehle korrespondieren mit den Bedingungen
im Kontaktplan. Logikblock–Befehle dienen zur Beschreibung komplexer Ab-
schnitte des Kontaktplans.

7-7-1 LOAD, LOAD NOT, AND, AND NOT, OR und OR NOT


Kontaktplansymbol Datenbereiche

B B: Bit
LOAD – LD IR, SR, AR, HR, TC, LR, TR

B B: Bit
LOAD NOT – LD NOT
IR, SR, AR, HR, TC, LR

B B: Bit
AND – AND IR, SR, AR, HR, TC, LR

B B: Bit
AND NOT – AND NOT IR, SR, AR, HR, TC, LR

B: Bit
OR – OR B
IR, SR, AR, HR, TC, LR

B: Bit
OR NOT – OR NOT B
IR, SR, AR, HR, TC, LR

Einschränkung Die Anzahl der verwendeten Befehle wie auch die Reihenfolge ihrer Anwen-
dung wird ausschließlich durch die Speicherkapazität der SPS beschränkt.

350
Bitsteuerungs–Befehle Abschnitt 7-8

Beschreibung Die oben aufgeführten sechs Basisbefehle entsprechen den Bedingungen in


einem Kontaktplan. Wie in Kapitel 6 Kontaktplan–Programmierung erläutert,
bestimmt der Zustand der jedem Befehl zugewiesenen Bits die Ausführungsbe-
dingungen für alle anderen Befehle. Jeder Befehl und jede Bitadresse kann so
oft wie erforderlich verwendet werden.
Der Zustand des dem LD– oder LD NOT–Befehl zugewiesenen Bitoperanden
(B) bestimmt die erste Ausführungsbedingung. AND bewirkt eine logische Und–
Verknüpfung zwischen der Ausführungsbedingung und dem Zustand des ihr zu-
gewiesenen Bitoperanden; AND NOT bewirkt die UND–Verknüpfung zwischen
der Ausführungsbedigung und dem invertierten Zustand des Bitoperanden. OR
bewirkt eine logische ODER–Verknüpfung zwischen der Ausführungsbedigung
und dem Zustand des Operandenbits; OR NOT bewirkt die logische ODER–
Verknüpfung zwischen der Ausführungsbedigung und dem invertierten Zustand
des Bitoperanden.

Merker Die vorstehenden Befehle haben keine Auswirkungen auf Merker.

7-7-2 AND LOAD und OR LOAD


AND LOAD – AND LD 00000 00002

Kontaktplansymbol 00001 00003

OR LOAD – OR LD 00000 00001

Kontaktplansymbol
00002 00003

Beschreibung Werden Befehle so zu Blöcken miteinander verbunden, dass keine logische


Verknüpfung über OR und AND möglich ist, muss AND LD bzw. OR LD verwen-
det werden. AND and OR stellen eine logische Verknüpfung zwischen einer
Ausführungsbedingung und dem Zustand eines Bits her, wohingegen AND LD
und OR LD zwei Ausführungsbedingungen, die aktuelle und die zuletzt nicht
verwendete, logisch miteinander verknüpft.
Zum Programmieren von Kontaktplänen mit dem CX–Programmer ist es nicht
erforderlich, AND LD und OR LD–Befehle zu verwenden. Sie sind jedoch erfor-
derlich, um Programme als AWL einzugeben.
Um die Anzahl der erforderlichen Programmierungsbefehle zu reduzieren ist
ein grundlegendes Verständnis von Logikblöcken erforderlich. Eine Einführung
in Logikblöcken finden Sie in Abschnitt 6-3-6 Logikblock–Befehle.

Merker Die vorstehenden Befehle haben keine Auswirkungen auf Merker.

7-8 Bitsteuerungs–Befehle
Es gibt sieben Befehle, die allgemein zur Steuerung des individuellen Bitstatus
verwendet werden. Diese sind OUT, OUT NOT, DIFU(13), DIFD(14), SET,
RSET und KEEP(11). Diese Befehle werden dazu verwendet, Bits auf verschie-
dene Weisen zu setzen und rückzusetzen.

351
Bitsteuerungs–Befehle Abschnitt 7-8

7-8-1 OUTPUT und OUTPUT NOT – OUT und OUT NOT


OUTPUT – OUT
Kontaktplansymbol Datenbereiche

B: Bit
B
IR, SR, AR, HR, LR, TR

OUTPUT NOT – OUT NOT


Kontaktplansymbol Datenbereiche

B: Bit
B
IR, SR, AR, HR, LR

Einschränkung Jedes Ausgangsbit kann generell nur mit dem Befehl verwendet werden, der
den Zustand des Bits steuert.
Beschreibung OUT und OUT NOT steuern den Status des zugewiesenen Bits entsprechend
der Ausführungsbedingung.
Mit OUT wird das entsprechende Bit mit der Ausführungsbedingung WAHR auf
EIN gesetzt und bei der Ausführungsbedigung FALSCH auf AUS zurückge-
setzt. Bei einem zugewiesenem TR–Bit erscheint OUT an einem Verzwei-
gungspunkt anstatt am Ende des Strompfads. Sehen Sie Abschnitt 6-3-8 Ver-
zweigungen für weitere Informationen.
Mit OUT NOT wird das entsprechende Bit mit der Ausführungsbedingung
FALSCH auf EIN gesetzt und bei der Ausführungsbedigung WAHR auf AUS zu-
rückgesetzt.
OUT und OUT NOT bewirkt die Steuerung der Programmausführung durch set-
zen und rücksetzen der Bits, die den Bedingungen im Kontaktplan zugewiesen
sind. Dadurch werden die Ausführungsbedigungen für andere Befehle festge-
legt. Dies erlaubt eine komplexe Anordnung von Bedingungen zur Steuerung
des Zustands eines einzelnen Hilfsbits, das seinerseits andere Befehle steuert.
Zur Festlegung der Zeitdauer, die ein bestimmtes Bit den Zustand EIN oder AUS
einnimmt, kann OUT und OUT NOT mit dem Zeitgeberfehl TIM verknüpft wer-
den. Sehen Sie Abschnitt 7-15-1 ZEITGEBER – TIM für weitere Informationen.

Merker Die aufgeführten Befehle haben keine Auswirkungen auf Merker.

7-8-2 SET und RESET – SET und RSET


Kontaktplansymbol Datenbereiche

B: Bit
SET B
IR, SR, AR, HR, LR

B: Bit
RSET B
IR, SR, AR, HR, LR

Beschreibung Mit SET wird das Operandenbit mit der Ausführungsbedingung WAHR auf EIN
gesetzt. Der Zustand des Bits bleibt jedoch unbeeinflußt, wenn die Ausfüh-
rungsbedingung FALSCH ist. Mit RSET wird das Operandenbit auf AUS ge-
setzt, wenn die Ausführungsbedingung WAHR ist. Der Zustand des Bits bleibt
jedoch unbeeinflußt, wenn die Ausführungsbedingung FALSCH ist.
Die Funktion von SET unterscheidet sich von der von OUT, da der OUT–Befehl
das Operandenbit ausschaltet, wenn die Ausführungsbedingung FALSCH ist.

352
Bitsteuerungs–Befehle Abschnitt 7-8

Ebenso unterscheidet sich RSET von OUT NOT, da OUT NOT das Operanden-
bit einschaltet, wenn die Ausführungsbedingung FALSCH ist.
Hinweis Geben Sie SET auf der Programmierkonsole ein, indem Sie die FUN– und SET–
Tasten drücken und RSET, indem Sie den FUN– und RESET–Tasten drücken.

Vorsichtsmaßnahmen Sollten die Operandenbits von SET und RSET zwischen IL(02) und ILC(03)
oder JMP(04) und JME(05) liegen, so wird ihr Status nicht geändert, falls die
Verriegelungs– oder Sprungbedingung erfüllt ist (Ausführung von IL(02) oder
JMP(04) mit einer FALSCH–Ausführungsbedingung).
Merker Die aufgeführten Befehle haben keine Auswirkungen auf Merker.
Beispiele Die folgenden Beispiele veranschaulichen die Unterschiede zwischen den
OUT- und SET/RSET–Befehlen. Im ersten Beispiel ( Diagramm A) wird IR
20000 immer dann gesetzt oder rückgesetzt, wenn IR 00000 gesetzt oder rück-
gesetzt wird.
Im zweiten Beispiel (Diagramm B) wird IR 20000 gesetzt, wenn IR 00001 ge-
setzt wird und bleibt gesetzt (auch wenn IR 00001 rückgesetzt wird), bis IR
00002 gesetzt wird.
00000
20000
Adresse Befehl Operanden
00000 LD 00000
Diagramm A 00001 OUT 20000

00001
SET 20000
Adresse Befehl Operanden
00002 00000 LD 00001
RSET 20000
00001 SET 20000
00002 LD 00002
Diagramm B 00003 RSET 20000

7-8-3 KEEP (R–S– Flip–Flop) – KEEP(11)


Kontaktplansymbol Datenbereiche
S

KEEP (11) B: Bit


B
IR, SR, AR, HR, LR
R

Einschränkung Jedes Ausgangsbit kann generell nur mit dem Befehl verwendet werden, der
den Zustand des Bits steuert.
Beschreibung KEEP(11) wird dazu verwendet, den Status des zugewiesenen Bits, und zwar
abhängig von zwei Ausführungsbedingungen, zu erhalten. Die Ausführungsbe-
digungen sind S (SETZ–Eingang) und R (RÜCKSETZ–Eingang). KEEP(11) ar-
beitet wie ein RS–Flip–Flop, das durch S ein– und durch R ausgeschaltet wird.
Wird die Ausführungsbedigung S WAHR, wird das zugewiesene Bit GESETZT
und bleibt GESETZT, völlig unabhängig davon, ob die Ausführungsbedingung
WAHR bleibt oder auf FALSCH wechselt. Wird die Ausführungsbedingung für R
WAHR, wird das zugewiesene Bit ZURÜCKGESETZT und bleibt RÜCKGE-
SETZT, völlig unabhängig davon, ob die Ausführungsbedingung WAHR bleibt
oder auf FALSCH wechselt. Das Verhältnis zwischen den Ausführungsbedin-

353
Bitsteuerungs–Befehle Abschnitt 7-8

gungen und dem durch KEEP(11) erzeugten Bitstatus ist nachfolgend darge-
stellt:

S–Ausführungs–
bedingung

R–Ausführungs–
bedingung

Bitstatus

Merker Der Befehl hat keine Auswirkungen auf Merker.

Vorsichtsmaßnahmen Seien Sie vorsichtig, wenn ein externer Öffnerkontakt die KEEP–Rücksetzung
steuert. Verwenden Sie niemals ein Eingangsbit mit invertierter Bedingung für
die RESET(R)–Ausführungsbedingung, falls das Eingangsgerät über eine AC–
Spannungsversorgung verfügt. Die Verzögerung beim Abschalten der SPS mit
DC–Spannungsversorgung (relativ zur AC–Spannungsversorung am Ein-
gangsgerät) kann dazu führen, dass das dem KEEP(11)–Befehl zugewiesene
Bit RÜCKGESETZT wird. Dies ist nachfolgend dargestellt.
Eingangsbaugruppe

A S

KEEP (11)

NIE A B
R

Bits, die dem KEEP–Befehl zugewiesenen sind, werden nicht in INTER-


LOCK(Verriegelungs)–Bereichen ZURÜCKGESETZT. Sehen Sie Abschnitt
7-11 INTERLOCK und INTERLOCK CLEAR IL(02) und ILC(03) für weitere In-
formationen.

7-8-4 DIFFERENTIATE UP and DOWN (Ausführung bei


steigender/fallender Flanke) – DIFU(13) und DIFD(14)

Kontaktplansymbole Datenbereiche

B: Bit
DIFU(13) B
IR, SR, AR, HR, LR

B: Bit
DIFD(14) B
IR, SR, AR, HR, LR

Einschränkung Jedes Ausgangsbit kann generell nur mit dem Befehl verwendet werden, der
den Zustand des Bits steuert.
Beschreibung DIFU(13) und DIFD(14) werden dazu verwendet, das zugewiesene Bit für ge-
nau einen Zyklus auf EIN zu setzen.
Bei jeder Ausführung von DIFU(13) wird die aktuelle Ausführungsbedigung mit
der vorhergehenden Ausführungsbedingung verglichen. War die vorherge-
hende Ausführungsbedingung FALSCH und ist die aktuelle Ausführungsbedin-
gung WAHR, setzt DIFU(13) das zugewiesene Bit auf EIN. War die vorherge-
hende Ausführungsbedingung WAHR und die aktuelle Ausführungsbedingung
ist entweder WAHR oder FALSCH, wird DIFU(13) das entsprechende Bit entwe-
der auf AUS setzen, oder, falls es bereits den Zustand AUS hatte, in diesem Zu-
stand belassen. Unter der Voraussetzung, dass das zugewiesene Bit in jedem
Zyklus abgearbeitet wird, führt dies dazu, dass das Bit den Status EIN niemals

354
END (ENDE) – END(01) Abschnitt 7-10

länger als für einen Zyklus einnimmt (sehen Sie auch die folgenden Vorsichts-
maßnahmen).
Bei jeder Ausführung von DIFD(14) wird die aktuelle Ausführungsbedigung mit
der vorhergehenden Ausführungsbedingung verglichen. Ist die vorhergehende
Ausführungsbedingung WAHR und die gegenwärtige FALSCH, schaltet
DIFD(14) das entsprechende Bit ein. War die vorhergehende Ausführungsbe-
dingung FALSCH und ist die aktuelle Ausführungsbedingung entweder EIN
oder AUS, wird DIFD(14) das zugewiesene Bit entweder auf AUS setzen, oder,
falls es bereits den Zustand AUS hatte, in diesem Zustand belassen. Unter der
Voraussetzung, dass das zugewiesene Bit in jedem Zyklus abgearbeitet wird,
führt dies dazu, dass das Bit den Status EIN niemals länger als für einen Zyklus
einnimmt (sehen Sie auch die folgenden Vorsichtsmaßnahmen).
Die DIFU(13)– und DIFD(14)–Befehle werden verwendet, wenn für einen be-
stimmten Befehl die flankengetriggerte Form (d.h. Befehl mit @–Präfix) nicht
verfügbar ist, die Ausführung des Befehls sich aber dennoch auf nur einen Zy-
klus beschränken soll. Sie können auch dann verwendet werden, wenn eine
flankengetriggerte Form zwar verfügbar ist, die Anwendung von DIFU(13) und
DIFD(14) das Programm aber erheblich vereinfacht. Entsprechende Beispiele
werden später dargestellt.

Merker Die vorstehenden Befehle haben keine Auswirkungen auf Merker.

Vorsichtsmaßnahmen Die Ergebnisse der Abarbeitung von DIFU(13) und DIFD(14) sind nicht be-
stimmbar, wenn die Befehle zwischen IL und ILC, JMP und JME oder in Unter-
programmen verwendet werden. Sehen Sie Abschnitt 7-11 INTERLOCK und
INTERLOCK CLEAR – IL(02) und ILC(03), Abschnitt 7-12 JUMP und JUMP
END – JMP(04) und JME(05), Abschnitt 7-26 Unterprogramme und Abschnitt
7-29-1 Interrupt–Steuerung – INT (89) für weitere Informationen.
Beispiel In diesem Beispiel wird IR 20014 für einen Zyklus auf EIN gesetzt, sobald IR
00000 GESETZT wird. IR 20015 wird auf EIN gesetzt, sobald IR 00000 ZU-
RÜCKGESETZT wird.
00000
DIFU(13) 20014
Adresse Befehl Operanden
00000 LD 00000
00001 DIFU(13) 20014
DIFD(14) 20015
00002 DIFD(14) 20015

7-9 NO OPERATION (Keine Funktion) – NOP(00)


Beschreibung Der NOP(00)–Befehl ist im wesentlichen funktionslos und daher im allgemeinen
nicht erforderlich. Es gibt kein korrespondierendes Kontaktplansymbol. Bei der
Programmausführung wird NOP(00) übergangen und die Ausführung mit dem
nächsten Befehl fortgesetzt. Wird vor Beginn der Programmierung der Speicher
gelöscht, werden alle Adressen mit NOP(00) belegt. NOP(00) kann durch den
Funktionscode 00 eingegeben werden.

Merker NOP(00) hat keine Auswirkungen auf Merker.

7-10 END (ENDE) – END(01)


Kontaktplansymbol END(01)

Beschreibung Mit END(01) wird jedes Programm abgeschlossen. Sollten Unterprogramme


vorhanden sein, wird END(01) hinter das letzte Unterprogramm gesetzt. Be-
fehle hinter dem END(01)–Befehl werden weder erkannt noch ausgeführt.
END(01) kann an beliebiger Stelle im Programm verwendet werden. Dies ist

355
INTERLOCK und INTERLOCK CLEAR (Verriegelungsbefehle) – IL(02) und ILC(03)Abschnitt 7-11

insbesondere für Testläufe von Bedeutung, wenn das Programm abschnitt-


weise ausgeführt werden soll, um Fehler in der Programmierung einzugrenzen.
Wird kein END(01) im Programm programmiert, kann das Programm nicht aus-
geführt werden und die Fehlermeldung “NO END INST” wird angezeigt.

Merker END(01) setzt die Merker ER, CY, GR, EQ und LE zurück.

7-11 INTERLOCK und INTERLOCK CLEAR


(Verriegelungsbefehle) – IL(02) und ILC(03)
Kontaktplansymbol IL(02)

Kontaktplansymbol ILC(03)

Beschreibung IL(02) und ILC(03) werden zur Verriegelgung bestimmter Abschnitte im Kon-
taktplan verwendet. Die Funktionsweise (Erzeugung von Verzweigungen) ist
der von TR–Bits ähnlich aber die Abarbeitung der Befehle zwischen IL(02) und
ILC(03) unterscheidet sich, wenn die Ausführungsbedingung für IL(02)
FALSCH ist. Ist die Ausführungsbedingung für IL(02) WAHR, wird das Pro-
gramm zwischen IL(02) und ILC(03) wie programmiert ausgeführt. Sehen Sie
den Abschnitt 6-3-8 Verzweigungsbefehle für weitere Informationen.
Ist die Ausführungsbedigung für IL(02) FALSCH, wird der verriegelte Abschnitt
zwischen IL(02) und ILC(03) folgendermaßen abgearbeitet:

Befehl Auswirkung in INTERLOCK–Bereich


OUT und OUT NOT Das zugewiesene Bit wird auf AUS gesetzt.
TIM und TIMH(15) Zeitgeber werden rückgesetzt.
CNT, CNTR(12) Der Istwert bleibt erhalten.
KEEP(11) Der Bitstatus bleibt erhalten.
DIFU(13) und DIFD(14) Die Befehle werden nicht ausgeführt (sehen Sie die
nachfolgende Beschreibung).
Alle anderen Befehle Die Befehle werden nicht ausgeführt und alle ihnen zuge-
wiesenen IR–, AR–, LR–, HR– und SR–Operandenbits
und –worte werden zurückgesetzt.

IL(02) und ILC(03) müssen nicht unbedingt paarig verwendet werden. IL(02)
kann mehrere Male hintereinander verwendet werden, wobei jedes IL(02) einen
verriegelten Abschnitt bis hin zum nächsten ILC(03) erzeugt. ILC(03)–Befehle
können nicht hintereinander verwendet werden. Zwischen zwei ILC(03)–Befeh-
len muss zumindest ein IL(02)-Befehl programmiert werden.
DIFU(13) und DIFD(14) in Befinden sich DIFU(13)– oder DIFD(14)–Befehle in einem verriegelten Ab-
verriegelten
Programmabschnitten schnitt und ist die Ausführungsbedingung für IL(02) FALSCH, werden Änderun-
gen der Ausführungsbedingungen für DIFU(13) und DIFD(14) nicht ausgewer-
tet. Befinden sich DIFU(13) oder DIFD(14) in einem verriegelten Abschnitt des
Programms und werden unmittelbar, nachdem die Ausführungsbedingung für
IL(02) WAHR wurde, ausgeführt, werden die Ausführungsbedingungen von
DIFU(13) und DIFD(14) mit der vor Aktivierung der Verriegelung existierenden
Ausführungsbedingung verglichen. Die Veränderungen im Kontaktplan und der
Bitzustände sind nachfolgend dargestellt. Die Verriegelung ist aktiviert, solange
00000 nicht gesetzt ist. Beachten Sie, dass 20000 am durch ”A” gekennzei-

356
INTERLOCK und INTERLOCK CLEAR (Verriegelungsbefehle) – IL(02) und ILC(03)Abschnitt 7-11

chenten Punkt nicht GESETZT wird, auch wenn 00001 zunächst zurückgesetzt
und dann wieder gesetzt wurde.

00000
Adresse Befehl Operanden
IL(02)
00001 00000 LD 00000
DIFU(13) 20000 00001 IL(02)
00002 LD 00001
ILC(03)
00003 DIFU(13) 20000
A 00004 ILC(03)

EIN

00000 AUS

EIN

00001 AUS

EIN

20000 AUS

Vorsichtsmaßnahmen Einem oder mehreren IL(02) muss ein ILC(03) folgen.


Obwohl beliebig viele IL(02)–Befehle mit einem ILC(03)–Befehl verwendet wer-
den können, muss zwischen zwei ILC(03)–Befehlen mindest ein IL(02)–Befehl
programmiert sein. Bei der Ausführung von ILC(03) werden alle Verriegelungen
zwischen der aktuellen ILC(03) und der vorhergehenden ILC(03) zurückge-
setzt.
Werden mehrere IL(02) mit einem einzigen ILC(03) verwendet, gibt das Pro-
grammiergerät bei der Programmüberprüfung eine Warnmeldung aus. Die Pro-
grammausführung wird jedoch fortgesetzt.

Merker Die vorstehenden Befehle haben keine Auswirkungen auf Merker.

Beispiel Das folgende Diagramm zeigt die zweimalige Verwendung von IL(02) mit nur
einem ILC(03)–Befehl.

Adresse Befehl Operanden


00000
IL(02) 00000 LD 00000
00001 00001 IL(02)
TIM 000 00002 LD 00001
#0015 1.5 s 00003 TIM 000
00002 # 0015
IL(02) 00004 LD 00002
00003 00004
00005 IL(02)
CP
CNT 00006 LD 00003
00100 001 00007 AND NOT 00004
R IR 010
00008 LD 00100
00009 CNT 001
00005 010
01002
00010 LD 00005
00011 OUT 01002
ILC(03) 00012 ILC(03)

Ist die Ausführungsbedingung für den ersten IL(02)–Befehl FALSCH, wird TIM
000 auf 1,5 s zurückgesetzt, der Zähler (CNT 001) ändert sich nicht und 01002
wird zurückgesetzt. Ist die Ausführungsbedingung für den ersten IL(02)–Befehl
WAHR und die Ausführungsbedigung für den zweiten IL(02)–Befehl FALSCH,
wird TIM 000 entsprechend dem Zustand von 00001 ausgeführt, CNT 001 wird
nicht geändert und 01002 zurückgesetzt. Sind beide Ausführungsbedingungen
für die IL(02)–Befehle WAHR, wird das Programm wie programmiert ausge-
führt.

357
JUMP und JUMP END (Sprungbefehle) – JMP(04) und JME(05) Abschnitt 7-12

7-12 JUMP und JUMP END (Sprungbefehle) – JMP(04) und


JME(05)
Kontaktplansymbol Datenbereiche

N: Sprungnummer
JMP(04) N
#

N: Sprungnummer
JME(05) N
#

Einschränkung Die Sprungnummern 01 bis 49 können nur ein einziges Mal mit dem Befehl
JMP(04) bzw. JME(05) verwendet werden, d.h. sie definieren nur jeweils einen
einzelnen Sprung. Die Sprungnummer 00 kann beliebig oft verwendet werden.
Beschreibung JMP(04) wird immer paarweise mit JME(05) verwendet, um Sprungfunktionen
zu erzeugen, d.h. um von einem bestimmten Punkt im Kontaktplan ganze Ab-
schnitte bis zu einem anderen Punkt zu überspringen. Dabei definiert JMP(04)
den Punkt, von dem ab der Sprung ausgeführt werden soll und JME(05) das Ziel
des Sprungs. Ist die Ausführungsbedingung für JMP(04) WAHR, wird kein
Sprung durchgeführt und die Programmausführung vielmehr fortgesetzt. Ist die
Ausführungsbedingung für JMP(04) FALSCH, erfolgt ein Sprung bis hin zu dem
über die gleiche Sprungnummer definierten JME(05) und der Befehl, der auf
JME(05) folgt, wird als nächstes ausgeführt.
Liegt die Sprungnummer für JMP(04) zwischen 01 und 49, erfolgen Sprünge so-
fort zu JME(05) mit der gleichen Sprungsnummer, ohne dazwischenliegende
Befehle auszuführen. Der Status von Zeitgebern, Zählern und allen anderen
Bits, die über Befehle gesteuert werden, die den Abschnitt zwischen JMP(04)
und JME(05) belegen, wird nicht geändert. Jede der Sprungnummern zwischen
01 und 99 kann nur ein einziges Mal verwendet werden. Da alle Befehle zwi-
schen JMP(04) und JME(05) übersprungen werden, können die Sprünge 01 bis
49 dazu verwendet werden, die Zykluszeit zu reduzieren.
Sprungnummer 00
Wird die Sprungnummer 00 mit dem JMP(04)–Befehl verwendet, wird nach
dem nächsten JME(05) mit Sprungnummer 00 gesucht. Auf Grund dieses Su-
chungsvorgangs verlängert sich die Zykluszeit im Vergleich zu den anderen
Sprungbefehlen.
Der Status von Zeitgebern, Zählern und allen anderen Bits, die über Befehle ge-
steuert werden, wird nicht geändert, sollten sie im Abschnitt zwischen JMP(04)
00 und JME(05) 00 liegen. Die Sprungnummer 00 kann beliebig oft verwendet
werden. Ein Sprung von JMP(04) 00 führt immer zum nächsten JME(05) 00 im
Programm. Hierdurch ist es möglich, mehrere JMP(04) 00 nacheinander zu ver-
wenden, die dann alle das gleiche Ziel JME(05) 00 haben. Auf der anderen Seite
ist es sinnlos, mehrere JME(05) 00 nacheinander zu verwenden, da alle
Sprünge zum ersten definierten JME(05) 00 führen.
DIFU(13) und DIFD(14) in Wurden DIFU(13) und DIFD(14) so programmiert, ein entsprechendes Bit auf
Sprüngen
EIN zu setzen, so ist dies nicht notwendiger Weise der Fall, wenn die Befehle im
Bereich zwischen JMP(04) und JME(05) liegen. Hat DIFU(13) bzw. DIFD(14)
das Bit gesetzt, bleibt es gesetzt, bis der Befehl erneut abgearbeitet wird. Im
Normalfall geschieht dies im nächsten Zyklus. Wurde jedoch ein Sprungbefehl
gesetzt, kann eine Statusänderung des Bits erst erfolgen, wenn die Sprungfunk-
tion nicht ausgeführt wird. Wird nämlich ein Bit durch DIFU(13) bzw. DIFD(14)
auf EIN gesetzt und dann im nächsten Zyklus ein Sprung durchgeführt, so daß
DIFU(13) und DIFD(14) übergangen werden, wird das zugewiesene Bit solange
gesetzt bleiben, bis die Ausführungsbedigung für JMP(04) das nächste Mal auf
EIN gesetzt wird.

358
Anwenderdefinierte Fehlerbefehle Abschnitt 7-13

TIMH(15) und TMHH(––) in Wird TIMH(15) oder TMHH(––) zwischen JMP(04) und JME(05) programmiert,
Sprüngen erfogt eine Zeitnahme durch einen Interrupt, wenn die Sprungnummern 01 bis
49 verwendet werden; keine Zeitnahme erfolgt, wenn Sprungnummer 00 ver-
wendet wird.
Vorsichtsmaßnahmen Werden JMP(04) und JME(05) nicht paarig verwendet, wird bei der Programm-
überprüfung eine entsprechende Warnmeldung ausgegeben. Diese Meldung
erfolgt auch dann, wenn JMP(04) 00 und JME(05) 00 nicht paarweise eingege-
ben wurden. Die Warnmeldung hat aber auf die korrekte Programmausführung
keine Auswirkung.

Merker Die aufgeführten Befehle haben keine Auswirkungen auf Merker.

Beispiele Beispiele von Sprungfunktion sind in Abschnitt 6-3-9 Sprungbefehle dargestellt.

7-13 Anwenderdefinierte Fehlerbefehle


FAILURE ALARM AND RESET und SEVERE FAILURE
ALARM – FAL(06) und FALS(07)
Kontaktplansymbole Datenbereiche

n: FAL–Nummer
FAL(06) n @FAL(06) n
# (00 bis 99)

n: FAL–Nummer
FALS(07) n
# (01 bis 99)

Beschreibung FAL(06) und FALS(07) geben Fehlernummern bei Betriebsstörungen, während


der Wartung und bei Testläufen aus. Ist die Ausführungsbedingung WAHR, wird
eine FAL–Nummer im Bereich 00 bis 07 von SR 253 ausgegeben. Diese FAL–
Nummer reicht von 01 bis 99 und wird als Operand von FAL(06) und FALS(07)
eingegeben. Der Operand 00 von FAL(06) setzt den nachfolgend dargestellten
Speicherbereich zurück:

FAL–Bereich
25307 25300

X101 X100

FAL(06) erzeugt einen geringfügigen Fehler, FALS(07) einen schwerwiegen-


den Fehler. Wird FAL(06) bei der Ausführungsbedingung WAHR ausgeführt,
blinkt die ALARM/ERROR–LED auf der Vorderseite der CPU–Baugruppe. Der
Betrieb wird allerdings fortgesetzt. Wird FALS(07) mit der Ausführungsbedin-
gung WAHR ausgeführt, leuchtet die ALARM/ERROR–LED kontinuierlich und
der SPS–Betrieb wird unterbrochen.
Das System generiert auch Fehlercodes im FAL–Bereich.
Rücksetzen von Fehlern FAL–Fehlercodes bleiben im Speicher erhalten, wobei jedoch nur ein einziger
Code im FAL–Bereich verfügbar ist. Um auf die anderen FAL–Codes zuzugrei-
fen, muss der FAL–Bereich mittels FAL(06) 00 zurückgesetzt werden. Jedes
Mal, wenn FAL(06) 00 ausgeführt wird, wird ein anderer FAL–Fehler in den
FAL–Bereich verschoben. Der aktuelle FAL–Code wird dabei gelöscht.
FAL(06) 00 dient auch zum Löschen von Meldungen, die durch MSG(46) ange-
zeigt werden.
Kann der FAL–Bereich nicht gelöscht werden, was z.B. regelmäßig dann der
Fall ist, wenn ein schwerwiegenden Fehler durch FALS(07) angezeigt wurde,

359
Schrittbefehle Abschnitt 7-14

muss zunächst die Fehlerursache beseitigt werden. Anschließend kann der


FAL–Bereich über die Programmierkonsole gelöscht werden.

7-14 Schrittbefehle
STEP DEFINE und STEP START
(Schritt und nächster Schritt) – STEP(08)/SNXT(09)

Kontaktplansymbole Datenbereiche

B: Steuerbit
STEP(08) B STEP(08)
IR, AR, HR, LR

SNXT(09) B B: Steuerbit

IR, AR, HR, LR

Einschränkung Alle Steuerbits müssen aufeinanderfolgen und im gleichen Wort enthalten sein.
Beschreibung Die Schrittbefehle STEP(08) und SNXT(09) werden paarweise dazu verwen-
det, das Programm so zu strukturieren, dass größere Abschnitte als gesonderte
Einheiten sowohl ausgeführt als auch zurückgesetzt werden können. Der Pro-
grammabschnitt wird normalerweise so definiert, dass er mit einem bestimmten
Vorgang in der Anwendung korrespondiert. (Anwendungsbeispiele werden
später in diesem Abschnitt dargestellt). Ein Schrittbefehl verhält sich wie jeder
andere Programmiercode, mit dem Unterschied, dass bestimmte Befehle (wie
z.B. END(01), IL(02)/ILC(03), JMP(04)/JME(05) und SBN (92)) in diesem Pro-
grammabschnitt nicht enthalten sein dürfen.
STEP(08) verwendet ein Steuerbit aus dem IR– oder HR–Bereich, das den An-
fang des durch den Schrittbefehl definierten Programmabschnitts kennzeich-
net. STEP(08) erfordert keine Ausführungsbedingung, wird also durch das Bit
selbst gesteuert. Die Ausführung der Schrittbefehl wird durch SNXT(09) einge-
leitet, wobei das gleiche Steuerbit wie für den STEP(08)–Befehl verwendet wer-
den muss. Der Schritt wird ausgeführt, wenn die Ausführungsbedingung für
SNXT(09) WAHR ist. Ist die Ausführungsbedingung FALSCH, wird der Befehl
ignoriert. Der SNXT(09)–Befehl muss im Programmcode vor dem Abschnitt ste-
hen, der durch den Schrittbefehl gesteuert werden soll. Er kann auch mehrfach
und verschiedentlich verwendet werden, um z. B. eine Steuerung basierend auf
zwei Ausführungsbedingungen zu ermöglichen (sehen Sie das nachfolgende
Beispiel 2). Kein Schritt, der nicht durch SNXT(09) beginnt, wird im Programm
ausgeführt.
SNXT(09) wird solange ausgeführt, bis das Programm einen STEP(08)–Befehl
ohne Steuerbit erreicht. Dabei muss dem STEP(08) ohne Steuerbit ein
SNXT(09) mit einem funktionslosen Pseudosteuerbit, z.B. ein nicht verwende-
tes Bit aus dem IR– oder HR–Bereich, vorangegangen sein. Es darf keinesfalls
das Steuerbit sein, das für den STEP(08)–Befehl verwendet wurde.

360
Schrittbefehle Abschnitt 7-14

Die Schrittausführung wird entweder durch den folgenden SNXT(09)–Befehl


oder durch Rücksetzen des entsprechenden Steuerbits beendet. Danach sind
alle IR– und HR–Bits im Step–Bereich auf AUS gesetzt. Die Zeitgeber sind auf
den Sollwert zurückgesetzt. Zähler, Schieberegister und Bits, die einem KEEP–
Befehl zugewiesen sind, behalten ihren Status bei. Nachfolgend zwei Beispiele:
00000
SNXT(09) LR 1005 Beginn der Schrittausführung

STEP(08) LR 1005

Schrittsteuerung über LR 1005 1. Schritt

00001
SNXT(09) 20200

STEP(08) 20200

Über IR 20200 gesteuerter Schritt 2. Schritt

00002
SNXT(09) 23000

STEP(08) Ende der Schrittausführung

Adresse Befehl Operanden Adresse Befehl Operanden

00000 LD 00000 00102 STEP(08) 20200


00001 SNXT(09) LR 1005
00002 STEP(08) LR 1005 Schritt über IR 20200 gesteuert

Schritt von LR 1005 gesteuert 00200 LD 00002


00201 SNXT(09) 23000
00100 LD 00001 00202 STEP(08) –––
00101 SNXT(09) 20200

Schritte können nacheinander programmiert werden. Jeder Schritt wird durch


STEP(08) eingeleitet und mit SNXT(09) beendet. In diesem Fall sind drei Aus-
führungsarten möglich: sequentiell, verzweigend oder parallel. Die Ausfüh-
rungsbedingungen für und die Positionierung von SNXT(09) legt fest, wie die
Schritte ausgeführt werden. Die drei nachfolgenden Beispiele veranschauli-
chen die drei möglichen Varianten.
Vorsichtsmaßnahmen Verriegelungen, Sprünge, SBN(92) und END(01) können nicht innerhalb eines
STEP–Bereiches verwendet werden.
Die Steuerbits der STEP–Befehle dürfen ansonsten nicht im Programm ver-
wendet werden (sehen Sie das nachfolgende Beispiel 3). Alle Steuerbits müs-
sen aufeinanderfolgen und im gleichen Wort enthalten sein.
Werden IR– und LR–Bits als Steuerbits verwendet, geht deren Status bei Span-
nungsunterbrechung verloren. Sollte es notwendig sein, den Status aufrecht zu
erhalten, müssen HR–Bits verwendet werden.

361
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Merker 25407: Schrittstart–Merker: wird für einen Zyklus gesetzt, wenn STEP(08) aus-
geführt wird. Er kann zum Zurücksetzen von Zählern in Schritten ver-
wendet werden.

00000
SNXT(09) 20000 Start

20000
STEP(08) 20000

00100
CP
CNT 001
25407
25407
R #0003
1 Zyklus

Adresse Befehl Operanden Adresse Befehl Operanden

00000 LD 00000 00004 LD 25407


00001 SNXT(09) 20000 00005 CNT 01
00002 STEP(08) 20000 # 0003
00003 LD 00100

7-15 Zeitgeber– und Zählerbefehle


TIM und TIMH(15) sind Einschaltverszögerungs–Zeitgeber. Beide erfordern
eine TC–Nummer und einen voreingestellten Sollwert. STIM (69) wird dazu ver-
wendet, Intervallzeitgeber zu steuern, die Interruptprogramme aktivieren.
CNT ist ein Abwärtszähler, CNTR(12) ein umkehrbarer Zähler. Beide erfordern
ebenfalls eine TC–Nummer und einen Sollwert. Sie sind mehreren Strompfa-
den zugeordnet, dem Signaleingang und der Rücksetzleitung. CTBL(63),
INI(61) und PRV(62) werden zur Steuerung des Schnellen Zählers verwendet.
INI(61) dient auch zum Abbruch der Impulsausgabe.
Eine TC–Nummer darf innerhalb eines Programms nur einmal verwendet wer-
den: entweder für einen Zeitgeber– oder einen Zählerbefehl. Hingegen können
sie als Operanden beliebig oft verwendet werden (nicht in Zeitgeber/Zählerbe-
fehlen).
TC–Nummern stehen im Bereich von 000 bis 255 (für SPS der CPM2A/
CPM2C–Serie) und von 000 bis 127 (CPM1/CPM1A/SRM1(-V2)) zur Verfü-
gung. Kein Präfix ist erforderlich, wenn die TC–Nummer als Zuweiser in einem
Zeitgeber– oder Zählerbefehl verwendet wird. Nachdem die TC–Nummer für ei-
nen Zeitgeber spezifiziert wurde, kann diese mit dem Präfix TIM versehen wer-
den und als Operand in bestimmten Anweisungen vorangestellt werden. Das
TIM–Präfix wird ohne Rücksicht auf den Zeitgeberbefehl verwendet, der zur De-
finition des Zeitgebers verwendet wurde. Nachdem die TC–Nummer für einen
Zähler spezifiziert wurde, kann diese mit dem Präfix CNT versehen und als
Operand in bestimmten Anweisungen vorangestellt werden. Das CNT–Präfix
wird ohne Rücksicht auf den Zählerbefehl verwendet, der zur Definition des
Zählers verwendet wurde.
Als Operanden können TC–Nummern Bit– oder Wortdaten adressieren. Wer-
den die TC–Nummern als Operanden mit Bitdatenzugriff definiert, greift die TC–
Nummer auf ein Bit zu, das als ‘Fertigmerker’ fungiert und das anzeigt, wenn die
Zeitnahme/Zählung abgelaufen ist, d.h. das normalerweise deaktivierte Bit wird
aktiviert, wenn der bezeichnete Sollwert abgelaufen ist. Wird die TC–Nummer
als Operand mit Wortdatenzugriff definiert, greift die TC–Nummer auf eine Spei-
cheradresse zu, auf der der Istwert des Zeitgebers oder Zählers gespeichert ist.
Der Istwert eines Zeitgebers oder Zählers kann so als Operand in CMP(20) oder
jedem anderen Befehl verwendet werden, der für den TC–Bereich zulässig ist.

362
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Beachten Sie, das “TIM 000” dazu verwendet wird, den Zeitgeberbefehl mit der
TC–Nummer 000 zu definieren, um den Fertigmerker für diesen Zeitgeber zu
bestimmen und den Istwert dieses Zeitgebers zu kennzeichnen. Die Bedeutung
des Ausdrucks geht aus dem Kontext hervor, d.h. die erste Anwendung ist im-
mer ein Befehl, die zweite ist immer ein Bitoperand und die dritte ein Wortope-
rand. Das gleiche gilt für alle anderen TC–Nummern, die mit dem Präfix TIM
oder CNT versehen werden.
Ein Sollwert kann als Konstante eingegeben werden oder als Wortadresse in
einem Datenbereich. Wird ein E/A–Adressbereichswort einer Eingangsbau-
gruppe als Wortadresse spezifiziert, kann die Eingangsbaugruppe so verdrah-
tet werden, dass der Sollwert extern über Daumenradschalter oder ähnliche
Geräte eingestellt werden kann. Dies ist nur dann möglich, wenn sich die SPS in
der RUN– oder MONITOR–Betriebsart befindet. Alle extern einzustellenden
Sollwerte müssen im BCD–Format eingegeben werden.

7-15-1 TIMER (ZEITGEBER) – TIM


Datenbereiche

N: TC–Nummer
Kontaktplansymbol
#
TIM N
SV
Datenbereiche

SW: Sollwert (Wort, BCD)

IR, SR, AR, DM, HR, LR, #

Einschränkungen Der Sollwert kann im Bereich zwischen 000.0 und 999.9 liegen. Der Dezimal-
punkt wird nicht eingegeben.
Jede TC–Nummer kann als Operand für nur einen ZEITGEBER– oder einen
ZÄHLERBEFEHL verwendet werden. TC–Nummern stehen im Bereich von
000 bis 255 (für SPS der CPM2A/CPM2C–Serie) und von 000 bis 127
(CPM1/CPM1A/SRM1(-V2)) zur Verfügung.
Wird der TIMH(15)–Befehl benötigt, sollten TC 000 bis TC 003 (TC 000 bis TC
015 bei der CPM2A/CPM2C) nicht für den normalen TIM–Befehl verwendet
werden. Sehen Sie den Abschnitt 7-15-2 SCHNELLER ZEITGEBER –
TIMH(15) für weitere Informationen.
In den SPS der CPM2A/CPM2C–Serien sollte TC 004 bis TC 007 nicht für TIM
verwendet werden, wenn TMHH(––) benötigt wird. Sehen Sie 7-15-3 SEHR
SCHNELLER ZEITGEBER – TMHH(––) für weitere Informationen.
Beschreibung Ein Zeitgeber wird aktiviert, sobald die entsprechende Ausführungsbedingung
WAHR wird. Er wird auf den Sollwert zurückgesetzt, wenn die Ausführungsbe-
dingung FALSCH wird. Ist er aktiviert, zählt er, bezogen auf den Sollwert, im
0,1–Sekundentakt abwärts.
Bleibt die Ausführungsbedingung solange WAHR, bis TIM auf Null zurückge-
zählt hat, wird der Fertigmerker für die entsprechende TC–Nummer gesetzt. Er
bleibt gesetzt, bis TIM zurückgesetzt wird, d.h. die Ausführungsbedingung
FALSCH wird.
Die folgende Abbildung veranschaulicht das Verhältnis zwischen der Ausfüh-
rungsbedingung für TIM und dem zugewiesenen Fertigmerker.

WAHR
Ausführungs–
bedingung FALSCH

WAHR
Fertigmerker FALSCH

SW SW

363
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Vorsichtsmaßnahmen Zeitgeber in einem verriegelten Programmabschnitt werden zurückgesetzt,


wenn die Ausführungsbedingung für IL(02) FALSCH ist. Unterbrechungen der
Spannungsversorgung führen ebenfalls zur Rücksetzung der Zeitgeber. Soll
also der Istwert des Zeitgebers bei Auftreten eines Stromausfalls erhalten blei-
ben, muss eine Zeitgeberschaltung mit nullspannungsicherem Istwert unter
Verwendung von Taktimpulsbits aus dem SR–Bereich programmiert werden.
Sehen Sie Abschnitt 7-15-5 ZÄHLER – CNT für weitere Informationen.
Der Fertigmerker kann einen Zyklus später gesetzt werden, wenn seinen Zu-
stand im Anwenderprogramm gelesen wird.
Setzen Sie in der On–Line–Editierung immer den Zeitgeber neu, nach dem Sie
TIM in TIMH(15) oder umgekehrt geändert haben. Der Zeitgeber funktioniert
nicht richtig, wenn er nicht zurückgesetzt wird.
Wird der Sollwert des Zeitgebers auf 0000 eingestellt, wird der Fertigmerker ak-
tiviert, sobald die Ausführungsbedingung des Zeitgebers WAHR wird. Wird der
Sollwert des Zeitgebers auf 0001 eingestellt, wird der Fertigmerker irgendwo
zwischen 0 und 0,1 s aktiviert, nachdem die Ausführungsbedingung des Zeitge-
bers WAHR wurde (d.h. die Zeitgebergenauigkeit bestimmt eigentlich die Zeit);
der Fertigmerker kann auch aktivert werden, sobald die Ausführungsbedingung
des Zeitgebers WAHR wird.
Beachten Sie immer die Genauigkeit des Zeitgebers (0 bis –0,1 s) in Anwen-
dungsprogrammen.

Merker ER: Indirekt adressierte DM–Worte sind nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

7-15-2 HIGH–SPEED TIMER (Schneller Zeitgeber) – TIMH(15)


Datenbereiche

n: TC–Nummer
Kontaktplansymbol
#
TIMH(15) n
SW
Datenbereiche

SW: Sollwert (Wort, BCD)

IR, SR, AR, DM, HR, LR, #

Einschränkungen Der zulässige Sollwert liegt zwischen 00,00 und 99,99. (Auch 00,00 und 00,01
sind zulässige Werte. Die Eingabe von 00,00 führt jedoch dazu, dass der Zeitge-
ber außer Funktion gesetzt wird, da der Fertigmerker sofort gesetzt wird. Der
Wert 00,01 wird vom System nicht zuverlässig erkannt). Der Dezimalpunkt wird
nicht eingegeben.
Jede TC–Nummer kann als Operand für nur einen ZEITGEBER– oder ZÄH-
LERBEFEHL verwendet werden. TC–Nummern stehen im Bereich von 000 bis
255 (für SPS der CPM2A/CPM2C–Serie) und von 000 bis 127
(CPM1/CPM1A/SRM1(-V2)) zur Verfügung.
Beschreibung TIMH(15) arbeitet in gleicher Weise wie TIM, mit dem Unterschied, dass die
Taktzeit lediglich 0,01 Sekunden beträgt. Sehen Sie Abschnitt 7-15-1 ZEITGE-
BER – TIM für weitere Informationen.
Vorsichtsmaßnahmen Zeitgeber in einem verriegelten Programmabschnitt werden zurückgesetzt,
wenn die Ausführungsbedingung für IL(02) FALSCH wird. Unterbrechungen der
Spannungsversorgung führen ebenfalls zur Rücksetzung der Zeitgeber. Soll
also der Istwert des Zeitgebers bei Auftreten eines Stromausfalls erhalten blei-
ben, muss eine Zeitgeberschaltung mit nullspannungsicherem Istwert unter

364
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Verwendung von Taktimpulsbits aus dem SR–Bereich programmiert werden.


Sehen Sie Abschnitt 7-15-5 ZÄHLER – CNT für weitere Informationen.
Zeitgeber in übersprungenen Programmabschnitten werden nicht zurückge-
setzt, wenn die Ausführungsbedingung für JMP(04) FALSCH ist. Der Zeitgeber
beendet die Zeitnahme, wenn Sprungnummer 00 verwendet wird; bei anderen
Sprungnummern setzt er die Zeitnahme fort.
Setzen Sie in der On–Line–Editierung immer den Zeitgeber neu, nach dem Sie
TIM in TIMH(15) oder umgekehrt geändert haben. Nehmen Sie auch eine Ände-
rung eines TIMH(15)–Befehls mit Interruptauffrischung nur in der PROGRAM–
Betriebsart vor.
Verwenden Sie Zeitgebernummern 000 bis 003 für TIMH(15). Schnelle Zeitge-
ber mit Zeitgebernummer TC 004 bis TC 127 (TC 016 bis TC 255 für die CPM2A/
CPM2C) sollten nicht verwendet werden, wenn die Zykluszeit 10 ms über-
schreitet.
SPS Interruptauffrischung jede 10 Aufgefrischt, wenn TIMH(15)
ms ausgeführt wird
CPM2A/CPM2C TC 000 bis TC 003 TC 004 bis TC 255
CPM1, CPM1A und TC 000 bis TC 003 TC 004 bis TC 127
SRM1(–V2)

In den SPS der CPM2A/CPM2C–Serien sollte TC 004 bis TC 007 nicht für
TIMH(15) verwendet werden, wenn TMHH(––) benötigt wird. Sehen Sie 7-15-3
SEHR SCHNELLER ZEITGEBER – TMHH(––) für weitere Informationen.
Wird der Sollwert des Zeitgebers auf 0000 eingestellt, wird der Fertigmerker ak-
tiviert, sobald die Ausführungsbedingung des Zeitgebers WAHR wird. Wird je-
doch TIM000 bis TIM003 verwendet, kann eine Verzögerung auftreten, bevor
der Merker aktiviert wird.
Wird der Sollwert des Zeitgebers auf 0001 eingestellt, wird der Fertigmerker ir-
gendwo zwischen 0 und 0.01 s aktiviert, nachdem die Ausführungsbedingung
des Zeitgebers WAHR wurde (d.h. die Zeitgebergenauigkeit bestimmt eigent-
lich die Zeit); der Fertigmerker kann auch aktivert werden, sobald die Ausfüh-
rungsbedingung des Zeitgebers WAHR wird.
Beachten Sie immer die Genauigkeit des Zeitgebers (0 bis –0,01 s) in Anwen-
dungsprogrammen.

Merker ER: Indirekt adressierte DM–Worte sind nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

Beispiel Im folgenden Beispiel wird ein Zeitgeber als Konstante eingegeben. CIO 01600
wird aktiviert, nachdem CIO 00000 gesetzt wird und behält diesen Zustand für
1,5 Sekunden bei. Nach dem Rücksetzen von 00000 werden auch Zeitgeber
und CIO 01600 zurückgesetzt.
00000
TIMH(15)
Adresse Befehl Operanden
000
1.5 s 00000 LD 00000
#0150
00001 TIMH(15) 000
TIM 000 # 0150
01600
00002 LD TIM 000
00003 OUT 01600

365
Zeitgeber– und Zählerbefehle Abschnitt 7-15

7-15-3 VERY HIGH-SPEED TIMER (Sehr schneller Zeitgeber) – TMHH(––)


Kontaktplansymbol Datenbereiche
n: #
TMHH(––)
TIM000 bis TIM255
n
SW: Sollwert
SV
IR, SR, AR, DM, HR, LR, #
000
000

Auf 000 setzen.

Dieser Befehl wird nur von der CPM2A/CPM2C unterstützt.


Einschränkungen Jede TC–Nummer kann als Operand für nur einen ZEITGEBER oder ZÄHLER-
BEFEHL verwendet werden. TC–Nummern reichen von TIM000 bis TIM255.
(Mit der Programmiersoftware SYSWIN 3.4: Sie müssen ”TIM” mit der tatsächli-
chen Zeitgebernummer eingeben, wenn Sie TMHH(––) verwenden. Der Befehl
funktioniert nicht, wenn nur die Zahl eingegeben wird.)
Der Sollwert ist ein BCD–Wert zwischen 0000 und 9999 (0 bis 9,999 s).
Setzen Sie den dritten Operanden auf 000. (Dieser Operand wird ignoriert.)
Beschreibung TMHH(––) ist ein dekrementierender Einschalt–Verzögerungszeitgeber, der
Zeiten in 1 ms–Einheiten zählt. Der Zeitgebersollwert kann 0 bis 9,999 s betra-
gen; der Zeitgeber besitzt eine Genauigkeit von 1 ms.
Der sehr schnelle Zeitgeber wird aktiviert, wenn seine Ausführungsbedingung
WAHR wird und er wird zurückgesetzt (auf den Sollwert), wenn die Ausfüh-
rungsbedingung FALSCH wird. Nachdem er aktiviert ist, zählt TMHH(––), be-
ginnend mit dem Sollwert, in 1 ms–Schritten herunter.
Der Zeitgeber läuft ab, wenn der Istwert #0000 erreicht (0 ms). Sobald der Zeit-
geber abgelaufen ist, wird Istwert– und Fertigmerkerzustand beibehalten. Der
Zeitgeber kann wieder aktiviert werden, indem seine Ausführungsbedingung
kurzzeitig von FALSCH auf WAHR oder sein Istwert mit einem Befehl wie
MOV(21) auf einen anderen Wert als #0000 geändert wird.
Der Vorgang der Sehr schnellen Zeitgeber–Ausführung in übersprungenen Pro-
grammabschnitten hängt von der TC–Nummer, die zur Definition des Zeitge-
bers verwendet wird, ab, wie es in der folgenden Tabellen beschrieben ist.
TC– Beschreibung
Nummer
000 bis 003 Der Zeitgeber unterbricht seinen Betrieb, wenn die Ausführungsbedingung
008 bis 255 für JMP(04) FALSCH ist. Dies beeinflusst die Genauigkeit von Zeitgebern in
übersprungenen Programmabschnitten in großem Maße.
004 bis 007 Wird Sprungnummer 00 verwendet, unterrbricht der Zeitgeber die Zeitnahme,
wenn die Ausführungsbedingung für JMP(04) FALSCH ist. Dies beeinflusst
die Genauigkeit von Zeitgebern in übersprungenen Programmabschnitten in
großem Maße.
Wird irgendeine andere Sprungnummer verwendet, setzt der Zeitgeber die
Zeitnahme fort, wenn die Ausführungsbedingung für JMP(04) FALSCH ist.

Vorsichtsmaßnahmen Sehr schnelle Zeitgeber mit anderen Zeitgebernummern als TC 004 bis TC 007
sind u. U. nicht genau, wenn die Zykluszeit 1 ms überschreitet. (Die Zykluszeit
wirkt sich nicht auf Sehr schnelle Zeitgeber aus, die mit TC 004 bis TC 007 defi-
niert sind.)
Sehr schnelle Zeitgeber in verriegelten Programmabschnitten werden (auf den
Sollwert) zurückgesetzt, wenn die Ausführungsbedingung für IL(02) FALSCH
ist.
Wird der Sollwert des Zeitgebers auf 0000 eingestellt, wird der Fertigmerker ak-
tiviert, sobald die Ausführungsbedingung des Zeitgebers WAHR wird. Wird je-

366
Zeitgeber– und Zählerbefehle Abschnitt 7-15

doch TIM004 bis TIM007 verwendet, kann eine Verzögerung auftreten, bevor
der Merker aktiviert wird.
Wird der Sollwert des Zeitgebers auf 0001 eingestellt, wird der Fertigmerker ir-
gendwo zwischen 0 und 1 ms aktiviert, nachdem die Ausführungsbedingung
des Zeitgebers WAHR wurde (d.h. die Zeitgebergenauigkeit bestimmt eigent-
lich die Zeit); der Fertigmerker kann auch aktivert werden, sobald die Ausfüh-
rungsbedingung des Zeitgebers WAHR wird.
Beachten Sie immer die Genauigkeit des Zeitgebers (0 bis –1 ms) in Anwen-
dungsprogrammen.

Merker ER: n ist keine gültige TC–Nummer.

Beispiel Im folgenden Beispiel wird CIO 20000 eingeschaltet, nachdem CIO 00000 akti-
viert wurde und bleibt für mindestens 1,5 Sekunden eingeschaltet. Wird 00000
deaktiviert, werden auch Zeitgeber und CIO 20000 zurückgesetzt.

00000 Adresse Befehl Operanden


TMHH(––)
TIM004 00000 LD 00000
#1500 1.5 s 00001 TMHH(––)
000
TIM 004
# 1500
000
TIM 004
00002 LD TIM 004
20000
00003 OUT 20000

7-15-4 LONG TIMER (Langer Zeitgeber) – TIML(––)


Kontaktplansymbol Datenbereiche
n: Zeitgeber–Nr (sehen Sie die Beschränkungen)
TIML(––)
TIM000 bis TIM255
n
SW: Sollwert
SV
IR, SR, AR, DM, HR, LR, #
C
C: Steuerdaten

000 oder 001

Dieser Befehl wird nur von den CPM2A/CPM2C unterstützt.


Einschränkungen Jede TC–Nummer kann als Operand für nur einen ZEITGEBER oder ZÄHLER-
BEFEHL verwendet werden. Zeitgeberummern reichen von TIM000 bis
TIM255. (Mit der Programmiersoftware SYSWIN 3.4:Sie müssen ”TIM” mit der
tatsächlichen Zeitgebernummer eingeben, wenn Sie TIML(––) verwenden. Der
Befehl funktioniert nicht, wenn nur die Zahl eingegeben wird.)
Der Sollwert im BCD–Format liegt zwischen 0000 und 9999 (0 bis 9.999 s, wenn
C=000 und 0 bis 99.990 s, wenn C=001).
C muss 000 (1 s–Einheiten) oder 001 (10 s–Einheiten) betragen.
Beschreibung TIML(––) ist ein dekrementierender Einschalt–Verzögerungszeitgeber, der in 1
s– oder 10 s–Einheiten zählt. Der Zeitgebersollwert kann 0 bis 9.999 s betragen
(die Genauigkeit beträgt 0 bis 1 s), wenn 1 s–Einheiten verwendet werden
(C=000) oder 0 bis 99.990 s (die Genauigkeit beträgt 0 bis 10 s), wenn 10 s–Ein-
heiten verwendet werden (C=001).
Ein Langer Zeitgeber wird aktiviert, sobald die entsprechende Ausführungsbe-
dingung WAHR wird. Er wird auf den Sollwert zurückgesetzt, wenn die Ausfüh-
rungsbedingung FALSCH wird. Sobald aktiviert, zählt TIML(––), beginnend mit
dem Sollwert, in Einheiten von 1 s oder 10 s herunter (je nach dem Wert von C).

367
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Die TIML(––)–Genauigkeit beträgt 0 bis 1 s bei 1 s–Einheiten oder 0 bis 10 s bei


10 s–Einheiten.
Der Zeitgeber läuft ab, wenn der Istwert #0000 erreicht (0 s). Sobald der Zeitge-
ber abgelaufen ist, wird Istwert– und Fertigmerkerzustand beibehalten. Der
Zeitgeber kann wieder aktiviert werden, indem seine Ausführungsbedingung
kurzzeitig von FALSCH auf WAHR oder sein Istwert mit einem Befehl wie
MOV(21) auf einen anderen Wert als #0000 geändert wird.
Lange Zeitgeber in Programmabschnitten, die mit Sprungbefehlen übersprun-
gen werden, werden nicht zurückgesetzt, wenn die Ausführungsbedingung für
JMP(04) FALSCH ist. Der Zeitgeber stellt jedoch seine Funktion ein und der Ist-
wert wird beibehalten. Die Zeitnahme wird fortgesetzt, wenn die Ausführungs-
bedingung für JMP(04) wieder WAHR ist. Dies beeinflusst die Genauigkeit von
Langen Zeitgebern in übersprungenen Programmabschnitten in großem Maße.
Vorsichtsmaßnahmen TIML(––) ist u. U. ungenau, wenn die Zykluszeit 1 s (C=000) oder 10 s über-
schreitet (C=001).
Lange Zeitgeber in verriegelten Programmabschnitten werden (auf den Soll-
wert) zurückgesetzt, wenn die Ausführungsbedingung für IL(02) FALSCH ist.
Die Zeiteinheiten in C können geändert werden, während der Lange Zeitgeber
aktiv ist. Die Änderung der Zeiteinheiten während des Betriebs reduziert die
Zeitgebergenauigkeit um bis zu 10 s.
Mit der Programmiersoftware SYSWIN 3.4: Sie müssen ”TIM” mit der tatsächli-
chen Zeitgebernummer eingeben, wenn Sie TIML(––) verwenden. Der Befehl
funktioniert nicht, wenn nur die Zahl eingegeben wird.)
Wird der Sollwert des Zeitgebers auf 0000 eingestellt, wird der Fertigmerker ak-
tiviert, sobald die Ausführungsbedingung des Zeitgebers WAHR wird. Wird der
Sollwert des Zeitgebers auf 0001 eingestellt, wird der Fertigmerker irgendwo
zwischen 0 und 1 s oder 0 und 10 s aktiviert, nachdem die Ausführungsbedin-
gung des Zeitgebers WAHR wurde (d.h. die Zeitgebergenauigkeit bestimmt ei-
gentlich die Zeit); der Fertigmerker kann auch aktivert werden, sobald die Aus-
führungsbedingung des Zeitgebers WAHR wird.
Beachten Sie immer die Genauigkeit des Zeitgebers (0 bis –1 s oder 0 bis –10 s)
in Anwendungsprogrammen.

Merker ER: n ist keine gültige Zeitgebernummer.


C ist nicht 000 oder 001.

Beispiel Im folgenden Beispiel wird CIO 20000 eingeschaltet, nachdem CIO 00000 akti-
viert wurde und bleibt für mindestens 1.500 Sekunden eingeschaltet. Wird
00000 deaktiviert, werden auch Zeitgeber und CIO 20000 zurückgesetzt.

00000 Adresse Befehl Operanden


TIML(––)
TIM002 00000 LD 00000
#0150 1500 s 00001 TIML(––)
001
TIM 002
# 0150
001
TIM 002
00002 LD TIM 002
20000
00003 OUT 20000

368
Zeitgeber– und Zählerbefehle Abschnitt 7-15

7-15-5 COUNTER (Zähler) – CNT


Datenbereiche

n: TC–Nummer
Kontaktplansymbol
#
CP
CNT n

R SW Datenbereiche

SW: Sollwert (Wort, BCD)

IR, SR, AR, DM, HR, LR, #

Einschränkungen Jede TC–Nummer kann als Operand für nur einen ZEITGEBER– oder ZÄH-
LERBEFEHL verwendet werden. TC–Nummern stehen im Bereich von 000 bis
255 (für SPS der CPM2A/CPM2C–Serie) und von 000 bis 127
(CPM1/CPM1A/SRM1(-V2)) zur Verfügung.
Beschreibung CNT arbeitet, ausgehend vom Sollwert (Zählvorgabe), als Abwärtszähler. Der
Zähler wird aktiviert, wenn bei der Ausführungsbedingung WAHR eine stei-
gende Flanke des Zähleingangsimpulses (CP) anliegt. Dies bedeutet, dass der
Istwert (Zählwert) schrittweise um 1 herabgesetzt wird, wann immer CNT mit
der Ausführungsbedingung WAHR für CP ausgeführt wird und die Ausführungs-
bedingung während der letzten Ausführung FALSCH war. Bleibt die Ausfüh-
rungsbedingung unverändert oder wechselt sie von EIN auf AUS, ändert sich
der CNT–Zählwert nicht. Der Fertigmerker für einen Zähler wird gesetzt, sobald
der Zählwert 0000 erreicht ist.
CNT wird über das Rücksetz–Eingangssignal R zurückgesetzt. Der Zähler
wechselt von seinem Istwert wieder auf den voreingestellten Sollwert, sobald er
durch ein Signal zurückgesetzt wird. Das Abwärtszählen beginnt aber erst wie-
der dann, wenn an R kein Signal mehr anliegt. In verriegelten Programmab-
schnitten oder bei Spannungsunterbrechungen wird der Istwert (Zählwert) nicht
zurückgesetzt.
Die nachfolgende Abbildung stellt die Vorgänge, bezogen auf Ausführungsbe-
dingungen, Fertigmerker und Zählwerte, dar. Die Istwert–Linienhöhe zeigt nur
Änderungen des Istwert an.
WAHR
Ausführungsbedingung
für den Zähleingangsimpuls FALSCH
(CP)
Ausführungsbedingung WAHR
für Rücksetz–Eingangs– FALSCH
signal (R)
WAHR
Fertigmerker
FALSCH

SW SW

SW – 1 0002
Zählwert (IW)
SW – 2 0001
0000

Vorsichtsmaßnahmen Die Programmausführung wird auch fortgesetzt, wenn der Sollwert nicht als
BCD–Wert eingegeben wurde. Es wird dann jedoch mit einer falschen Zählvor-
gabe gearbeitet.

Merker ER: Indirekt adressierte DM–Worte sind nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

369
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Beispiel Im folgenden Beispiel wird CNT dazu verwendet, erweiterte Zeitgeber durch
Zählen von Taktimpulsbits aus dem SR–Bereich zu erzeugen.
CNT 001 zählt, wieviele Male das 1–Sekunden–Taktimpuls–Bit (SR 25502) ge-
setzt und rückgesetzt wird. Auch in diesem Beispiel wird IR 00000 als Steuerbit
für CNT verwendet.
Weil in diesem Beispiel die Zählvorgabe für CNT 001 700 ist, wird der Fertigmer-
ker für CNT 002 gesetzt, sobald 700 Mal eine Sekunde verstrichen ist (11 Minu-
ten und 40 Sekunden). Als Ergebnis wird IR 20002 auf EIN gesetzt.
00000 25502
CP Adresse Befehl Operanden
CNT
001 00000 LD 00000
00001 00001 AND 25502
R
#0700
00002 LD NOT 00001
CNT 001
00003 CNT 001
20002 # 0700
00004 LD CNT 001
00005 OUT 20002

! Vorsicht Eine kürzere Taktzeit führt nicht unbedingt zu einem genauere Zeitgeberverhal-
ten. Wenn die Zeitdauer, für die das Bit gesetzt wird, sehr kurz ist, kann es vor-
kommen, dass die Erkennung bei langen Zyklen unpräzise wird. Das bedeutet,
dass Taktzeiten zwischen 0,02–Sekunden und 0,1–Sekunden bei mit CNT–Be-
fehlen gebildeten Zeitgebern vermieden werden sollten.

7-15-6 REVERSIBLE COUNTER (Aufwärts–/Abwärtszähler) – CNTR(12)


Datenbereiche

N: TC–Nummer
Kontaktplansymbol
#
II
CNTR (12)
DI N
Datenbereiche
SV
R
SW: Sollwert (Wort, BCD)

IR, SR, AR, DM, HR, LR, #

Einschränkungen Jede TC–Nummer kann als Operand für nur einen ZEITGEBER– oder ZÄH-
LERBEFEHL verwendet werden. TC–Nummern stehen im Bereich von 000 bis
255 (für SPS der CPM2A/CPM2C–Serie) und von 000 bis 127
(CPM1/CPM1A/SRM1(-V2)) zur Verfügung.
Beschreibung Der CNTR(12)–Befehl ist ein aufwärts–/abwärtszählender Ringzähler. Er zählt
von 0 bis zum Sollwert, entsprechend den Ausführungsbedingungen von zwei
Eingängen, nämlich des Inkrement– (II) und des Dekrementeingangs (DI).
Der aktuelle Wert (Istwert) wird um 1 inkrementiert, wenn am II–Eingang von
CNTR(12) ein EIN–Signal anliegt und dieses Signal im letzten Zyklus AUS war.
Der aktuelle Istwert wird um1 dekrementiert, wenn am DI–Eingang von
CNTR(12) ein EIN–Signal anliegt und dieses Signal im letzten Zyklus AUS war.
Der Istwert ändert sich nicht, wenn an beiden Eingängen (II und DI) steigende
Flanken auftraten.
Der Istwert von CNT ändert sich nicht, falls sich die Ausführungsbedingungen
nicht änderten oder nur EIN/AUS–Änderungen für II als auch DI auftraten.
Soll von 0000 ausgehend dekrementiert werden, wird der Istwert als Zählvor-
gabe (Sollwert) gesetzt und der Fertigmerker bleibt solange gesetzt, bis der Ist-
wert erneut dekrementiert wird. Wird die Zählvorgabe überschritten, wird der Ist-
wert auf 0000 gestellt und der Fertigmerker gesetzt, solange, bis der Istwert wie-
der inkrementiert wird.

370
Zeitgeber– und Zählerbefehle Abschnitt 7-15

CNTR(12) wird über den Rücksetzeingang zurückgesetzt. Der Istwert wird we-
der inkrementiert noch dekrementiert, solange ein Signal an R anliegt. Der Zähl-
vorgang beginnt wieder, wenn R auf AUS gesetzt wird. In verriegelten Pro-
grammabschnitten wird der Istwert für CNTR(12) nicht zurückgesetzt. Eine
Rücksetzung erfolgt ebenfalls nicht bei einer Spannungsunterbrechung.
Änderungen der II– und DI–Ausführungsbedingungen, des Fertigmerkers und
des Istwertes sind nachfolgend als Ausschnitt des CNTR(12)–Betriebs darge-
stellt (d.h. nach dem Rücksetzen beginnt der Zählvorgang wieder bei Null). Die
Höhe der Istwertlinie kennzeichnet nur Änderungen des Istwert.

Inkrement–Eingang EIN
(II) AUS

Dekrement–Eingang EIN
(DI) AUS

EIN
Fertigmerker AUS

SW SW
Zählwert (IW) SW – 1 SW – 1
0001
SW – 2 SW – 2
0000 0000

Vorsichtsmaßnahmen Die Programmausführung wird auch fortgesetzt, wenn der Sollwert nicht als
BCD–Wert eingegeben wurde. Der Zähler arbeitet dann jedoch mit einer fal-
schen Sollvorgabe.

Merker ER: Indirekt adressierte DM–Worte sind nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

7-15-7 REGISTER COMPARISON TABLE (Vergleichstabelle) – CTBL(63)


Kontaktplansymbol Datenbereiche
P:Schnittstellen–Spezifikation
CTBL (63) @CTBL(63)
000
P P
C: Steuerdaten
C C
000 bis 003
TB TB
TB: Erstes Vergleichswort

IR, SR, AR, DM, HR, LR

Dieser Befehl wird nicht von SRM1(–V2)–SPS–Systemen unterstützt.


Einschränkungen Das erste und das letzte Vergleichstabellen–Wort muss sich jeweils im gleichen
Datenbereich befinden. (Die Länge der Vergleichstabelle ist von den Einstellun-
gen abhängig.)
P muss 000 sein und C zwischen 000 und 003.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird CTBL(63) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, erstellt CTBL(63) eine Vergleichstabelle, deren
Werte mit dem Istwert des Schnellen Zählers verglichen werden. Je nach dem
für C spezifizierten Wert kann der Vergleich mit dem Istwert des Schnellen Zäh-
lers sofort beginnen oder separat mit dem INI(61)–Befehl ausgeführt werden.
Über P wird der Schnelle Zähler spezifiziert, der für den Vergleich eingesetzt
wird. P muss immer auf 000 eingestellt sein.
Die Funktion des CTBL(63)–Befehls wird über die in der nachfolgenden Tabelle
aufgeführten Steuerdaten C festgelegt. Die Beschreibung der Funktionen er-
folgt entsprechend der Tabelle.

371
Zeitgeber– und Zählerbefehle Abschnitt 7-15

C CTBL(63)–Funktion
000 Erstellen einer Zielwertvergleichstabelle und Starten des Vergleichs.
001 Erstellen einer Bereichsvergleichstabelle und Starten des Vergleichs.
002 Erstellen einer Zielwertvergleichstabelle. Starten des Vergleiches mit INI(61).
003 Erstellen einer Bereichsvergleichstabelle. Starten des Vergleiches mit INI(61).

Stimmt der Istwert mit dem Zielwert überein oder liegt er innerhalb des spezifi-
zierten Bereichs, wird das spezifizierte Unterprogramm aufgerufen und ausge-
führt. Sehen Sie Abschnitt 2-3-5 Schnelle Zähler–Interrupts für weitere Informa-
tionen über Tabellenvergleiche.
Wird der Schnelle Zähler in der SPS–Konfiguration (DM6642) aktiviert, startet
dieser zu Beginn des CPM2A/CPM2C–Betriebes einen Zählvorgang von Null
beginnend. Der Istwert wird erst mit der Vergleichstabelle verglichen, nachdem
diese erstellt und der Vergleich mit INI(61) oder CTBL(63) gestartet wurde. Der
Vergleich kann beendet und gestartet oder der Istwert über INI(61) zurückge-
setzt werden.
Gemeinsamkeiten von Ein Zielwertvergleich unterscheidet sich von einem Bereichsvergleich, aber die
Zielwert– und zwei Funktionen besitzen einige Gemeinsamkeiten.
Bereichvergleichen
1, 2, 3... 1. Die Unterprogrammnummern 000 bis 049 können verwendet werden und
die gleiche Unterprogrammnummer kann mehr als einmal in der Tabelle
verwendet werden.
2. Eine undefinierte Unterprogrammnummer oder FFFF kann für die Unter-
programmnummer spezifiziert werden, wenn keine Interrupt–Verarbeitung
erforderlich ist.
3. Der Vergleich kann mit INI(61) abgebrochen werden. Ein gespeicherte Ta-
belle ist gültig, bis der SPS–Betrieb abgebrochen oder eine neue Ver-
gleichstabelle gespeichert wird.
4. CTBL(63) kann nicht ausgeführt werden, wenn der schnelle Zähler in der
SPS–Konfiguration deaktiviert ist (DM 6642). (Ein Fehler tritt in diesem Fall
auf.)
Zielwertvergleich Eine Zielwertvergleichstabelle enthält bis zu sechzehn 8–stellige Zielwerte und
eine jedem Zielwert entsprechende Unterprogrammnummer. Eine Unterpro-
grammnummer wird ebenfalls für jeden Zielwert gespeichert. Stimmt der Istwert
mit dem Zielwert überein, wird das betreffende Unterprogramm aufgerufen und
ausgeführt. (Ist eine Interrupt–Verarbeitung nicht erforderlich, kann eine undefi-
nierte Unterprogrammnummer eingegeben werden.)
• In der CPM1/CPM1A erfolgen Zielwertvergleiche wertmäßig jeweils einzeln
und in der Reihenfolge der Vergleichtabelle. Erreicht der Istwert den ersten
Zielwert in der Tabelle, wird das Interrupt–Unterprogramm ausgeführt und der
Vergleich wird mit dem nächsten Wert in der Tabelle fortgesetzt. Ist der Ver-
gleich für den letzten Tabellenwert abgeschlossen, beginnt der Vorgang von
vorn.
• In der CPM2A/CPM2C wird der Istwert jedesmal mit allen Zielwerten in der Ta-
belle verglichen, wenn CTBL(63) ausgeführt wird. Stimmt der Istwert mit dem
Zielwert überein, wird das betreffende Unterprogramm aufgerufen und ausge-
führt.
Das folgende Diagramm zeigt die Struktur einer Zielwertvergleichstabelle. Ziel-
werte müssen einmalig sein; ein Fehler tritt auf, wenn ein Zielwert mehr als ein-
mal in der Tabelle vorhanden ist.

TB Anzahl der Zielwerte (0001 bis 0016, BCD–Wert)


TB+1 Zielwert #1, niederwertige 4 Ziffern
Eine Zielwert–
TB+2 Zielwert #1, höherwertige 4 Ziffern einstellung
TB+3 Unterprogrammnummer für Nr. 1 (s. S. d. Hinw.)

372
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Hinweis Die Unterprogrammnummer zur Aktivierung des Unterprogramms bei der De-
krementierung kann zwischen F000 und F049 liegen und bei der Inkrementie-
rung zwischen 0000 und 0049. Ein Fehler tritt auf, wenn der schnelle Zähler auf
einen Inkrementalbetrieb eingestellt wird, aber eine dekrementierende Unter-
programmnummer (F000 bis F049) spezifiziert wird.

Bereichsvergleich Eine Bereichsvergleichstabelle enthält 8 Bereiche, die durch einen 8–stelligen


unteren und einen 8–stelligen oberen Grenzwert sowie durch die entspre-
chende Unterprogrammnummern spezifiziert werden. Der Vergleich findet in je-
dem Zyklus und am Ende der Programmausführung statt und kann während der
Programmausführung mit INI(61) initiiert werden.
Das entsprechende Unterprogramm wird aufgerufen und ausgeführt, wenn der
Istwert in einem vorgegebenem Bereich liegt. (Ist eine Interrupt–Verarbeitung
nicht erforderlich, kann eine undefinierte Unterprogrammnummer eingegeben
werden. Bereiche können sich überschneiden, so kann der Istwert in mehr als
einem Bereich vorhanden sein; befindet sich der Istwert in zwei oder mehreren
Bereiche, wird das Unterprogramm für den ersten der Bereiche ausgeführt.
Das folgende Diagramm zeigt die Struktur einer Bereichsvergleichstabelle. 8
Bereiche stehen zur Verfügung. Benötigen Sie weniger als 8 Bereiche, definie-
ren Sie die nicht benötigten Unterprogrammnummern als FFFF.

TB Unterer Grenzwert Nr1, niederwertige 4 Ziffern (BCD)


TB+1 Unterer Grenzwert Nr1, höherwertige 4 Ziffern (BCD) Erste
TB+2 Oberer Grenzwert Nr1, niederwertige 4 Ziffern (BCD) Bereichs–
einstellung
TB+3 Oberer Grenzwert Nr1, höherwertige 4 Ziffern (BCD)
TB+4 Unterprogrammnummer (sehen Sie Hinweis 2)

TB+35 Unterer Grenzwert Nr 8, niederwertige 4 Ziffern (BCD)


TB+36 Unterer Grenzwert Nr 8, höherwertigte 4 Ziffern (BCD) Achte
TB+37 Oberer Grenzwert Nr 8, niederwertige 4 Ziffern (BCD) Bereichs–
einstellung
TB+38 Oberer Grenzwert Nr 8, höherwertige 4 Ziffern (BCD)
TB+39 Unterprogrammnummer (sehen Sie Hinweis 2)

Hinweis 1. Der untere Grenzwert jedes Bereichs muss unterhalb des oberen Grenz-
wertes liegen. Ein Fehler tritt auf, wenn der untere Grenzwert größer ist als
der obere.
2. Die Unterprogrammnummer kann zwischen 0000 bis 0049 liegen und das
Unterprogramm wird ausgeführt, solange sich der Istwert des Zählers in-
nerhalb des angegebenen Bereichs befindet. Der Wert FFFF zeigt an, dass
kein Unterprogramm ausgeführt werden soll.
3. Stellen Sie, da der Vergleich gewöhnlich nur einmal pro Zyklus ausgeführt
wird, sicher, die Zykluszeit in Betracht zu ziehen, wenn die oberen und un-
teren Grenzen Zeitwerte darstellen.
4. Eine Unterprogrammnummer kann mehr als einmal in der Tabelle verwen-
det werden.

Merker ER: Die Vergleichtabelle überschreitet die Datenbereichsgrenze oder es ist


ein Fehler in den Vergleichstabellen–Einstellungen vorhanden.
Indirekt adressierte DM–Worte sind nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwort–Be-
reichsgrenze wurde überschritten).
P ist nicht 000 oder C liegt nicht zwischen 000 und 003.
Ein CTBL(63)–Befehl mit einem anderen Vergleichsformat steht im Un-
terprogramm, das über einen anderen CTBL(63)–Befehl aufgerufen
wird.
Während des Vergleichs wird der CTBL(63)–Befehl mit einem anderen
Vergleichsformat ausgeführt.

373
Zeitgeber– und Zählerbefehle Abschnitt 7-15

CTBL(63) wird in einem Interrupt–Unterprogramm ausgeführt, wäh-


rend einer Impulsausgabe oder ein Schneller Zähler–Befehl (INI(61),
PRV(62), CTBL(63), SPED(64), PULS(65), ACC(––), PWM(––) oder
SYNC(––)) im Hauptprogramm ausgeführt wird.
Zielwertvergleichsfehler:
Die Anzahl der Zielwerte (in TB) liegt nicht zwischen 0001 und 0016.
Ein Zielwert liegt nicht zwischen F838 8608 und 0838 8607 (Differen-
tial–Phasenbetrieb, Impuls– und Richtungseingangsmodus und Auf-
wärts–/Abwärtseingangsmodus).
Ein Zielwert liegt nicht zwischen 0000 0000 und 1677 7215 oder eine
Unterprogrammnummer liegt nicht zwischen 0000 und 0049 (Inkre-
mentalmodus).
Bereichvergleichsfehler:
Der oberer Grenzwert eines Bereichs ist kleiner als sein unterer Grenz-
wert.
Ein Zielwert liegt nicht zwischen F838 8608 und 0838 8607 (Differen-
tial–Phasenbetrieb, Impuls– und Richtungseingangsmodus und Auf-
wärts–/Abwärtseingangsmodus).
Ein Zielwert liegt nicht zwischen 0000 0000 und 1677 7215 oder eine
Unterprogrammnummer liegt nicht zwischen 0000 und 0049 (Inkre-
mentalmodus).

7-15-8 MODE CONTROL (Zählersteuerung) – INI(61)


Kontaktplansymbol Datenbereiche
P:Schnittstellen–Spezifikation
INI(61) @INI(61)
000, 010, 100, 101, 102, 103
P P
C: Steuerdaten
C C
000 to 005
P1 P1
P1: Erstes Istwert–Wort

IR, SR, AR, DM, HR, LR (oder 000)

Dieser Befehl wird nicht von SRM1(–V2)–SPS–Systemen unterstützt.


Einschränkungen Bei der CPM1/CPM1A muss P = 000 und C = 000 bis 003 sein.
In CPM2A/CPM2C–SPS–Systemen muss P den Wert 000, 010, 100, 101, 102
oder 103 besitzen und C den Wert 000 bis 005.
P1 muss 000 sein, wenn C nicht 002 oder 004 entspricht.
P1 und P1+1 müssen sich im gleichen Datenbereich befinden.
Wird für P1 eine DM–Adresse verwendet, muss diese im les–/beschreibbaren
DM–Bereich liegen.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird INI(61) nicht ausgeführt. Ist die
Ausführungsbdingung EIN, steuert INI(61) den Betrieb des Schnellen Zählers
oder beendet die Impulsausgabe.

374
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Über P wird die Nummer des Schnellen Zählers oder des Impulsausgangs spe-
zifiziert, der gestartet werden soll.
P Funktion
000 Spezifiziert einen Schnellen Zähler–Eingang (Eingänge 00000, 00001 und 00002),
Einzelphasen–Impulsausgang 0 ohne Beschleunigung/Abbremsung (Ausgang
01000), Einzelphasen–Impulsausgang 0 mit trapezförmiger Beschleunigung/Ab-
bremsung (Ausgang 01000).
010* Spezifiziert den einphasigen Impulsausgang 1 ohne Beschleunigung/Abbrem-
sung(Ausgang 01001).
100* Spezifiziert eingangsgesteuerten Interrupt 0 im Zählmodus (Eingang 00003).
101* Spezifiziert eingangsgesteuerten Interrupt 1 im Zählmodus (Eingang 00004).
102* Spezifiziert eingangsgesteuerten Interrupt 2 im Zählmodus (Eingang 00005).
103* Spezifiziert eingangsgesteuerten Interrupt 3 im Zählmodus (Eingang 00006).

Hinweis *Diese Einstellungen können nur in den CPM2A/CPM2C–SPS–Systemen ver-


wendet werden.
Die Funktion von INI(61) wird durch die Steuerdaten C definiert.
C P1 INI(61)–Funktion
000 000 Startet den CTBL(63)–Tabellenvergleich.
001 000 Beendet den CTBL(63)–Tabellenvergleich.
002 Neuer Ist- Ändert den Istwert des Schnellen Zählers oder eines eingangsgesteu-
wert erten Interrupts im Zählmodus.
003 000 Anhalten der Impulsausgabe
004* Neuer Ändert den Istwert der Impulsausgabe.
Istwert
005* 000 Beendet die synchronisierte Impulsausgabe.

Hinweis *Diese Einstellungen können nur in den CPM2A/CPM2C–SPS–Systemen ver-


wendet werden.

Anfang oder Ende des Bei C = 000 bzw. 001 beginnt bzw. beendet INI(61) den Vergleich des Schnellen
Vergleichs Zähler–Istwertes mit der über CTBL(63) erstellten Vergleichstabelle. Ein Fehler
(C=000 oder C=001) tritt auf, wenn diese Funktion ausgeführt wird, ohne zuvor eine Vergleichstabelle
mit CTBL(63) zu erstellen.
Im allgemeinen sollte @INI(61) verwendet werden, wenn C=000 ist, da der Be-
fehl nur einmal ausgeführt werden muss, um den Tabellenvergleich zu begin-
nen.
Istwert ändern Bei C=002 ändert INI(61) den Istwert des spezifizierten Schnellen Zählers oder
(C=002) eingangsgesteuerten Interrupts (Zählmodus).
Schneller Zähler–Istwert (P=000)
INI(61) ändert den Istwert des Schnellen Zählers in den auf P1 und P1+1 ge-
speicherten 8–stelligen BCD–Wert.
Der neue Istwert kann zwischen F838 8608 und 0838 8607 (Differential–Pha-
senbetrieb, Impuls– und Richtungseingangsmodus oder Aufwärts–/Abwärts–
eingangsmodus) liegen. (Das hexadezimale “F” auf der ersten Stellen kenn-
zeichnet einen negativen Wert.)
Der neue Istwert kann zwischen 0000 0000 und 1677 7215 im Inkrementalmo-
dus liegen.
Eingangsgesteuerter Interrupt–Istwert (P=100 bis 103)
INI(61) ändert den Istwert des spezifizierten eingangsgesteuerten Interrupts
(Zählermodus) in den auf P1 gespeicherten 4–stelligen Hexadezimalwert (0000
bis FFFF).
Pulsausgabe beenden Bei C = 003 beendet INI(61) die Impulsausgabe.
(C=003)

Istwert ändern INI(61) ändert den Istwert des Impulsausgangs in den auf P1 und P1+1 gespei-
(C=004) cherten 8–stelligen BCD–Wert. Der Istwert kann nicht geändert werden, wäh-
rend die Impulsausgabe stattfindet.

375
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Der neue Istwert kann zwischen –16,777,215 und 16.777.215 liegen. Bit 15 von
P1+1 kennzeichnet das Vorzeichen; der Wert ist negativ, wenn Bit 15 aktiviert
(EIN) ist, und positiv, wenn es deaktiviert (AUS) ist.
Synchronisierte Entspricht C=005, beendet INI(61) die synchronisierte Impulsausgabe.
Impulsausgabe beenden
(C=005)
Merker ER: Schnittstellenbezeichner und Steuerdaten sind nicht kompatibel.
(Zum Beispiel: P=010 und C 000)
Es liegt ein Fehler in den Operandeneinstellungen vor oder der spezifi-
zierte Istwert liegt nicht innerhalb des akzeptablen Bereichs.
Die für P1 oder P1+1 spezifizierte Adresse überschreitet die Datenbe-
reichsgrenze.
Indirekt adressierte DM–Worte sind nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenbereichs-
grenze wurde überschritten).
Die spezifizierte Funktion ist nicht kompatibel mit dem tatsächlichen
SPS–Betrieb. Setzen Sie zum Beispiel nicht C auf 005, wenn keine syn-
chronisierte Impulssteuerung verwendet wird.
INI(61) wird ausgeführt, um den Istwert einer Impulsausgabe (C=004)
zu ändern, während die Impulsausgabe aktiv ist.
INI(61) wird in einem Interrupt–Unterprogramm ausgeführt, während
eine Impulsausgabe oder ein Schneller Zähler–Befehl (INI(61),
PRV(62), CTBL(63), SPED(64), PULS(65), ACC(––), PWM(––) oder
SYNC(––)) im Hauptprogramm ausgeführt wird.
INI(61) wird in einem Interrupt–Unterprogramm ausgeführt, während
eine Impulsausgabe oder ein Schneller Zähler–Befehl im Hauptpro-
gramm ausgeführt wird.

7-15-9 HIGH–SPEED COUNTER PV READ (Schneller Zähler–Istwert


einlesen) – PRV (62)

Kontaktplansymbol Datenbereiche
P:Schnittstellen–Spezifikation
PRV (62) @PRV(62)
000, 010, 100, 101, 102, 103
P P
C: Steuerdaten
C C
000, 001, 002, oder 003
D D
D: Erstes Zielwort

IR, SR, AR, DM, HR, LR

Dieser Befehl wird nicht von SRM1(–V2)–SPS–Systemen unterstützt.


Einschränkungen Bei CPM1/CPM1A–SPS–Systemen muss P = 000 und C = 000 bis 002 sein.
In CPM2A/CPM2C–SPS–Systemen muss P den Wert 000, 010, 100, 101, 102
oder 103 besitzen und C den Wert 000 bis 003.
D und D+1 müssen sich im gleichen Datenbereich befinden.
Wird für D eine DM–Adresse verwendet, muss diese im les–/beschreibbaren
DM–Bereich liegen.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird PRV( 62) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, liest PRV(62) den Schnellen Zähler–Istwert,
Impulsausgabe–Istwert, eingangsgesteuerter Interrupt–Istwert (Zählmodus)

376
Zeitgeber– und Zählerbefehle Abschnitt 7-15

oder die Eingangsfrequenz für eine synchronisierte Steuerung, wie dies durch P
und C spezifiziert wird.
Über P wird die Nummer des Schnellen Zählers oder des Impulsausgangs spe-
zifiziert, der gelesen werden soll.
P Funktion
000 Spezifiziert einen Schnellen Zähler–Eingang (Eingang 00000, 00001 und 00002),
eine Eingangsfrequenz für eine synchronisierte Impulssteuerung (Eingang 00000,
00001 und 00002), eine Einzelphasen–Impulsausgabe 0 ohne Beschleunigung/Ab-
bremsung (Ausgang 01000), eine Einzelphasen–Impulsausgabe 0 mit trapezförmige
Beschleunigung/Abbremsung (Ausgang 01000) oder eine synchronisierte Impuls-
ausgabe 0 (Ausgang 01000).
010* Spezifiziert eine Einzelphasen–Impulsausgabe 1 ohne Beschleunigung/Abbremsung
(Ausgang 01001) oder eine synchronisierte Impulsausgabe 1 (Ausgang 01001).
100* Spezifiziert den eingangsgesteuerten Interrupt 0 im Zählmodus
(Eingang 00003).
101* Spezifiziert den eingangsgesteuerten Interrupt 1 im Zählmodus
(Eingang 00004).
102* Spezifiziert den eingangsgesteuerten Interrupt 2 im Zählmodus
(Eingang 00005).
103* Spezifiziert den eingangsgesteuerten Interrupt 3 im Zählmodus
(Eingang 00006).

Hinweis *Diese Einstellungen können nur in den CPM2A/CPM2C–SPS–Systemen ver-


wendet werden.
C bestimmt den Datentyp, auf den zugegriffen wird.
C Funktion Zielwort (s)
000 Liest den Istwert des Schnellen Zählers oder eingangsge- D und D+1
steuerten Interrupts (Zählmodus) oder die Eingangsfre-
quenz der synchronisierten Impulssteuerung.
001 Liest den Zustand des Schnellen Zählers oder der Impuls- D
ausgabe.
002 Liest die Ergebnisse des Bereichvergleichs. D
003* Liest den Istwert der Impulsausgabe. D und D+1

Hinweis *Diese Einstellung kann nur in den CPM2A/CPM2C–SPS–Systemen verwen-


det werden.

Istwert lesen (C=000) Bei C=000 liest PRV(62) den Istwert des spezifizierten Schnellen Zählers oder
eingangsgesteuerten Interrupts (Zählmodus).
Schneller Zähler–Istwert oder Eingangsfrequenz (P=000)
Wird nur der Schnelle Zähler verwendet, liest PRV(62) den Istwert des spezifi-
zierten Schnellen Zählers und speichert den 8–stelligen BCD–Wert Wert auf D
und D+1. (Die äußerst linken 4 Stellen werden in D+1 gespeichert.)
Der neue Istwert kann zwischen F838 8608 und 0838 8607 (Differential–Pha-
senbetrieb, Impuls– und Richtungseingangsmodus oder Aufwärts–/Abwärt-
seingangsmodus) liegen. (Das hexadezimale “F” auf der ersten Stellen kenn-
zeichnet einen negativen Wert.)
Der neue Istwert kann im Inkrementalmodus zwischen 0000 0000 und
1677 7215 liegen.
Wird der Schnelle Zähler für eine synchronisierte Impulssteuerung verwendet,
liest PRV(62) die Eingangsfrequenz und speichert den 8–stelligen BCD–Wert
auf D und D+1. Die Eingangsfrequenz kann zwischen 0000 0000 und 0002 0000
liegen.
Eingangsgesteuerter Interrupt–Istwert (P=100 bis 103)
PRV(62) liest den Istwert des spezifizierten eingangsgesteuerten Interrupts
(Zählmodus) und speichert den 4–stelligen hexadezimalen Wert (0000 bis
FFFF) auf D.
Status lesen (C=001) Ist C = 001, wird der aktuelle Status des Schnellen Zählers oder des Impulsaus-
gangs gelesen und die Daten werden auf D gespeichert.

377
Zeitgeber– und Zählerbefehle Abschnitt 7-15

Schnelle Zähler– oder Impulsausgabe 0–Status (P=000)


Die folgende Tabelle zeigt die Funktionen der Bits in D, wenn P=000. Die nicht
verwendeten Bits sind nicht aufgeführt und auf 0 gesetzt.
Verwendung Bit Funktion
Schneller Zäh- 00 Schneller Zähler–Vergleichsmodus
ler (0: deaktiviert; 1: aktiviert)
01 Schneller Zähler–Über–/Unterlauf
(0: normal; 1: Über–/Unterlauf.)
Impulsaus- 05 Gesamtzahl der Impulsen, die für Impulsausgang 0 spezifiziert sind
g
gabe (0: nicht spezifiziert; 1: spezifiziert)
06 Impulsausgabe 0 abgeschlossen (0: nicht beendet; 1: beendet)
07 Impulsausgang 0–Status (0: keine Ausgabe; 1: Ausgabe)
08 Impulsausgabe 0–Istwert–Unter–/Überlauf
(0: normal; 1: Über–/Unterlauf.)
09 Impulsausgabe 0–Beschleunigung
0: konstant; 1: beschleunigt oder verlangsamt

Impulsausgabe 1–Status (P=010)


Die folgende Tabelle zeigt die Funktion der Bits in D, wenn P=010. Die nicht ver-
wendeten Bits sind nicht aufgeführt und auf 0 gesetzt.
Bit Funktion
05 Gesamtanzahl der Impulse, die für Impulsausgabe 1 spezifiziert sind
(0: nicht spezifiziert; 1: spezifiziert)
06 Impulsausgabe 1 abgeschlossen. (0: nicht beendet; 1: beendet)
07 Impulsausgabe 1–Status (0: keine Ausgabe; 1: Ausgabe)
08 Impulsausgabe 1–Istwert–Unter–/Überlauf
(0: normal; 1: Über–/Unterlauf.)
09 Impulsausgabe 1–Beschleunigung (0: konstant; 1: beschleunigt oder verlangsamt

Lesebereich–Vergleichs– Ist C = 002, liest der PRV(62)–Befehl die Vergleichsergebnisse der Istwerte aus
ergebnisse (C=002) den 8 Bereichen und speichert diese Daten in Wort D. Die Bits 00...07 des Wor-
tes D enthalten die Vergleichsergebnismerker der Bereiche 1...8 (0: außerhalb
des Bereichs; 1: innerhalb des Bereichs).
Impulsausgabe–Istwert Ist C=003, liest PRV(62) den Impulsausgabe–Istwert und speichert den 8–stel-
lesen (C=003) ligen BCD–Wert in D und D+1. (Die äußerst linken 4 Stellen werden in D+1 ge-
speichert.)
Der Istwert kann zwischen –16,777,215 und 16.777.215 liegen. Bit 15 von D+1
kennzeichnet das Vorzeichen; der Wert ist negativ, wenn Bit 15 aktiviert (EIN)
ist, und positiv, wenn es deaktiviert (AUS) ist.

Merker ER: Schnittstellenbezeichner und Steuerdaten sind nicht kompatibel.


(Zum Beispiel: P=010 und C 000)
Die für D oder D+1 spezifizierte Adresse überschreitet die Datenbe-
reichsgrenze.
Fehler bei der Operandeneinstellungen.
Indirekt adressierte DM–Worte sind nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenbereichs-
grenze wurde überschritten).
PRV(62) wird in einem Interrupt–Unterprogramm ausgeführt, während
eine Impulsausgabe oder ein Schneller Zähler–Befehl (INI(61),
PRV(62), CTBL(63), SPED(64), PULS(65), ACC(––), PWM(––) oder
SYNC(––)) im Hauptprogramm ausgeführt wird.

378
Schiebebefehle Abschnitt 7-16

7-16 Schiebebefehle
7-16-1 SHIFT REGISTER (Schieberegister) – SFT(10)
Kontaktplansymbol Datenbereiche
I St: Anfangswort
SFT (10)
P IR, SR, AR, HR, LR
St

R E: Endwort
E

IR, SR, AR, HR, LR

Einschränkungen E muss größer oder gleich dem Wert für St sein und St und E müssen sich im
gleichen Datenbereich befinden.
Wird eine Bitadresse in einem der im Schieberegister verwendeten Worte auch
in einem Befehl verwendet, der den individuellen Bitzustand steuert (z.B. OUT,
KEEP(11) ), wird ein Fehler (“COIL/OUT DUPL”) erzeugt, wenn die Programm-
syntax auf der Programmierkonsole oder einem anderen Programmierungsge-
rät überprüft wird. Das Programm wird jedoch in der geschriebenen Form aus-
geführt. Sehen Sie Beispiel 2: Steuerung von Bits in Schieberegistern.
Beschreibung SFT(10) wird über die drei Eingänge I, P und R gesteuert. Wird SFT(10) ausge-
führt und ist 1) Eingang P auf EIN gesetzt und war dieser bei der letzten Ausfüh-
rung auf AUS gesetzt und ist 2) Eingang R auf AUS gesetzt, dann wird der Ein-
gang I in das äußerst rechte Bit eines zwischen St und E definierten Schiebere-
gisters verschoben, d.h., ist Eingang I auf EIN gesetzt, wird eine 1 im Register
verschoben und ist Eingang I auf AUS gesetzt, wird eine 0 verschoben. Wird der
Wert von Eingang I ins Register geschoben, werden alle im Register befindli-
chen Bits nach links verschoben und die im äußerst linken Bit gespeicherte In-
formation des Register geht verloren.

E St+1, St+2 ... St

Datenver-
lust Eingang I

Eingang P arbeitet wie ein flankengesteuerter Befehl, d.h. der Wert von Eingang
I wird nur dann in das Register verschoben, wenn Eingang P auf EIN gesetzt ist
und bei der letzten Ausführung von SFT(10) auf AUS gesetzt war. Hat sich der
Status von P nicht geändert oder wechselte P von EIN auf AUS, dann bleibt das
Schieberegister unbeeinflußt.
St weist das äußerste rechte Wort des Schieberegisters und E das äußerste
linke Wort zu. Das Schieberegister beinhaltet sowohl diese beiden Worte, wie
auch alle dazwischenliegenden Worte. Das gleiche Wort kann St und E zuge-
wiesen werden, um ein 16–Bit (d.h.1 Wort)–Schieberegister zu erstellen.
Wird Eingang R auf EIN gesetzt, werden alle Bits im Schieberegister auf AUS
gesetzt (d.h. auf 0 gesetzt) und das Schieberegister ist solange deaktiviert, bis
Eingang R wieder auf AUS gesetzt wird.

Merker ER: St und E befinden sich nicht im gleichen Datenbereich oder ST ist grö-
ßer als E.

Beispiel Im folgenden Beispiel wird das 1 Sekunden–Impulstakt–Bit (25502) verwendet,


so dass jede Sekunde die durch 00000 erzeugte Ausführungsbedingung in HR

379
Schiebebefehle Abschnitt 7-16

00 verschoben wird. Eine ”1” wird in HR 0007 verschoben, wenn Ausgang


20000 auf EIN gesetzt ist.
00000
I Adresse Befehl Operanden
SFT (10)
25502 00000 LD 00000
P
HR 00 00001 LD 25502
00001 00002 LD 00001
R
HR 00
00003 SFT (10) HR 00
HR 00
00004 LD HR 0007
HR 0007
00005 OUT 20000
20000

7-16-2 WORD SHIFT (Wortweises Verschieben) – WSFT(16)

Kontaktplansymbol Datenbereiche
St: Anfangswort
WSFT (16) @WSFT(16)
IR, SR, AR, DM, HR, LR
St St
E: Endwort
E E
IR, SR, AR, DM, HR, LR

Einschränkungen St und E müssen sich im gleichen Datenbereich befinden und E muss größer
oder gleich dem Wert für St sein.
DM 6144 bis DM 6655 können nicht für St oder E verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird WSFT (16) nicht ausgeführt. Ist
der Eingang EIN, verschiebt der WSFT(16)–Befehl Daten zwischen St und E in
Worteinheiten. Nullen werden in St geschrieben und der Inhalt von E ist verlo-
ren.

E St + 1 St
F 0 C 2 3 4 5 2 1 0 2 9
Datenverlust
0000
E St + 1 St
3 4 5 2 1 0 2 9 0 0 0 0

Merker ER: Die St– und E–Worte befinden sich in verschiedenen Bereichen oder St
ist größer als E.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

380
Schiebebefehle Abschnitt 7-16

7-16-3 ARITHMETIC SHIFT LEFT (Verschiebung nach links) – ASL (25)

Kontaktplansymbol Datenbereiche

Wd: Schiebewort
ASL (25) @ASL(25)
IR, SR, AR, DM, HR, LR
Wd Wd

Einschränkung DM 6144 bis DM 6655 können nicht für Wd verwendet werden.


Beschreibung Ist die Ausführungsbedingung FALSCH, wird ASL(25) nicht ausgeführt. Ist der
Eingang EIN, verschiebt der Befehl ASL(25) eine 0 in Bit 00 von Wd, wodurch
die Bits von Wd um ein Bit nach links und der Status von Bit 15 nach CY verscho-
ben wird.
Bit Bit
CY 15 00
1 0 0 1 1 1 0 0 0 1 0 1 0 0 1 1
0

Vorsichtsmaßnahmen Bei jedem Zyklus wird eine 0 in Bit 00 geschoben, falls der Befehl ASL(25) (ohne
flankengesteuerte Ausführung) verwendet wird. Verwenden Sie den Befehl
(@ASL(25)) (flankengesteuerte Ausführung) oder verknüpfen Sie ASL(25) mit
DIFU(13) oder DIFD(14), um nur eine einzige Verschiebung auszuführen.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Übernimmt die Daten von Bit 15.
EQ: Auf EIN gesetzt, wenn der Inhalt von Wd gleich Null ist; andernfalls auf
AUS gesetzt.

7-16-4 ARITHMETIC SHIFT RIGHT (Arithmetisches Verschieben nach


rechts) – ASR(26)

Kontaktplansymbol Datenbereiche

Wd: Schiebewort
ASR (26) @ASR(26)
IR, SR, AR, DM, HR, LR
Wd Wd

Einschränkung DM 6144 bis DM 6655 können nicht für Wd verwendet werden.


Beschreibung Ist die Ausführungsbedingung FALSCH, wird ASR (26) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, verschiebt der Befehl ASR (26) eine 0 in Bit 15
von Wd, wodurch die Bits von Wd um ein Bit nach rechts und der Status von Bit
00 nach CY verschoben wird.
Bit Bit
15 00 CY
1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0
0

Vorsichtsmaßnahmen Bei jedem Zyklus wird eine 0 in Bit 15 geschoben, falls der Befehl ASR(26) (ohne
flankengesteuerte Ausführung) verwendet wird. Verwenden Sie den Befehl
(@ASR(26)) (flankengesteuerte Ausführung) oder verknüpfen Sie ASR(26) mit
DIFU(13) oder DIFD(14), um nur eine einzige Verschiebung auszuführen.

381
Schiebebefehle Abschnitt 7-16

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Übernimmt die Daten von Bit 00.
EQ: Auf EIN gesetzt, wenn der Inhalt von Wd gleich Null ist; andernfalls auf
AUS gesetzt.

7-16-5 ROTATE LEFT (Rotation nach links) – ROL(27)

Kontaktplansymbol Datenbereiche

Wd: Rotationswort
ROL (27) @ROL(27)
IR, SR, AR, DM, HR, LR
Wd Wd

Einschränkung DM 6144 bis DM 6655 können nicht für Wd verwendet werden.


Beschreibung Ist die Ausführungsbedingung FALSCH, wird ROL(27) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, verschiebt ROL(27) alle Wd–Bits um ein Bit
nach links, wodurch CY in Bit 00 von Wd und Bit 15 von Wd nach CY verschoben
wird.
Bit Bit
CY 15 00
0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1

Vorsichtsmaßnahmen Verwenden Sie, bevor Sie eine Rotation ausführen, den Befehl STC(41) zum
Setzen oder CLC(41) zum Löschen von CY, um sicherzustellen, dass CY vor
Ausführung von ROL(27) den richtigen Wert besitzt.
Wird der Befehl ROL(27) (ohne flankengesteuerter Ausführung) verwendet,
wird CY bei jedem Zyklus in Bit 00 verschoben. Verwenden Sie den Befehl
(@ROL(27)) (flankengesteuerte Ausführung) oder verknüpfen Sie ROL(27) mit
DIFU(13) oder DIFD(14), um nur eine einzige Verschiebung auszuführen.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Übernimmt die Daten von Bit 15.
EQ: Auf EIN gesetzt, wenn der Inhalt von Wd gleich Null ist; andernfalls auf
AUS gesetzt.

7-16-6 ROTATE RIGHT (Rotation nach rechts) – ROR(28)

Kontaktplansymbol Datenbereiche

Wd: Rotationswort
ROR (28) @ROR(28)
IR, SR, AR, DM, HR, LR
Wd Wd

Einschränkung DM 6144 bis DM 6655 können nicht für Wd verwendet werden.

382
Schiebebefehle Abschnitt 7-16

Beschreibung Ist die Ausführungsbedingung FALSCH, wird ROR(28) nicht ausgeführt. Ist
diese jedoch WAHR, verschiebt ROR(28) alle Wd–Bits um ein Bit nach rechts,
wodurch CY in Bit15 von Wd und Bit 00 von Wd nach CY verschoben wird.
Bit Bit
CY 15 00
0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1

Vorsichtsmaßnahmen Verwenden Sie, bevor Sie eine Rotation ausführen, den Befehl STC(41) zum
Setzen oder CLC(41) zum Löschen von CY, um sicherzustellen, dass CY vor der
Ausführung von ROR(28) den richtigen Wert enthält.
Wird der Befehl ROR(28) (ohne flankengesteuerte Ausführung) verwendet,
wird CY bei jedem Zyklus nach Bit15 verschoben. Verwenden Sie den Befehl
(@ROR(28)) (flankengesteuerte Ausführung) oder verknüpfen Sie ROR(28)
mit DIFU(13) oder DIFD(14), um nur eine einzige Verschiebung auszuführen.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Übernimmt die Daten von Bit 00.
EQ: Auf EIN gesetzt, wenn der Inhalt von Wd gleich Null ist; andernfalls auf
AUS gesetzt.

7-16-7 ONE DIGIT SHIFT LEFT (Eine Stelle nach links verschieben) –
SLD(74)

Kontaktplansymbol Datenbereiche
St: Anfangswort
SLD (74) @SLD(74)
IR, SR, AR, DM, HR, LR
St St
E: Endwort
E E
IR, SR, AR, DM, HR, LR

Einschränkungen St und E müssen sich im gleichen Datenbereich befinden und E muss größer
oder gleich dem Wert für St sein.
DM 6144 bis DM 6655 können nicht für St oder E verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird SLD(74) nicht ausgeführt. Ist
diese jedoch WAHR, verschiebt SLD(74) Daten zwischen St und E (einsch-
ließlich) um eine Stelle (vier Bits) nach links. In die äußerst rechte Stelle von St
wird 0 geschrieben und der Inhalt der äußerst linken Stelle von E geht verloren.

E ... St
8 F C 5 D 7 9 1

Datenverlust 0

Vorsichtsmaßnahmen Tritt ein Stromausfall während einer Verschiebung von mehr als 50 Worte ein,
kann die Verschiebung vorzeitig abgebrochen werden.
Je Zyklus wird eine 0 in die niederwertigste Stelle von St verschoben, wenn der
Befehl SLD(74) (ohne flankengesteuerter Ausführung) verwendet wird. Ver-
wenden Sie den Befehl (@SLD(74)) (flankengesteuerte Ausführung) oder ver-
knüpfen Sie SLD(74) mit DIFU(13) oder DIFD(14), um nur eine einzige Ver-
schiebung auzuführen.

383
Schiebebefehle Abschnitt 7-16

Merker ER: Die St– und E–Worte befinden sich in verschiedenen Bereichen oder St
ist größer als E.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

7-16-8 ONE DIGIT SHIFT RIGHT (Verschiebung um eine Stelle nach


rechts) – SRD(75)

Kontaktplansymbol Datenbereiche
E: Endwort
SRD (75) @SRD(75)
IR, SR, AR, DM, HR, LR
E E
St: Anfangswort
St St
IR, SR, AR, DM, HR, LR

Einschränkungen St und E müssen sich im gleichen Datenbereich befinden und E muss kleiner
oder gleich St sein.
DM 6144 bis DM 6655 können nicht für St oder E verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird SRD(75) nicht ausgeführt. Ist
diese jedoch WAHR, verschiebt SRD(75) Daten zwischen St und E (einsch-
ließlich) um eine Stelle (vier Bits) nach rechts. In die äußerst linke Stelle von St
wird 0 geschrieben und der Inhalt der äußerst rechten Stelle von E ist verloren.

St E
...
3 4 5 2 F 8 C 1

0 Datenverlust

Vorsichtsmaßnahmen Tritt ein Stromausfall während einer Verschiebung von mehr als 50 Worte ein,
kann die Verschiebung vorzeitig abgebrochen werden.
Je Zyklus wird eine 0 in die hochwertigste Stelle von St verschoben, wenn der
Befehl SRD(75) (ohne flankengesteuerter Ausführung) verwendet wird. Ver-
wenden Sie den Befehl (@SRD(75)) (flankengesteuerte Ausführung) oder ver-
knüpfen Sie SRD(75) mit DIFU(13) oder DIFD(14), um nur eine einzige Ver-
schiebung auszuführen.

Merker ER: Die St– und E–Worte befinden sich in verschiedenen Bereiche oder St
ist kleiner als E.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

384
Schiebebefehle Abschnitt 7-16

7-16-9 REVERSIBLE SHIFT REGISTER (Links/Rechts–Schieberegister)


– SFTR(84)
Datenbereiche

Kontaktplansymbol C: Steuerwort

IR, SR, AR, DM, HR, LR


SFTR(84) @SFTR(84)
St: Anfangswort
C C
IR, SR, AR, DM, HR, LR
St St
E: Endwort
E E
IR, SR, AR, DM, HR, LR

Einschränkungen St und E müssen sich im gleichen Datenbereich befinden und St muss kleiner
oder gleich E sein.
DM 6144 bis DM 6655 können nicht für C, St, oder E verwendet werden.
Beschreibung Mit SFTR(84) wird ein Schieberegister, bestehend aus einem oder mehreren
Worten erstellt, um Daten nach rechts oder links zu verschieben. Weisen Sie bei
einem Einzelwort–Register St und E das gleiche Wort zu. Das Steuerwort spezi-
fiziert die Verschieberichtung, den in das Register einzufügenden Status, den
Verschiebungsfreigabe– und den Rücksetzeingang. Die Zuweisung des Steu-
erwortes ist im folgenden dargestellt:

15 14 13 12

Nicht verwendet

Verschieberichtung
1 (EIN): Links (LSB zu MSB)
0 (AUS): Rechts (MSB zu LSB)

In das Register einzufügender Status

Verschiebungsfreigabe–Bit

Rücksetzbit

Die Daten im Schieberegister werden um ein Bit in die dem Bit 12 zugewiesene
Richtung verschoben, wobei das letzte bzw. erste Bit nach CY und der Status
von Bit 13 auf das andere Ende verschoben wird, wenn die Ausführungsbedin-
gung für SFTR(84) WAHR ist, solange das Rücksetzbit auf AUS und Bit 14 auf
EIN gesetzt ist, ausgeführt wird. Wird die Ausführungsbedingung von SFTR(84)
FALSCH oder mit Bit 14 auf AUS ausgeführt, bleibt das Schieberegister unver-
ändert. Wird die Ausführungsbedingung SFTR(84) WAHR und ist das Rück-
setzbit (15) auf EIN gesetzt, dann wird das gesamte Schieberegister und CY auf
Null gesetzt.

Merker ER: St und E befinden sich nicht im gleichen Datenbereich oder ST ist grö-
ßer als E.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Übernimmt, je nach Verschieberichtung, die Daten von Bit 00 in St oder
von Bit 15 in E.

Beispiel Im folgenden Beispiel werden IR 00000, IR 00001, IR 00002 und IR 00003 dazu
verwendet, die in @SFTR(84) verwendeten Bits von C zu steuern. Das Schie-

385
Schiebebefehle Abschnitt 7-16

beregister befindet sich in DM 0010 – DM 0011 und wird durch IR 00004 gesteu-
ert.

00000
Adresse Befehl Operanden
20012 Verschieberichtung
00000 LD 00000
00001 OUT 20012
00001 00002 LD 00001
20013 Eingangsstatus 00003 OUT 20013
00004 LD 00002
00005 OUT 20014
00002
Verschiebungs–
00006 LD 00003
20014
freigabe–Bit 00007 OUT 20015
00008 LD 00004
00003 00009 @SFTR(84)
20015 Rücksetzbit 200
DM 0010
00004 DM 0011
@SFTR(84)
200
DM 0010

DM 0011

7-16-10 ASYNCHRONOUS SHIFT REGISTER (Asynchrones


Schieberegister) – ASFT (17)
Datenbereiche

C:Steuerwort
Kontaktplansymbol
IR, SR, AR, DM, HR, LR, #
ASFT (17) @ASFT(17) St: Anfangswort
C C IR, SR, AR, DM, HR, LR
St St
E: Endwort
E E IR, SR, AR, DM, HR, LR

Hinweis ASFT(17) ist ein Erweiteter Befehl für die SRM1(–V2). Der Funktionscode 17 ist
werksseitig eingestellt und kann bei Bedarf für die SRM1(–V2) geändert wer-
den.

Einschränkungen St und E müssen sich im gleichen Datenbereich befinden und E muss größer
oder gleich dem Wert für St sein.
DM 6144 bis DM 6655 können nicht für St oder E verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, besitzt der Befehl ASFT(17) keine Aus-
wirkung und das Programm führt den nächsten Befehl aus. Ist diese jedoch
WAHR, erstellt und steuert ASFT(17) ein umkehrbares, asynchones Wort–
Schieberegister zwischen St und E. Dieses Register verschiebt nur dann Worte,
wenn das nächste Wort im Register Null ist, d.h. wenn keines der Registerworte
Null enthält, findet keine Verschiebung statt. Zusätzlich gilt, dass pro nullenent-
haltendes Registerwort nur ein Wort verschoben wird. Wird der Inhalt eines
Wortes auf das nächste Wort verschoben, wird der Inhalt des ursprünglichen
Wortes auf Null gesetzt. Bei einer Registerverschiebung tauscht also praktisch
jedes Nullwort den Platz mit dem nächsten Wort. (Sehen Sie dazu das nachfol-
gende Beispiel).
Die Verschieberichtung (d.h. ob das ”nächste Wort” das nächstniedrige oder –
höhere ist), wird durch C spezifiziert. C wird auch zur Rücksetzung des Regi-
sters verwendet. Ein beliebiger Teil des Registers kann zurückgesetzt werden,
indem der gewünschte Teil mit St und E spezifiziert wird.

386
Schiebebefehle Abschnitt 7-16

Steuerwort Bits 00 bis12 von C werden nicht verwendet. Bit 13 enthält die Verschieberich-
tung. Setzen Sie Bit 13 auf EIN, um abwärts zu verschieben (auf Worte mit nie-
driger Adresse) und auf AUS, um aufwärts zu verschieben (auf Worte mit höhe-
rer Adresse). Bit 14 ist das Verschieben aktivieren–Bit: setzen Sie dieses Bit auf
EIN, um eine Registerverschiebung gemäß Bit 13 zu aktivieren und auf AUS,
um diese zu deaktivieren. Bit 15 ist das Rücksetzbit: das Register wird im Be-
reich zwischen St und E zurückgesetzt (auf Null), wenn der Befehl ASFT(17)
ausgeführt wird, während Bit 15 auf EIN gesetzt ist. Setzen Sie Bit 15 für eine
normale Funktion auf AUS.
Hinweis Wird der Befehl ASFT(17) ohne flankengesteuerte Ausführung verwendet, wer-
den die Daten, solange der Eingang auf EIN ist, bei jedem Zyklus verschoben.
Verwenden Sie die flankengesteuerte Ausführung, um dies zu verhindern.

Merker ER: Die St– und E–Worte befinden sich in verschiedenen Bereichen oder St
ist größer als E.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

Beispiel Im folgenden Beispiel wird der Befehl ASFT(17) dazu verwendet, die Worte in
einem Schieberegister, das 11 Worte umfasst und das mit C=#6000 im Bereich
zwischen DM 0100 und DM 0110 erstellt wird, zu verschieben. Daten, die keine
Nullen enthalten, werden nach St (DM 0100) verschoben.
00000
Adresse Befehl Operanden
@ASFT (17)
#6000 00000 LD 00000
DM 0100
00001 @ASFT (17)
DM 0110
# 6000
DM 0100
DM 0110

Vor der Nach einer Nach sieben


Ausführung Ausführung Ausführungen

DM 0100 1234 1234 1234


DM 0101 0000 0000 2345
DM 0102 0000 2345 3456
DM 0103 2345 0000 4567
DM 0104 3456 3456 5678
DM 0105 0000 4567 6789
DM 0106 4567 0000 789a
DM 0107 5678 5678 0000
DM 0108 6789 6789 0000
DM 0109 0000 789a 0000
DM 0110 789a 0000 0000

Hinweis Mit C=4000 werden die Nullen “aufwärts” verschoben; das gesamte Schiebere-
gister wird auf Null gesetzt, wenn C=8000 ist.

387
Datenübertragungsbefehle Abschnitt 7-17

7-17 Datenübertragungsbefehle
7-17-1 MOVE (Übertragen) – MOV(21)
Kontaktplansymbol Datenbereiche
S: Quellwort
MOV(21) @MOV(21)
IR, SR, AR, DM, HR, TC, LR, #
S S
D: Zielwort
D D
IR, SR, AR, DM, HR, LR

Einschränkung DM 6144 bis DM 6655 können nicht für D verwendet werden.


Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl MOV(21) nicht ausge-
führt. Ist diese jedoch WAHR, kopiert MOV(21) den Inhalt von S nach D.

Quellwort Zielwort

Bitstatus
unverändert.

Vorsichtsmaßnahmen TC–Nummern können nicht für D spezifiziert werden, um den Istwert des Zeit-
gebers oder des Zählers zu ändern. Sie können den Istwert eines Zeitgebers
oder Zählers jedoch einfach mit dem Befehl BSET(71) ändern.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn alle Nullen auf D übertragen wurden.

Beispiel Im folgenden Beispiel wird der Befehl @MOV(21) dazu verwendet, den Inhalt
von IR 001 nach HR 05 zu kopieren, wenn IR 00000 von AUS auf EIN wechselt.
00000
@MOV(21)
Adresse Befehl Operanden
001 00000 LD 00000
HR 05 00001 @MOV(21)
001
HR 05

IR 001 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1

HR 05 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1

7-17-2 MOVE NOT (Invertiertes Übertragen) – MVN(22)


Kontaktplansymbol Datenbereiche
S: Quellwort
MVN(22) @MVN(22)
IR, SR, AR, DM, HR, TC, LR, #
S S
D: Zielwort
D D
IR, SR, AR, DM, HR, LR

Einschränkung DM 6144 bis DM 6655 können nicht für D verwendet werden.

388
Datenübertragungsbefehle Abschnitt 7-17

Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl MVN(22) nicht ausge-
führt. Ist diese jedoch WAHR, überträgt MVN(22) den invertierten Inhalt von S
(spezifiziertes Wort oder vierstellige, hexadezimale Konstante) nach D, d.h., für
jedes auf EIN gesetzte Bit in S wird das entsprechende Bit in D auf AUS gesetzt
und für jedes auf AUS gesetzte Bit in S, wird das entsprechende Bit in D auf EIN
gesetzt.

Quellwort Zielwort

invertierter
Bitstatus

Vorsichtsmaßnahmen TC–Nummern können nicht für D spezifiziert werden, um den Istwert des Zeit-
gebers oder Zählers zu ändern. Sie können den Istwert eines Zeitgebers oder
Zählers jedoch einfach mit dem Befehl BSET(71) ändern.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn alle Nullen auf D übertragen wurden.

Beispiel Im folgenden Beispiel wird der Befehl @MVN(22) dazu verwendet, das Komple-
ment von #F8C5 nach DM 0010 zu kopieren, wenn IR 00001 von AUS auf EIN
wechselt.
00001
@MVN(22)
Adresse Befehl Operanden
#F8C5 00000 LD 00001
DM 0010 00001 @MOV(21)
# F8C5
DM 0010

#F8C5 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1

DM 0010 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 0

7-17-3 BLOCK TRANSFER (Blockweise übertragen) – XFER(70)


Datenbereiche

Kontaktplansymbol N: Anzahl der Worte (BCD)

IR, SR, AR, DM, HR, TC, LR, #


XFER (70) @XFER(70)
S: Anfangs–Quellwort
N N
IR, SR, AR, DM, HR, TC, LR
S S
D: Anfangs–Zielwort
D D
IR, SR, AR, DM, HR, TC, LR

Einschränkungen S und S+N sowie D und D+N müssen sich im gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für D verwendet werden.

389
Datenübertragungsbefehle Abschnitt 7-17

Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl XFER(70) nicht ausge-
führt. Ist diese jedoch WAHR, kopiert XFER(70) den Inhalt von S, S+1, ..., S+N
nach D, D+1, ..., D+N.

S D
3 4 5 2 3 4 5 2

S+1 D+1
3 4 5 1 3 4 5 1

S+2 D+2
3 4 2 2 3 4 2 2

S+n D+n
6 4 5 2 6 4 5 2

Merker ER: n liegt nicht im BCD–Format vor.


S und S+n oder D und D+n befinden sich nicht im gleichen Datenbe-
reich.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

7-17-4 BLOCK SET (Blockweise vorbesetzen) – BSET(71)


Datenbereiche

Kontaktplansymbol S: Quelldaten

IR, SR, AR, DM, HR, TC, LR, #


BSET (71) @BSET(71)
St: Anfangswort
S S
IR, SR AR, DM, HR, TC, LR
St St
E: Endwort
E E
IR, SR, AR, DM, HR, TC, LR

Einschränkungen St muss kleiner oder gleich E sein und St und E müssen sich im gleichen Daten-
bereich befinden.
DM 6144 bis DM 6655 können nicht für St oder E verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl BSET(71) nicht ausge-
führt. Ist diese jedoch WAHR, kopiert BSET(71) den Inhalt von S in alle Worte
von St bis E.

S St
3 4 5 2 3 4 5 2

St+1
3 4 5 2

St+2
3 4 5 2

E
3 4 5 2

390
Datenübertragungsbefehle Abschnitt 7-17

Mit dem Befehl BSET(71) kann der Zeitgeber/Zähler–Istwert geändert werden.


(Dies kann nicht mit MOV(21) oder MVN(22) erfolgen). Mit BSET(71) können
auch Abschnitte eines Datenbereiches, d.h. des DM–Bereichs, gelöscht wer-
den, um die Ausführung anderer Befehle vorzubereiten. Er kann auch dazu ver-
wendet werden, Worte durch Übertragung von nur Nullen zu löschen.

Merker ER: St und E befinden sich nicht im gleichen Datenbereich oder ST ist grö-
ßer als E.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

Beispiel Im folgenden Beispiel wird der BSET(71)–Befehl dazu verwendet, eine Kon-
stante (#0000) auf einen Block des DM–Bereiches (DM 0000 bis DM 0500) zu
kopieren, wenn IR 00000 auf EIN gesetzt ist.

00000 Adresse Befehl Operanden


@BSET(71)
00000 LD 00000
#0000
00001 @BSET(71)
DM 0000
# 0000
DM 0500
DM 0000
DM 0500

7-17-5 DATA EXCHANGE (Datenaustausch) – XCHG(73)


Kontaktplansymbol Datenbereiche
E1: Austauschwort 1
XCHG (73) @XCHG(73)
IR, SR, AR, DM, HR, TC, LR
E1 E1
E2: Austauschwort 2
E2 E2
IR, SR, AR, DM, HR, TC, LR

Einschränkung DM 6144 bis DM 6555 können nicht für E1 oder E2 verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl XCHG(73) nicht ausge-
führt. Ist diese jedoch WAHR, tauscht XCHG(73) den Inhalt von E1 und E2 aus.

E1 E2

Falls Sie den Inhalt von Blöcken mit mehr als einem Wort austauschen möchten,
verwenden Sie Arbeitsworte als Zwischenpuffer, um einen der Blöcke unter
dreimaliger Anwendung von XFER(70) zu speichern.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

391
Datenübertragungsbefehle Abschnitt 7-17

7-17-6 SINGLE WORD DISTRIBUTE (Datenverteilung) – DIST(80)


Datenbereiche

Kontaktplansymbol S: Quelldaten

IR, SR, AR, DM, HR, TC, LR, #


DIST (80) @DIST(80)
DBs: Anfangswort des Zielbereiches
S S
IR, SR, AR, DM, HR, TC, LR
DBs DBs
C: Steuerwort (BCD)
C C
IR, SR, AR, DM, HR, TC, LR, #

Einschränkungen C muss im BCD–Format vorliegen.


DM 6144 bis DM 6655 können nicht für DBs oder C verwendet werden.
Beschreibung Der DIST(80)–Befehl kann, abhängig von dem im Steuerwort C vorhandenen
Inhalt, als Übertragungsbefehl für ein einzelnes Wort oder als Stapelbefehl ver-
wendet werden.
Verteilung eines einzelnen Sind die Bits 12 bis 15 von C=0, kann DIST(80) für die Verteilung eines einzel-
Wortes nen Wortes verwendet werden. Der gesamte Inhalt von C spezifiziert einen Off-
set Of (0000 bis 2047 in BCD).
Ist die Ausführungsbedingung FALSCH, wird der Befehl DIST(80) nicht ausge-
führt. Ist diese jedoch WAHR, kopiert DIST(80) den Inhalt von S nach DBs+Of,
d.h. Of wird zu DBs addiert, um das Zielwort zu spezifizieren.
Hinweis DBs und DBs+Of müssen sich im gleichen Datenbereich befinden und können
nicht zwischen DM 6144 und DM 6655 liegen.

Beispiel Im folgenden Beispiel kopiert der DIST(80)–Befehl #00FF nach HR 10 + Offset.


Der Inhalt von LR 10 ist #0005, wodurch #00FF nach HR 15 (HR 10 + 5) kopiert
wird, wenn IR 00000 auf EIN gesetzt ist.

00000 Adresse Befehl Operanden


@DIST(80)
00000 LD 00000
#00FF
00001 @DIST(80)
HR 10
# 00FF
LR 10
HR 10
LR 10

LR 10 #00FF HR 10
0 0 0 5 0 0 F F 0 0 0 0

HR 15
0 0 F F

Stapeloperationen Sind die Bits 12 bis 15 von C=9, kann der Befehl DIST( 80) für die Stapelopera-
tion verwendet werden. Die anderen 3 Stellen von C spezifizieren die Anzahl der
im Stapel (000 bis 999 in BCD) befindlichen Worte. Der Inhalt von DBs ist der
Stapelzeiger.
Ist die Ausführungsbedingung FALSCH, wird der DIST(80)–Befehl nicht ausge-
führt. Ist diese jedoch WAHR, kopiert DIST(80) den Inhalt von S nach DBs+1 +
den Inhalt des DBs. Mit anderen Worten,1 und der Inhalt von DBs wird zu DBs
addiert, um das Zielwort zu spezifizieren. Der Inhalt von DBs wird dann um 1
inkrementiert.

392
Datenübertragungsbefehle Abschnitt 7-17

Hinweis 1. Der DIST(80)–Befehl wird bei jedem Zyklus ausgeführt, wenn nicht die flan-
kengesteuerte Ausführung des Befehls (@DIST(80)) oder DIST(80) mit
DIFU(13) oder DIFD(14) verwendet wird.
2. Initialisieren Sie den Stapelzeiger vor Verwendung des DIST(80)–Befehls
in Stapeloperationen.
Beispiel Im folgenden Beispiel wird mit dem DIST(80)–Befehl ein Stapel zwischen DM
0001 und DM 0005 erstellt. DM 0000 arbeitet als Stapelzeiger.

00000 Adresse Befehl Operanden


@DIST(80)
00000 LD 00000
200
00001 @DIST(80)
DM 0000
200
216
DM 0000
216

IR 200 FFFF

IR 216 9005

DM 0000 0000 DM 0000 0001 DM 0000 0002


Erste Zweite
DM 0001 0000 Ausführung DM 0001 FFFF Ausführung DM 0001 FFFF
DM 0002 0000 DM 0002 0000 DM 0002 FFFF
DM 0003 0000 Stapelzeiger DM 0003 0000 DM 0003 0000
inkrementiert Stapelzeiger
DM 0004 0000 DM 0004 0000 inkrementiert DM 0004 0000
DM 0005 0000 DM 0005 0000 DM 0005 0000

Merker ER: Der Offset oder die Stapellänge im Steuerwort liegt nicht im BCD–For-
mat vor.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
Während der Stapeloperation überschreitet der Wert des Stapelzei-
gers+1 die Stapellänge.
EQ: Auf EIN gesetzt, wenn der Inhalt von S Null ist; andernfalls auf AUS ge-
setzt.

7-17-7 DATA COLLECT (Daten sammeln) – COLL(81)


Datenbereiche

Kontaktplansymbol SBs: Quell–Basiswort

IR, SR, AR, DM, HR, TC, LR


COLL (81) @COLL(81)
C: Steuerwort (BCD)
SBs SBs
IR, SR, AR, DM, HR, TC, LR, #
C C
D: Zielwort
D D
IR, SR, AR, DM, HR, TC, LR

Einschränkungen C muss im BCD–Format vorliegen.


DM 6144 bis DM 6655 können nicht für D verwendet werden.
Beschreibung Der Befehl COLL(81) arbeitet abhängig von dem Wert in C als Daten–Sammel–,
FIFO– oder LIFO–Stapelbefehl.
Datenerfassung Sind die Bits 12 bis 15 von C=0, kann COLL(81) für die Stapeloperation verwen-
det werden. Der gesamte Inhalt von C spezifiziert einen Offset Of (0000 bis 2047
in BCD).

393
Datenübertragungsbefehle Abschnitt 7-17

Ist die Ausführungsbedingung FALSCH, wird COLL(81) nicht ausgeführt. Ist


diese jedoch WAHR, kopiert COLL(81) den Inhalt von SBs + Of nach D, d.h. der
Wert von Of wird zu SBs addiert, um das Quellwort zu bestimmen.
Hinweis SBs und SBs+Offset müssen sich im gleichen Datenbereich befinden.

Beispiel Im folgenden Beispiel kopiert COLL(81) den Inhalt von DM 0000+Offset nach
LR 00. Der Inhalt von 200 ist #0005, also wird der Inhalt von DM 0005 (DM 0000
+ 5) nach LR 00 kopiert, wenn IR 00001 auf EIN gesetzt ist.

00001 Adresse Befehl Operanden


@COLL(81)
00000 LD 00001
DM 0000
00001 @DIST(80)
200
DM 0000
LR 00
200
LR 00

200 DM 0000 LR 00
0 0 0 5 0 0 0 0 0 0 F F

DM 0005
0 0 F F

FIFO–Stapeloperationen Sind die Bits12 bis15 von C=9, arbeitet COLL(81) in der FIFO–Stapeloperation.
Die anderen 3 Stellen von C spezifizieren die Anzahl der im Stapel (000 bis 999
in BCD) befindlichen Worte. Der Inhalt von SBs ist der Stapelzeiger.
Ist die Ausführungsbedingung WAHR, verschiebt COLL(81) den Inhalt jedes
Wortes innerhalb des Stapels um eine Adresse und verschiebt schließlich die
Daten von SBs (der erste, in den Stapel geschriebene Wert) in das Zielwort (D).
Der Inhalt des Stapelzeigers (SBs) wird dann um 1 dekrementiert.
Hinweis COLL(81) wird in jedem Zyklus ausgeführt, wenn nicht die flankengesteuerte
Ausführung des Befehls (@COLL(81)) oder COLL(81) mit DIFU (13) oder
DIFD(14) verwendet wird.

Beispiel Im folgenden Beispiel wird mit COLL(81) ein Stapel zwischen DM 0001 und DM
0005 erstellt. DM 0000 arbeitet als Stapelzeiger.
Wechselt IR 00000 von AUS auf EIN, verschiebt COLL(81) den Inhalt von DM
0002 bis DM 0005 um eine Adresse und anschließend die Daten von DM 0001
nach IR 001. Der Inhalt des Stapelzeigers (DM 0000) wird dann um 1 dekremen-
tiert.

00000 Adresse Befehl Operanden


@COLL(81)
00000 LD 00000
DM 0000
00001 @COLL(81)
216
DM 0000
001
216
001

IR 216 9005 Dekrementie-


rung des
DM 0000 0005 Stapelzeigers DM 0000 0004 IR 001 AAAA
DM 0001 AAAA DM 0001 BBBB
DM 0002 BBBB DM 0002 CCCC
DM 0003 CCCC DM 0003 DDDD
DM 0004 DDDD DM 0004 EEEE
DM 0005 EEEE DM 0005 EEEE

394
Datenübertragungsbefehle Abschnitt 7-17

LIFO–Stapeloperationen Sind die Bits12 bis15 von C=8, wird COLL(81) in der LIFO–Stapeloperation ver-
wendet. Die anderen 3 Stellen von C spezifizieren die Anzahl der im Stapel (000
bis 999) befindlichen Worte. Der Inhalt von SBs ist der Stapelzeiger.
Ist der Eingang EIN, kopiert COLL(81) die Daten des durch den Stapelzeiger
(SBs+den Inhalt von SBs) spezifizierten Wortes in das Zielwort (D). Der Inhalt
des Stapelzeigers (SBs) wird anschließend um 1 dekrementiert.
Der Stapelzeiger ist das einzige Wort, das im Stapel geändert wird.
Hinweis COLL(81) wird in jedem Zyklus ausgeführt, wenn nicht die flankengesteuerte
Ausführung des Befehls (@COLL(81)) oder COLL(81) mit DIFU (13) oder
DIFD(14) verwendet wird.

Beispiel Im folgenden Beispiel wird mit COLL(81) ein Stapel zwischen DM 0001 und
DM 0005 erstellt. DM 0000 arbeitet als Stapelzeiger.
Wechselt IR 00000 von AUS auf EIN, kopiert COLL(81) den Inhalt von DM 0005
(DM 0000+5) nach IR 001. Der Inhalt des Stapelzeigers (DM 0000) wird an-
schließend um 1 dekrementiert.

00000 Adresse Befehl Operanden


@COLL(81)
00000 LD 00000
DM 0000
00001 @COLL(81)
216
DM 0000
001
216
001

IR 216 8005 Dekrementie-


rung des
DM 0000 0005 Stapelzeigers DM 0000 0004 IR 001 EEEE
DM 0001 AAAA DM 0001 AAAA
DM 0002 BBBB DM 0002 BBBB
DM 0003 CCCC DM 0003 CCCC
DM 0004 DDDD DM 0004 DDDD
DM 0005 EEEE DM 0005 EEEE

Merker ER: Der Offset oder die Stapellänge im Steuerwort liegt nicht im BCD–For-
mat vor.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
Während der Stapeloperation überschreitet der Wert des Stapelzeigers
die Stapellänge; es wurde versucht, ein Wort über die Stapellänge hin-
aus zu schreiben.
EQ: Auf EIN gesetzt, wenn der Inhalt von D Null wird; andernfalls auf AUS
gesetzt.

7-17-8 MOVE BIT (Bit übertragen) – MOVB(82)


Datenbereiche

Kontaktplansymbol S: Quellwort

IR, SR, AR, DM, HR, LR, #


MOVB (82) @MOVB(82)
Bi:Bitkennzeichner (BCD)
S S
IR, SR, AR, DM, HR, TC, LR, #
Bi Bi
D: Zielwort
D D
IR, SR, AR, DM, HR, LR

395
Datenübertragungsbefehle Abschnitt 7-17

Einschränkungen Die äußerst rechten zwei Stellen und die äußerst linken zwei Stellen von Bi müs-
sen sich je zwischen 00 und 15 befinden.
DM 6144 bis DM 6655 können nicht für Bi oder D verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl MOVB(82) nicht aus-
geführt. Wird die Ausführungsbedingung WAHR, kopiert MOVB (82) das spezi-
fizierte Bit von S auf das spezifizierte Bit in D. Die Bits in S und D werden durch Bi
spezifiziert. Die äußerst rechten zwei Stellen von Bi weisen das Quellbit und die
äußerst linken zwei Stellen das Zielbit zu.
Bit Bit
15 00

Bi
Bi 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1

MSB 1 2 0 1 LSB Bit 1 2 0 1 Bit


15 00
S 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1
Quellbit (00 bis 15)
Bit Bit
Zielbit (00 bis 15) 15 00
D 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1

Merker ER: Bi liegt nicht im BCD–Format vor oder spezifiziert ein nicht vorhande-
nes Bit (d.h. die Bitspezifikation muss zwischen 00 und 15 liegen).
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

7-17-9 MOVE DIGIT (Digit–Übertragung) – MOVD(83)


Datenbereiche

Kontaktplansymbol S: Quellwort

IR, SR, AR, DM, HR, TC, LR, #


MOVD(83) @MOVD(83)
Di:Stellenkennzeichner (BCD)
S S
IR, SR, AR, DM, HR, TC, LR, #
Di Di
D: Zielwort
D D
IR, SR, AR, DM, HR, TC, LR

Einschränkungen Die äußerst rechten drei Stellen müssen jeweils einen Wert zwischen 0 und 3
besitzen.
DM 6144 bis DM 6655 DM können nicht für Di oder D verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl MOVD(83) nicht aus-
geführt. Ist diese jedoch WAHR, kopiert MOVD(83) den Inhalt der spezifizierten
Stelle(n) in S in die spezifizierten Stelle(n) in D. Bis zu vier Stellen können auf
einmal übertragen werden. Die erste zu kopierende Stelle, die Anzahl der zu ko-
pierenden Stellen und die erste Stelle, die die Kopie empfängt, werden, wie
nachstehend dargestellt, Di zugewiesen. Die Stellen von S werden, angefangen
von der ersten bis zur letzten zugewiesenen Stelle, in die aufeinanderfolgender

396
Datensteuerungsbefehle Abschnitt 7-18

Stellen von D kopiert. Wird die letzte Stelle in S oder D erreicht, werden weitere
Stellen, angefangen bei der Stelle 0, verwendet.
Stellen: 3 2 1 0

Erste Stelle in S (0 bis 3)

Anzahl der Stellen (0 bis 3)


0: 1 Stelle
1: 2 Stellen
2: 3 Stellen
3: 4 Stellen
Erste Stelle in D (0 bis 3)

Nicht verwendet (Auf 0 gesetzt).

Stellenkennzeichner Im folgenden Beispiel werden die Datenbewegungen für diverse Werte von Di
dargestellt.
Di: 0010 Di: 0030
S D S D

0 0 0 0
1 1 1 1
2 2 2 2
3 3 3 3

Di: 0031 Di: 0023


S D S D
0 0 0 0
1 1 1 1
2 2 2 2
3 3 3 3

Merker ER: Mindestens eine der äußerst rechten drei Stellen von Di liegt nicht zwi-
schen 0 und 3.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

7-18 Datensteuerungsbefehle
7-18-1 SCALING (Skalierung) – SCL(66)
Kontaktplansymbole Datenbereiche

S:Quellwort
SCL (66) @SCL(66)
IR, SR, AR, DM, HR, TC, LR, #
S S
P1:Erstes Parameterwort
P1 P1
IR, SR, AR, DM, HR, TC, LR
R R
R Ergebniswort

IR, SR, AR, DM, HR, LR

Einschränkungen Dieser Befehl ist nur verfügbar in der CPM2A/CPM2C/SRM1–V2.


P1 bis P1+3 müssen sich in dem gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für P1 bis P1+3 oder R verwendet werden.

397
Datensteuerungsbefehle Abschnitt 7-18

Beschreibung Der Befehl SCL(66) wird zur linearen Konvertierung eines 4–stelligen Hexade-
zimal– in einen 4–stelligen BCD–Wert eingesetzt. Im Gegensatz zu dem
BCD(24)–Befehl, der einen 4–stelligen Hexadezimalwert in sein 4–stelliges
BCD–Äquivalent konvertiert (Shex→SBCD), konvertiert SCL(66) den hexadezi-
malen Wert in Abhängigkeit von einer speziellen linearen Funktion. Diese li-
neare Funktion wird durch zwei Punkte in den Parameterworten P1 bis P1+3
definiert.
Ist die Ausführungsbedingung FALSCH, wird der Befehl SCL(66) nicht ausge-
führt. Ist diese jedoch WAHR, konvertiert SCL (66) einen 4–stelligen Hexadezi-
malwert des Quellwortes S in einen 4–stelligen BCD–Wert in Abhängigkeit von
der linearen Funktion (Geraden), die durch die Parameter P1, P1+1 (Ay, Ax) und
P1+2, P1+3 (By, Bx) definiert ist. Das Ergebnis wird in das Ergebniswort R ge-
schrieben. Ergebnisse werden auf die nächste Ganzzahl abgerundet. Ist das
Ergebnis kleiner als 0000, wird der Wert 0000 in R gespeichert. Ist das Ergebnis
größer als 9999, wird der Wert 9999 in R gespeichert.
Die folgende Tabelle enthält die Funktionen und Bereiche der Parameterworte:
Parameter Funktion Bereich Bemerkungen
P1 BCD–Punkt Nr. 1 (AY) 0000 ... 9999 –––
P1+1 Hex. Punkt Nr. 1 (AX) 0000 ... FFFF Nicht auf P1+1=P1+3 setzen
P1+2 BCD–Punkt Nr. 2 (BY) 0000 ... 9999 –––
P1+3 Hex. Punkt Nr. 2 (BX) 0000 ... FFFF Nicht auf P1+3 =P1+1 setzen

Das folgende Diagramm zeigt die Konvertierung des Quellwortes S nach DM in


Abhängigkeit von der über die Punkte (Ay, Ax) und (By, Bx) definierten Geraden.
Wert nach der
Konvertierung (BCD)

By

Ay

Wert vor der Konvertierung


Ax S Bx (hexadezimal)

Die Ergebnisse können durch die Konvertierung aller BCD–Werte und Berech-
nung über folgende Formel ermittelt werden:
Ergebnisse = BY – [(BY – AY)/(BX – AX) × (BX – S)]

Merker ER: Der Wert in P1+1 stimmt mit dem in P1+3 überein.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwort–Be-
reichsgrenze wurde überschritten).
P1 und P1+3 befinden sich nicht im gleichen Datenbereich oder ein an-
derer Einstellungsfehler liegt vor.
EQ: Auf EIN gesetzt, wenn das Ergebnis in R = 0000 ist.

Beispiel Ist 00000 im folgenden Beispiel auf EIN gesetzt, werden die BCD–Quelldaten in
DM 0100 (#0100) in einen Hexadezimalwert gemäß den Parametern in DM

398
Datensteuerungsbefehle Abschnitt 7-18

0150 bis DM 0153 konvertiert. Das Ergebnis (#0512) wird dann in DM 0200 ge-
speichert.

00000 Adresse Befehl Operanden


@SCL(66)

DM 0100 00000 LD 00000


DM 0150 00001 @SCL(66)
DM 0200
DM 0100
DM 0150
DM 0200

DM 0150 0010 DM 0100 0100


DM 0151 0005
DM 0152 0050
DM 0153 0019 DM 0200 0512

7-18-2 SIGNED BINARY TO BCD SCALING (Vorzeichenbehafteten


Binärwert in BCD–Wert konvertieren) – SCL2(––)
Kontaktplansymbole Datenbereiche

S:Quellwort
SCL2(––) @SCL2(––)
IR, SR, AR, DM, HR, LR
S S
P1:Erstes Parameterwort
P1 P1
IR, SR, AR, DM, HR, LR
R R
R Ergebniswort

IR, SR, AR, DM, HR, LR

Einschränkungen Dieser Befehl ist nur für die CPM2A/CPM2C verfügbar.


P1 bis P1+2 muss sich im gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für R verwendet werden.
Beschreibung Der Befehl SCL2(––) wird zur linearen Konvertierung eines vorzeichenbehafte-
ten 4–stelligen Hexadezimalwertes in einen 4–stelligen BCD–Wert eingesetzt.
Im Gegensatz zu dem Befehl BCD(24), der einen 4–stelligen Hexadezimalwert
in sein 4–stelliges Äquivalent konvertiert (SHex→SBCD), konvertiert SCL2(––)
den vorzeichenbehafteten hexadezimalen Wert entsprechend einer spezifi-
schen Linearbeziehung. Die Konvertierungsgerade wird durch den X–Schnitt-
punkt definiert und die Neigung der Geraden in den Parameterworten P1 bis
P1+2.
Ist die Ausführungsbedingung FALSCH, wird der Befehl SCL2(––) nicht ausge-
führt. Ist diese jedoch WAHR, konvertiert SCL2(––) den 4–stelligen vorzeichen-
behafteten Hexadezimalwert in S in den 4–stelligen BCD–Wert auf der Gera-
den, die durch die X–Schnittpunkte (P1,0) und die Neigung (P1+2÷P1+1) defi-
niert ist und speichert die Ergebnisse in R. Das Ergebnis wird auf die nächstlie-
gende Ganzzahl gerundet.
Ist das Ergebnis negativ, wird CY auf 1 gesetzt. Ist das Ergebnis kleiner als
–9999, wird –9999 in R gespeichert. Ist das Ergebnis größer als 9999, wird 9999
in R gespeichert.
Die folgende Tabelle enthält die Funktionen und Bereiche der Parameterworte:
Parameter Funktion Bereich
P1 X–Schnittpunkt 8000 ... 7FFF (–32.768 ... 32.767)
(Hex.–Wert mit Vorzeichen).
P1+1 ∆X (Hex.–Wert mit Vorzeichen) 8000 ... 7FFF (–32.768 ... 32.767)
P1+2 ∆Y (BCD) 0000 ... 9999

399
Datensteuerungsbefehle Abschnitt 7-18

Das folgende Diagramm zeigt das Quellwort S, das entsprechend der Gerade,
die über den Punkt (P1, 0) und die Neigung ∆Y/∆X definiert ist, in R konvertiert
wird.
Wert nach der
Konvertierung (BCD)

∆Y
∆X
R

Wert vor der Konvertierung


S (Hex.–Wert mit Vorzei-
chen)
X–Schnitt-
punkt

Das Ergebnis kann berechnet werden, indem zuerst alle vorzeichenbehafteten


Hexadezimalwerte in BCD–Werte konvertiert werden und dann folgende For-
mel angewendet wird:

R + DY (S–P1)
DX

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwort–Be-
reichsgrenze wurde überschritten).
P1 und P1+2 befinden sich nicht im gleichen Datenbereich oder es liegt
ein anderer Einstellfehler vor.
CY: Auf EIN gesetzt, wenn das Ergebnis von R negativ ist.
EQ: Auf EIN gesetzt, wenn das Ergebnis in R = 0000 ist.

Beispiel Wird 00500 im folgenden Beispiel auf EIN gesetzt, werden die vorzeichenbehaf-
teten binären Quelldaten in 200 (#FFE2) in das BCD–Format, entsprechend
den Parametern in DM 0000 bis DM 0002, konvertiert. Das Ergebnis (#0018)
wird dann in LR 00 geschrieben und CY auf EIN gesetzt, da das Ergebnis nega-
tiv ist.

00500 Adresse Befehl Operanden


@SCL2(––)

200 00000 LD 00500


DM 0000 00001 @SCL2(––)
LR 00
200
DM 0000
LR 00

2
FFFD IR 200 FFE2
DM 0000 FFFD 3
DM 0001 0003 FFE2
DM 0002 0002
LR 00 0018 CY=1

–0018
Der CY–Merker wird gesetzt, da das
R + 0002 (FFE2–FFFD) Konvertierungsergebnis negativ ist.
0003

+2 (–1B) + –18
3

400
Datensteuerungsbefehle Abschnitt 7-18

7-18-3 BCD TO SIGNED BINARY SCALING (BCD–Wert in


vorzeichenbehafteten Binärwert konvertieren) – SCL3(––)
Kontaktplansymbol Datenbereiche

S:Quellwort
SCL3(––) @SCL3(––)
IR, SR, AR, DM, HR, LR
S S
P1:Erstes Parameterwort
P1 P1
IR, SR, AR, DM, HR, LR
R R
R: Ergebniswort

IR, SR, AR, DM, HR, LR

Einschränkungen Dieser Befehl ist nur für die CPM2A/CPM2C verfügbar.


P1+1 muss im BCD–Format vorliegen.
P1 bis P1+4 müssen sich im gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für R verwendet werden.
Beschreibung SCL3(––) wird dazu verwendet, einen 4–stelligen BCD–Wert in einen 4–stel-
ligen, vorzeichenbehafteten Hexadezimalwert linear zu konvertieren. SCL3(––)
konvertiert den BCD–Wert entsprechend einer spezifizierten Linearbeziehung.
Die Konvertierungsgerade wird durch den Y–Schnittpunkt definiert und die Nei-
gung der Geraden in den Parameterworten P1 bis P1+2 spezifiziert.
Ist die Ausführungsbedingung FALSCH, wird der Befehl SCL3(––) nicht ausge-
führt. Ist diese jedoch WAHR, konvertiert SCL3(––) den 4–stelligen BCD–Wert
in S in den 4–stelligen vorzeichenbehafteten Hexadezimalwert auf der Gera-
den, die durch den Y–Schnittpunkt (0, P1) und die Neigung (P1+2÷P1+1) defi-
niert ist und speichert das Ergebnis in R. Das Ergebnis wird auf die nächstlie-
gende Ganzzahl gerundet.
Der Inhalt von S kann einen Wert von 0000 bis 9999 besitzen. S wird jedoch als
ein negativer Wert behandelt, wenn CY= 1 ist. Daher liegt der wirksame Bereich
von S eigentlich bei –9999 bis 9999. Vergewissern Sie sich, daß Sie das ge-
wünschte Vorzeichen in CY mit Hilfe von STC(40) oder CLC(41) setzen.
Die Parameterworte P1+3 und P1+4 definieren obere und untere Grenzen für
das Ergebnis. Überschreitet das Ergebnis die obere, mit P1+3 spezifizierte
Grenze, wird die obere Grenze in R gespeichert. Unterschreitet das Ergebnis
die mit P1+4 spezifizierte untere Grenze, wird die untere Grenze in R gespei-
chert.
Hinweis Der obere und untere Grenzwert für eine 12 Bit–A/D–Wandler–Baugruppe be-
trägt 07FF und F800.
Die folgende Tabelle enthält die Funktionen und Bereiche der Parameterworte:
Parameter Funktion Bereich
P1 Y–Schnittpunkt 8000 ... 7FFF (–32.768 ... 32.767)
(Hex.–Wert mit Vorzeichen)
P1+1 ∆X (BCD) 0001 ... 9999
P1+2 ∆Y (Hex.–Wert mit Vorzeichen) 8000 ... 7FFF (–32.768 ... 32.767)
P1+3 Obere Grenze 8000 ... 7FFF (–32.768 ... 32.767)
(Hex.–Wert mit Vorzeichen)
P1+4 Untere Grenze 8000 ... 7FFF (–32.768 ... 32.767)
(Hex.–Wert mit Vorzeichen)

401
Datensteuerungsbefehle Abschnitt 7-18

Das folgende Diagramm zeigt das Quellwort S, das entsprechend der Gerade,
die über den Punkt (0, P1) und die Neigung ∆Y/∆X definiert ist, in R konvertiert
wird.
Wert nach der Konvertierung
(Hex.–Wert mit Vorzeichen) ∆Y
Obere
Grenze ∆X
R

Y–
Schnitt-
punkt
Wert vor der
S Konvertierung (BCD)

Untere
Grenze

Das Ergebnis wird berechnet, indem zuerst alle BCD–Werte in vorzeichenbe-


haftete Binärwerte konvertiert werden und dann die folgende Formel angewen-
det wird:

R+ ÒDY
DX
Ó
S ) P1

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwort–Be-
reichsgrenze wurde überschritten).
Der Inhalt von S liegt nicht im BCD–Format vor.
CY: CY wird nicht von dem Befehl SCL3(––) verändert. (CY beinhaltet das
Vorzeichen von S vor der Ausführung).
EQ: Auf EIN gesetzt, wenn das Ergebnis in R = 0000 ist.

402
Datensteuerungsbefehle Abschnitt 7-18

Beispiel Der Zustand von 00101 bestimmt das Vorzeichen des BCD–Quellwortes im fol-
genden Beispiel. Ist 00101 auf EIN gesetzt, ist das Quellwort negativ. Ist 00100
auf EIN gesetzt, werden die BCD–Quelldaten in LR 02 in vorzeichenbehaftete
Binärdaten, entsprechend den Parametern in DM 0000 bis DM 0004, konver-
tiert. Das Ergebnis wird dann in DM 0100 geschrieben. (In der zweiten Konver-
tierung liegt das entsprechende vorzeichenbehaftete binäre Äquivalent von
–1035 unterhalb der in DM 0004 spezifizierten unteren Grenze. Daher wird die
untere Grenze in DM 0100 gespeichert).
25313
(Immer EIN)
Adresse Befehl Operanden
CLC(41)
00000 LD 25313
00101
00001 CLC(41)
STC(40) 00002 LD 00101
00101 STC (40)
00100 00004 LD 00100
@SCL3(––) 00005 SCL3(––)
LR 02 LR 02
DM 0000 DM 0000
DM 0100 DM 0100

Hex.–Wert mit Vorzeichen.

CY=0 CY=1
6 DM 0000 0005
LR 02 0100 LR 02 1035
DM 0001 0003
3
0005 DM 0002 0006
BCD–
Daten DM 0003 07FF
DM 0100 00CD DM 0100 F800
DM 0004 F800

7-18-4 PID CONTROL (PID–Regelung) – PID(––)


Kontaktplansymbol Datenbereiche
IW: Eingangsdatenwort (Istwert)
PID(––)
IR, SR, AR, DM, HR, LR
IW
P1:Erstes Parameterwort
P1
IR, SR, DM, HR, LR
OW
OW: Ausgangsdatenwort (Stellgröße)

IR, SR, AR, DM, HR, LR

Einschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C und SRM1(–V2) verfügbar.
DM 6144 bis DM 6655 können nicht für P1 oder OW verwendet werden.
P1 bis P1+32 müssen sich im gleichen Datenbereich befinden.

! Vorsicht Insgesamt müssen für eine fehlerfreie Funktion 33 aufeinanderfolgende Worte


für PID(––) verwendet werden. Darüberhinaus darf PID(––) nicht verwendet
werden in
– Interrupt–Programmen
– zwischen IL(02) und ILC(03)
– zwischen JMP(04) und (JME(05), sowie in
– Schrittprogrammen (STEP(08)/SNXT(09)).

403
Datensteuerungsbefehle Abschnitt 7-18

Beschreibung PID(––) führt eine PID–Regelung aus, die auf den in P1 bis P1+6 spezifizier-
ten Parametern basiert.
Ist die Ausführungsbedingung FALSCH, wird PID(––) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, führt PID(––) eine PID–Regelung, entspre-
chend den zuwiesenen Parametern, aus. Der Befehl übernimmt die Binärdaten
vom Inhalt von IW und führt die PID–Regelung entsprechend den spezifizierten
Parametern durch. Das Ergebnis wird dann als Stellwert in OW gespeichert.
Die nachfolgende Tabelle enthält die Funktionen der Parameterworte.
Wort Bits Parameter– Funktion/Einstellbereich
bezeichnung
P1 00 bis 15 Sollwert (SV). Dies ist der Zielwert bei einer PID–Regelung. Er kann auf einen beliebigen Binär-
wert eingestellt werden, wobei die Anzahl der Bits durch den Eingangsbereichs–
Parameter spezifiziert wird.
P1+1 00 bis 15 Proportionalband– Dieser Parameter spezifiziert das Verhältnis zwischen Propotionalband–Breite
Breite und Eingangsbereich (0,1% bis 999,9%). Dieser Wert muss als BCD–Wert von
0001 bis 9999 spezifiziert werden.
P1+2 00 bis 15 Nachstellzeit (Tik)/ Ab- Stellt die Höhe der Integralwirkung ein. Das Vergrößern dieses Wertes verstärkt
tastintervall (τ) die Integralwirkung. Dieser Wert muss als BCD–Wert von 0001 bis 8191 oder
9999 spezifiziert werden. Eine Einstellung von 9999 deaktiviert die Integralrege-
lung.
Stellen Sie die Nachstellzeit dividiert durch den Abtastintervall ein.
P1+3 00 bis 15 Vorhaltezeit (Tdk)/Ab- Stellt die Höhe der Vorhaltewirkung ein. Das Vergrößern dieses Wertes verstärkt
tastintervall (τ) die Vorhaltewirkung. Dieser Wert muss als BCD–Wert von 0001 bis 8191 oder
0000 spezifiziert werden
(Eine Einstellung von 0000 deaktiviert die Differential–Regelung.)
Stellen Sie die Vorhaltezeit dividiert durch das Abtastintervall ein.
P1+4 00 bis 15 Abtastintervall (τ) Stellt das Intervall zwischen den Abtastungen der Eingangsdaten ein. Dieser Wert
muss als BCD–Wert von 0001 bis 1023 spezifiziert werden. Der Zeitraum ist von
0,1 bis 102,3 s
P1+5 00 bis 03 Spezifikation des Spezifiziert die Vorwärts– oder Rückwärtsregelung. (0 = rückwärts, 1 = vorwärts).
Betriebs
04 bis 15 Eingangsfilter– Bestimmt die Stärke des Eingangsfilters. Je kleiner der Koeffizient, desto schwä-
Koeffizient (α) cher der Filter.
Für diesen Wert muss 000 oder ein BCD–Wert von 100 bis 199 spezifiziert wer-
den. Die Einstellung 000 spezifiziert den Vorgabewert (0,65) und eine Einstellung
von 100 bis 199 den Koeffizienten von 0,00 bis 0,99.
P1+6 00 bis 03 Ausgangsbereich Bestimmt die Anzahl der Ausgangsbits. Diese Einstellung muss zwischen 0 und 8
liegen. Hierdurch wird für den Ausgangsbereich ein Wert zwischen 8 und 16 Bits
spezifiziert.
08 bis 15 Eingangsbereich Bestimmt die Anzahl der Eingangsbits. Diese Einstellung muss zwischen 00 und
08 liegen. Hierdurch wird für den Eingabebereich ein Wert zwischen 8 und 16 Bits
spezifiziert.
P1+7 bis 00 bis 15 Arbeitsbereich Nicht verwenden.
P1+32 (Wird vom System verwendet).

! Vorsicht Änderungen der Parameter sind erst wirksam, wenn die Ausführungsbedin-
gung für PID(––) von AUS auf EIN wechselt.

Hinweis Liegt einer der nachfolgenden Umstände vor, sollten Sie PID(––) nicht verwen-
den, da eine ordnungsgemäße Ausführung nicht gewährleistet ist:
in Interrupt–Programmen,
in Unterprogrammen,
in verriegelten Programmabschnitten (zwischen IL und ILC)
in übersprungenen Abschnitten (zwischen JMP und JME)
in Schritt–Programmabschnitten (durch STEP–Befehl erzeugt).
Ist die Ausführungsbedingung WAHR, führt PID(––) die PID–Berechnung mit
den Eingangsdaten durch, wenn das Abtast–Intervall abgelaufen ist. Das Ab-
tast–Intervall ist die Zeit, die verstrichen sein muß, bevor neue Eingangsdaten
für die Verarbeitung gelesen werden.

404
Datensteuerungsbefehle Abschnitt 7-18

Die folgende Abbildung zeigt das Verhältnis zwischen dem Abtast–Intervall und
der PID–Verarbeitung. Die PID–Verarbeitung findet nur statt, wenn das Abtast–
Intervall (in diesem Fall 100 ms) abgelaufen ist.
1 Zyklus

70 ms 60 ms 70 ms 70 ms
Keine Vearbeitung PID–Verarbeitung
(70 ms) (70+30=100 ms,
PID–Verarbeitung kein Übertrag)
mit Anfangswerten PID–Verarbeitung Keine Verarbeitung
(0 ms) (130 ms, 30 ms Übertrag) (70 ms)

PID–Regelvorgang Ausführungsbedingung AUS


Alle eingestellten Daten werden beibehalten. Ist die Ausführungsbedingung
deaktiviert, kann der Stellwert ins Ausgangswort (OW) geschrieben werden, um
eine manuelle Regelung zu ermöglichen.
Steigende Flanke der Ausführungsbedingung
Der Arbeitsbereich wird, basierend auf den eingestellten PID–Parametern, ini–
tialisiert und der PID–Regelvorgang beginnt. Plötzliche und radikale Änderun-
gen der Stellwertausgabe erfolgen nicht beim Beginn, um einen ungünstig Ein-
fluss auf das geregelte System (kurze Einschwingabweichungen) zu vermei-
den.
Werden PID–Parameter geändert, werden sie erst gültig, nachdem sich die
Ausführungsbedingung von AUS nach EIN geändert hat.
Ausführungsbedingung EIN
Die PID–Vorgänge werden in den Abständen, die dem Abtastintervall entspre-
chen und entsprechend den eingestellten den PID–Konstanten, ausgeführt.
Abtastintervall und PID–Ausführungszeitverhalten
Das Abtastintervall bestimmt die Zeitpunkte, an denen Eingangsdaten eingel-
sen werden. PID(––) wird jedoch entsprechend dem CPU–Zyklus ausgeführt,
es kann Fälle geben, in denen das Abtastintervall überschritten wird. In solchen
Fällen wird der Zeitabstand bis zum nächsten Abtasten reduziert.
PID–Regelverfahren PID–Regelvorgängen werden mittels PID–Regelung mit Störgrößenaufschal-
tung ausgeführt (zwei Freiheitsgrade).
Wird das Überschwingen durch eine einfache PID–Regelung verhindert, wird
der Störungsausgleich verlangsamt (1). Wird der Störungsausgleich dagegen
beschleunigt, tritt ein Überschwingen auf und die Antwortzeit gegenüber dem
Zielwert wird verlangsamt (2). Bei PID–Regelung mit Störgrößenaufschaltung
tritt kein Überschwingen auf und sowohl Antwortzeit in Richtung Zielwert als
auch Störungsausgleich können beide beschleunigt werden (3).
Einfache PID–Regelung PID–Regelung mit Störgrößenaufschaltung

(1)

Während die Störungsreaktion sich verlang- Zielantwort Störungsreaktion


samt, verschlechtert sich die Reaktion auf Stö-
rungen.
(2)

Während die Störgrößenreaktion schneller wird,


Überschwingen verschlechtert sich die Zielantwort.

405
Datensteuerungsbefehle Abschnitt 7-18

Regelvorgänge Proportionalregelung (P)


Die Proportionalregelung ist ein Vorgang, bei dem ein Proportionalband in Hin-
sicht auf den Sollwert definiert wird und sich der Stellwert innerhalb dieses Ban-
des proportional zur Regelabweichung verhält. Ein Beispiel für die Rückwärts-
regelung ist in der folgenden Abbildung dargestellt
Wird die Proportionalregelung verwendet und ist der Istwert kleiner als das Pro-
portionalband, beträgt der Stellwert 100% (d.h. Maximalwert). Innerhalb des
Proportionalbandes verhält sich der Stellwert proportional zur Regel–abwei-
chung (der Unterschied zwischen Sollwert und Istwert) und wird bis zur Soll-
wert– und Istwert–Entsprechung allmählich verringert (d.h. bis die Regelabwei-
chung 0 beträgt); zu diesem Zeitpunkt beträgt der Stellwert 0% (d.h. Minimal-
wert). Der Stellwert beträgt ebenfalls 0%, wenn der Istwert größer als der Soll-
wert ist.
Das Proportionalband wird als Prozentsatz des vollständigen Eingangsbe-
reichs ausgedrückt. Je kleiner das Proportionalband, desto größer ist die pro-
portionale Konstante und je stärker ist die Nachregelung. Bei der Proportional-
regelung tritt gewöhnlich ein Offset (restliche Regelabweichung) auf, aber der
Offset kann reduziert werden, indem das Proportionalband verringert wird. Re-
gelschwingungen treten auf, falls es zu stark verringert wird.
Proportionalregelung (Rückwärtsregelung) Einstellung des Proportionalbandes

Proportional-
band
Zu schmales Proportionalband (Regelschwingungen treten auf)
100%
Stellwert Offset

Soll–
0% wert
Sollwert
Richtiges Proportionalband
Zu breites Proportionalband (großer Offset)

Integralbetrieb (I)
Die Kombination von Integralbetrieb und Proportionalregelung reduziert den
Offset entsprechend der vergangenen Zeit. Die Stärke des Integralbetriebs wird
durch die Nachstellzeit ausgewiesen, dies ist die Zeit, die der Stellwert bei Inte-
gralbetrieb benötigt, um die gleiche Ebene wie der Stellwert der Proportionalre-
gelung in Hinsicht auf die Sprungabweichung zu erreichen, wie es in der folgen-
den Abbildung gezeigt wird. Je kürzer die Nachstellzeit, desto stärker ist die Kor-
rektur durch den Integralbetrieb. Ist die Nachstellzeit zu kurz, erfolgt eine zu
kräftige Korrektur, wodurch Regelschwingungen auftreten.
Integralbetrieb

Sprungantwort
Regelabweichung

Stellwert

PI–Betrieb und Nachstellzeit

Sprungantwort
Regelabweichung

PI–Regelung
I–Regelung
P action
Stellwert

Ti: Nachstellzeit

406
Datensteuerungsbefehle Abschnitt 7-18

Vorhaltebetrieb (D)
Da Proportionalregelung und Integralbetrieb beide Korrekturen in Hinsicht auf
die Regelergebnisse vornehmen, tritt unvermeidlicherweise eine Ansprechver-
zögerung auf. Der Vorhaltebetrieb kompensiert diesen Nachteil. Als Reaktion
auf eine plötzliche Störung liefert er einen großen Stellwert und stellt den ur-
sprünglichen Zustand schnell wiederher. Eine Korrektur erfolgt mit dem Stell-
wert, der sich proportional der Neigung (abgeleiteter Koeffizient), die durch die
Regelabweichung entsteht, verhält.
Die Stärke des Vorhaltebetriebs wird durch die Vorhaltezeit ausgewiesen, dies
ist die Zeit, die der Stellwert bei Vorhaltebetrieb benötigt, um die gleiche Ebene
wie der Stellwert der Proportionalregelung in Hinsicht auf die Sprungregelab-
weichung zu erreichen, wie es in der folgenden Abbildung angezeigt wird. Je
länger die Vorhaltezeit, desto stärker ist die Korrektur durch den Vorhaltebe-
trieb.
Vorhaltebetrieb
Sprungantwort
Regelabweichung

Stellwert

PD–Regelung und Vorhaltezeit


Rampenförmige Reaktion
Regelabweichung

PD–Regelung
P action
D–Regelung
Stellwert

Td: Vorhaltezeit

PID–Verhalten
Die PID–Regelung verbindet Proportionalregelung (P), Integralbetrieb (I) und
Vorhaltebetrieb (D). Diese ermöglicht überlegene Regelergebnisse sogar für
Regelobjekte mit Totzeit. Es wendet die Proportionalregelung an, um eine glatte
Regelung ohne Regelschwingungen sicherzustellen, den Integralbetrieb, um ir-
gendeinen Offset automatisch zu korrigieren und einen Vorhaltebetrieb, um die
Störungsreaktion zu beschleunigen.
Sprungantwort des PID–Regelungsausgangs

Sprungantwort
Regelabweichung

PID–Verhalten
I–Regelung
P–Aktion
Stellwert D–Regelung

Rampenförmige Reaktion der PID–Regelungsausgaben

Rampenförmige Reaktion
Regelabweichung

PID–Verhalten
I–Regelung
P–Aktion
Stellwert D–Regelung

407
Datensteuerungsbefehle Abschnitt 7-18

Regelwirkungsweise Beim Einsatz der PID–Regelung kann eine der beiden der folgenden zwei Re-
gelwirkungsweise ausgewählt werden. In jeder Richtung nimmt der Stellwert zu,
wenn die Differenz zwischen dem Sollwert und Istwert zunimmt.
• Vorwärtsregelung: Der Stellwert wird vergrößert, wenn der Istwert größer als
der Sollwert ist.
• Rückwärtsregelung: Der Stellwert wird vergrößert, wenn der Istwert kleiner als
der Sollwert ist.
Rückwärtsregelung Vorwärtsregelung
Proportional-
Proportional- band
band
100%
100%

Stellwert
Stellwert

0%
0% Niedrige Hohe
Niedrige Hohe
Soll– Temperatur Temperatur
Temperatur Temperatur
wert Sollwert

Einstellung der Die allgemeine Beziehung zwischen PID–Parameter und Regelzustand ist
PID–Parameter nachfolgend dargestellt.
• Ist der Zeitfaktor für das Erreichen des Sollwertes (Nachstellzeit) vernachläs-
sigbar, es aber wichtig ist, kein Überschwingen zu verursachen, dann können
Sie das Proportionalband vergrößern.

Mit vergrößertem Proportionalband

SV

• Ist ein Überschwingen kein Problem, soll jedoch die Regelung schnell stabili-
siert werden, dann kann das Proportionalband verengt werden. Wird dieses
jedoch zu stark verengt, dann können Regelschwingungen auftreten.

Mit verengtem Proportionalband

SV

• Treten große Regelschwingungen auf oder wird die Regelung durch Über–
und Unterschwingen beeinträchtigt, greift der Integralanteil zu stark ein. Re-
gelschwingungen werden reduziert, wenn die Nachstellzeit oder das Propor-
tionalband vergrößert wird.
(Wenn Regelschwingungen auftreten)

SV

Vergößern von I oder P.

408
Vergleichsbefehle Abschnitt 7-19

• Treten Regelschwingungen mit kurzer Periode auf, kann trotz schneller Reak-
tion des Systems eine zu große Vorhaltezeit vorliegen. Reduzieren Sie in die-
sem Fall den Vorhalteanteil.
(Regelschwingungen mit kurzer Periode)

SV

D–Anteil verringern.

Merker ER: Es liegt ein Fehler in der Parametereinstellung vor.


Die Zykluszeit ist mehr als doppelt so lang wie das Abtastintervall, da-
her kann PID(––) nicht genau ausgeführt werden. PID(––) wird in die-
sem Fall jedoch ausgeführt.
P1 und P1+32 befinden sich nicht im gleichen Bereich oder eine Para-
metereinstellung befindet sich nicht innerhalb des spezifizierten Be-
reichs.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenbereichs-
grenze wurde überschritten).
CY: Auf EIN gesetzt, wenn eine PID–Regelung stattfindet. (Auf AUS ge-
setzt, wenn das Abtastintervall noch nicht abgelaufen ist).

7-19 Vergleichsbefehle
7-19-1 COMPARE (Vergleich) – CMP(20)
Kontaktplansymbol Datenbereiche
Cp1: Erstes Vergleichswort
CMP (20)
IR, SR, AR, DM, HR, TC, LR, #
Cp1
Cp2: Zweites Vergleichswort
Cp2
IR, SR, AR, DM, HR, TC, LR, #

Einschränkungen Beim Vergleichen eines Wertes mit dem Istwert eines Zeitgebers oder Zählers
muss der Wert im BCD–Format vorliegen.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl CMP(20) nicht ausge-
führt. Ist diese jedoch WAHR, vergleicht CMP(20) Cp1 und Cp2 und überträgt
das Ergebnis auf die GR–, EQ–, und LE–Merker im SR–Bereich.
Vorsichtsmaßnahmen Werden andere Befehle zwischen CMP(20) und die Programmierbefehle, die
die EQ–, LE–, und GR–Merker auswerten, gesetzt, kann dies den Status dieser
Merker verändern. Werten Sie diese Merker aus, bevor der Zustand geändert
wird.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn Cp1 gleich Cp2 ist.
LE: Auf EIN gesetzt, wenn Cp1 kleiner als Cp2 ist.
GR: Auf EIN gesetzt, wenn Cp1 größer als Cp2 ist.

409
Vergleichsbefehle Abschnitt 7-19

Merker Adresse C1 < C2 C1 = C2 C1 > C2


GR 25505 AUS AUS EIN
EQ 25506 AUS EIN AUS
LE 25507 EIN AUS AUS

Beispiel: Im folgenden Beispiel wird die sofortige Speicherung des Vergleichergebnisses


CMP (20)–Ergebnis dargestellt. Ist der Inhalt von HR 09 größer als der von DM 0000, wird 20000 auf
speichern EIN gesetzt. Sind die beiden Inhalte gleich, wird 20001 auf EIN gesetzt. Ist der
Inhalt von HR 09 kleiner als der von DM 0000, wird 20002 auf EIN gesetzt. In
einigen Anwendungen ist nur eine der drei Ausgaben erforderlich, wodurch die
Verwendung von TR 0 unnötig wird. Bei dieser Programmierart wird 20000,
20001 und 20002 nur bei Ausführung von CMP(20) geändert.

TR
0
00000
CMP (20)

HR 09

DM 0000

25505
20000 Größer als

25506
20001 Gleich

25507
20002 Kleiner als

Adresse Befehl Operanden Adresse Befehl Operanden

00000 LD 00000 00005 LD TR 0


00001 OUT TR 0 00006 AND 25506
00002 CMP (20) 00007 OUT 20001
HR 09 00008 LD TR 0
DM 0000 00009 AND 25507
00003 AND 25505 00010 OUT 20002
00004 OUT 20000

7-19-2 TABLE COMPARE (Tabellenvergleich) – TCMP(85)


Datenbereiche

Kontaktplansymbol CD: Zu vergleichende Daten

IR, SR, DM, HR, TC, LR, #


TCMP (85) @TCMP(85)
TB: Erstes Vergleichswort
CD CD
IR, SR, DM, HR, TC, LR
TB TB
R Ergebniswort
R R
IR, SR, DM, HR, TC, LR

Einschränkung DM 6144 bis DM 6655 können nicht für R verwendet werden.


Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl TCMP(85) nicht ausge-
führt. Ist diese jedoch WAHR, vergleicht TCMP(85) CD mit dem Inhalt vonTB,
TB+1, TB+2, ... und TB+15. Stimmt der Inhalt von CD mit dem Inhalt einer dieser
Worte überein, wird das entsprechende Bit in R gesetzt, z.B. wenn CD mit dem
Inhalt von TB übereinstimmt, wird Bit 00 auf EIN gesetzt. Besteht eine Überein-
stimmung mit TB+1, wird Bit 01 auf EIN gesetzt, usw. Die restlichen Bits in R
werden auf AUS gesetzt.

410
Vergleichsbefehle Abschnitt 7-19

Merker ER: Die Vergleichstabelle (d.h. TB bis TB+15) überschreitet den Datenbe-
reich.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

Beispiel Das folgende Beispiel zeigt die durchgeführten Vergleiche und die Ergebnisse
für TCMP(85). Ist IR 00000 auf EIN gesetzt, findet je Zyklus ein Vergleich statt.

00000 Adresse Befehl Operanden


TCMP(85)
00000 LD 00000
HR 00 00001 TCMP (85)
DM 0000 HR 00
216 DM 0000
216

CD: HR 00 Obere Grenzen R: 216

HR 00 0210 DM 0000 0100 IR 21600 0


Vergleicht die Daten in HR 00 DM 0001 0200 IR 21601 0
mit den angegebenen Berei- DM 0002 0210 IR 21602 1
chen.
DM 0003 0400 IR 21603 0
DM 0004 0500 IR 21604 0
DM 0005 0600 IR 21605 0
DM 0006 0210 IR 21606 1
DM 0007 0800 IR 21607 0
DM 0008 0900 IR 21608 0
DM 0009 1000 IR 21609 0
DM 0010 0210 IR 21610 1
DM 0011 1200 IR 21611 0
DM 0012 1300 IR 21612 0
DM 0013 1400 IR 21613 0
DM 0014 0210 IR 21614 1
DM 0015 1600 IR 21615 0

7-19-3 BLOCK COMPARE (Blockweiser Vergleich) – BCMP(68)


Datenbereiche

Kontaktplansymbol CD: Zu vergleichende Daten

IR, SR, AR, DM, HR, TC, LR, #


BCMP (68) @BCMP(68)
CB: Erstes Vergleichs–Blockwort
CD CD
IR, SR, DM, HR, TC, LR
CB CB
R Ergebniswort
R R
IR, SR, AR, DM, HR, TC, LR

Hinweis BCMP(68) ist ein erweiteter Befehl für die SRM1(–V2). Der Funktionscode 68 ist
werksseitig eingestellt und kann bei Bedarf für die SRM1(–V2) geändert wer-
den.

Einschränkungen Jedes untere Grenzwort im Vergleichsblock muss kleiner oder gleich der oberen
Grenze sein.
DM 6144 bis DM 6655 können nicht für R verwendet werden.

411
Vergleichsbefehle Abschnitt 7-19

Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl BCMP(68) nicht ausge-
führt. Ist diese jedoch WAHR, vergleicht BCMP(68) CD mit den durch einen
Block, bestehend aus CB, CB+1, CB+2,, ... CB+31, spezifizierten Bereiche. Je-
der Bereich wird durch zwei Worte definiert. Das erste Wort spezifiziert den un-
teren und das zweite den oberen Grenzwert. Befindet sich CD innerhalb eines
dieser Bereiche ( einschließlich der oberen und unteren Grenzwerte), wird das
entsprechende Bit in R gesetzt. Die angestellten Vergleiche und das entspre-
chende Bit in R, das für jeden Vergleich gesetzt wird, sind nachstehend darge-
stellt. Die restlichen Bits in R werden auf AUS gesetzt.
CB ≤ CD ≤ CB+1 Bit 00
CB+2 ≤ CD ≤ CB+3 Bit 01
CB+4 ≤ CD ≤ CB+5 Bit 02
CB+6 ≤ CD ≤ CB+7 Bit 03
CB+8 ≤ CD ≤ CB+9 Bit 04
CB+10 ≤ CD ≤ CB+11 Bit 05
CB+12 ≤ CD ≤ CB+13 Bit 06
CB+14 ≤ CD ≤ CB+15 Bit 07
CB+16 ≤ CD ≤ CB+17 Bit 08
CB+18 ≤ CD ≤ CB+19 Bit 09
CB+20 ≤ CD ≤ CB+21 Bit 10
CB+22 ≤ CD ≤ CB+23 Bit 11
CB+24 ≤ CD ≤ CB+25 Bit 12
CB+26 ≤ CD ≤ CB+27 Bit 13
CB+28 ≤ CD ≤ CB+29 Bit 14
CB+30 ≤ CD ≤ CB+31 Bit 15

Merker ER: Der Vergleichsblock (d.h. CB bis CB+31) überschreitet den Datenbe-
reich.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

412
Vergleichsbefehle Abschnitt 7-19

Beispiel Das folgende Beispiel zeigt die angestellten Vergleiche und die Ergebnisse für
BCMP(68). Ist IR 00000 auf EIN gesetzt, findet je Zyklus ein Vergleich statt.
00000
BCMP(68)
Adresse Befehl Operanden
HR 00 00000 LD 00000
DM 0010 00001 BCMP (68)
LR 05 HR 00
DM 0010
LR 05

HR 00 Unteren Grenzen Obere Grenzen R:LR 05

HR 00 0210 DM 0010 0000 DM 0011 0100 LR 0500 0


Vergleicht die Daten in HR DM 0012 0101 DM 0013 0200 LR 0501 0
00 (die 0210 enthalten), mit DM 0014 0201 DM 0015 0300 LR 0502 1
den angegebenen Berei-
DM 0016 0301 DM 0017 0400 LR 0503 0
chen.
DM 0018 0401 DM 0019 0500 LR 0504 0
DM 0020 0501 DM 0021 0600 LR 0505 0
DM 0022 0601 DM 0023 0700 LR 0506 0
DM 0024 0701 DM 0025 0800 LR 0507 0
DM 0026 0801 DM 0027 0900 LR 0508 0
DM 0028 0901 DM 0029 1000 LR 0509 0
DM 0030 1001 DM 0031 1100 LR 0510 0
DM 0032 1101 DM 0033 1200 LR 0511 0
DM 0034 1201 DM 0035 1300 LR 0512 0
DM 0036 1301 DM 0037 1400 LR 0513 0
DM 0038 1401 DM 0039 1500 LR 0514 0
DM 0040 1501 DM 0041 1600 LR 0515 0

7-19-4 DOUBLE COMPARE (Doppeltgenauer Vergleich) – CMPL(60)


Kontaktplansymbol Datenbereiche
Cp1: Erstes Wort des 1. Vergleichswort–Paares
CMPL (60)
IR, SR, AR, DM, HR, TC, LR
Cp1
Cp2: Erstes Wort des 2. Vergleichswort–Paares
Cp2
IR, SR, AR, DM, HR, TC, LR
––

Hinweis CMPL(60) ist ein erweiteter Befehl für die SRM1(–V2). Der Funktionscode 60 ist
werksseitig eingestellt und kann bei Bedarf für die SRM1(–V2) geändert wer-
den.

Einschränkungen Cp1 und Cp1 müssen sich im gleichen Datenbereich befinden.


Cp2 und Cp2 müssen sich im gleichen Datenbereich befinden.
Setzen Sie den dritten Operanden auf 000.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl CMPL(60) nicht ausge-
führt. Ist diese jedoch WAHR, verknüpft CMPL(60) den 4–stelligen Hexadezi-
malwert von Cp1+1 mit dem von Cp1 und den von Cp2+1 mit dem von Cp2, um
zwei 8–stellige Hexadezimalwerte, Cp+1, Cp1 und Cp2+1, Cp2 zu erstellen. Die
zwei 8–stelligen Werte werden dann verglichen und das Ergebnis wird an die
GR–, EQ–, und LE–Merker im SR–Bereich ausgegeben.
Vorsichtsmaßnahmen Werden andere Befehle zwischen CMPL(60) und die Programmierbefehle, die
die EQ–, LE–, und GR–Merker auswerten, gesetzt, kann dies den Status dieser
Merker verändern. Werten Sie diese Merker aus, bevor der Zustand geändert
wird.

413
Vergleichsbefehle Abschnitt 7-19

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
GR: Auf EIN gesetzt, wenn Cp1+1, Cp1 größer als Cp2+1,Cp2 ist.
EQ: Auf EIN gesetzt, wenn Cp1+1, Cp1 gleich Cp2+1,Cp2 ist.
LE: Auf EIN gesetzt, wenn Cp1+1, Cp1 kleiner als Cp2+1,Cp2 ist.

Beispiel: Im folgenden Beispiel wird die sofortige Speicherung des Vergleichergebnisses


CMPL(60) –Ergebnisse dargestellt. Ist der Inhalt von HR 10, HR 09 größer als der von DM 0001, DM
speichern 0000, wird 20000 auf EIN gesetzt. Sind die beiden Inhalte gleich, wird 20001 auf
EIN gesetzt. Ist der Inhalt von HR10, HR09 kleiner als der von DM 0001,
DM 0000, wird 20002 auf EIN gesetzt. In einigen Anwendungen ist nur eine der
drei Ausgaben erforderlich, wodurch die Verwendung von TR 0 unnötig wird. Bei
dieser Programmierart wird 20000, 20001 und 20002 nur bei Ausführung von
CMPL(60) geändert.

TR Adresse Befehl Operanden


0
00000
CMPL (60) 00000 LD 00000
HR 09
00001 OUT TR 0
00002 CMPL (60)
DM 0000
HR 09
–––
DM 0000
25505 00003 AND 25505
20000 Größer als 00004 OUT 20000
00005 LD TR 0
25506 00006 AND 25506
20001 Gleich 00007 OUT 20001
00008 LD TR 0
00009 AND 25507
25507
20002 Kleiner als
00010 OUT 20002

7-19-5 – AREA RANGE COMPARE (Bereichsvergleich) – ZCP(––)


Datenbereiche

Kontaktplansymbol CD: Zu vergleichende Daten

IR, SR, AR, DM, HR, TC, LR, #


ZCP(––)
LL: Unterer Grenzbereich
CD
IR, SR, AR, DM, HR, TC, LR, #
LL
UL: Oberer Grenzbereich
UL
IR, SR, AR, DM, HR, TC, LR, #

Einschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C/SRM1(–V2) verfügbar.


LL muss kleiner oder gleich UL sein.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl ZCP(––) nicht ausge-
führt. Ist diese jedoch WAHR, vergleicht ZCP(––) CD mit dem Bereich, der
durch die untere Grenze LL und die obere Grenze UL definiert ist und setzt er-
gebnisabhängig die GR–, EQ–, und LE–Merker im SR–Bereich. Der resultie-
rende Merkerzustand ist in der nachfolgenden Tabelle dargestellt.
Vergleichsgebnis
e g e c sgeb s Merkerzustand
GR (SR 25505) EQ (SR 25506) LE (SR 25507)
CD < LL 0 0 1
LL ≤ CD ≤ UL 0 1 0
UL < CD 1 0 0

414
Vergleichsbefehle Abschnitt 7-19

Vorsichtsmaßnahmen Werden andere Befehle zwischen ZCP(––) und die Programmierbefehle, die
die EQ–, LE– und GR–Merker auswerten, gesetzt, kann dies den Zustand die-
ser Merker verändern. Werten Sie diese Merker aus, bevor der Zustand geän-
dert wird.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
LL ist größer als UL.
EQ: Auf EIN gesetzt, wenn LL ≤ CD ≤ UL.
LE: Auf EIN gesetzt, wenn CD < LL.
GR: Auf EIN gesetzt, wenn CD > UL.

Beispiel Im folgenden Beispiel wird der Inhalt von IR 200 (#6FA4) mit dem Bereich #0010
bis #AB1F verglichen. Da #0010 ≤ #6FA4 ≤ #AB1F ist, wird der EQ– Merker
und IR 01001 auf EIN gesetzt.

TR
0
00000
ZCP(––)

200

#0010

#AB1F

25505
01000 Größer als
(über dem
Bereich)
25506
01001 Gleich
(innerhalb des
Bereichs)
25507
01002 Kleiner als
(unter dem
Bereich)

Adresse Befehl Operanden Adresse Befehl Operanden

00000 LD 00000 00004 OUT 01000


00001 OUT TR 0 00005 LD TR 0
00002 ZCP(––) 00006 AND 25506
200 00007 OUT 01001
# 0010 00008 LD TR 0
# AB1F 00009 AND 25507
00003 AND 25505 00010 OUT 01002

01000: AUS
LL: #0010 CD: 200 UL: #AB1F
0 0 1 0 < 6 F A 4 < A B 1 F
01001: EIN
01002: AUS

7-19-6 DOUBLE AREA RANGE COMPARE (Doppelwort–


Bereichsvergleich) – ZCPL(––)
Datenbereiche

Kontaktplansymbol CD: Zu vergleichende Daten

IR, SR, AR, DM, HR, LR


ZCPL(––)
LL: Unterer Grenzbereich
CD
IR, SR, AR, DM, HR, LR
LL
UL: Oberer Grenzbereich
UL
IR, SR, AR, DM, HR, LR

415
Konvertierungsbefehle Abschnitt 7-20

Einschränkungen Dieser Befehl ist nur für die CPM2A/CPM2C verfügbar.


Der 8–stellige Wert in LL+1, LL muss kleiner als oder gleich UL+1, UL sein.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl ZCPL(––) nicht ausge-
führt. Ist diese jedoch WAHR, vergleicht ZCPL(––) den 8–stelligen Wert in CD,
CD+1 mit dem Bereich, der durch eine untere Grenze LL+1, LL und eine obere
Grenze UL+1, UL definiert ist und setzt ergebnisabhängig die GR-, EQ- und LE-
Merker im SR–Bereich. Der resultierende Merkerzustand ist in der nachfolgen-
den Tabelle dargestellt.
Vergleichsgebnis
e g e c sgeb s Merkerzustand
GR EQ LE
(SR 25505) (SR 25506) (SR 25507)
CD, CD+1< LL+1, LL 0 0 1
LL+1, LL ≤ CD, CD+1 ≤ UL+1, UL 0 1 0
UL+1, UL < CD, CD+1 1 0 0

Vorsichtsmaßnahmen Werden andere Befehle zwischen ZCPL(––) und die Programmbefehle, die die
EQ-, LE- und GR-Merker auswerten, gesetzt, kann dies den Zustand dieser
Merker verändern. Werten Sie diese Merker aus, bevor der Zustand geändert
wird.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
LL+1, LL ist größer als UL+1, UL.
EQ: Auf EIN gesetzt, wenn LL+1, LL ≤ CD, CD+1 ≤ UL+1, UL
LE: Auf EIN gesetzt, wenn CD, CD+1 < LL+1, LL.
GR: Auf EIN gesetzt, wenn CD, CD+1 > UL+1, UL.

7-20 Konvertierungsbefehle
7-20-1 BCD–TO–BINARY (BCD–Binär–Konvertierung) – BIN(23)
Kontaktplansymbol Datenbereiche
S: Quellwort (BCD)
BIN (23) @BIN(23)
IR, SR, AR, DM, HR, TC, LR
S S
R Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Einschränkung DM 6144 bis DM 6655 können nicht für R verwendet werden.


Beschreibung Ist die Ausführungsbedingung FALSCH, wird BIN(23) nicht ausgeführt. Ist diese
jedoch WAHR, konvertiert BIN(23) den BCD–Inhalt von S in numerisch gleich-
wertige binäre Bits und speichert den binären Wert in R. Nur der Inhalt von R
wird geändert; der Inhalt von S bleibt unverändert.

BCD–Daten S

Binär R

416
Konvertierungsbefehle Abschnitt 7-20

Mit dem Befehl BIN(23) werden BCD–Werte in binäre Daten konvertiert, damit
die Anzeigen auf der Programmierkonsole oder jedem anderen Programmier-
gerät in hexadezimalem anstatt in dezimalem Format angezeigt werden. Der
Befehl kann zur Konvertierung binärer Werte verwendet werden, um binäre
arithmetische Operationen anstatt arithmetische Operationen im BCD–Code
durchzuführen z.B., wenn BCD– und Binärwerte addiert werden müssen.

Merker ER: Der Inhalt von S liegt nicht im BCD–Format vor.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis Null ist.

7-20-2 BINARY–TO–BCD (BIN–BCD–Konvertierung) – BCD(24)

Kontaktplansymbol Datenbereiche
S: Quellwort (Binär)
BCD (24) @BCD(24)
IR, SR, AR, DM, HR, LR
S S
R Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Einschränkungen Überschreitet der Inhalt von S den Wert 270F, würde das konvertierte Ergebnis
9999 überschreiten und BCD(24) wird nicht ausgeführt. In diesem Fall bleibt der
Inhalt von R unverändert.
DM 6144 bis DM 6655 können nicht für R verwendet werden.
Beschreibung BCD(24) konvertiert den binären (Hexadezimalwert) Inhalt von S in numerisch
gleichwertige BCD–Bits und speichert diese in R. Nur der Inhalt von R wird ge-
ändert; der Inhalt von S bleibt unverändert.

Binär S

BCD–Daten R

Mit dem Befehl BCD(24) werden binäre Daten in BCD–Werte konvertiert, damit
die Anzeigen auf der Programmierkonsole oder jedem anderen Programmier-
gerät in dezimalem anstatt in hexadezimalem Format angezeigt wird. Der Be-
fehl kann zur Konvertierung von BCD–Werten verwendet werden, um arithmeti-
sche Operationen im BCD–Format anstatt binäre arithmetische Operationen
durchzuführen, z.B., wenn BCD– und Binärwerte addiert werden müssen.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis Null ist.

417
Konvertierungsbefehle Abschnitt 7-20

7-20-3 DOUBLE BINARY–TO–DOUBLE BCD (BCD–Doppelwort–zu–


BIN–Doppelwort–Konvertierung) – BINL(58)
Kontaktplansymbol Operanden–Datenbereiche
S: Erstes Quellwort (BCD)
BINL (58) @BINL(58)
IR, SR, AR, DM, HR, TC, LR
S S
R Erstes Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Einschränkungen Dieser Befehl ist nur für die CPM2A/CPM2C verfügbar.


DM 6144 bis DM 6655 können nicht für R verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl BINL(58) nicht ausge-
führt. Ist diese jedoch WAHR, konvertiert BINL(58) eine 8–stellige Zahl in S und
S+1 in 32–Bit binäre Daten und speichert die konvertierten Daten in R und R+1.

BCD–Daten S+1 S

Binär R+1 R

Merker ER: Der Inhalt der S– und/oder S+1–Worte liegt nicht im BCD–Format vor.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis Null ist.

7-20-4 DOOUBLE BINARY–TO–DOUBLE BCD (BIN–Doppelwort–zu–


BCD–Doppelwort–Konvertierung) – BCDL(59)

Kontaktplansymbol Datenbereiche
S: Erstes Quellwort (binär)
BCDL (59) @BCDL(59)
IR, SR, AR, DM, HR, LR
S S
R Erstes Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Einschränkungen Dieser Befehl ist nur für die CPM2A/CPM2C verfügbar.


Überschreitet der Inhalt von S den Wert 05F5E0FF, überschreitet das konver-
tierte Ergebnis 99999999 und BCDL(59) wird nicht ausgeführt. In diesem Fall
bleibt der Inhalt von R und R+1 unverändert.
DM 6144 bis DM 6655 können nicht für R verwendet werden.

418
Konvertierungsbefehle Abschnitt 7-20

Beschreibung BCDL(59) konvertiert den 32 Bit umfassenden binären Inhalt von S und S+1 in
8–stellige BCD–Daten und speichert die konvertierten Daten in R und R+1.

Binär S+1 S

BCD–Daten R+1 R

Merker ER: Der Inhalt von R und R+1 überschreitet 99999999.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis Null ist.

7-20-5 4–TO–16 DECODER (4–in–16–Dekoder) – MLPX(76)


Datenbereiche

Kontaktplansymbol S: Quellwort

IR, SR, AR, DM, HR, TC, LR


MLPX (76) @MLPX(76)
Di: Stellenkennzeichnung
S S
IR, SR, AR, DM, HR, TC, LR, #
Di Di
R: Erstes Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Einschränkungen Die beiden äußerst rechten Stellen von Di müssen jeweils einen Wert zwischen
0 und 3 aufweisen.
Alle Ergebnisworte müssen sich im gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für R verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl MLPX(76) nicht ausge-
führt. Ist diese jedoch WAHR, werden über MLPX(76) bis zu vier Hexadezimal-
stellen (mit jeweils vier Bits) vom Quellwort S in Dezimalwerte von 0 ...15 kon-
vertiert. Jeder dieser Dezimalwerte kennzeichnet eine Bitposition. Das Bit, des-
sen Nummer mit allen konvertierten Werten übereinstimmt, wird in einem Er-
gebniswort auf EIN gesetzt. Wird mehr als eine Stelle spezifiziert, wird jeweils
ein Bit der nach R folgenden Worte auf EIN gesetzt. (Sehen Sie nachfolgendes
Beispiel).
Folgendes Beispiel zeigt eine 1–stellige Dekodieroperation der ersten Stelle
von S, d.h., Di besitzt hier den Wert von 0001.

Quellwort
C

Bit C (d.h. Bitnummer 12) auf EIN gesetzt.

Erstes Ergebniswort
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

Die erste Stelle und die Anzahl der zu konvertierenden Stellen wird Di zugewie-
sen. Werden mehr Stellen als in S verbleiben zugewiesen (Zählanfang ist die
erste zugewiesene Stelle), werden die verbleibenden Stellen wieder dem An-

419
Konvertierungsbefehle Abschnitt 7-20

fang von S zugewiesen. Das für die Speicherung des konvertierten Ergebnisses
(R plus die Anzahl der zu konvertierenden Stellen) erforderliche Endwort muss
sich im gleichen Datenbereich wie R befinden, d.h., werden 2 Stellen konver-
tiert, kann die letzte Wortadresse in einem Datenbereich nicht zugewiesen wer-
den. Werden 3 Stellen konvertiert, können die letzten zwei Worte in einem Da-
tenbereich nicht zugewiesen werden.
Stellenkennzeichner Die Stellen von Di werden wie folgt gesetzt.
Stellen: 3 2 1 0

Spezifiziert die erste zu konvertierende Stelle (0 bis 3)

Anzahl der zu konvertierenden Stellen (0 bis 3)


0: 1 Stelle
1: 2 Stellen
2: 3 Stellen
3: 4 Stellen

Nicht verwendet (Auf 0 setzen)

Einige Beispiele der Di–Werte und die daraus resultierenden Umwandlungen


(Stelle–zu–Wort) sind nachfolgend dargestellt.
Di: 0010 Di: 0030
S S

0 R 0 R
1 R+1 1 R+1
2 2 R+2
3 3 R+3

Di: 0031 Di: 0023


S S
0 R 0 R
1 R+1 1 R+1
2 R+2 2 R+2
3 R+3 3

Merker ER: Undefinierte Stellenkennzeichnung oder R plus die Anzahl der Stellen
überschreitet einen Datenbereich.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

420
Konvertierungsbefehle Abschnitt 7-20

Beispiel Das folgende Programm konvertiert die Stellen 1 bis 3 von DM 0020 in die Bit-
stellungen und setzt die entsprechenden Bits in drei aufeinanderfolgenden Wor-
ten, beginnend mit HR 10, auf EIN. Die Stelle 0 wird nicht konvertiert.
00000
MLPX (76) Adresse Befehl Operanden
DM 0020 00000 LD 00000
#0021 00001 MLPX (76)
HR 10 DM 0020
# 0021
HR 10

S: DM 0020 R: HR 10 R+1: HR 11 R+2: HR 12

DM 0020 00 HR 1000 0 HR 1100 0 HR 1200 1


DM 0020 01 Nicht HR 1001 0 HR 1101 0 HR 1201 0
DM 0020 02 konvertiert HR 1002 0 HR 1102 0 HR 1202 0
DM 0020 03 HR 1003 0 HR 1103 0 HR 1203 0
DM 0020 04 1 HR 1004 0 HR 1104 0 HR 1204 0
15
DM 0020 05 1 HR 1005 0 HR 1105 0 HR 1205 0
DM 0020 06 1 HR 1006 0 HR 1106 1 HR 1206 0
DM 0020 07 1 HR 1007 0 HR 1107 0 HR 1207 0
DM 0020 08 0 HR 1008 0 HR 1108 0 HR 1208 0
6
DM 0020 09 1 HR 1009 0 HR 1109 0 HR 1209 0
DM 0020 10 1 HR 1010 0 HR 1110 0 HR 1210 0
DM 0020 11 0 HR 1011 0 HR 1111 0 HR 1211 0
DM 0020 12 0 HR 1012 0 HR 1112 0 HR 1212 0
0
DM 0020 13 0 HR 1013 0 HR 1113 0 HR 1213 0
DM 0020 14 0 HR 1014 0 HR 1114 0 HR 1214 0
DM 0020 15 0 HR 1015 1 HR 1115 0 HR 1215 0

7-20-6 16–TO–4 ENCODER (16–in–4–Enkoder) – DMPX(77)


Datenbereiche

Kontaktplansymbol SB: Erstes Quellwort

IR, SR, AR, DM, HR, TC, LR


DMPX (77) @DMPX(77)
R: Ergebniswort
SB SB
IR, SR, AR, DM, HR, LR
R R
Di: Stellenkennzeichner
Di Di
IR, SR, AR, DM, HR, TC, LR, #

Einschränkungen Die beiden äußersten rechten Stellen von Di müssen jeweils einen Wert zwi-
schen 0 und 3 aufweisen.
Alle Quellenworte müssen sich im gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für SB, R oder Di verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl DMPX(77) nicht ausge-
führt. Ist diese jedoch WAHR, bestimmt DMPX(77) die Position des höchsten
auf EIN gesetzten Bits in S. Diese Bitnummer wird dann in einen hexadezimalen
Wert umgewandelt und an eine spezifizierte Stelle des Ergebniswortes R über-
tragen. Die Definition dieser spezifizierten Stelle wird über die Stellenkenn-
zeichnung Di vorgenommen. Dort wird auch die Anzahl der zu kodierenden
Stellen festgelegt.

421
Konvertierungsbefehle Abschnitt 7-20

Folgendes Beispiel zeigt eine 1–stellige Kodieroperation der 1. Stelle von R,


d.h., Di besitzt hier den Wert 0001.

Erstes Quellwort
0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0

Der hexadezimale Wert C wird übertragen


und kennzeichnet die höchste Bit–Position
(12), die auf EIN gesetzt ist.
Ergebniswort
C

Bis zu vier Stellen von vier aufeinanderfolgenden Quellenworten, beginnend mit


SB, können kodiert werden und die Stellen werden, beginnend mit der ersten
zugewiesenen Stelle in R, geschrieben. Werden mehr Stellen zugewiesen als in
R (Zählanfang ist die zugewiesene erste Stelle) verbleiben, werden die verblei-
benden Stellen dem Anfang von R zugewiesen.
Das zu konvertierende Endwort (SB plus die Anzahl der zu konvertierenden
Stellen), muss sich im gleichen Datenbereich wie SB befinden.
Stellenkennzeichner Die Stellen von Di werden wie folgt gesetzt.
Stellen: 3 2 1 0

Spezifiziert die erste Stelle, in die die konvertierten Da-


ten geschrieben werden (0 bis 3).

Anzahl der zu konvertierenden Worte (0 bis 3)


0: 1 Wort
1: 2 Worte
2: 3 Worte
3: 4 Worte
Nicht verwendet

Einige Beispiele der Di–Werte und die daraus resultierenden Umwandlungen


(Wort–in–Stelle) sind nachfolgend dargestellt.
Di: 0011 Di: 0030
R R
S 0 S 0
S+1 1 S+1 1
2 S+2 2
3 S+3 3

Di: 0013 Di: 0032


R R
S 0 S 0
S+1 1 S+1 1
2 S+2 2
3 S+3 3

Merker ER: Undefinierte Stellenkennzeichnung, oder S + die Anzahl der Stellen


überschreitet einen Datenbereich.
Inhalt eines Quellwortes ist 0.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

422
Konvertierungsbefehle Abschnitt 7-20

Beispiel Ist 00000 auf EIN gesetzt, wird folgender Kodierprozess eingeleitet: IR 200 und
201 werden kodiert und in die beiden ersten Stellen von HR 20 übertragen; LR
010 und LR 011 in die beiden letzten Stellen von HR 20. Obwohl der Status jedes
Quellenwort–Bits nicht angezeigt wird, wird vorausgesetzt, dass das darge-
stellte Bit mit dem Status 1 (EIN), das höchste auf EIN gesetzte Bit im Wort ist.
00000
DMPX (77) Adresse Befehl Operanden
200 00000 LD 00000
HR 10 00001 DMPX (77)
#0010 200
HR 10
DMPX (77)
# 0010
00002 DMPX (77)
LR 10
LR 10
HR 10
HR 10
#0012
# 0012
IR 200 IR 201
01000 01100
: :
01011 1 01109 1
01012 0 01110 0
:: : :: :
HR 10
01015 0 01115 0
Stelle 0 B
Stelle 1 9
LR 10 LR 11 Stelle 2 1
LR 1000 LR 1100 Stelle 3 8
LR 1001 1 :
LR 1002 0 LR 1108 1
:: : LR 1109 0
:: : :: :
LR 1015 0 LR 1115 0

7-20-7 7–SEGMENT DECODER (Dekodierung für 7–Segment–Anzeige) –


SDEC(78)
Datenbereiche

Kontaktplansymbol S: Quellwort (Binär)

IR, SR, AR, DM, HR, TC, LR


SDEC (78) @SDEC(78)
Di: Stellenkennzeichner
S S
IR, SR, AR, DM, HR, TC, LR, #
Di Di
D: Erstes Zielwort
D D
IR, SR, AR, DM, HR, LR

Einschränkungen Di muss sich innerhalb der nachstehend aufgeführten Werte befinden.


Alle Zielworte müssen sich im gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für D verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl SDEC(78) nicht ausge-
führt. Ist diese jedoch WAHR, konvertiert SDEC(78) die zugewiesene Stelle(n)
von S in den gleichwertigen 8 Bit–Wert zur Ansteuerung einer 7– Segmentan-
zeige und speichert ihn in dem/den mit D beginnenden Zielwort(en).

423
Konvertierungsbefehle Abschnitt 7-20

Jede oder alle der in S vorhandenen Stellen werden, ausgehend von der zuge-
wiesenen ersten Stelle, konvertiert. Die Zuweisung der ersten Stelle, die Anzahl
der zu konvertierenden Stellen und die Hälfte von D, in der der erste 7–Seg-
ment–Displaycode (die äußerst rechten oder linken 8 Bits) gespeichert wird, er-
folgt in Di. Werden mehrere Stellen zugewiesen, erfolgt die Reihenfolge ausge-
hend von der zugewiesenen Hälfte von D, wobei jede zwei Stellen benötigt.
Werden mehr Stellen zugewiesen als in S (Zählfolge von der zugewiesenen er-
sten Stellen) verbleiben, werden weitere Stellen, beginnend bei S, verwendet.
Stellenkennzeichner Die Stellen von Di werden wie folgt gesetzt.
Stellen: 3 2 1 0

Spezifiziert die erste zu konvertierende Stelle von S (0 bis 3).


Anzahl der zu konvertierenden Stellen(0 bis 3)
0: 1 Stelle
1: 2 Stellen
2: 3 Stellen
3: 4 Stellen
Erste zu verwendende Hälfte von D
0: Äußerst rechte 8 Bits (1. Hälfte)
1: Äußerst linke 8 Bits (2. Hälfte)
Nicht verwendet; auf 0 gesetzt.

Einige Beispiele der Di–Werte und die daraus resultierende Umwandlung von
4 Bit–Binärwerten in eine 7–Segment–Anzeige sind nachstehend dargestellt.
Di: 0011 Di: 0030
S–Stellen D S–Stellen D
0 1. Hälfte 0 1. Hälfte
1 2. Hälfte 1 2. Hälfte
2 2
3 3 D+1
1. Hälfte
2. Hälfte

Di: 0112 Di: 0130


S–Stellen D S–Stellen D
0 0
1. Hälfte 1. Hälfte
1 1
2. Hälfte 2. Hälfte
2 2
3 D+1 3 D+1
1. Hälfte 1. Hälfte
2. Hälfte 2. Hälfte

D+2
1. Hälfte
2. Hälfte

424
Konvertierungsbefehle Abschnitt 7-20

Beispiel Das folgende Beispiel zeigt die erforderlichen Daten zur Anzeige einer 8. Die
Kleinbuchstaben geben an, welche Bits den Segmenten der 7–Segment–An-
zeige entsprechen. Die nachstehende Tabelle zeigt die ursprünglichen Daten
und den konvertierten Code aller Hexadezimalziffern.
00000
@ SDEC(78)
DM 0010
LR 07

200

a
LR 07 DM 0010 IR 200

f b
g
0 20 0 Bit 00 1 a

1 21 1 1 b
1: Beginn bei 2. Stelle e c
x100 0 1 c
0 22 0

0 23 0 1 d d

0 20 0 1 e

0 21 0 8 1 f
x101 0: Eine Ziffer zu 1
0 dekodieren 22 0 1 g

0 23 1 Bit 07 0

0 20 0

0 21 1
x102 0 oder 1: 2
0 0 Bits 00 bis 07 22 1
1 Bits 08 bis 15.
0 23 1

0 20 1

0 x103 3 21 0
Nicht verwendet
0 22 1

0 23 1

Ursprungsdaten Konvertierter Code (Segmente) Anzeige


Stelle Bits – g f e d c b a
0 0 0 0 0 0 0 1 1 1 1 1 1
1 0 0 0 1 0 0 0 0 0 1 1 0
2 0 0 1 0 0 1 0 1 1 0 1 1
3 0 0 1 1 0 1 0 0 1 1 1 1
4 0 1 0 0 0 1 1 0 0 1 1 0
5 0 1 0 1 0 1 1 0 1 1 0 1
6 0 1 1 0 0 1 1 1 1 1 0 1
7 0 1 1 1 0 0 1 0 0 1 1 1
8 1 0 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 0 1 1 0 1 1 1 1
A 1 0 1 0 0 1 1 1 0 1 1 1
B 1 0 1 1 0 1 1 1 1 1 0 0
C 1 1 0 0 0 0 1 1 1 0 0 1
Z 1 1 0 1 0 1 0 1 1 1 1 0
E 1 1 1 0 0 1 1 1 1 0 0 1
F 1 1 1 1 0 1 1 1 0 0 0 1

Merker ER: Falsche Stellenkennzeichnung oder Zieldatenbereich überschritten.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

425
Konvertierungsbefehle Abschnitt 7-20

7-20-8 ASCII CONVERT (ASCII–Konvertierung) – ASC(86)


Datenbereiche

Kontaktplansymbol S: Quellwort

IR, SR, AR, DM, HR, TC, LR


ASC (86) @ASC(86)
Di: Stellenkennzeichner
S S
IR, SR, AR, DM, HR, TC, LR, #
Di Di
D: Erstes Zielwort
D D
IR, SR, AR, DM, HR, LR

Einschränkungen Di muss sich innerhalb der nachstehend aufgeführten Werte befinden.


Alle Zielworte müssen sich im gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für D verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl ASC(86) nicht ausge-
führt. Ist diese jedoch WAHR, konvertiert ASC(86) die zugewiesene Stelle(n )
von S in den gleichwertigen 8 Bit–ASCII–Code und speichert diesen in dem/den
mit D beginnenden Zielwort(en).
Einige oder alle der in S vorhandenen Stellen werden, ausgehend von der zuge-
wiesenen ersten Stelle, konvertiert. Die Zuweisung der ersten Stelle, die Anzahl
der zu konvertierenden Stellen und die Hälfte von D, in der der erste ASCII–
Code (die äußerst rechten oder linken 8 Bits) gespeichert wird, erfolgt in Di. Wer-
den mehrere Stellen zugewiesen, erfolgt die Reihenfolge ausgehend von der
zugewiesenen Hälfte von D, wobei jede zwei Stellen benötigt. Werden mehr
Stellen zugewiesen als in S (Zählfolge von der zugewiesenen ersten Stelle) ver-
bleiben, werden weitere Stellen, beginnend bei S, verwendet.
Hinweis Eine Tabelle der ASCII–Zeichen finden Sie im Anhang G.

Stellenkennzeichner Die Stellen von Di werden wie folgt gesetzt.


Stellen: 3 2 1 0

Spezifiziert die erste zu konvertierende Stelle (0 bis 3).

Anzahl der zu konvertierenden Stellen (0 bis 3)


0: 1 Stelle
1: 2 Stellen
2: 3 Stellen
3: 4 Stellen
Erste zu verwendende Hälfte von D
0: Äußerst rechte 8 Bits (1. Hälfte)
1: Äußerst linke 8 Bits (2. Hälfte)
Parität 0: keine
1: gerade
2: ungerade

426
Konvertierungsbefehle Abschnitt 7-20

Einige Beispiel der Di Werte und die daraus resultierende Umwandlung von
4 Bit–Binärwerte in 8 Bit–ASCII–Werte sind nachstehend dargestellt.
Di: 0011 Di: 0030
S D S: D
0 1. Hälfte 0 1. Hälfte
1 2. Hälfte 1 2. Hälfte
2 2
3 3 D+1
1. Hälfte
2. Hälfte

Di: 0112 Di: 0130


S D S D
0 1. Hälfte 0 1. Hälfte
1 2. Hälfte 1 2. Hälfte
2 2
3 D+1 3 D+1
1. Hälfte 1. Hälfte
2. Hälfte 2. Hälfte

D+2
1. Hälfte
2. Hälfte

Parität Das äußerst linke Bit jedes ASCII–Zeichens (2–stellig) kann automatisch auf
gerade oder ungerade Parität gesetzt werden. Wird keine Parität zugewiesen,
ist das äußerst linke Bit immer 0.
Wird eine gerade Parität zugewiesen, wird das äußerst linke Bit so gesetzt, daß
die Gesamtzahl der auf EIN gesetzten Bits gerade ist, d.h., ist eine gerade Pari-
tät eingestellt, wird aus ASCII “31” (00110001) “B1” (10110001: das Paritätsbit
wird auf EIN gesetzt, um eine gerade Anzahl von auf EIN gesetzte Bits zu erstel-
len); ASCII “36” (00110110) wird “36” (00110110: das Paritätsbit wird auf AUS
gesetzt, weil die Anzahl der auf EIN gesetzen Bits bereits gerade ist). Der Zu-
stand des Paritätsbits wirkt sich nicht auf die Bedeutung des ASCII–Codes aus.
Wird eine ungerade Parität zugewiesen, wird das äußerste linke Bit jedes
ASCII–Zeichens so gesetzt, daß eine ungerade Zahl von auf EIN gesetzten Bits
anliegt.

Merker ER: Falsche Stellenkennzeichnung oder Ziel–Datenbereich überschritten.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

427
Konvertierungsbefehle Abschnitt 7-20

7-20-9 ASCII–TO–HEXADECIMAL (in Hexadezimal–Wort konvertieren) –


HEX(––)
Operanden–Datenbereiche

Kontaktplansymbol S: Erstes Quellwort

IR, SR, AR, DM, HR, TC, LR, #


HEX(––) @HEX(––)
Di: Stellenkennzeichner
S S
IR, SR, AR, DM, HR, TC, LR, #
Di Di
D: Zielwort
D D
IR, SR, AR, DM, HR, LR

Einschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C/SRM1(–V2) verfügbar.


Di muss sich innerhalb der nachstehend aufgeführten Werte befinden.
Alle Quellenworte müssen sich im gleichen Datenbereich befinden.
Bytes in Quellworten müssen das ASCII–Code–Äquivalent der Hexadezimal-
werte enthalten, d.h., 30 bis 39 (0 bis 9) oder 41 bis 46 (A bis F).
DM 6144 bis DM 6655 können nicht für D verwendet werden.
Beschreibung Ist die Ausführungsbedingung FALSCH, wird der Befehl HEX(––) nicht ausge-
führt. Ist diese jedoch WAHR, konvertiert HEX(––) das/die zugewiesene(n)
Byte(s) des ASCII–Codes von dem Quellwort(e) in das hexadezimale Äquiva-
lent und speichert es in D.
Es können bis zu 4 ASCII–Codes, beginnend mit dem ersten, S zugewiesenem
Byte konvertiert werden. Die konvertierten Hexadezimalwerte werden dann in
Reihenfolge der zugewiesenen Stelle in D abgelegt. Das erste Byte (die
äußersten rechten oder linken 8 Bits), die Anzahl der zu konvertierenden Bytes
und die Stelle von D, die den ersten hexadezimalen Wert empfängt, werden in Di
zugewiesen. Werden mehrere Bytes zugewiesen, so werden diese, beginnend
mit der zugewiesenen Hälfte von S und falls erforderlich, fortlaufend mit S+1 und
S+2 konvertiert.
Werden mehr Stellen zugewiesen als in D verbleiben (beginnend bei der zuge-
wiesenen ersten Stelle), werden weitere Stellen beginnend bei D verwendet.
Stellen in D, auf die keine konvertierten Daten übertragen werden, bleiben un-
verändert.
Stellenkennzeichner Die Stellen von Di werden wie folgt gesetzt.
Stellen: 3 2 1 0

Spezifiziert die erste zu verwendende Stelle von D (0 bis 3).

Anzahl der zu konvertierenden Bytes sind (0 bis 3)


0: 1 Byte (2–stelliger ASCII–Code)
1: 2 Bytes
2: 3 Bytes
3: 4 Bytes
Erstes, zu verwendendes Byte von S.
0: Äußerst rechte 8 Bits (erstes Byte)
1: Äußerst linke 8 Bits (zweites Byte)

Parität 0: keine
1: gerade
2: ungerade

428
Konvertierungsbefehle Abschnitt 7-20

Einige Beispiele von Di–Werten und deren Konvertierung von 8 Bit–ASCII– in


4 Bit Hexadezimalwerte sind nachfolgend dargestellt.
Di: 0011 Di: 0030
S D S D
1. Byte 0 1, Byte 0
2. Byte 1 2. Byte 1
2 2
3 S+1 3
1. Byte
2. Byte

Di: 0023 Di: 0133


S D S
1. Byte 0 1. Byte D
2. Byte 1 2. Byte 0
2 1
S+1 3 S+1
2
1. Byte 1. Byte 3
2. Byte 2. Byte

S+2
1. Byte
2. Byte

ASCII–Codetabelle Die folgende Tabelle zeigt die ASCII–Codes vor der Konvertierung und die He-
xadezimalwerte nach der Konvertierung. Eine Tabelle der ASCII–Zeichen fin-
den Sie im Anhang G.
Ursprüngliche Daten Konvertierte Daten
ASCII–Code Bitstatus (siehe Hinweis.) Ziffer Bits
30 * 0 1 1 0 0 0 0 0 0 0 0 0
31 * 0 1 1 0 0 0 1 1 0 0 0 1
32 * 0 1 1 0 0 1 0 2 0 0 1 0
33 * 0 1 1 0 0 1 1 3 0 0 1 1
34 * 0 1 1 0 1 0 0 4 0 1 0 0
35 * 0 1 1 0 1 0 1 5 0 1 0 1
36 * 0 1 1 0 1 1 0 6 0 1 1 0
37 * 0 1 1 0 1 1 1 7 0 1 1 1
38 * 0 1 1 1 0 0 0 8 1 0 0 0
39 * 0 1 1 1 0 0 1 9 1 0 0 1
41 * 1 0 0 0 0 0 1 A 1 0 1 0
42 * 1 0 0 0 0 1 0 B 1 0 1 1
43 * 1 0 0 0 0 1 1 C 1 1 0 0
44 * 1 0 0 0 1 0 0 D 1 1 0 1
45 * 1 0 0 0 1 0 1 E 1 1 1 0
46 * 1 0 0 0 1 1 0 F 1 1 1 1

Hinweis Das äußerst linke Bit jedes ASCII–Codes wird auf Parität eingestellt.

Parität Das äußerst linke Bit jedes ASCII–Zeichens (2 Stellen) wird automatisch auf ge-
rade oder ungerade Parität gesetzt.
Ohne Parität muss das äußerst linke Bit immer Null sein. Bei ungerader oder
gerader Parität muss das äußerst linke Bit jedes ASCII–Zeichens so gesetzt
werden, daß eine ungerade oder gerade Anzahl von auf EIN gesetzten Bits be-
steht.
Falls die Parität des ASCII–Codes in S nicht mit der in Di spezifizierten Parität
übereinstimmt, wird der ER–Merker (SR 25503 ) auf EIN gesetzt und der Befehl
nicht ausgeführt.

Merker ER: Falsche Stellenkennzeichnung oder Zieldatenbereich überschritten.

429
Konvertierungsbefehle Abschnitt 7-20

Die Quellworte enthalten keine ASCII–Daten, die in Hexadezimalwerte


konvertiert werden können, d.h.Werte, die zwischen 0 und 9 oder A bis
F liegen.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

Beispiel Im folgenden Beispiel wird das zweite Byte von LR 10 und das erste Byte von LR
11 in hexadezimale Werte konvertiert und diese Werte werden in das erste und
zweite Byte von IR 200 geschrieben.

00000 Adresse Befehl Operanden


@HEX(––)

LR 10 00000 LD 00000
HR 10 00001 @HEX(––)
200
LR 10
HR 10
200

HR 10 0 1 1 0

LR 12 3 5 3 4 LR 11 4 2 3 2 LR 10 3 1 3 0
Konvertierung zu
hexadezimal
200 0 0 2 1

7-20-10 HOURS–TO–SECONDS (Stunden–in–Sekunden) – SEC(––)


Kontaktplansymbol Datenbereiche
S: Anfangs–Quellwort (BCD)
SEC(––) @SEC(––)
IR, SR, AR, DM, HR, TC, LR
S S
R Anfangs–Ergebniswort (BCD)
R R
IR, SR, AR, DM, HR, TC, LR
000 000
000: Keine Funktion

000

Einschränkungen Dieser Befehl ist nur für die CPM2A/CPM2C verfügbar.


S und S+1 müssen sich innerhalb des gleichen Datenbereichs befinden. R und
R+1 müssen sich innerhalb des gleichen Datenbereichs befinden. S und S+1
müssen im BCD–Format vorliegen und das Stunden/Minuten/Sekunden–For-
mat muss eingehalten werden.
DM 6144 bis DM 6655 können nicht für R verwendet werden.
Beschreibung Der Befehl SEC(––) wird zur Konvertierung einer Zeitangabe in Stunden/Minu-
ten/Sekunden in eine reine Sekundenangabe verwendet.
Bei den Quelldaten sind die Sekunden in den Bits 00 bis 07 und die Minuten in
den Bits 08 bis 15 des Wortes S spezifiziert. Die Stunden werden in S+1 spezifi-
ziert. Das Maximum liegt daher bei 9999 Stunden, 59 Minuten und 59 Sekun-
den.
Das Ergebnis wird an R und R+1 ausgegeben. Der Maximalwert liegt bei
35.999.999 Sekunden.

Merker ER: S und S+1 oder R und R+1 befinden sich nicht im gleichen Datenbe-
reich.

430
Konvertierungsbefehle Abschnitt 7-20

S und/oder S+1 liegen nicht im BCD–Format vor.


Anzahl der Sekunden und/oder Minuten überschreitet 59.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis Null ist.

Beispiel Ist 00000 auf AUS (d.h. die Ausführungsbedingung ist EIN), konvertiert der fol-
gende Befehl den Stunden–, Minuten– und Sekunden–Wert von HR 12 und HR
13 in einen Sekunden–Wert und speichert das Ergebnis in DM 0100 und DM
0101.
00000
SEC(––)
Adresse Befehl Operanden
HR 12 00000 LD NOT 00000
DM 0100 00001 SEC(––)
HR 12
DM 0100
HR 12 3 2 0 7 2.815 Std., 32 Min., 000
HR 13 2 8 1 5 07 Sek.

DM 0100 5 9 2 7 10.135.927 s
DM 0101 1 0 1 3

7-20-11 SECONDS–TO–HOURS (Sekunden–in–Stunden) – HMS(––)


Kontaktplansymbol Datenbereiche
S: Anfangs–Quellwort (BCD)
HMS(––) @HMS(––)
IR, SR, AR, DM, HR, TC, LR
S S
R Anfangs–Ergebniswort (BCD)
R R
IR, SR, AR, DM, HR, TC, LR
000 000
000: Keine Funktion

000

Einschränkungen Dieser Befehl ist nur für die CPM2A/CPM2C verfügbar.


S und S+1 müssen sich innerhalb des gleichen Datenbereichs befinden. R und
R+1 müssen sich innerhalb des gleichen Datenbereichs befinden. S und S+1
müssen im BCD–Format vorliegen und zwischen 0 und 35.999.999 Sekunden
liegen.
DM 6144 bis DM 6655 können nicht für R verwendet werden.
Beschreibung HMS(––) wird zur Konvertierung einer Zeitangabe in Sekunden in eine Zeitan-
gabe in Stunden/Minuten/Sekunden verwendet.
Die Anzahl der in S und S+1 spezifizierten Sekunden wird in Stunden/Minuten/
Sekunden konvertiert und in R und R+1 gespeichert.
Das Ergebnis für die Sekunden wird in den Bits 00 bis 07 des Wortes R gespei-
chert und das für die Minuten in den Bits 08 bis 15. Die Stunden werden in R+1
gespeichert. Das Maximum liegt bei 9999 Stunden, 59 Minuten und 59 Sekun-
den.

Merker ER: S und S+1 oder R und R+1 befinden sich nicht im gleichen Datenbe-
reich.
S und/oder S+1 liegen nicht im BCD–Format vor oder die Anzahl der
Sekunden überschreitet 36.000.000 Sekunden.

431
Konvertierungsbefehle Abschnitt 7-20

Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–


Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis Null ist.

Beispiel Ist 00000 auf AUS gesetzt (d.h. die Ausführungsbedingung ist EIN), konvertiert
der folgende Befehl den Sekunden–Wert von HR 12 und HR 13 in ein Stunden–,
Minuten– und Sekunden–Wert und speichert das Ergebnis in DM 0100 und DM
0101.
00000
HMS(––)
Adresse Befehl Operanden
HR 12 00000 LD NOT 00000
DM 0100 00001 HMS(––)
HR 12
DM 0100
HR 12 5 9 2 7 10.135.927 s
000
HR 13 1 0 1 3

DM 0100 3 2 0 7 2.815 Std., 32 Min., 07 Sek.


DM 0101 2 8 1 5

7-20-12 2’S COMPLEMENT (2er–Komplement) – NEG(––)


Kontaktplansymbol Datenbereiche
S: Quellwort
NEG(––) @NEG(––)
IR, SR, AR, DM, HR, TC, LR, #
S S
R Ergebniswort
R R
IR, SR, AR, DM, HR, LR
000 000
000

Nicht verwendet Auf 000 setzen.

Einschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C/SRM1(–V2) verfügbar.


DM 6144 bis DM 6655 können nicht für R verwendet werden.
Beschreibung Erstellt das Zweierkomplement des vierstelligen Hexadezimalwertes des Quell-
wortes (S) und speichert das Ergebnis in dem Ergebniswort (R). Diese Funktion
ist ähnlich der Subtraktion von S von 0000 und dem Speichern des Ergebnisses
in R. Der Absolutwert der Binärdaten mit negativem Vorzeichen wird berechnet.
Ist der Inhalt von S auf 0000 gesetzt, wird nach der Ausführung der Inhalt von R
ebenfalls auf 0000 und EQ (SR 25506) auf EIN gesetzt.
Entspricht der Inhalt von S = 8000, wird nach der Ausführung der Inhalt von R
ebenfalls auf 8000 und UF (SR 25405) auf EIN gesetzt.
Hinweis Sehen Sie Abschnitt 2-16 Berechnung mit vorzeichenbehaftete Binärwert–Da-
ten für weitere Einzelheiten.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn der Inhalt von R nach der Ausführung Null ist;
andernfalls auf AUS gesetzt.
UF: Auf EIN gesetzt, wenn der Inhalt von S = 8000 ist; andernfalls auf AUS
gesetzt.
N: EIN, wenn Bit 15 von R auf EIN ist; sonst AUS.

432
Konvertierungsbefehle Abschnitt 7-20

Beispiel Das folgende Beispiel zeigt die Anwendung von NEG(––), um das Zweierkom-
plement des Inhaltes von DM 0005 zu bilden und das Ergebnis an IR 15 auszu-
geben.
00100
NEG(––)
Adresse Befehl Operanden
DM 0005 00000 LD 00100
15 00001 NEG(––)
000 DM 0005
15
000

#0000

– #001F Inhalt von DM 0005.

#FFE1 Ausgabe an IR 15.

433
BCD–Rechenbefehle Abschnitt 7-21

7-21 BCD–Rechenbefehle
7-21-1 SET CARRY (Übertragsmerker setzen) – STC(40)
Kontaktplan–Symbol

STC(40) @STC(40)

Ist die Ausführungsbedingung FALSCH, wird CTBL(40) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, schaltet STC(40) CY ein (SR 25504).
Hinweis Die sich auf CY auswirkenden Befehle finden Sie in einer Tabelle in Anhang B
Fehler– und Arithmetische Merkeroperationen.

7-21-2 CLEAR CARRY (Übertragsmerker rücksetzen) – CLC(41)


Kontaktplan–Symbol

CLC(41) @CLC(41)

Ist die Ausführungsbedingung FALSCH, wird CLC(41) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, schaltet STC(41) CY aus (SR 25504).
Der Befehl CLEAR CARRY wird zum Rücksetzen (auf AUS) von CY (SR 25504)
auf 0 verwendet.
Hinweis Die sich auf CY auswirkenden Befehle finden Sie in einer Tabelle in Anhang B
Fehler– und Arithmetische Merkeroperationen.

7-21-3 BCD ADDITION (BCD–Addition) – ADD(30)


Datenbereiche

Kontaktplan–Symbol Au: 1. Summand (BCD)

IR, SR, AR, DM, HR, TC, LR, #


ADD (30) @ADD(30)
Ad: 2. Summand (BCD)
Au Au
IR, SR, AR, DM, HR, TC, LR, #
Ad Ad
R: Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl ADD(30) nicht ausge-
führt. Ist diese jedoch WAHR, addiert ADD( 30) den Inhalt von Au, Ad und CY
und speichert das Ergebnis in R. CY wird gesetzt, wenn das Ergebnis 9999
überschreitet.

Au + Ad + CY CY R

Merker ER: Au bzw. Ad ist kein BCD–Wert.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Auf EIN gesetzt, wenn das Ergebnis einen Übertrag aufweist.
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

434
BCD–Rechenbefehle Abschnitt 7-21

Beispiel Ist 00002 auf EIN gesetzt, löscht das im nachstehenden Diagramm dargestelle
Netzwerk CY mit dem Befehl CLC(41). Der Inhalt von IR 200 wird zu der Kon-
stanten (6103) addiert und das Ergebnis in DM 0100 gespeichert. Abhängig
vom Zustand von CY (25504) werden dann alle Nullen oder 0001 nach DM 0101
übertragen. Status von CY (25504). Dadurch wird sichergestellt, dass jeder
Übertrag der letzten Stelle in R+1 erhalten bleibt und das Gesamtergebnis spä-
ter als 8–stellige Daten verwendet werden können.

TR 0
Adresse Befehl Operanden
00002 00000 LD 00002
CLC(41) 00001 OUT TR 0
00002 CLC (41)
ADD (30)
00003 ADD(30)
200
200
# 6103
#6103
DM 0100
DM 0100
00004 AND 25504
25504
00005 MOV (21)
MOV (21)
# 0001
#0001
DM 0101
DM 0101
00006 LD TR 0
25504 00007 AND NOT 25504
MOV (21)
00008 MOV (21)
#0000
# 0000
DM 0101
DM 0101

Obwohl die 8–stellige BCD–Addition mit zwei ADD(30)–Befehlen durchgeführt


werden kann, dient der Befehl ADDL(54) speziell diesem Zweck.

7-21-4 BCD SUBTRACT (BCD–Subtraktion) – SUB(31)


Datenbereiche

Kontaktplan–Symbol Mi: Minuend (BCD)

IR, SR, AR, DM, HR, TC, LR, #


SUB(31) @SUB(31)
Su: Subtrahend (BCD)
Mi Mi
IR, SR, AR, DM, HR, TC, LR, #
Su Su
R: Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl SUB(31) nicht ausge-
führt. Ist diese jedoch WAHR, subtrahiert SUB(31) den Inhalt von Su und CY von
Mi und speichert das Ergebnis in R. Ist das Ergebnis negativ, wird CY gesetzt
und das Zehner–Komplement des Ergebnisses in R abgelegt. Um das Zehner–
Komplement in ein echtes Ergebnis zu konvertieren, subtrahieren Sie den Inhalt
von R von Null (sehen Sie dazu das folgende Beispiel).

Mi – Su – CY CY R

Merker ER: Mi bzw. Su ist kein BCD–Wert.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Auf EIN gesetzt, wenn das Ergebnis negativ ist, d.h., wenn Mi kleiner ist
als Su + CY.

435
BCD–Rechenbefehle Abschnitt 7-21

EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

! Vorsicht Vor der Ausführung des SUB(31)–Befehls muss in jedem Fall der Übertrags-
merker mit dem CLC(41)–Befehl gelöscht werden, falls der vorherige Zustand
nicht benötigt wird. Überprüfen Sie den Zustand von CY nach einer Subtraktion
mit SUB(31). Wird CY infolge der Ausführung von SUB(31) (d.h. wenn das Er-
gebnis negativ ist) auf EIN gesetzt, wird das Ergebnis als Zehner–Komplement
ausgegeben. Um das Ausgabeergebnis in den echten Wert zu konvertieren,
subtrahieren Sie den Wert in R von 0.

Beispiel Ist 00002 auf EIN gesetzt, wird im folgenden Netzwerk CY gelöscht, der Inhalt
von DM 0100 und CY vom Inhalt von 201 subtrahiert und das Ergebnis in HR 10
abgelegt.
Wird CY durch SUB(31) gesetzt, wird das Ergebnis in HR10 von Null subtrahiert
(um ein genaues Ergebnis zu erhalten, wird CLC(41) wieder benötigt), das Er-
gebnis wieder in HR10 abgelegt und HR1100 wird zur Anzeige eines negativen
Ergebnisses auf EIN gesetzt.
Wird CY nicht durch SUB(31) gesetzt, ist das Ergebnis positiv, die zweite Sub-
traktion wird nicht durchgeführt und HR1100 nicht auf EIN gesetzt. HR1100 wird
als Selbsthaltung programmiert, so daß eine Zustandsänderung von CY ihn bei
einem erneuten Programmdurchlauf nicht auf AUS setzt.
In diesem Beispiel wird der Befehl SUB(31) mit flankengesteuerter Ausführung
verwendet, somit wird die Subtraktion nur einmal ausgeführt, wenn 00002 auf
EIN gesetzt wird. Soll eine weitere Subtraktion durchgeführt werden, muss
00002 für mindestens einen Zyklus (Rücksetzung von HR 1100) auf AUS und
dann wieder auf EIN gesetzt werden.

TR 0
00002
CLC(41)

@SUB(31) Erste
201
Subtrak-
tion
DM 0100

HR 10
25504
CLC(41)

@SUB(31) Zweite
#0000
Subtrak-
tion
HR 10

HR 10

25504
HR 1100

HR 1100 Auf EIN gesetzt, um ein


negatives Ergebnis anzu-
zeigen

436
BCD–Rechenbefehle Abschnitt 7-21

Adresse Befehl Operanden


00000 LD 00002
00001 OUT TR 0
00002 CLC (41)
00003 @SUB(31)
201
DM 0100
HR 10
00004 AND 25504
00005 CLC (41)
00006 @SUB(31)
# 0000
HR 10
HR 10
00007 LD TR 0
00008 LD 25504
00009 OR HR 1100
00010 AND LD ---
00011 OUT HR 1100

Die erste und zweite Subtraktion dieses Netzwerks sind unter Verwendung von
Beispieldaten für 201 und DM 0100 dargestellt.
Hinweis Bei der eigentlichen SUB(31)–Operation wird Su und CY von 10000 + Mi subtra-
hiert. Für positive Ergebnisse wird die äußerst linke Stelle abgeschnitten. Für
negative Ergebnisse wird das Zehner–Komplement erhalten. Das Verfahren zur
Festlegung des richtigen Ergebnisses ist nachstehend beschrieben.
Erste Subtraktion
IR 201 1029
DM 0100 – 3452
CY –0
HR 10 7577 (1029 + (10000 – 3452))
CY 1 (negatives Ergebnis)
Zweite Subtraktion
0000
HR 10 –7577
CY –0
HR 10 2423 (0000 + (10000 – 7577))
CY 1 (negatives Ergebnis)
Im obigen Fall setzt das Programm HR 1100 auf EIN und zeigt damit einen nega-
tiven Wert in HR 10 an.

7-21-5 BCD MULTIPY (BCD–Multiplikation) – MUL(32)


Datenbereiche

Kontaktplan–Symbol Md: Multiplikand (BCD)

IR, SR, AR, DM, HR, TC, LR, #


MUL (32) @MUL(32)
Mr: Multiplikator (BCD)
MD MD
IR, SR, AR, DM, HR, TC, LR, #
Mr Mr
R: Erstes Ergebniswort
R R
IR, SR, AR, DM, HR LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.

437
BCD–Rechenbefehle Abschnitt 7-21

Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl MUL(32) nicht ausge-
führt. Ist diese jedoch WAHR, multipliziert MUL(32) Md mit dem Inhalt von Mr
und legt das Ergebnis in R und R+1 ab.

MD

X Mr

R +1 R

Beispiel Ist IR 00000 im folgenden Programm auf EIN gesetzt, wird der Inhalt von
IR 013 mit DM 0005 multipliziert und das Ergebnis in HR 07 und HR 08 abgelegt.
Beispieldaten und Berechnungen werden nach dem Netzwerk dargestellt.

00000
Adresse Befehl Operanden
MUL (32)

013
00000 LD 00000
00001 MUL (32)
DM 0005
013
HR 07
DM 0005
HR 07

Md: IR 013
3 3 5 6

Mr: DM 0005
X 0 0 2 5

R+1: HR 08 R: HR 07
0 0 0 8 3 9 0 0

Merker ER: Md bzw. Mr ist kein BCD–Wert.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Auf EIN gesetzt, wenn das Ergebnis einen Übertrag aufweist.
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

7-21-6 BCD DIVIDE (BCD–Division) – DIV(33)


Datenbereiche

Kontaktplansymbol Dd: Dividend (BCD)

IR, SR, AR, DM, HR, TC, LR, #


DIV(33)
Dr: Divisor (BCD)
Dd
IR, SR, AR, DM, HR, TC, LR, #
Dr
R: Erstes Ergebniswort (BCD)
R
IR, SR, AR, DM, HR, LR

Beschränkungen R und R+1 müssen sich im gleichen Datenbereich befinden. DM 6144 bis DM
6655 können nicht für R verwendet werden.

438
BCD–Rechenbefehle Abschnitt 7-21

Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl DIV(33) nicht ausge-
führt und das Programm führt den nächsten Befehl aus. Ist diese jedoch WAHR,
wird Dd durch Dr dividiert und das Ergebnis in R und R + 1 abgelegt: der Quotient
in R und der Rest in R + 1.
Rest Quotient

R+1 R

Dr Dd

Merker ER: Dd oder Dr ist kein BCD–Wert.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

Beispiel Ist IR 00000 im folgenden Netzwerk auf EIN gesetzt, wird der Inhalt von IR 216
durch den Inhalt von HR 09 dividiert und das Ergebnis in DM 0017 und DM 0018
abgelegt. Beispieldaten und Berechnungen werden nach dem Programm dar-
gestellt.
00000
Adresse Befehl Operanden
DIV(33)
00000 LD 00000
216
00001 DIV(33)
HR 09
216
DM 0017 HR 09
Quotient Rest DM 0017

R: DM 0017 R + 1: DM 0018
1 1 5 0 0 0 0 2

Dd: HR 09 Dd: IR 216


0 0 0 3 3 4 5 2

7-21-7 DOUBLE BCD ADD (BCD–Doppelwort–Addition) – ADDL(54)


Datenbereiche

Kontaktplan–Symbol Au: 1. Summand (BCD)

IR, SR, AR, DM, HR, TC, LR


ADDL(54) @ADDL(54)
Ad: 2. Summand (BCD)
Au Au
IR, SR, AR, DM, HR, TC, LR
Ad Ad
R: Erstes Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.

439
BCD–Rechenbefehle Abschnitt 7-21

Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl ADDL(54) nicht ausge-
führt. Ist diese jedoch WAHR, addiert ADDL(54) den Inhalt von CY zum 8–stel-
ligen Wert in Au und Au+1 und zum 8–stelligen Wert in Ad und Ad+1 und legt das
Ergebnis in R und R+1 ab. CY wird gesetzt, wenn das Ergebnis 99999999 über-
schreitet.

Au + 1 Au

Ad + 1 Ad

+ CY

CY R+1 R

Merker ER: Au bzw. Ad ist kein BCD–Wert.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Auf EIN gesetzt, wenn das Ergebnis einen Übertrag aufweist.
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

Beispiel Ist 00000 auf EIN gesetzt, erfolgt im folgenden Programmabschnitt eine Addi-
tion zweier 12–stelliger Zahlen, wobei sich die erste in LR 00 bis LR 02 und die
zweite in DM 0010 bis DM 0012 befindet. Das Ergebnis wird in HR 10 bis HR 13
abgelgt.
Die äußerst rechten 8 Stellen der zwei Zahlen werden über den ADDL(54)–Be-
fehl addiert, d.h. der Inhalt von LR 00 und LR 01 wird zu DM 0010 und DM 0011
addiert und die Ergebnisse in HR 10 und HR 11 abgelegt. In der zweiten Addition
werden die äußersten linken 4 Stellen jeder Zahl mit dem ADD(30)–Befehl ad-
diert und beinhaltet den Übertrag aus der ersten Addition. Mit dem letzten Befehl
ADB(50) (sehen Sie Abschnitt 7-22-1 BINARY ADD – ADB(50) (Binäre Addi-
tion)) werden zwei aus Nullen bestehende Konstanten addiert, um den Übertrag
aus der zweiten Addition in HR 13 abzulegen.

00000
Adresse Befehl Operanden
CLC(41)
00000 LD 00000
@ADDL(54) 00001 CLC(41)
LR 00 00002 @ADDL(54)
DM 0010 LR 00
HR 10 DM 0010
HR 10
@ADD(30)
00003 @ADD(30)
LR 02
LR 02
DM 0012
DM 0012
HR 12
HR 12
@ADB(50) 00004 @ADB(50)
#0000 # 0000
#0000
# 0000
HR 13
HR 13

440
BCD–Rechenbefehle Abschnitt 7-21

7-21-8 DOUBLE BCD SUBTRACT (BCD–Doppelwort–Subtraktion) –


SUBL(55)
Datenbereiche

Kontaktplan–Symbol Mi: Minuend (BCD)

IR, SR, AR, DM, HR, TC, LR, #


SUBL (55) @SUBL(55)
Su: Subtrahend (BCD)
Mi Mi
IR, SR, AR, DM, HR, TC, LR, #
Su Su
R: Erstes Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl SUBL(55) nicht ausge-
führt. Ist diese jedoch WAHR, subtrahiert SUBL(55) CY und den 8–stelligen In-
halt von Su und Su+1 vom 8–stelligen Wert in Mi und Mi+1 und legt das Ergebnis
in R und R+1 ab. Ist das Ergebnis negativ, wird CY gesetzt und das Zehner–
Komplement des aktuellen Ergebnisses wird in R abgelegt. Um das Zehner–
Komplement in ein echtes Ergebnis zu konvertieren, subtrahieren Sie den Inhalt
von R von Null. Da eine 8–stellige Konstante nicht direkt eingeben werden kann,
verwenden Sie den BSET(71)–Befehl (sehen Sie Abschnitt 7-17-4 BLOCK SET
– BSET(71) (Blockweise vorbesetzen)), um eine 8–stellige Konstante zu gene-
rieren.

Mi + 1 Mi

Su + 1 Su

– CY

CY R+1 R

Merker ER: Mi, M+1, Su oder Su+1 sind kein BCD–Wert.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Auf EIN gesetzt, wenn das Ergebnis negativ ist, d.h., wenn Mi kleiner als
Su ist.
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

441
BCD–Rechenbefehle Abschnitt 7-21

Beispiel Das folgende Beispiel gleicht dem einer Einzelwort–Subtraktion. In diesem


Beispiel ist jedoch der Befehl BSET(71) erforderlich, um den Inhalt von DM 0000
und DM 0001 zu löschen, so daß ein negatives Ergebnis von 0 subtrahiert wer-
den kann (eine 8–stellige Konstante kann nicht eingegeben werden).

TR 0
00003
CLC(41)

@SUBL(55) Erste
HR 00 Subtraktion
220

DM 0100
25504
@BSET(71)

#0000

DM 0000

DM 0001

CLC(41)

@SUBL(55) Zweite
DM 0000 Subtraktion
DM 0100

DM 0100

25504
HR 0100

HR 0100 Auf EIN gesetzt, um


ein negatives Ergebnis
anzuzeigen

Adresse Befehl Operanden Adresse Befehl Operanden

00000 LD 00003 00006 CLC(41)


00001 OUT TR 0 00007 @SUBL(55)
00002 CLC (41) DM 0000
00003 @SUBL(55) DM 0100
HR 00 DM 0100
220 00008 LD TR 0
DM 0100 00009 LD 25504
00004 AND 25504 00010 OR HR 0100
00005 @BSET(71) 00011 AND LD
# 0000 00012 OUT HR 0100
DM 0000
DM 0001

7-21-9 DOUBLE BCD MULTIPLY (BCD–Doppelwort–Multiplikation) –


MULL(56)
Datenbereiche

Kontaktplan–Symbol Md: Multiplikand (BCD)

IR, SR, AR, DM, HR, TC, LR


MULL (56) @MULL(56)
Mr: Multiplikator (BCD)
MD MD
IR, SR, AR, DM, HR, TC, LR
Mr Mr
R: Erstes Ergebniswort
R R
IR, SR, AR, DM, HR LR

442
BCD–Rechenbefehle Abschnitt 7-21

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl MULL(56) nicht ausge-
führt. Ist diese jedoch WAHR, multipliziert MULL(56) den 8–stelligen Inhalt von
Md und Md+1 mit dem Inhalt von Mr und Mr+1 und legt das Ergebnis in R bis R+3
ab.

MD + 1 MD

X Mr + 1 Mr

R+3 R+2 R+1 R

Merker ER: Md, Md+1, Mr oder Mr+1 ist kein BCD–Wert.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Auf EIN gesetzt, wenn das Ergebnis einen Übertrag aufweist.
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

7-21-10 DOUBLE BCD DIVIDE (BCD–Doppelwort–Division) – DIVL(57)


Datenbereiche

Kontaktplan–Symbol Dd: Dividend (BCD)

IR, SR, AR, DM, HR, TC, LR


DIVL(57) @DIVL(57)
Dr: Divisor (BCD)
Dd Dd
IR, SR, AR, DM, HR, TC, LR
Dr Dr
R: Erstes Ergebniswort
R R
IR, SR, AR, DM, HR LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl DIVL(57) nicht ausge-
führt. Ist diese jedoch WAHR, dividiert DIVL(57) den 8–stelligen Inhalt von Dd
und D+1 durch den Inhalt von Dr und Dr+1 und legt das Ergebnis in R bis R+3 ab:
der Quotient wird in R und R+1 und der Rest in R+2 und R+3 abgelegt.
Rest Quotient

R+3 R+2 R+1 R

Dr+1 Dr Dd+1 Dd

Merker ER: Dr und Dr+1 enthalten 0.


Dd, Dd+1, Dr oder Dr+1 ist kein BCD–Wert.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwortbe-
reichsgrenze wurde überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

443
Binäre Rechenbefehle Abschnitt 7-22

7-22 Binäre Rechenbefehle


7-22-1 BINÄR ADD (Binäre Addition) – ADB(50)
Datenbereiche

Kontaktplan–Symbol Au: 1. Summand (binär)

IR, SR, AR, DM, HR, TC, LR, #


ADB(50) @ADB(50)
Ad: 2. Summand (binär)
Au Au
IR, SR, AR, DM, HR, TC, LR, #
Ad Ad
R: Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl ADB(50) nicht ausge-
führt. Ist diese jedoch WAHR, addiert ADB(50) den Inhalt von Au, Ad und CY und
legt das Ergebnis in R ab. CY wird gesetzt, wenn das Ergebnis größer als FFFF
ist.

Au + Ad + CY CY R

ADB(50) kann auch für die Addition von vorzeichenbehafteten binären Daten
verwendet werden. Bei der CPM1A, CPM2A und SRM1(–V2) zeigen die Unter-
lauf– bzw. Überlaufmerker (SR 25404 und SR 25405) an, ob das Ergebnis den
unteren oder oberen Grenzwert des vorzeichenbehafteten16 Bit–Binärdaten-
bereichs überschreitet.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Auf EIN gesetzt, wenn das Ergebnis größer als FFFF ist.
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.
OF: Auf EIN gesetzt, wenn das Ergebnis +32.767 (7FFF) überschreitet.
UF: Auf EIN gesetzt, wenn das Ergebnis –32.768 (8000) unterschreitet.

Beispiel Das folgende Beispiel zeigt eine 4–stellige Addition mit CY zum Schreiben von
entweder #0000 oder #0001 in R+1 zur Sicherung des Übertrags.

TR 0 Adresse Befehl Operanden


00000 00000 LD 00000
CLC(41)
00001 OUT TR 0
00002 CLC (41)
ADB (50)
00003 ADB (50)
200
200
DM 0100
DM 0100
HR 10 =R
HR 10
25504
MOV (21) 00004 AND NOT 25504
#0000
00005 MOV (21)
HR 11
# 0000
= R+1
25504 HR 11
MOV (21) 00006 LD TR 0
#0001 00007 AND 25504
HR 11 = R+1 00008 MOV (21)
# 00001
HR 11

444
Binäre Rechenbefehle Abschnitt 7-22

Im nachstehenden Beispiel ist A6E2 + 80C5 = 127A7. Das Ergebnis ist eine
5–stellige Summe, wobei CY (SR 25504) = 1 ist und der Inhalt von R + 1 #0001
wird.

Au: IR 200
A 6 E 2

Ad: DM 0100
+ 8 0 C 5

R+1: HR 11 R: HR 10
0 0 0 1 2 7 A 7

Hinweis Bei vorzeichenbehafteten binären Berechnungen zeigt der Zustand der UF–
und OF–Merker an, ob das Ergebnis den vorzeichenbehafteten binären Daten-
bereich überschreitet (–32.768 (8000) bis +32.767 (7FFF)).

7-22-2 SBB(51) – BINARY SUBTRACT (Binäre Subtraktion)


Datenbereiche

Kontaktplan–Symbol Mi: Minuend (Binär)

IR, SR, AR, DM, HR, TC, LR, #


SBB(51) @SBB(51)
Su: Subtrahend (Binär)
Mi Mi
IR, SR, AR, DM, HR, TC, LR, #
Su Su
R: Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl SBB(51) nicht ausge-
führt. Ist diese jedoch WAHR, subtrahiert SBB(51) die Inhalte von Su und CY
von Mi und legt das Ergebnis in R ab. Ist das Ergebnis negativ, wird CY gesetzt
und das 2–er Komplement des aktuellen Ergebnisses in R abgelegt.

Mi – Su – CY CY R

SBB(51) kann auch zur Subtraktion vorzeichenbehafteter binärer Daten einge-


setzt werden. Bei der CPM1A, CPM2A und SRM1(–V2) zeigen die Unterlauf–
bzw. Überlaufmerker (SR 25404 und SR 25405) an, ob das Ergebnis den un-
teren oder oberen Grenzwert des vorzeichenbehafteten16 Bit–Binärdatenbe-
reichs überschreitet.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
CY: Auf EIN gesetzt, wenn das Ergebnis negativ ist, d.h., wenn Mi kleiner ist
als Su + CY.
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.
OF: Auf EIN gesetzt, wenn das Ergebnis +32.767 (7FFF) überschreitet.
UF: Auf EIN gesetzt, wenn das Ergebnis –32.768 (8000) unterschreitet.

Beispiel Das folgende Beispiel zeigt eine 4–stellige Subtraktion. Ist IR 00001 auf EIN ge-
setzt, wird der Inhalt von LR 00 und CY vom Inhalt von IR 200 subtrahiert und
das Ergebnis in HR 01 gespeichert.

445
Binäre Rechenbefehle Abschnitt 7-22

Bei einem negativen Ergebnis wird CY auf EIN gesetzt. Werden normale Daten
verwendet, muss ein negatives Ergebnis (vorzeichenbehafteter Binärwert) un-
ter Anwendung des NEG(––)–Befehls in normale Daten konvertiert werden. Se-
hen Sie Abschnitt 7-20-12 2’s COMPLEMENT (2–er Komplement) – NEG(––)
für weitere Informationen.

Adresse Befehl Operanden


00001 00000 LD 00001
CLC(41)
00001 OUT TR 1
00002 CLC (41)
SBB (51)
00003 SBB (51)
200
200
LR00
LR 00
HR 01
HR 01

Im nachstehenden Beispiel wird der Inhalt von LR 00 (#7A03) und CY von IR


002 (#F8C5) subtrahiert. Da das Ergebnis positiv ist, ist CY= 0.
Bei einem negativen Ergebnis wird der Übertragsmerker CY auf 1 gesetzt. Für
normale Daten (ohne Vorzeichen) wird das Ergebnis dann in ein 2–er Komple-
ment konvertiert.

Mi: IR 002
F 8 C 5

Su: LR 00
– 7 A 0 3 CY = 0
(von CLC(41))
– 0 0 0 0

R: HR 01
7 E C 2

Hinweis Bei vorzeichenbehafteten binären Berechnungen zeigt der Zustand der UF–
und OF–Merker an, ob das Ergebnis den vorzeichenbehafteten binären Daten-
bereich überschreitet (–32.768 (8000) bis +32.767 (7FFF)).

7-22-3 BINARY MULTIPLY (Binäre Multiplikation) – MLB(52)


Datenbereiche

Kontaktplan–Symbol Md: Multiplikand (Binär)

IR, SR, AR, DM, HR, TC, LR, #


MLB(52) @MLB(52)
Mr: Multiplikator (Binär)
MD MD
IR, SR, AR, DM, HR, TC, LR, #
Mr Mr
R: Erstes Ergebniswort
R R
IR, SR, AR, DM, HR LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Der Befehl MLB(52) kann nicht für die Multiplikation von vorzeichenbehafteten
binären Daten verwendet werden.

446
Binäre Rechenbefehle Abschnitt 7-22

Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl MLB(52) nicht ausge-
führt. Ist diese jedoch WAHR, multipliziert MLB(52) den Inhalt von Md mit dem
Inhalt von Mr, wobei die äußerst rechten 4 Stellen des Ergebnisses in R und die
äußerst linken 4 Stellen in R+1 abgelegt werden.

MD

X Mr

R +1 R

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

7-22-4 BINARY DIVIDE (Binäre Division) – DVB(53)


Datenbereiche

Kontaktplan–Symbol Dd: Dividend (Binär)

IR, SR, AR, DM, HR, TC, LR, #


DVB(53) @DVB(53)
Dr: Divisor (Binär)
Dd Dd
IR, SR, AR, DM, HR, TC, LR, #
Dr Dr
R: Erstes Ergebniswort
R R
IR, SR, AR, DM, HR LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Der Befehl DVB(53) kann nicht für die Division von vorzeichenbehafteten binä-
ren Daten verwendet werden.
Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl DVB(53) nicht ausge-
führt. Ist diese jedoch WAHR, dividiert DVB(53) den Inhalt von Dd durch den In-
halt von Dr und das Ergebnis wird in R und R+1 abgelegt: der Quotient in R und
der Rest in R+1.
Quotient Rest

R R+1

Dr Dd

Merker ER: Dr ist auf 0 gesetzt.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

447
Spezielle mathematische Befehle Abschnitt 7-23

7-23 Spezielle mathematische Befehle


7-23-1 DATA SEARCH (Datenbereiche durchsuchen) – SRCH(––)
Kontaktplan–Symbol Datenbereiche
N: Anzahl der Worte
SRCH(––) @SRCH(––)
IR, SR, AR, DM, HR, TC, LR, #
N N
R1: Erstes Wort des Bereiches
R1 R1
IR, SR, AR, DM, HR, TC, LR
C C
C: Vergleichsdaten, Ergebniswort

IR, SR, AR, DM, HR, LR

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C verfügbar.


N muss ein BCD–Wert zwischen 0001 und 9999 sein.
R1 und R1 +N–1 müssen sich in dem gleichen Datenbereich befinden.
Der Datenwortbereich DM 6144 bis DM 6655 kann für C nicht verwendet wer-
den.
Erläuterungen Ist die Ausführungsbedingung FALSCH, wird SRCH(––) nicht ausgeführt. Ist die
Ausführungsbedigung WAHR, durchsucht SRCH(––) den Speicherbereich von
R1 bis R1+N–1 nach Adressen, die die in C spezifizierten Vergleichsdaten ent-
halten. Befinden sich die Vergleichsdaten auf einer oder mehreren Adressen,
wird der EQ–Merker (SR 25506) gesetzt und die niedrigste Adresse, die die Ver-
gleichdaten enthält, wir in C+1 ausgegeben. Die Adresse wird, entsprechend
dem DM–Bereich, auf verschiedene Arten identifiziert:
1, 2, 3... 1. Bei einer Adresse im DM–Bereich, wird die Wortadresse in C+1 gespei-
chert. Ist zum Beispiel DM 0114 die niedrigste Adresse, die die Vergleichs-
daten enthält, wird #0114 in C+1 gespeichert.
2. Bei einer Adresse in einem anderen Datenbereich wird die Anzahl der seit
dem Suchbeginn überprüften Adressen in C+1 gespeichert. Ist zum Bei–
spiel IR 014 die niedrigste Adresse, die die Vergleichsdaten enthält und ist
das erste Wort des Suchbereichs IR 04, wird #010 in C+1 gespeichert.
Enthält keine der Adressen des Bereichs die Vergleichsdaten, wird der EQ–
Merker (SR 25506) zurückgesetzt und C+1 bleibt unverändert.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
N ist kein BCD–Wert zwischen 0001 und 9999.
R1 und R1+N–1 befinden sich nicht im gleichen Datenbereich.
EQ: Es wurden passende Vergleichsdaten im Suchbereich gefunden.

Beispiel Im folgenden Beispiel wird ein aus 10 Worten (DM 200 bis DM 209) bestehen-
der Bereich nach Adressen durchsucht, die die gleichen Daten enthalten wie

448
Spezielle mathematische Befehle Abschnitt 7-23

DM 0100 (89AB). Da IR 204 die gleichen Daten enthält, wird der EQ–Merker
(SR 25506) gesetzt und #0004 in DM 0101 gespeichert.

00000 Adresse Befehl Operanden


@SRCH(––)

#0010 00000 LD 00000


200 00001 @SRCH(––)
DM 0100
# 0010
0200
DM 0100

DM 0100 89AB

IR 200 1234
IR 201 5678
IR 202 ABCD Offset: 0004 Offset des ersten Wor- DM 0101 0004
tes, dass die Suchdaten
IR 203 EF13 enthält
IR 204 89AB ← Suchdaten gefunden
IR 205 8860
IR 206 90CD
IR 207 00FF
IR 208 89AB ← Suchdaten gefunden
IR 209 810C

Hinweis Die passenden Suchdaten in IR 208 werden ignoriert, da die Suchdaten in ei-
nem Wort mit niedrigerer Adresse im Bereich gefunden wurden.

7-23-2 FIND MAXIMUM (Maximum suchen) – MAX(––)


Kontaktplan–Symbol Datenbereiche
C: Steuerdaten
MAX(––) @MAX(––)
IR, SR, AR, DM, HR, TC, LR, #
C C
R1: Erstes Wort des Bereiches
R1 R1
IR, SR, AR, DM, HR, TC, LR
D D
D: Zielwort

IR, SR, AR, DM, HR, LR

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C verfügbar.


N muss ein BCD–Wert zwischen 0001 und 9999 sein.
R1 und R1 +N–1 müssen sich in dem gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für D verwendet werden.
Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl MAX(––) nicht ausge-
führt. Ist diese jedoch WAHR, sucht MAX(––) in dem Speicherbereich von R1 bis
R1+N–1 nach der Adresse, die den Maximalwert enthält und speichert diesen in
dem Zielwort (D).
Die Adresse wird, entsprechend des DM–Bereichs, auf verschiedene Arten
identifiziert:
1, 2, 3... 1. Bei einer Adresse im DM–Bereich wird die Wortadresse in C+1 gespeichert.
Ist die Adresse des Maximalwertes zum Beispiel DM 0114, wird #0114 in
D+1 gespeichert.
2. Handelt es sich um die Adresse eines anderen Datenbereiches, wird die
Anzahl der Adressen nach dem Suchbeginn in D+1 gespeichert. Enthält
zum Beispiel die Adresse IR 14 den Maximalwert und ist das erste Wort des
Suchbereichs IR 04, dann wird #010 in D+1 gespeichert.

449
Spezielle mathematische Befehle Abschnitt 7-23

Ist Bit 14 des Steuerwortes C gesetzt und enthalten mehrere Adressen den glei-
chen Maximalwert, wird die Position der niedrigsten Adresse in D+1 gespei-
chert. Die Position wird als DM–Adresse für den DM–Bereich ausgegeben. Es
handelt sich jedoch um die Absolutposition in bezug auf das erste Wort des Be-
reiches für alle anderen Bereiche.
Die Anzahl der Worte innerhalb des Bereiches (N) wird in den 3 äußerst rechten
Ziffern von C gespeichert und muss ein BCD–Wert zwischen 001 und 999 sein.
Ist Bit 15 des Steuerwortes C auf AUS gesetzt, werden die Daten innerhalb des
Bereiches als Binärzahl ohne Vorzeichen und bei gesetztem Bit als vorzeichen-
behaftete Binärzahl ausgewertet.

15 14 13 12 11 00
C:
Anzahl der Worte
innerhalb des Bereiches (N)
001 bis 999 BCD)
Nicht verwendet – auf Null gesetzt.

Ausgabe der Adresse an D+1?


1 (EIN): Ja.
Ohne Vorzeichen – 0 (AUS): Nein.
auf Null gesetzt.

! Vorsicht Ist Bit 15 des Steuerwortes C auf EIN gesetzt, werden Werte größer als #8000
als negative Zahlen ausgewertet. Die Ergebnisse unterscheiden sich daher je
nach spezifiziertem Datentyp. Achten Sie darauf, dass der richtige Datentyp
spezifiziert wird.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
R1 und R1+N–1 befinden sich nicht im gleichen Datenbereich.
EQ: Auf EIN gesetzt, wenn der Maximalwert #0000 ist.

Beispiel Ist IR 00000 EIN, veranlassen die Steuerdaten in DM 0000 (4010) eine Suche
nach dem Maximalwert in den 10 Worten, die bei IR 200 beginnen. Der größte,

450
Spezielle mathematische Befehle Abschnitt 7-23

vorzeichenlose Wert wird in DM 0500 gespeichert. Der Offset vom Anfang der
Suche des Wortes, das den Maximalwert enthält, wird in DM 0501 gespeichert.

00000 Adresse Befehl Operanden


MAX(––)

DM 0000
00000 LD 00000
00001 MAX(––)
200
DM 0000
DM 0500
200
DM 0500

DM 0000 4010

IR 200 3F2A Offset des Wortes, das Maximalwert enthält:


IR 201 51C3 2 Worte
IR 202 E02A Maximalwert
IR 203 7C9F
IR 204 2A20
10 Worte A827
IR 205
IR 206 2A20
IR 207 E02A Maximalwert
IR 208 C755
IR 209 94DC

DM 0500 E02A

DM 0501 0002
Enthalten zwei Worte den Maximal-
wert, wird die erste Adresse in
DM 0501 abgelegt.

7-23-3 FIND MINIMUM (Minimum suchen) – MIN(––)


Kontaktplan–Symbol Datenbereiche
C: Steuerdaten
MIN(––) @MIN(––)
IR, SR, AR, DM, HR, TC, LR, #
C C
R1: Erstes Wort des Bereiches
R1 R1
IR, SR, AR, DM, HR, TC, LR
D D
D: Zielwort

IR, SR, AR, DM, HR, LR

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C verfügbar.


N muss ein BCD–Wert zwischen 0001 und 9999 sein.
R1 und R1 +N–1 müssen sich in dem gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für D verwendet werden.
Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl MIN(––) nicht ausge-
führt. Ist diese jedoch WAHR, sucht MIN(––) in dem Speicherbereich von R1 bis
R1+N–1 nach der Adresse, die den Minimalwert enthält und speichert diesen im
Zielwort (D).
Die Adresse wird, entsprechend des DM–Bereichs, auf verschiedene Arten
identifiziert:
1, 2, 3... 1. Bei einer Adresse im DM–Bereich wird die Wortadresse in C+1 gespeichert.
Ist die Adresse des Minimalwertes zum Beispiel DM 0114, wird #0114 in
D+1 gespeichert.

451
Spezielle mathematische Befehle Abschnitt 7-23

2. Handelt es sich um die Adresse eines anderen Datenbereiches, wird die


Anzahl der Adressen nach dem Suchbeginn in D+1 gespeichert. Enthält
zum Beispiel die Adresse IR 014 den Minimalwert und ist das erste Wort des
Suchbereichs IR 004, wird #010 in D+1 gespeichert.
Ist Bit 14 des Steuerwortes auf EIN gesetzt und enthalten mehrere Adressen
den gleichen Minimalwert, wird die Position der niedrigsten Adresse in D+1 aus-
gegeben. Die Position wird als DM–Adresse für den DM–Bereich ausgegeben.
Es handelt sich jedoch um die Absolutposition in bezug auf das erste Wort des
Bereiches für alle anderen Bereiche.
Die Anzahl der Worte innerhalb des Bereiches (N) wird in den 3 äußersten rech-
ten Ziffern von C gespeichert und muss ein BCD–Wert zwischen 001 und 999
sein.
Ist Bit 15 des Steuerwortes C auf AUS gesetzt, werden die Daten innerhalb des
Bereiches als Binärzahl ohne Vorzeichen und bei gesetztem Bit als vorzeichen-
behaftete Binärzahl ausgewertet.

15 14 13 12 11 00
C:
Anzahl der Worte
innerhalb des Bereiches (N)
001 bis 999 BCD)
Nicht verwendet – auf Null gesetzt.

Ausgabe der Adresse an D+1?


1 (EIN): Ja.
Ohne Vorzeichen –
0 (AUS): Nein.
auf Null gesetzt.

! Vorsicht Ist Bit 15 des Steuerwortes C auf EIN gesetzt, werden Werte größer als #8000
als negative Zahlen ausgewertet. Die Ergebnisse unterscheiden sich daher je
nach spezifiziertem Datentyp. Achten Sie darauf, dass der richtige Datentyp
spezifiziert wird.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
R1 und R1+N–1 befinden sich nicht im gleichen Datenbereich.
EQ: Auf EIN gesetzt, wenn der Minimalwert #0000 ist.

Beispiel Ist IR 00000 EIN, veranlassen die Steuerdaten in DM 0300 (4010) eine Suche
nach dem Maximalwert in den 10 Worten, die bei DM 0000 beginnen. Der klein-

452
Spezielle mathematische Befehle Abschnitt 7-23

ste, vorzeichenlose Wert wird in DM 0500 gespeichert. Die Adresse des Wortes,
das den Mindestwert (0014) enthält, wird in DM 0501 gespeichert.

00000 Adresse Befehl Operanden


MIN(––)

DM 0300
00000 LD 00000
00001 MIN(––)
DM 0010
DM 0300
DM 0500
DM 0010
DM 0500

DM 0300 4010

DM0010 3F2A
Adresse des Wortes, das Maximalwert enthält:
DM0011 51C3 0014
DM0012 E02A
DM0013 7C9F
DM0014 2A20 Mindestwert
10 Worte A827
DM0015
DM0016 33BF
DM0017 E02A
DM0018 2A20 Mindestwert
DM0019 94DC

DM 0500 2A20

DM 0501 0014
Enthalten zwei Worte den Minimal-
wert, wird die erste Adresse in
DM 0501 abgelegt.

7-23-4 AVERAGE VALUE (Mittelwerte berechnen) – AVG(––)


Kontaktplan–Symbol Datenbereiche
S: Quellwort
AVG(––)
IR, SR, AR, DM, HR, TC, LR
S
N: Anzahl der Zyklen
N
IR, SR, AR, DM, HR, TC, LR, #
D
D: Erstes Zielwort

IR, SR, AR, DM, HR, LR

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C verfügbar.


S muss eine Hexadezimalwert sein.
N muss ein BCD-Wert zwischen #0001 und #0064 sein.
D und D+N+1 müssen sich in dem gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können nicht für S, N oder D bis D+N+1 verwendet wer-
den.
Erläuterungen AVG(–) berechnet den Mittelwert von S über N-Zyklen.
Ist die Ausführungsbedingung FALSCH, wird der Befehl AVG(–) nicht ausge-
führt.
Bei jeder Befehlsausführung von AVG(–) wird der Inhalt von S in den Worten
D+2 bis D+N+1 gespeichert. Bei der 1. Befehlsausführung wird durch AVG(––)
der Inhalt von S in D+2 geschrieben; bei der 2. in D+3 usw. Bei der N-ten Be-
fehlsausführung wird der Inhalt von S in D+N+1 gespeichert. AVG(–) berechnet

453
Spezielle mathematische Befehle Abschnitt 7-23

dann den Mittelwert der in D+2...D+N+1 gespeicherten Werte und schreibt die-
sen Wert in D.
In der nachfolgenden Abbildung ist die Mittelwertberechnung dargestellt.

D Mittelwert (nach N oder mehr Befehlsausführungen)


D+1 Vom System benutzt.
D+2 Inhalt von S der 1. Befehlsausführung von AVG(––)
D+3 Inhalt von S der 2. Befehlsausführung von AVG(––)

D+N+1 Inhalt von S N–ten Befehlsausführung von AVG(––)

Vorsichtsmaßnahmen Der Mittelwert wird binär berechnet. Stellen Sie sicher, dass der Inhalt von S in
Binärdaten vorliegt.
N muss ein BCD-Wert zwischen #0001 und #0064 sein. Ist N ≥ #0065, arbeitet
AVG(––) mit dem Wert N = 64.
Der Mittelwert wird auf die nächste Ganzzahl gerundet (0,5 wird auf 1,0 gerun-
det).
Stellen Sie den Inhalt von D+1 auf #0000 ein, um AVG(––) direkt mit dem 1. Zy-
klus auszuführen.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
Ein oder mehrere Operanden sind falsch gesetzt worden.
D und D+N+1 befinden sich nicht im gleichen Datenbereich.

Beispiel In dem folgenden Beispiel wird der Inhalt von IR200 auf #0000 gesetzt und an-
schließend in jeden Zyklus inkrementiert. In den ersten zwei Zyklen verschiebt
AVG(–) den Inhalt von IR200 nach DM 1002 und DM 1003. Bei dem dritten Zy-

454
Spezielle mathematische Befehle Abschnitt 7-23

klus und späteren Zyklen berechnet AVG(––) den Durchschnittswert des Inhalts
von DM 1002 bis DM 1004 und speichert den Durchschnitt Wert in DM 1000.

00001
@MOV(21)
Adresse Befehl Operanden
#0000
00000 LD 00001
200
00001 @MOV(21)
# 0000
AVG(––)
200
200
00002 AVG(––)
#0003 200
DM 1000 # 0003
DM 1000
CLC(41) 00003 CLC (41)
00004 ADB (50)
200
ADB(50)
# 0001
200
200
#0001

200

1. Zyklus 2. Zyklus 3. Zyklus 4.


IR 200 0000 0001 0002 0003

1. Zyklus 2. Zyklus 3. Zyklus 4.


DM 1000 0000 0001 0001 0002 Durchschnitt
DM 1001 Vom System benutzt.
DM 1002 0000 0000 0000 0003 Vorheriger
DM 1003 ––– 0001 0001 0001 Wert von
DM 1004 ––– ––– 0002 0002 IR 200

7-23-5 SUM (Addition) – SUM(––)


Kontaktplan–Symbol Datenbereiche
C: Steuerdaten
SUM(––) @SUM(––)
IR, SR, AR, DM, HR, LR, #
C C
R1: Erstes Wort des Bereiches
R1 R1
IR, SR, AR, DM, HR, TC, LR
D D
D: Erstes Zielwort

IR, SR, AR, DM, HR, LR

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C verfügbar.


Die drei äußersten rechten Stellen von C müssen als BCD–Wert zwischen 001
und 999 spezifiziert werden.
DM 6144 bis DM 6655 können nicht für D verwendet werden.
Ist Bit 14 des Wortes C auf AUS gesetzt (Einstellung für BCD–Daten), müssen
alle Daten des Bereiches R1 bis R1+N–1 als BCD–Daten vorliegen.
Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl SUM(––) nicht ausge-
führt. Ist diese jedoch WAHR, addiert SUM(––) entweder den Inhalt der Worte
R1 bis R1+N–1 oder die Bytes der Worte R1 bis R1+N/2–1 und gibt das Ergebnis
in den Worten D und D+1 aus. Die zu addierenden Daten können als Binär– oder
BCD–Werten vorliegen und werden in demselben Format ausgegeben. Binär-
daten können vorzeichenlos oder vorzeichenbehaftet sein.

455
Spezielle mathematische Befehle Abschnitt 7-23

Die Funktion der Bits des Wortes C ist im folgenden Diagramm dargestellt und
wird anschließend ausführlich erläutert:

15 14 13 12 11 00
C:

Anzahl der Parameter des Bereichs (N, BCD)


Anzahl der Worte bzw.
Bytes 001 bis 999
Erstes Byte (Bit 13 gesetzt):
1 (gesetzt): Äußerst rechte Stellen
0 (rückgesetzt): Äußerst linke Stellen
Additionseinheiten
Datentyp 1 (gesetzt): Bytes
1 (EIN): Binärdaten 0 (zurückgesetzt): Worte
0 (zurückgesetzt): BCD–Daten
Ohne Vorzeichen – auf Null gesetzt.

Anzahl der Parameter Die Anzahl der Parameter des Bereichs (N) wird in den drei äußerst rechten
Stellen von C spezifiziert und muss ein BCD–Wert zwischen 001 und 999 sein.
Je nach den zu addierenden Daten wird hier die Anzahl der Worte bzw. Bytes
festgelegt.
Additionseinheiten Ist Bit 13 auf AUS gesetzt, werden Worte addiert. Ist Bit 13 auf EIN gesetzt, wer-
den Bytes addiert.
Bei der Spezifikation von Bytes kann der Bereich mit dem äußerst linken bzw.
rechten Byte von R1 beginnen. Ist Bit 12 auf EIN gesetzt, wird das äußerst linke
Byte von R1 nicht addiert.
MSB LSB
R1 1 2
R1+1 3 4
R1+2 5 6
R1+3 7 8

Ist Bit 12 auf AUS gesetzt, werden die Bytes in der folgenden Reihenfolge ad-
diert: 1+2+3+4...
Ist Bit 12 auf EIN gesetzt, werden die Bytes in der folgenden Reihenfolge ad-
diert: 2+3+4...
Datentyp Ist Bit 14 des Wortes C auf EIN und Bit15 auf AUS gesetzt, werden die Daten in
dem Bereich als Binärzahlen ohne Vorzeichen ausgewertet. Sind beide Bits (14
und 15) auf EIN gesetzt, werden die Daten als vorzeichenbehaftete Binärwerte
ausgewertet.
Daten innerhalb des Bereiches werden als BCD–Werte ausgewertet, wenn Bit
14 auf AUS gesetzt ist. Der Zustand von Bit 15 ist dabei irrelevant.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
R1 und R1+N–1 befinden sich nicht im gleichen Datenbereich.
Die Anzahl der Bytes/Worte in C ist kein BCD–Wert zwischen 001 und
999.
Die zu addierenden Daten liegen nicht im BCD–Format vor, obwohl
dies spezifiziert wurde.
EQ: Auf EIN gesetzt, wenn das Ergebnis Null ist.

456
Logikbefehle Abschnitt 7-24

Beispiel Im folgenden Beispiel wird der Inhalt der 8 Worte DM 0000 bis DM 0007 (BCD–
Werte) addiert, wenn IR 00001 auf EIN gesetzt ist. Das Ergebnis wird in den
Worten DM 0010 und DM 0011 gespeichert.

00001 Adresse Befehl Operanden


@SUM(––)

#0008 00000 LD 00001


DM 0000 00001 @SUM(––)
DM 0010
# 0008
DM 0000
DM 0010

DM 0000 0001
DM 0001 0002
DM 0002 0003
DM 0003 0004 DM 0010 0036
DM 0004 0005 DM 0011 0000
DM 0005 0006
DM 0006 0007
DM 0007 0008

7-24 Logikbefehle
7-24-1 COMPLEMENT (Komplement) – COM(29)
Kontaktplan–Symbol Datenbereiche

Wd: Komplementwort
COM (29) @COM(29)
IR, SR, AR, DM, HR, LR
Wd Wd

Beschränkungen DM 6144 bis DM 6655 können nicht für Wd verwendet werden.


Erläuterungen Ist sie Ausführungsbedingung FALSCH, wird der Befehl COM(29) nicht ausge-
führt. Ist diese jedoch WAHR, löscht COM(29) alle gesetzen Bits und setzt alle
zurückgesetzten Bits in Wd.
Vorsichtsmaßnahmen Das Komplement von Wd wird je Zyklus berechnet, falls der COM(29)–Befehl
ohne flankengesteuerter Ausführung verwendet wird. Verwenden Sie die den
@COM(29))–Befehl mit flankengesteuerter Ausführung oder kombinieren Sie
COM(29) mit DIFU(13) oder DIFD(14), um das Komplement nur einmal zu be-
rechnen.

Beispiel 15 00

Original 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

15 00
Komplement 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

457
Logikbefehle Abschnitt 7-24

7-24-2 LOGICAL AND (Wortweise UND–Verknüpfung) – ANDW(34)


Datenbereiche
Kontaktplan–Symbol I1: Eingang 1

IR, SR, AR, DM, HR, TC, LR, #


ANDW(34) @ANDW(34)
I2: Eingang 2
I1 I1
IR, SR, AR, DM, HR, TC, LR, #
I2 I2
R: Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl ANDW(34) nicht aus-
geführt. Ist diese jedoch WAHR, führt ANDW(34) eine logische UND–Verknüp-
fung (Bit–für–Bit) der Inhalte von I1 und I2 durch und legt das Ergebnis in R ab.

Beispiel 15 00

I1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

15 00

I2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

15 00

R 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

7-24-3 LOGICAL OR (Wortweise ODER–Verknüpfung) – ORW(35)


Datenbereiche

Kontaktplan–Symbol I1: Eingang 1

IR, SR, AR, DM, HR, TC, LR, #


ORW (35) @ORW(35)
I2: Eingang 2
I1 I1
IR, SR, AR, DM, HR, TC, LR, #
I2 I2
R: Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.

458
Logikbefehle Abschnitt 7-24

Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl ORW(35) nicht ausge-
führt. Ist diese jedoch WAHR, führt ORW(35) eine logische ODER–Verknüfung
(Bit–für–Bit) der Inhalte von I1 und I2 durch und legt das Ergebnis in R ab.

Beispiel 15 00

I1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

15 00

I2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

15 00

R 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

7-24-4 EXCLUSIVE OR (Wortweise EXKLUSIV–ODER–Verknüpfung) –


XORW(36)
Datenbereiche

Kontaktplan–Symbol I1: Eingang 1

IR, SR, AR, DM, HR, TC, LR, #


XORW(36) @XORW(36)
I2: Eingang 2
I1 I1
IR, SR, AR, DM, HR, TC, LR, #
I2 I2
R: Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl XORW(36) nicht aus-
geführt. Ist diese jedoch WAHR, führt XORW(36) eine logische EXKLUSIV–
ODER–Verknüfung (Bit–für–Bit) der Inhalte von I1 und I2 durch und legt das Er-
gebnis in R ab.

Beispiel 15 00

I1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

15 00

I2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

15 00

R 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

459
Inkrementier/Dekrementier–Befehle Abschnitt 7-25

7-24-5 EXCLUSIVE NOR (Wortweise


EXKLUSIV–ODER–NICHT–Verknüpfung) – XNRW(37)
Datenbereiche

Kontaktplan–Symbol I1: Eingang 1

IR, SR, AR, DM, HR, TC, LR, #


XNRW(37) @XNRW(37)
I2: Eingang 2
I1 I1
IR, SR, AR, DM, HR, TC, LR, #
I2 I2
R: Ergebniswort
R R
IR, SR, AR, DM, HR, LR

Beschränkungen DM 6144 bis DM 6655 können nicht für R verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl XNRW(37) nicht aus-
geführt. Ist diese jedoch WAHR, führt XNRW(37) eine logischeEXKLUSIVE
ODER–NICHT–Verknüpfung (Bit–für–Bit) der Inhalte von I1 und I2 aus und legt
das Ergebnis in R ab.
15 00

I1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

15 00

I2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

15 00

R 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

7-25 Inkrementier/Dekrementier–Befehle
7-25-1 BCD INCREMENT (BCD–Wert inkrementieren) – INC(38)
Kontaktplan–Symbol Datenbereiche

Wd: Inkrementierungswort (BCD)


INC(38) @INC(38)
IR, SR, AR, DM, HR, LR
Wd Wd

Beschränkungen DM 6144 bis DM 6655 können nicht für Wd verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl INC(38) nicht ausge-
führt. Ist diese jedoch WAHR, inkrementiert INC(38) Wd, ohne Auswirkung auf
Carry (CY).
Vorsichtsmaßnahmen Der Inhalt von Wd wird in jedem Zyklus inkrementiert, falls der INC(38)–Befehl
ohne flankengesteuerte Ausführung verwendet wird. Verwenden Sie den
(@INC(38))–Befehl mit flankengesteuerter Ausführung oder kombinieren Sie
INC(38) mit DIFU(13) oder DIFD(14) um Wd nur einmal zu inkrementieren.

460
Inkrementier/Dekrementier–Befehle Abschnitt 7-25

Merker ER: Wd ist kein BCD–Wert.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis der Inkrementierung Null ist.

7-25-2 BCD DECREMENT (BCD–Wert dekrementieren) – DEC(39)


Kontaktplan–Symbol Datenbereiche

Wd: Dekrementierungswort (BCD)


DEC(39) @DEC(39)
IR, SR, AR, DM, HR, LR
Wd Wd

Beschränkungen DM 6144 bis DM 6655 können nicht für Wd verwendet werden.


Erläuterungen Ist die Ausführungsbedingung FALSCH, wird der Befehl DEC(39) nicht ausge-
führt. Ist diese jedoch WAHR, dekrementiert DEC(39) Wd, ohne Auswirkung auf
CY. DEC(39) funktioniert genauso wie INC(38), außer dass der Wert dekremen-
tiert statt inkrementiert wird.
Vorsichtsmaßnahmen Der Inhalt von Wd wird in jedem Zyklus dekrementiert, falls der DEC(39)–Befehl
ohne flankengesteuerte Ausführung verwendet wird. Verwenden Sie den
(@DEC(39))–Befehl mit flankengesteuerter Ausführung, oder kombinieren Sie
DEC(39) mit DIFU(13) oder DIFD(14), um Wd nur einmal zu dekrementieren.

Merker ER: Wd ist kein BCD–Wert.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis der Dekrementierung Null ist.

461
Unterprogramm–Befehle Abschnitt 7-26

7-26 Unterprogramm–Befehle
Unterprogramme unterteilen große Programmbereiche in kleinere Abschnitte.
Ruft das Hauptprogramm ein Unterprogramm auf, wird die Steuerung dem Un-
terprogramm übergeben und die Befehle im Unterprogramm ausgeführt. Die
Befehlsstruktur in einem Unterprogramm ist die gleiche wie im Hauptprogramm.
Wurden alle Befehle im Unterprogramm ausgeführt, übernimmt das Hauptpro-
gramm wieder die Steuerung und zwar an der Stelle, an der der Unterprogram-
maufruf erfolgte (falls in dem Unterprogramm nichts anderes spezifiziert wird).

7-26-1 SUBROUTINE ENTER (Unterprogramm–Aufruf) – SBS(91)


Kontaktplansymbol Datenbereiche

N: Unterprogramm–Nummer
SBS(91) N
000 bis 049

Beschränkungen Die Unterprogrammnummer muss zwischen 000 und 049 liegen.


Beschreibung Der SBS(91)–Befehl wird an die Stelle im Hauptprogramm gesetzt, an der das
Unterprogramm aufgerufen werden soll. Mit der Unterprogrammnummer
SBS(91) wird festgelegt, welches Unterprogramm ausgeführt werden soll. Ist
die Ausführungsbedingung WAHR, wird SBS(91) ausgeführt. Dann werden zu-
nächst alle Befehle, die zwischen SBN(92) mit gleicher Unterprogrammnummer
und dem ersten RET(93) liegen, ausgeführt und das Programm kehrt erst dann
an die Stelle im Hauptprogramm zurück, die dem Aufruf des Unterprogramms
folgt.

Hauptprogramm

SBS(91) 000

Hauptprogramm

SBN(92) 000

Unterprogramm

RET(93)
END(01)

SBS(91) kann so oft wie erforderlich verwendet werden, d.h., das gleiche Unter-
programm kann an verschiedenen Stellen im Hauptprogramm aufgerufen wer-
den.

462
Unterprogramm–Befehle Abschnitt 7-26

SBS(91) kann auch innerhalb eines Unterprogramms verwendet werden, um


auch von einem Unterprogramm aus eine Routine mehrfach zu nutzen. Ist die
Ausführung des zweiten Unterprogramms abgeschlossen (RET(93) wurde er-
reicht), kehrt das Programm zunächst in das erste Unterprogramm zurück und
arbeitet dort die noch verbleibenden Befehle ab, bevor es ins Hauptprogramm
zurückkehrt. Diese verschachtelte Unterprogramm–Routine (Nesting) kann für
bis zu 16 Ebenen benutzt werden. Das Unterprogramm kann sich nicht selbst
aufrufen (d.h. SBS(91) 000 kann nicht mit einem definierten Unterprogramm
SBN(92) 000 aufgerufen werden). Die nachfolgende Zeichnung veranschau-
licht eine ausgelagerte Zwischenroutine auf zwei Ebenen.

SBN(92) 010 SBN(92) 011 SBN(92) 012

SBS(91) 010 SBS(91) 011 SBS(91) 012

RET(93) RET(93) RET(93)

Die folgende Abbildung veranschaulicht die Prograummausführung bei unter-


schiedlichen Ausführungsbedingungen für zwei SBS(91).

SBS(91) 000 AUS Ausführungsbedingungen für


die Unterprogramme 000 und 001

B A B C
Haupt–
programm SBS(91) 001
EIN Ausführungsbedingung nur
für das Unterprogramm 000

C
A D B C

EIN Ausführungsbedingung nur


SBN(92) 000 für das Unterprogramm 001
A B E C
D

RET(93) EIN Ausführungsbedingungen für


SBN(92) 001 die Unterprogramme 000 und 001
Unter–
programme A D B E C
E

RET(93)
END(01)

Merker ER: Es ist kein Unterprogramm mit der angegebenen Unterprogrammnum-


mer vorhanden.
Ein Unterprogramm hat sich selbst aufgerufen.
Ein aktives Unterprogramm wurde aufgerufen.

! Vorsicht Ist der ER–Merker gesetzt, wird SBS(91) nicht ausgeführt und das Unterpro-
gramm nicht aufgerufen.

463
Unterprogramm–Befehle Abschnitt 7-26

7-26-2 SUBROUTINE DEFINE und RETURN (Unterprogramm–Anfang und


Unterprogramm–Ende) – SBN(92)/RET(93)
Kontaktplan–Symbol Datenbereiche

N: Unterprogramm–Nummer
SBN(92) N
000 bis 049

RET(93)

Beschränkungen Die Unterprogrammnummer muss zwischen 000 und 049 liegen.


Jede Unterprogrammnummer kann mit SBN(92) nur einmal verwendet werden.
Erläuterungen Der SBN(92)–Befehl spezifiziert den Unterprogrammanfang und der
RET(93)–Befehl das Ende. Jedes Unterprogramm wird über eine Unterpro-
grammnummer N als Operand des SBN(92)–Befehls definiert. Die gleiche Un-
terprogrammnummer wird im SBS(91)–Befehl, der das Unterprogramm aufruft,
verwendet (sehe Sie den Abschnitt 7-26-1 SUBROUTINE ENTER – SBS(91)).
RET(93) erfordert keine Unterprogrammnummer.
Alle Unterprogramme müssen am Ende des Hauptprogramms programmiert
werden. Sollen mehrere Unterprogramme programmiert werden, wird das
Hauptprogramm bis zum ersten SBN(92) ausgeführt, bevor es zur Adresse
00000 zurückkehrt, um den nächsten Zyklus zu beginnen. Unterprogramme
werden nur bei Aufruf über SBS(91) ausgeführt.
Das letzte Unterprogramm muss, und zwar nach dem letzten RET(93)–Befehl,
mit END(01) abgeschlossen werden. Es ist dann an keiner anderen Stelle im
Programm erforderlich.
Vorsichtsmaßnahmen Wurde SBN(92) irrtümlich im Hauptprogramm verwendet, wird eine weitere
Programmausführung ab diesem Punkt verhindert.
Wurde entweder DIFU(13) oder DIFD(14) in einem Unterprogramm verwendet,
wird das Operanden–Bit nicht zurückgesetzt, bis das Unterprogramm erneut
ausgeführt wird, d.h. das Operanden–Bit bleibt länger als einen Zyklus gesetzt.

Merker Die Befehle haben keine Auswirkungen auf Merker.

7-26-3 MACRO (Unterprogramm–Struktur) – MCRO(99)


Datenbereiche

Kontaktplan–Symbol N: Unterprogramm–Nummer

000 bis 49
MCRO(99) @MCRO(99)
I1: Erstes Eingangs–Wort
N N
IR, SR, AR, DM, HR, TC, LR
I1 I1
O1: Erstes Ausgangs–Wort
O1 O1
IR, SR, AR, DM, HR, LR

Beschränkungen Die Unterprogrammnummer muss zwischen 000 und 049 liegen.


Wird eine DM–Adresse für O1 verwendet, muss O1 bis O1+3 im DM gelesen
und beschrieben werden können.
Erläuterungen Mit dem MACRO–Befehl können mehrere Unterprogramme, die eine identische
Struktur, jedoch unterschiedliche Operanden aufweisen, durch ein einzelnes
Unterprogramm ersetzt werden. 4 Eingangsworte (SR 232 bis SR 235) und 4
Ausgangsworte (SR 236 bis SR 239) werden MCRO(99) zugewiesen. Der In-

464
Unterprogramm–Befehle Abschnitt 7-26

halt dieser 8 im Unterprogramm verwendenten Worte wird bei der Ausführung


des Unterprogramms aus I1 bis I1+3 und O1 bis O1+3 übernommen.
Ist die Ausführungsbedingung FALSCH, wird MCRO(99) nicht ausgeführt. Ist
die Ausführungsbedingung WAHR, kopiert MCRO(99) den Inhalt von I1 bis I1+3
zu SR 232 bis SR 235, ruft dann das über N spezifizierte Unterprogramm auf
und führt dieses aus. Ist die Ausführung des Unterprogramms beendet, wird der
Inhalt von SR 236 bis SR 239 wieder auf O1 bis O1+3 zurück übertragen, bevor
MCRO(99) beendet wird.
Hinweis Sehen Sie auch Seite 151 für weitere Informationen zu MCRO(99).

Beispiel In diesem Beispiel wird der Inhalt von DM 0010 bis DM 0013 auf SR 232 bis SR
235 kopiert, das Unterprogramm 10 aufgerufen und ausgeführt. Ist die Ausfüh-
rung des Unterprogramms beendet, wird der Inhalt von SR 236 bis SR 239 auf
die Ausgangsworte DM 0020 bis DM 0023 kopiert.

Hauptprogramm

MCRO(99) 010
DM 0010
DM 0020

Hauptprogramm

SBN(92) 010

Unterprogramm

RET(93)
END(01)

Merker ER: Es ist kein Unterprogramm für die angegebene Unterprogrammnum-


mer vorhanden.
Ein Operand hat die Datenbereichsgrenze überschritten.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
Ein Unterprogramm hat sich selbst aufgerufen.
Es wurde ein aktives Unterprogramm aufgerufen.

465
Impulsausgabe–Befehle Abschnitt 7-27

7-27 Impulsausgabe–Befehle
7-27-1 SET PULSES (Impulsausgabe) – PULS(65)
Kontaktplan–Symbol Datenbereiche
P: Schnittstellenspezifikation
PULS(65) @PULS(65)
000 oder 010
P P
C: Steuerdaten
C C
000 oder 001
N N
N: Anzahl der Impulse

IR, SR, AR, DM, HR, LR

Beschränkungen Dieser Befehl wird nur von den SPS CPM1A und CPM2A/CPM2C mit Transi–
storausgängen unterstützt.
N und N+1 müssen sich im gleichen Datenbereich befinden.
DM 6144 bis DM 6655 können für N nicht verwendet werden.
Erläuterungen Über den PULS(65)–Befehl werden die Parameter der Impulsausgänge, die
später über SPED(64) oder ACC(––) aktiviert werden, festgelegt. Die Anzahl
der mit PULS(65) eingestellten Impulse wird in der Unabhängig–Betriebsart
ausgegeben.
Die Anzahl der Impulse kann nicht geändert werden, während Impulse ausge-
geben werden. Im allgemeinen sollte PULS(65) jedes Mal nur einmal ausge-
führt werden, wenn die Anzahl der Impulse spezifiziert werden muss; verwen-
den Sie flankengesteuerte Variation (@PULS(65)) oder eine Eingangsbedin-
gung, die nur für einen Zyklus aktiviert ist.
Hinweis Sehen Sie ebenfalls Abschnitt 2-5 Impulsausgabefunktionen für weitere In-
formationen.
Schnittstellenbezeichner (P)
Über die Impuls–Ausgangspezifikation wird der Ausgang festgelegt. Die in C
und N festgelegten Parameter werden im nächsten SPED(64)– oder
ACC(––)–Befehl genutzt, in dem die gleiche Ausgangsspezifikation festgelegt
ist.
P Impulsausgabe–Positionen
000 Einphasiger Impulsausgang 0 ohne Beschleunigung oder Abbremsung (Ausgang
01000) oder Einphasiger Impulsausgang 0 mit trapezförmiger Beschleunigung und –ab-
bremsung (Ausgänge 01000 und 01001)
010 Einphasiger Impulsausgang 1 ohne Beschleunigung/Abbremsung (Ausgang 01001).
Diese Einstellung wird nur von der SPS CPM2A/CPM2C unterstützt.

Steuerdaten (C)
Die Steuerdaten bestimmen die Art der Impulse (relativ oder absolut).
C Impulsart
000 Relative Impulsspezifikation
001 Absolute Impulsspezifikation (nur gültig, wenn das absolute Koordinatensystem verwen-
det wird.)
Diese Einstellung wird nur von der SPS CPM2A/CPM2C unterstützt.

Anzahl der Ausgabeimpulse (N+1 und N)


N+1 und N enthält den 8–stellige BCD–Wert der Anzahl der Ausgabeimpulse für
die Impulsausgabe in der Unabhängig–Betriebsart. Die Anzahl der Ausgangs-
impulse kann –16,777,215 bis 16.777.215 betragen. Bit 15 von N+1 kennzeich-
net das Vorzeichen; der Wert ist negativ, wenn Bit 15 aktiviert ist, und positiv,
wenn es deaktiviert ist.

466
Impulsausgabe–Befehle Abschnitt 7-27

Positiv: 0 bis +16,777,215 (0000 0000 bis 1677 7215)


Negativ: –16,777,215 bis 0 (9677 7215 bis 8000 0000)
N+1 enthält die äußerst linken 4 Stellen und N die äußerst rechten 4 Stellen.
Anzahl der Die Anzahl der Bewegungsimpulse hängt von der Anzahl der Ausgabeimpulse
Bewegungspulsen (N+1 und N) und der Impulsart (C) ab.
Koordinaten- Bewegungsimpulse
system
Relativ Anzahl der Bewegungsimpulse = Anzahl der Ausgabeimpulse
Absolut Impulsart: Relativ (C=000)
Anzahl der Bewegungsimpulse = Anzahl der Ausgabeimpulse
Impulsart: Absolut (C=001, nur CPM2A/CPM2C)
Anzahl der Bewegungsimpulse = Anzahl der Ausgabeimpulse – Istwert

Nachdem PULS(65) ausgeführt wurde, wird die errechnete Anzahl der Bewe-
gungsimpulse nicht geändert, auch wenn INI(61) ausgeführt wird, um den Im-
pulsausgabe–Istwert zu ändern.
Eine Spezifikation, die die Bewegung außerhalb des erlaubten Istwertbereichs
ermöglicht (–16,777,215 bis 16.777.215), kann ohne Probleme spezifiziert wer-
den.
PULS(65) wird nicht ausgeführt und ein Fehler tritt auf (SR 25503 EIN), wenn
die errechnete Anzahl der Bewegungsimpulse 0 ist.
Arbeitet die Impulsausgabe in der Unabhängig–Betriebsart ohne Beschleuni-
gung oder Abbremsung und ist die Anzahl der Bewegungsimpulse negativ, wird
der Absolutwert der Anzahl der Bewegungsimpulse verwendet. (Beträgt zum
Beispiel die Anzahl der Bewegungsimpulse –500, wird ein Wert von 500 ver-
wendet.)

Merker ER: Eine Datenbereichsgrenze wird überschritten.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwortbe-
reichsgrenze wurde überschritten).
P ist nicht 000 oder 010.
C ist nicht 000 oder 001. (C kann nicht auf 001 eingestellt werden, wenn
relative Koordinaten verwendet werden.)
Die Anzahl der Ausgabeimpulsen liegt nicht zwischen –16.777.215 und
16.777.215.
PULS(65) wird in einem Interrupt–Unterprogramm ausgeführt, wäh-
rend eine Impuls–E/A oder ein Schneller Zähler–Befehl (INI(61),
PRV(62), CTBL(63), SPED(64), PULS(65), ACC(––), PWM(––) oder
SYNC(––)) im Hauptprogramm ausgeführt wird.
Nachdem PULS(65) ausgeführt wurde, liegt der Absolutwert der An-
zahl der Bewegungspulsen nicht zwischen 1 und 16.777.215.

7-27-2 SPEED OUTPUT (Geschwindigkeitsausgabe) – SPED(64)


Kontaktplan–Symbol Datenbereiche
P: Schnittstellenspezifikation
SPED(64) @SPED(64)
000 oder 010
P P
M: Ausgabebetriebsart
M M
000 oder 001
F F
F: Zielfrequenz

IR, SR, AR, DM, HR, LR, #

467
Impulsausgabe–Befehle Abschnitt 7-27

Beschränkungen Dieser Befehl wird nur von den SPS CPM1A und CPM2A/CPM2C mit Transi–
storausgängen unterstützt.
In der CPM1A: F muss ein BCD–Wert von #0000 oder #0002 bis #0200 sein.
In der CPM2A/CPM2C: F muss ein BCD–Wert von #0000 oder #0001 bis #1000
sein.
DM 6144 bis DM 6655 kann nicht für F genutzt werden.
Erläuterungen SPED(64) wird verwendet, um die Ausgabeimpulsfrequenz zu spezifizieren und
die Impulsausgabe über den spezifizierten Ausgang zu beginnen. Ist die Aus-
führungsbedingung FALSCH, wird der SPED(64)–Befehl nicht ausgeführt. Ist
die Ausführungsbedingung WAHR, spezifiziert SPED(64) die Impulsfrequenz F
des ausgewählten Ausgangs über P. M spezifiziert die Ausgabebetriebsart.
Im allgemeinen sollte SPED(64) jedes Mal nur einmal ausgeführt werden, wenn
die Frequenz spezifiziert werden muss; verwenden Sie flankengesteuerte Va-
riation (@SPED(64)) oder eine Eingangsbedingung, die nur für einen Zyklus ak-
tiviert ist.
Hinweis Sehen Sie ebenfalls Abschnitt 2-5 Impulsausgabefunktionen für weitere In-
formationen.
Schnittstellenbezeichner (P)
Der Schnittstellenbezeichner spezifiziert den Ausgang, über den die Impulse
ausgegeben werden.
P Impulsausgabe–Positionen
000 Einphasiger Impulsausgang 0 ohne Beschleunigung/Abbremsung
(Ausgang 01000).
010 Einphasiger Impulsausgang 1 ohne Beschleunigung/Abbremsung
(Ausgang 01001).
Diese Einstellung wird nur von der SPS CPM2A/CPM2C unterstützt.

Ausgabebetriebsart (M)
Der Wert von M legt die Ausgabebetriebsart fest.
M Impulsart
000 Unabhängig–Betriebsart
001 Ununterbrochen–Betriebsart

Der Betrieb in der Unabhängig– und Ununterbrochen–Betriebsart ist nachfol-


gend beschrieben.
Zielfrequenz (F)
Der 4–stellige BCD–Wert F spezifiziert die Impulsfrequenz in Einheiten von 10
Hz, wie es nachfolgend dargestellt ist. Die Impulsausgabe über den spezifizier-
ten Ausgang wird beendet, wenn 0000 für F eingestellt wird .
SPS Mögliche Werte für F
CPM1A 0000 (stoppt die Impulsausgabe) oder 0002 bis 0200 (20 Hz bis 2 KHz)
CPM2A/CPM2C 0000 (stoppt die Impulsausgabe) oder 0001 bis 1000 (10 Hz bis 10
KHz)

Allgemeiner Betrieb Die über SPED(64) gestartete Impulsausgabe arbeitet weiter, bis einer der
nachfolgend aufgeführten Punkte eintritt:
1, 2, 3... 1. Der INI(––)–Befehl wird mit C = 003 ausgeführt.
2. In der Unabhängig–Betriebsart wird die Anzahl der Ausgabeimpulse, die
mit PULS(65) spezifiziert wurden, erreicht. (PULS(65) vor SPED(64) aus-
führen.)
3. SPED(64) wird mit der Zielfrequenz F = #0000 erneut ausgeführt.
4. Die SPS wird in die PROGRAM–Betriebsart umgeschaltet.
Impulse können gleichzeitig und unabhängig von einander über zwei Ausgänge
ausgegeben werden.
Werden in der Unabhängig–Betriebsart Impulse ausgegeben, muss die Impul-
sanzahl vor der Ausführung des PULS–Befehls festgelegt werden. Die Anzahl

468
Impulsausgabe–Befehle Abschnitt 7-27

der Ausgabeimpulse muss erneut mit PULS(65) spezifiziert werden, nachdem


die Impulsausgabe gestoppt wurde.
Die Frequenz kann nicht mit SPED(64) verändert werden, wenn bereits Impulse
über den spezifizierten Ausgang mit ACC(––) oder PWM(––) ausgegeben wer-
den. Ein Fehler tritt auf und SR 25503 wird aktiviert, wenn SPED(64) unter die-
sen Umständen ausgeführt wird.
Betrieb in der In der Unabhängig–Betriebsart wird nur die Anzahl der mit PULS(65) spezifi-
Unabhängig–Betriebsart zierten Ausgabeimpulse ausgegeben. Die Anzahl der Ausgabeimpulse muss
spezifiziert werden, indem PULS(65) vor SPED(64) ausführt. (Impulse werden
nicht ausgegeben, wenn die Anzahl der Ausgabeimpulse nicht zuvor spezifiziert
wurde.)
Ist die errechnete Anzahl der Bewegungsimpulse negativ, wird der Absolutwert
der Anzahl der Bewegungsimpulse verwendet. (Beträgt zum Beispiel die An-
zahl der Bewegungsimpulse –500, wird der Wert von 500 verwendet.)
Impulsfrequenz

Zeit

Betrieb in der In der Ununterbrochen–Betriebsart werden Impulse unbegrenzt ausgegeben,


Ununterbrochen– bis diese über INI(61) mit C=003 oder eine erneute Ausführung von SPED(64)
Betriebsart mit F=0000 gestoppt werden oder die SPS in die PROGRAM–Betriebsart um-
geschaltet wird.
Impulsfrequenz

Zeit

Merker ER: Eine Datenbereichsgrenze wird überschritten.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwortbe-
reichsgrenze wurde überschritten).
P ist nicht 000 oder 010, M ist nicht 000 oder 001 oder F ist nicht 0000 bis
1000.
SPED(64) wird in einem Interrupt–Unterprogramm ausgeführt, wäh-
rend eine Impulsausgabe oder ein Schneller Zähler–Befehl (INI(61),
PRV(62), CTBL(63), SPED(64), PULS(65), ACC(––), PWM(––) oder
SYNC(––)) im Hauptprogramm ausgeführt wird.

469
Impulsausgabe–Befehle Abschnitt 7-27

7-27-3 ACCELERATION CONTROL (Beschleunigungssteuerung) –


ACC(––)
Kontaktplan–Symbol Datenbereiche
P: Schnittstellenspezifikation
ACC(––) @ACC(––)
000
P P
M: Betriebsart–Angabe
M M
000, 002, oder 010 bis 013
C C
C: Erstes Steuerwort

IR, SR, AR, DM, HR, LR

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C verfügbar.


P muss mit 000 und M mit 000, 002, 010 – 013 spezifiziert werden.
C bis C+3 müssen sich im gleichen Datenbereich befinden.
Erläuterungen ACC(––) wird dazu verwendet, die Beschleunigungs–/Abbremsgeschwindig-
keit zu spezifizieren und die Impulsausgabe mit einer trapezförmiger Beschleu-
nigung und –abbremsung zu starten.
Im allgemeinen sollte ACC(––) jedes Mal nur einmal ausgeführt werden, wenn
die Beschleunigungs/Abbremsung eingestellt werden muss; verwenden Sie
flankengesteuerte Variation (@ACC(––)) oder eine Eingangsbedingung, die
nur für einen Zyklus aktiviert ist.
Hinweis Sehen Sie ebenfalls Abschnitt 2-5 Impulsausgabefunktionen für weitere In-
formationen.
Schnittstellenbezeichner (P)
Stellen Sie den Schnittstellenbezeichner immer auf 000 ein. Die 000 Einstellung
spezifiziert den einphasigen Impulsausgang 0 mit trapezförmiger Beschleuni-
gung und Abbremsung.
Betriebsartenspezifizierer (M)
Der Wert von M legt die Ausgabebetriebsart fest.
M Betriebsart Hinweis
000 Unabhängig–Betriebsart und Aufwärts–/Abwärts–ImpulsAusgabe- –––
betriebsart
002 Unabhängig–Betriebsart und Impuls + Richtungs–Ausgabebetrieb- –––
sart
010 Rechtslauf (Ununterbrochen–Betriebsart und Rechtslauf: Im
Aufwärts/Abwärtz–Impuls–Ausgabebetriebsart) Uhrzeigersinn
g
011 Linkslauf (Ununterbrochen–Betriebsart und Linkslauf:
Aufwärts/Abwärtz–Impuls–Ausgabebetriebsart) g g dem
Entgegen
Uhrzeigersinn
Uh i i
012 Rechtslauf (Ununterbrochen–Betriebsart und Impuls +
Richtungs–Ausgabebetriebsart)
013 Linkslauf (Ununterbrochen–Betriebsart und Impuls– +
Richtungs–Ausgabebetriebsart)

In der Unabhängig–Betriebsart wird die Ausgaberichtung eingestellt, wenn


PULS(65) ausgeführt wird.
Steuerwort (C, C+1 und C+2)
Die 3 Steuerworte spezifizieren die Beschleunigungsrampe, Zielfrequenz und
Abbremsgeschwindigkeit. (Jede Frequenz wird als ein Mehrfaches von 10 Hz
eingestellt.)

470
Impulsausgabe–Befehle Abschnitt 7-27

Wort Funktion
C Der Inhalt von C bestimmt die Beschleunigungs–/Abbremsrampe.
Während der Beschleunigung/Abbremsung wird die Ausgabefrequenz alle 10 ms um
den in C spezifizierten Betrag erhöht/reduziert. Der Wert von C+2 wird als BCD–Wert
von 0000 bis 1000 spezifiziert (0 Hz bis 10 kHz).
C+1 Der Inhalt von C+1 spezifiziert die Zielfrequenz.
Der Wert von C+1 wird als BCD–Wert von 0001 bis 1000 spezifiziert (10 Hz bis 10
kHz).
C+2 Der Inhalt von C+2 bestimmt die Anfangs–/Endfrequenz.
Der Wert von C+2 wird als BCD–Wert von 0000 bis 1000 spezifiziert (0 Hz bis 10
KHz).

Allgemeiner Betrieb Zwei Impulsausgänge werden von ACC(––) gesteuert.


Auf–/Abwärts–ImpulsAusgabebetriebsart
IR 01000 (Rechtslauf–Betrieb)
IR 01001 (Linkslauf–Betrieb)
Impuls + RichtungsAusgabebetriebsart
IR 01000 (Impulsausgabe)
IR 01001 (Richtungsspezifizierer)

Die Impulsausgabe beginnt, wenn ACC(––) ausgeführt wird und die Ausgangs-
frequenz jede 10 ms um den Betrag erhöht wird, der in Steuerwort C spezifiziert
ist. Wird die in C+1 spezifizierte Zielfrequenz erreicht, wird die Beschleunigung
abgebrochen, und die Impulsausgabe erfolgt weiter mit einer konstanten Fre-
quenz.
Die Impulsausgabe mit trapezförmiger Beschleunigung/Abbremsung kann
durch eine der folgenden Methoden gestoppt werden.
1, 2, 3... 1. Der INI(––)–Befehl wird mit C = 003 ausgeführt. (Unmittelbarer Halt.)
2. In der Unabhängig–Betriebsart wird die Anzahl der Ausgabeimpulsen, die
über PULS(65) spezifiziert wurden, erreicht. (Verlangsamt sich zu einem
Halt.)
3. ACC(––) wird mit der Einstellung der Zielfrequenz 0000 (in C+1) ausge-
führt.
a) Werden Impulse in der Unabhängig–Betriebsart ausgegeben, verlang-
samt sich die Ausgabe mit der Abbremsgeschwindigkeits–Einstellung,
die bei Beginn der Impulsausgabe definiert wurde, zu einem Halt.
b) Werden Impulse in der Ununterbrochen–Betriebsart ausgegeben, ver-
langsamt sich die Ausgabe mit der spezifizierten Abbremsgeschwindig-
keit zu einem Halt.
4. Umschaltung der SPS in die PROGRAM–Betriebsart. (Unmittelbarer Halt.)
Betrieb in der In der Unabhängig–Betriebsart wird nur die Anzahl der mit PULS(65) spezifi-
Unabhängig–Betriebsart zierten Ausgabeimpulse ausgegeben. Die Anzahl der Ausgabeimpulse muss
spezifiziert werden, indem PULS(65) vor ACC(––) ausgeführt wird. (Impulse
werden nicht ausgegeben, wenn die Anzahl der Ausgabeimpulse nicht zuvor
spezifiziert wurde.)
Impulsfrequenz

Zeit

Die Anzahl der Ausgabeimpulse muss erneut mit PULS(65) spezifiziert werden,
nachdem die Impulsausgabe gestoppt wurde.
In der Unabhängig–Betriebsart verlangsamt sich die Impulsausgabe an dem
Punkt, der durch die vorher eingestellte Anzahl der Ausgabeimpulsen und über
die Beschleunigungs–/Abbremsgeschwindigkeit festgelegt wird. Die Impuls-

471
Impulsausgabe–Befehle Abschnitt 7-27

ausgabe wird abgebrochen, nachdem die zuvor eingestellte Anzahl der Ausga-
beimpulse ausgegeben wurde.
Impulsfrequenz

Zeit

(Die Anzahl der Ausgabeimpulsen wird immer genau ausgegeben.)

Überschreitet die Anzahl der Ausgabeimpulse, die für die Beschleunigung und
Abbremsung erforderlich ist (die benötigte Zeit, um die Zielfrequenz zu errei-
chen) die zuvor eingestellte Anzahl der Impulse, wird die Beschleunigung und
Abbremsung abgekürzt und die Impulsausgabe ist eher dreieckig statt trapez-
förmig.
Impulsfrequenz

Zeit
(Die Anzahl der Ausgabeimpulsen wird immer genau ausgegeben.)

Wird eine hohe Beschleunigungs–/Abbremsgeschwindigkeit und eine niedrige


Anzahl von Ausgabeimpulsen eingestellt, findet keine Beschleunigung und Ab-
bremsung statt. (Die Impulsausgabe erfolgt mit einer konstanten Geschwindig-
keit.)
Ist (Zielfrequenz ÷ Beschleunigungs–/Abbremsgeschwindigkeit) kein Integer–
Wert, wird die spezifizierte Beschleunigungs–/Abbremsgeschwindigkeit ver-
größert oder verringert. Im folgenden Beispiel beträgt die Beschleunigung und
Abbremsung 10 ms; (1) ist die Beschleunigungs–/Abbremsgeschwindigkeit und
(2) die Zielfrequenz.
Impulsfrequenz

Zeit
10 ms 10 ms

Betrieb in der In der Ununterbrochen–Betriebsart werden Impulse unbegrenzt ausgegeben,


Ununterbrochen– bis die Ausgabe gestoppt wird, indem INI(61) mit C=003 oder ACC(––) wieder
Betriebsart mit der Zielfrequenz 0000 (in C+1) ausgeführt oder die SPS in die PROGRAM–
Betriebsart umgeschaltet wird.
Impulsfrequenz

Zeit

Die folgenden Bedingungen gelten, wenn ACC(––) ausgeführt wird, während


Impulse bereits mit trapezförmiger Beschleunigung/Abbremsung ausgegeben
werden.
• Die Ausführung von ACC(––) hat keine Wirkung, wenn die Impulsausgabe be-
schleunigt oder verlangsamt wird.
• Wird ACC(––) ausgeführt, während Impulse in der Ununterbrochen–Betrieb-
sart ausgegeben werden, kann die Frequenz auf eine neue Zielfrequenz

472
Impulsausgabe–Befehle Abschnitt 7-27

(0001 bis 1000: 10 Hz bis 10 kHz) mit eingestellter Beschleunigungs–/Ab-


bremsgeschwindigkeit geändert werden.
• Werden Impulse in der Unabhängig–Betriebsart ausgegeben, kann die Im-
pulsausgabe zu einem Halt verlangsamt werden während, indem ACC(––) mit
einer Zielfrequenzeinstellung von 0000 (in C+1) ausgeführt wird. Die Be-
schleunigungs–/Abbremsgeschwindigkeit und die Anzahl der Ausgabeimpul-
sen werden nicht überprüft oder geändert.
• Die Ausführung von ACC(––) hat keine Wirkung, wenn Impulse durch einen
der folgenden Befehle ausgegeben werden. (Die Impulsausgabe arbeitet un-
verändert weiter.)
Impulse, die über SPED(64) an Ausgang 01000 ausgegeben werden.
Impulse, die über SPED(64) an Ausgang 01001 ausgegeben werden.
Impulse, die über PWM(––) an Ausgang 01000 ausgegeben werden.
Impulse, die über PWM(––) an Ausgang 01001 ausgegeben werden.
Hinweis Stellen Sie sicher, den Status der Impulsausgabe zu überprüfen, bevor Sie
ACC(––) ausführen.

Merker ER: Eine Datenbereichsgrenze wird überschritten.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwortbe-
reichsgrenze wurde überschritten).
P beträgt nicht 000.
M beträgt nicht 000, 002 oder 010 bis 013. (Der Betriebsartenspezifizie-
rer wird nur gelesen, wenn die Impulsausgabe gestartet wird.)
ACC(––) wird für ein Bit ausgeführt, das bereits Impulse durch
PWM(––) oder SPED(64) ausgibt.
ACC(––) wird in einem Interrupt–Unterprogramm ausgeführt, während
eine Impulsausgabe oder ein Schneller Zähler–Befehl (INI(61),
PRV(62), CTBL(63), SPED(64), PULS(65), ACC(––), PWM(––) oder
SYNC(––)) im Hauptprogramm ausgeführt wird.

7-27-4 PULSE WITH VARIABLE DUTY RATIO (Impulsausgabe mit


variablem Tastverhältnis) – PWM(––)
Kontaktplan–Symbol Datenbereiche
P: Schnittstellenspezifikation
PWM(––) @PWM(––)
000 oder 010
P P
F: Frequenz
F F
IR, SR, AR, DM, HR, LR, #
D D
D: Tastverhältnis

IR, SR, AR, DM, HR, LR, #

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C verfügbar.


P muss 000 oder 010 betragen, F einen BCD–Wert zwischen 0001 und 9999
und D einen BCD–Wert zwischen 0001 und 0100 besitzen.
Erläuterungen PWM(––) wird dazu verwendet, Impulse mit einem spezifizierten Tastverhältnis
über einen definierten Ausgang auszugeben. Die Impulsausgabe wird fortge-
setzt, bis PWM(––) wieder mit einem anderen Tastverhältnis oder INI(61) mit
C=003 ausgeführt oder die SPS in die PROGRAM–Betriebsart umgeschaltet
wird.

473
Impulsausgabe–Befehle Abschnitt 7-27

Im allgemeinen sollte PWM(––) nur einmal ausgeführt werden, um die Impuls-


ausgabe zu starten; verwenden Sie die Variation mit Flankenausführung
(@PWM(––)) oder eine Eingangsbedingung, die nur für einen Zyklus aktiviert
ist.
Impulse mit variablem Tastverhältnis können gleichzeitig und unabhängig von
zwei Ausgängen ausgegeben werden.
Werden Impulse mit variablem Tastverhältnis von einem Ausgang ausgegeben
und wird PWM(––) für diesen Ausgang mit einem anderen Tastverhältnis aus-
geführt, werden die Impulse mit dem neuen Tastverhältnis ausgegeben. Die
Frequenz kann nicht geändert werden.
PWM(––) kann nicht auf einen Ausgang ausgeführt werden, wenn von diesem
Ausgang SPED(64)– oder ACC(––)–initierte Impulse ausgegeben werden. Ein
Fehler tritt auf und SR 25503 wird aktiviert, wenn PWM(––) unter diesen Um-
ständen ausgeführt wird.
Hinweis Sehen Sie ebenfalls Abschnitt 2-5 Impulsausgabefunktionen für weitere In-
formationen.
Schnittstellenbezeichner (P)
Der Schnittstellenbezeichner spezifiziert das Ausgangsbit, über das die Im-
pulse ausgegeben werden.
P Impulsausgabe–Positionen
000 Impulse mit variablem Tastverhältnis, Ausgang 0 (Ausgang 01000)
010 Impulse mit variablem Tastverhältnis, Ausgang 1 (Ausgang 01001)

Frequenz (F)
Der 4–stellige BCD–Wert von F spezifiziert die Impulsfrequenz in Einheiten von
0,1 Hz. Die Frequenz kann zwischen 0001 und 9999 (0,1 bis 999,9 Hz) spezifi-
ziert werden.
Tastverhältnis (D)
Der 4–stellige BCD–Wert von D spezifiziert das Tastverhältnis der Impulsaus-
gabe, d.h. der Prozentsatz der Zeit, in dem der Ausgang aktiviert ist. Das Tast-
verhältnis kann zwischen 0001 und 0100 (1% bis 100%) spezifiziert werden.
Das Tastverhältnis beträgt im nachfolgenden Diagramm 75%.

ton

t on
+ D (1% to 100%)
T

Merker ER: Eine Datenbereichsgrenze wird überschritten.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des DM–
Wortes liegt nicht im BCD–Format vor oder die Datenwortbereichs-
grenze wurde überschritten).
P beträgt nicht 000 oder 010, F besitzt keinen BCD–Wert zwischen
0001 und 9999 oder D keinen BCD–Wert zwischen 0001 und 0100. (Die
Frequenzeinstellung in F wird nur gelesen, wenn die Impulsausgabe
gestartet wird.)
PWM(––) wird für einen Ausgang ausgeführt, der bereits durch
ACC(––)– oder SPED(64)–initiierte Impulse ausgibt.
PWM(––) wird in einem Interrupt–Unterprogramm ausgeführt, wäh-
rend eine Impulsausgabe oder ein Schneller Zähler–Befehl (INI(61),
PRV(62), CTBL(63), SPED(64), PULS(65), ACC(––), PWM(––) oder
SYNC(––)) im Hauptprogramm ausgeführt wird.

474
Impulsausgabe–Befehle Abschnitt 7-27

7-27-5 SYNCHRONIZED PULSE CONTROL (Synchronisierte


Impulsausgabe) – SYNC(––)
Kontaktplan–Symbol Datenbereiche
P1: Eingangsschnittstellen–Spezifizierer
SYNC(––) @SYNC(––)
000
P1 P1
P2: Ausgabeschnittstellenbezeichner
P2 P2
000 oder 010
C C
C: Skalierfaktor

IR, SR, AR, DM, HR, LR, #

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C verfügbar.


P1 muss 000 betragen und P2 muss 000 oder 010 betragen.
Erläuterungen SYNC(––) übernimmt die Frequenz der Eingangsimpulse, die über einen
Schnellen Zähler–Eingang anliegen, multipliziert mit einem festen Skalierfaktor
und gibt Impulse über den spezifizierten Ausgang mit der resultierenden Fre-
quenz aus.
Ausgangsfrequenz = Eingangsfrequenz × Skalierfaktor/100
Im allgemeinen sollte SYNC(––) nur einmal dann ausgeführt werden, um die
synchronisierte Impulsausgabe zu spezifizieren; verwenden Sie die Variation
mit flankengesteuerter Ausführung (@SYNC(––)) oder eine Eingangsbedin-
gung, die nur für einen Zyklus aktiviert ist.
Hinweis Sehen Sie ebenfalls Abschnitt 2-5 Impulsausgabefunktionen für weitere In-
formationen.
Eingangsschnittstellenbezeichner (P1)
P1 muss immer auf 000 eingestellt sein.
Ausgabeschnittstellenbezeichner (P2)
Der Wert von P2 legt fest, wo die skalierte Impulsfrequenz ausgegeben wird.
P2 Impulsausgabe–Positionen
000 Synchronisierter Impulsausgang 0 (Ausgang 01000)
010 Synchronisierter Impulsausgang 1 (Ausgang 01001)

Skalierfaktor (C)
Der 4–stellige BCD–Wert von C spezifiziert den Skalierfaktor, mit dem die Ein-
gangsfrequenz multipliziert wird. Der Skalierfaktor kann zwischen 0001 und
1000 (1 bis 1.000%) eingestellt werden.
SPS–Konfigurations– Die Zählereingangs–Betriebsart für Eingänge 00000 und 00001 wird in Bits 00
einstellungen und bis 03 von DM 6642 eingestellt.
allgemeiner Betrieb
DM 6642, Bits 00 bis 03 Schnelle Zähler–Einstellung
0 Differential–Phasenbetrieb (5 kHz)
1 Impuls– + Richtungseingangs–Betriebsart (20 kHz)
2 Ab–/Aufwärts–Eingangsmodus (20 kHz)
4 Inkrementalmodus (20 kHz)

Eingangsfrequenzbereich
Der Eingangsfrequenzbereich für die synchronisierte Impulsausgabe wird in

475
Impulsausgabe–Befehle Abschnitt 7-27

Bits 08 bis 15 von DM 6642 eingestellt, wie es in der folgenden Tabelle gezeigt
wird.
DM 6642, Bits 08 bis 15 Funktion der Eingänge 00000 und 00001
02 Verwendet für eine synchronisierte Impulsausgabe (10 bis 500
Hz)
03 Verwendet für eine synchronisierte Impulsausgabe (20 Hz bis
1 kHz).
04 Verwendet für eine synchronisierte Impulsausgabe (300 Hz bis
20 kHz).

Es kann keine synchronisierter Impulsausgabe ausgeführt werden, wenn die


Eingänge 00000 bis 00003 nicht für eine synchronisierte Impulsausgabe in Bits
08 bis 15 (Einstellungen 02, 03 und 04) eingestellt wurden. Ein Fehler tritt auf
und SR 25503 wird aktiviert, wenn SYNC(––) ausgeführt wird aber DM 6642
nicht für eine synchronisierte Impulsausgabe konfiguriert wurde.
Die schnellen Zähler– und Impulsausgabefunktionen können nicht verwendet
werden, während eine synchronisierte Impulsausgabe aktiv ist. Hierbei tritt ein
Fehler auf und SR 25503 wird eingeschaltet, wenn ein entsprechender Impuls-
ausgabebefehl ausgeführt wird, um eine dieser Funktionen aufzurufen.
Überschreitet die Eingangsfrequenz den in der Tabelle gezeigten Maximalwert,
wird die höchste Eingangsfrequenz für diesen Bereich verwendet. Fällt die Ein-
gangsfrequenz unter den Minimalwert, wird die Eingangsfrequenz 0 Hz verwen-
det.
Ausgabefrequenzbereich
Der Ausgabefrequenzbereich beträgt 10 Hz bis 10 kHz. Überschreitet die er-
rechnete Ausgabefrequenz (Eingangsfrequenz × Skalierfaktor/100) 10 kHz,
werden Impulse mit 10 kHz ausgegeben. Fällt die errechnete Ausgabefrequenz
unter 10 Hz, werden keine Impulse ausgegeben (0 Hz).
Änderung des Skalierfaktors oder der Ausgabeschnittstelle
Der Skalierfaktor kann geändert werden, während die synchronisierte Impuls-
ausgabe aktiv ist, indem der SYNC(––)–Befehl erneut mit einem anderen Ska-
lierfaktor ausgeführt ist; der Ausgabeschnittstellenbezeichner kann jedoch
nicht während des Betriebs geändert werden.
Anhalten der synchronisierten Impulsausgabe
Die synchronisierte Impulsausgabe kann gestoppt werden, indem INI(61) mit
C=005 ausgeführt oder die SPS auf die PROGRAM–Betriebsart umgeschaltet
wird.

Merker ER: Eine Datenbereichsgrenze wird überschritten.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwortbe-
reichsgrenze wurde überschritten).
P1 beträgt nicht 000, P2 nicht 000 oder 010 bzw. C besitzt keinen BCD–
Wert zwischen 0001 und 1000.
SYNC(––) wird ausgeführt, wenn Bits 08 bis 15 von DM 6642 nicht auf
eine synchronisierte Impulsausgabe eingestellt sind.
SYNC(––) wird in einem Interrupt–Unterprogramm ausgeführt, wäh-
rend eine Impulsausgabe oder ein Schneller Zähler–Befehl (INI(61),
PRV(62), CTBL(63), SPED(64), PULS(65), ACC(––), PWM(––) oder
SYNC(––)) im Hauptprogramm ausgeführt wird.

476
Spezielle Befehle Abschnitt 7-28

7-28 Spezielle Befehle


7-28-1 MESSAGE DISPLAY (Meldungsanzeige) – MSG(46)

Kontaktplan–Symbol Datenbereiche

FM: Erstes Meldungswort


MSG(46) @MSG(46)
IR, SR, AR, DM, HR, LR
FM FM

Beschränkungen DM 6649 bis DM 6655 können nicht für Meldungen benutzt werden.
Erläuterungen Ist die Ausführungsbedingung WAHR, liest MSG(46) acht Worte im erweiterten
ASCII–Codes von FM bis FM+7 und zeigt die Meldung auf der Programmierkon-
solenanzeige an. Die angezeigte Meldung ist bis zu 16 Zeichen lang, d.h. jedes
ASCII–Zeichen erfordert acht Bits. Sehen Sie Anhang G für weitere Informatio-
nen bezüglich des ASCII–Codes.
Werden nicht alle acht Worte für die Meldung benötigt, kann die Textausgabe zu
jedem Zeitpunkt durch Eingabe von “0D” begrenzt werden. Ist 0D Inhalt einer
Meldung, werden keine weiteren Worte gelesen und die Worte, die eigentlich für
die Meldung Verwendung finden würden, können für andere Zwecke benutzt
werden.
Meldungs–Puffer und Bis zu drei Meldungen können im Speicher gepuffert werden. Sie werden dann
Anzeigepriorität in der Reihenfolge ihres Eingangs wieder ausgegeben. Da es vorkommen kann,
dass in einem Zyklus mehr als drei MSG(46)–Befehle ausgeführt werden, exi-
stiert ein Reihenfolge–Schema. Abhängig von dem Speicherbereich, in dem die
Meldung gespeichert ist, wird eine Auswahl über welche dieser Meldungen ge-
puffert werden sollen, getroffen.
Die Anzeigenreihenfolge ist wie folgt:
LR > IR > HR > AR > TC > DM
Stammen alle Meldungen aus dem gleichen Speicherbereich, hat die
Meldung mit der niedrigsten Adresse die höchste Anzeigepriorität.
Bei der Verarbeitung indirekt adressierter Meldungen (d.h. *DM) besit-
zen die mit den niedrigen DM–Adressen höhere Priorität.

Löschen der Meldungen Um die Meldungen zu löschen muss FAL(06) ausgeführt werden. Die Meldun-
gen können auch über die Programmkonsole oder die Programmiersoftware
gelöscht werden.
Ändert sich der Dateninhalt, ändert sich auch unmittelbar die Anzeige.

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des *DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

477
Spezielle Befehle Abschnitt 7-28

Beispiel Im folgenden Bespiel wird die Meldung bei über 00000 = EIN angezeigt. Sie wird
gelöscht, sobald 00001 gesetzt wird.

00000
Adresse Befehl Operanden
MSG(46)
00000 LD 00000
DM 0010
00001 MSG(46)
00001
FAL(06) 00 DM 0010
00002 LD 00001
00003 FAL(06) 00

DM–Inhalt ASCII
Äquivalent
DM 0010 4 1 4 2 A B
DM 0011 4 3 4 4 C D MSG
DM 0012 4 5 4 6 E F ABCDEFGHIJKLMNOP
DM 0013 4 7 4 8 G H
DM 0014 4 9 4 A I J
DM 0015 4 B 4 C K L
DM 0016 4 D 4 E M N
DM 0017 4 F 5 0 O P

7-28-2 I/O REFRESH (E/A–Auffrischung) – IORF(97)


Kontaktplansymbol Datenbereiche
St: Anfangswort
IORF(97)
IR 000 bis IR 019
St
E: Endwort
E
IR 000 bis IR 019

Hinweis Dieser Befehl wird nicht von SRM1(–V2)–SPS–Systemen unterstützt.

Beschränkungen St muss ≤ E sein.


Erläuterungen Um E/A–Worte aufzufrischen, muss das erste (St) und letzte (E) E/A–Wort spe-
zifiziert werden. Ist die Ausführungsbedingung für IORF(97) WAHR, werden alle
Worte zwischen (St) und (E) aufgefrischt. Dies geschieht zusätzlich zur norma-
len E/A–Auffrischung, die während jedes Programmzyklus ausgeführt wird.
(Ist St > E, wird IORF(97) als NOP(00) behandelt.)
Normalerweise wird die E/A–Auffrischung nur einmal pro Zyklus am Ende der
Programmausführung ausgeführt, aber IORF(97) kann dazu verwendet wer-
den, E/A–Worte sofort während der Programmausführung zu auffrischen.

! Vorsicht Obwohl IORF(97) in Interrupt–Unterprogrammen verwendet werden kann,


müssen Sie bezüglich des IORF(97)–Ausführungsintervalls vorsichtig sein.
Wird IORF(97) zu häufig ausgeführt, kann ein schwerwiegender Systemfehler
(FALS 9F) auftreten, wodurch der Betrieb abgebrochen wird. Der Abstand zwi-
schen den Ausführungen von IORF(97) sollte mindestens 1,3 ms + gesamte
Ausführungszeit des Interrupt–Unterprogramms betragen.

Merker ER: St oder E ist nicht innerhalb des erlaubten Bereichs (IR 000 bis IR 019).
St ist größer als E (ist St > E, wird IORF(97) als NOP(00) behandelt).

Der Befehl hat keine Auswirkungen auf Merker.

478
Spezielle Befehle Abschnitt 7-28

7-28-3 BIT COUNTER (Bits zählen) – BCNT(67)


Kontaktplan–Symbol Datenbereiche
N: Anzahl der Worte (BCD)
BCNT(67) @BCNT(67)
IR, SR, AR, DM, HR, TC, LR, #
N N
SB: Erstes Wort des Bereiches
SB SB
IR, SR, AR, DM, HR, TC, LR
R R
R: Zielwort

IR, SR, AR, DM, HR, TC, LR

Hinweis BCNT(67) ist ein Erweiterter Befehl in der CPM2A/CPM2C und SRM1(–V2).
Der Funktions–Code 67 ist werkseitig voreingestellt und kann, falls gewünscht,
geändert werden.

Beschränkungen N kann nicht den Wert 0 annehmen.


DM 6144 bis DM 6655 können nicht für R verwendet werden.
Erläuterungen Ist die Ausführungsbedingung FALSCH, wird BCNT(67) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, zählt BCNT(67) die Gesamtzahl aller Bits aller
Worte zwischen SB und SB+(N–1), die auf EIN gesetzt sind. Das Ergebnis wird
in R ausgegeben.

Merker ER: N ist keine BCD–Zahl bzw. N ist gleich 0; SB und SB+(N–1) befinden
sich nicht im gleichen Datenbereich.
Eine DM–Adresse wird für SB verwendet, aber SB bis SB+ (N–1) befin-
den sich nicht alle in Lese/Schreib–DM–Bereich.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des *DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
EQ: Auf EIN gesetzt, wenn das Ergebnis 0 ist.

7-28-4 FRAME CHECKSUM (Rahmenprüfsumme berechnen) – FCS(––)


Kontaktplan–Symbol Datenbereiche
C: Steuerdaten
FCS(––) @FCS(––)
IR, SR, AR, DM, HR, LR, #
C C
R1: Erstes Wort des Bereiches
R1 R1
IR, SR, AR, DM, HR, TC, LR
D D
D: Erstes Zielwort

IR, SR, AR, DM, HR, LR

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C/SRM1(–V2) verfügbar.


Die drei äußersten rechten Stellen von C müssen als BCD–Wert zwischen 001
und 999 spezifiziert werden.
DM 6144 bis DM 6655 können nicht für D verwendet werden.
Erläuterungen FCS(––) dient zur Überwachung der Datenübertragung über Kommunikations-
schnittstellen.

479
Spezielle Befehle Abschnitt 7-28

Ist die Ausführungsbedingung FALSCH, wird FCS(––) nicht ausgeführt. Ist die
Ausführungsbedigung WAHR, berechnet FCS(––) die Rahmenprüfsumme des
spezifizierten Bereichs. Dazu werden die Inhalte der Worte R1 bis R1+N–1 bzw.
die Bytes in den Worten R1 bis R1+N–1 durch ein exklusives ODER miteinander
verknüpft. Der Rahmenprüfsummenwert (Hexadezimalzahll) wird anschlie-
ßend in das ASCII–Format konvertiert und über die Zielworte (D and D+1) aus-
gegeben.
Die Funktion der Bits des Wortes C ist im folgenden Diagramm dargestellt und
wird anschließend ausführlich erläutert:

15 14 13 12 11 00
C:

Anzahl der Bytes/Worte des Bereichs


(N, BCD) 001 bis 999 Worte oder Bytes.
Erstes Byte (Bit 13 gesetzt):
1 (gesetzt): äußerst rechten Stellen
0 (rückgesetzt): äußerst linken Stellen
Berechnungseinheiten
Nicht verwendet (auf 0 gesetzt). 1 (gesetzt): Bytes
0 (zurückgesetzt): Worte

Anzahl der Bytes/Worte Die Anzahl der Bytes/Worte des Bereichs (N) wird in den drei äußerst rechten
Stellen von C spezifiziert und muss ein BCD–Wert zwischen 001 und 999 sein.
Berechungseinheiten Ist Bit 13 zurückgesetzt, wird die wortweise Rahmenprüfsumme berechnet. Ist
Bit 13 gesetzt, wird die byteweise Rahmenprüfsumme berechnet.
Bei der Spezifikation von Bytes kann der Bereich mit dem äußerst linken bzw.
rechten Byte von R1 beginnen. Das äußerste linke Byte von R1 wird ignoriert,
wenn Bit 12 gesetzt ist.
MSB LSB
R1 1 2
R1+1 3 4
R1+2 5 6
R1+3 7 8

Ist Bit 12 auf AUS gesetzt, werden die Bytes in der folgenden Reihenfolge XOR–
verknüpft: 1, 2, 3, 4, ....
Ist Bit 12 auf EIN gesetzt, werden die Bytes in der folgenden Reihenfolge XOR–
verknüpft: 2, 3, 4, 5, ....
ASCII–Konvertierung Das Ergebnis der byteweisen Rahmenprüfsummen–Berechnung ist ein 2–stel-
liger Hexadezimalwert, der anschließend in den entsprechenden 4–stelligen
ASCII–Wert konvertiert wird. Bei der wortweisen Rahmenprüfsummen–Be-
rechnung wird ein 4–stelliger Hexadezimalwert ausgegeben, der, wie nachste-
hend dargestellt, in den entsprechenden 8–stelligen ASCII–Wert konvertiert
wird.

Byte–Rahmenprüfsummen– Wort–Rahmenprüfsummen–
Wert Wert
4A F10B

D 3 4 4 1 D 4 6 3 1 D+1 3 0 4 2

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des *DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).

480
Interrupt–Verarbeitungsbefehle Abschnitt 7-29

Der Anzahl der Bytes/Worte–BCD–Wert liegt nicht im Bereich zwischen


001 bis 999.

Beispiel Ist im folgenden Beispiel IR 00000 gesetzt, wird die Rahmenprüfsumme (0008)
für die 8 Worte von DM 0000 bis DM 0007 berechnet und der entsprechende
ASCII–Wert (30 30 30 38) in DM 0010 und DM 0011 gespeichert.

00000 Adresse Befehl Operanden


@FCS(––)

#0008 00000 LD 00000


DM 0000 00001 @FCS(––)
DM 0010
# 0008
DM 0000
DM 0010

Rahmenprüfsum-
DM 0000 0001 men–Berechnung
DM 0001 0002 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
DM 0002 0003
DM 0003 0004 0 0 0 8
DM 0004 0005 Konver-
DM 0005 0006 tierung
in den
DM 0006 0007
DM 0011 3 0 3 0 DM 0010 3 0 3 8 ASCII–
DM 0007 0008 Code

7-29 Interrupt–Verarbeitungsbefehle
Dieser Abschnitt beschreibt die Funktion der Befehle INT(89) und STIM (69).
Sehen Sie zur Interrupt–Verarbeitung in den SPS–Systemen der Serien
CPM1/CPM1A, CPM2A/CPM2C oder SRM1(–V2) den in der folgenden Tabelle
gezeigten Abschnitt.
SPS Beschreibung
CPM1/CPM1A Sehen Sie Abschnitt 2-3 CPM1–/CPM1A–Interruptfunktionen.
CPM2A/CPM2C Sehen Sie Abschnitt 2-1 CPM2A–/CPM2C–Interruptfunktionen.
SRM1(-V2) Sehen Sie Abschnitt 2-4 SRM1–Interrupt–Funktionen.

7-29-1 INTERRUPT CONTROL (Interrupt–Steuerung) – INT(89)


Datenbereiche

Kontaktplan–Symbol C1: Steuercode

# (000 bis 004, 100 oder 200)


INT(89) @INT(89)
000: Keine Funktion
C1 C1
000
000 000
C2: Steuerdaten
C2 C2
IR, SR, AR, DM, HR, TC, LR, #

Hinweis Dieser Befehl wird nicht von SRM1(–V2)–SPS–Systemen unterstützt.

Beschränkungen DM 6144 bis DM 6655 können nicht für C2 verwendet werden, wenn C1=002 ist.
Erläuterungen Ist die Auführungsbedingung FALSCH, wird INT(89) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, wird INT(89) zur Steuerung von Interrupts ver-

481
Interrupt–Verarbeitungsbefehle Abschnitt 7-29

wendet und führt eine der sieben, im folgenden gezeigten Funktionen aus, ab-
hängig vom Wert von C1.
C1 INT(89)–Funktion
000 Maskieren/demaskieren von eingangsgesteuerten Interrupts
001 Eingangsgesteuerte Interrupts löschen
002 Gegenwärtigen Maskenzustand von eingangsgesteuerten Interrupts
lesen
003 Abwärtszähler neu starten, eingangsgesteuerte Interrupts demaskie-
ren
004* Aufwärtszähler neu starten, eingangsgesteuerte Interrupts demaskie-
ren
100 Maskieren aller Interrupts
200 Löschen der Maskierung aller Interrupts

Hinweis *Diese Einstellung kann nur in den CPM2A/CPM2C–SPS–Systemen verwen-


det werden.

Eingangsgesteuerte Diese Funktion wird dazu verwendet, die Interrupt–Eingänge 00003 bis 00006
Interrupts zu maskieren und zu demaskieren. Zustände maskierter Eingänge werden ge-
maskieren/demaskieren speichert, aber nicht ausgeführt. Ist ein Eingang maskiert, wird dessen Inter-
(C1=000)
rupt–Unterprogramm gestartet, sobald das Zustandsbit demaskiert wird (es sei
denn, es wird zuvor durch Ausführung von INT(89) mit C1=001 gelöscht).
Setzen Sie das ensprechende Bit in C2 auf 0 oder 1, um einen eingangsgesteu-
erten Interrupt zu maskieren bzw. zu demaskieren. Bits 00 bis 03 entsprechen
den Eingängen 00003 bis 00006. Die Bits 04...15 sollten auf Null gesetzt wer-
den.
Wort C2–Bits: 3 2 1 0

Interrupt–Eingang 00003 (0: demaskieren, 1: maskieren)


Interrupt–Eingang 00004 (0: demaskieren, 1: maskieren)
Interrupt–Eingang 00005 (0: demaskieren, 1: maskieren)
Interrupt–Eingang 00006 (0: demaskieren, 1: maskieren)

Alle eingangsgesteuerten Interrupts werden bei Beginn des SPS–Betriebs


maskiert; um eingangsgesteuerte Interrupts zu verwenden, müssen die Inter-
rupts demaskiert werden.
Eingangsgesteuerte Diese Funktion wird dazu verwendet, die Interrupts der Interrupt–Eingänge
Interrupts (C1=001) löschen 00003 bis 00006 zu löschen. Durch das Zurücksetzen wird verhindert, dass
beim Aufheben der Maskierung eines Interrupts, das zum Interrupt gehörende
Unterprogramm, aufgerufen wird.
Das Zurücksetzen eines eingangsgesteuerten Interrupts erfolgt durch Setzen
des entsprechenden Maskenbits des Wortes C2. Bits 00 bis 03 entsprechen
den Eingängen 00003 bis 00006. Die Bits 04...15 sollten auf Null gesetzt wer-
den.
Wort C2–Bits: 3 2 1 0

Interrupt–Eing. 00003 (0: n. zurücksetzen, 1: zurücksetzen)


Interrupt–Eing. 00004 (0: n. zurücksetzen, 1: zurücksetzen)
Interrupt–Eing. 00005 (0: n. zurücksetzen, 1: zurücksetzen)
Interrupt–Eing. 00006 (0: n. zurücksetzen, 1: zurücksetzen)

Aktuellen Diese Funktion liest den gegenwärtigen Maskierungszustand der Interrupt–Ein-


Maskierungsstatus gänge 00003 bis 00006 und schreibt diese Informationen in Wort C2. Das ent-
(C1=002) lesen sprechende Bit wird gesetzt, wenn der Eingang maskiert ist. Bits 00 bis 03 ent-
sprechen den Eingängen 00003 bis 00006.
Wort C2–Bits: 3 2 1 0

Interrupt–Eingang 00003 (0: nicht maskiert, 1: maskiert)


Interrupt–Eingang 00004 (0: nicht maskiert, 1: maskiert)
Interrupt–Eingang 00005 (0: nicht maskiert, 1: maskiert)
Interrupt–Eingang 00006 (0: nicht maskiert, 1: maskiert)

482
Interrupt–Verarbeitungsbefehle Abschnitt 7-29

Zähler–Neustart und Diese Funktionen werden dazu verwendet, eingangsgesteuerte Interrupts


Demaskieren eines (Zählmodus) neuzustarten, indem man den Zähler–Sollwert (in SR 240 bis SR
eingangsgesteuerten 243) auffrischt und den Interrupt–Eingang (00003 bis 00006) demaskiert.
Interrupts
(C1=003 oder C1=004) Setzen Sie C1=3, um die Abwärtszähler neu zu starten oder C1=4 (nur CPM2A/
CPM2C SPS), um die Aufwärtszähler neu zu starten.
Setzen Sie das entsprechende Bit in C2 auf 0, um den Zähler–Sollwert des Ein-
gangs aufzufrischen und den eingangsgesteuerten Interrupt zu demaskieren.
Die Bits 00 bis 03 entsprechen den Eingängen 00003 bis 00006.
Wort C2–Bits: 3 2 1 0

Zähler, Interrupt–Eingang 00003


Zähler, Interrupt–Eingang 00004
Zähler, Interrupt–Eingang 00005
Zähler, Interrupt–Eingang 00006

Verwenden Sie die Variation mit flankengesteuerter Ausführung (@INT(89))


oder eine Eingangsbedingung, die nur für einen Zyklus aktiviert ist, wenn Sie
INT(89) mit C1=003 oder C1=004 ausführen. Während der Zähler arbeitet, wird
der Zähler–Istwert auf den Sollwert zurücksetzt, wenn INT(89) ausgeführt wird,
deshalb wird der Interrupt nie generiert, wenn INT(89) jeden Zyklus ausgeführt
wird.
Wird INT(89) mit C1=003 oder C1=004 ausgeführt und enthält das Sollwert–
Wort einen Sollwert ungleich Null (0001 bis FFFF), wird der entsprechende Zäh-
ler (Abwärts/Aufwärts) gestartet und der entsprechende Interrupt in dem Zähl-
modus aktiviert. Erreicht die Zählung den Sollwert, wird ein Interrupt generiert
und der Istwert wird auf den Sollwert zurückgesetzt; Interrupts werden deshalb
wiederholt generiert, bis der Zähler gestoppt wird.
Das Schreiben von 0000 auf das Sollwert–Wort eines Zählers (SR 240 bis SR
243) und das Ausführen von INT(89), um den Sollwert aufzufrischen, hält den
Zähler an und deaktiviert den entsprechenden Interrupt. Schreiben Sie einen
Sollwert ungleich Null in das Sollwert–Wort und führen Sie INT(89) aus, um den
Zähler neu zu starten. (Die Sollwert–Worte werden bei Beginn des SPS–Be-
triebs auf 0000 zurückgesetzt, somit muss der Sollwert des Zählers vom Kon-
taktplanprogramm in das Sollwert–Wort geschrieben werden.)
Wurde bereits ein Interrupt aktiviert (demaskiert), kann der Sollwert nicht auf-
frischt werden, indem man nur einen neuen Wert ins Sollwert–Wort schreibt. Fri-
schen Sie den Sollwert auf, indem Sie INT(89) mit C1=003 ausführen (C1=004
für einen Aufwärtszähler).
Ein Zählmodus–Interrupt kann maskiert werden, indem Sie INT(89) mit C1=000
ausführen und das entsprechende Bit in C2 auf 1 setzen; ein Eingang arbeitet im
eingangsgesteuerten Interrupt–Modus nicht im Zählmodus, wenn das entspre-
chende Bit in C2 auf 0 gesetzt wird.
Maskierung oder Alle Interrupts (eingangsgesteuerte Interrupts, Intervall–Zeitgeber–gesteuerte
Demaskieren aller Interrupts und zählergesteuerte Interrupts) können als Gruppe maskiert oder
Interrupts demaskiert werden, indem Sie INT(89) mit C1=100 oder C1=200 ausführen.
(C1=100 oder C1=200)
Maskierte, eingangsgesteuerte Interrupts werden gespeichert, aber nicht aus-
geführt.
Die globale Maske wird zusätzlich zu beliebigen Masken auf die individuellen
Interrupt–Arten angewendet. Überdies löscht das Zurücksetzen der Masken al-
ler Interrupts nicht die Masken der individuellen Interrupt–Arten, aber stellt für
diese die maskierenden Bedingungen wiederher, die existierten, bevor INT(89)
ausgeführt wurde, um sie als Gruppe zu maskieren.
Verwenden Sie nicht INT(89), um Interrupts zu maskieren, es sei denn, dass es
erforderlich ist, alle Interrupts vorläufig zu maskieren. Verwenden Sie
INT(89)–Befehle immer in Paaren; verwenden Sie den ersten INT(89)–Befehl,
um alle Interrupts zu maskieren und den zweiten Befehl, um alle zu demaskie-
ren.
INT(89) kann nicht dazu verwendet werden, alle Interrupts innerhalb von Inter-
rupt–Routinen zu maskieren und diese zu demaskieren.

483
Interrupt–Verarbeitungsbefehle Abschnitt 7-29

Maskieren von Interrupts (C1=100)


Verwenden Sie den INT(89)–Befehl mit C1=100, um alle Interrupts zu maskie-
ren.

(@)INT(89)
100
000

000

Wird ein Interrupt generiert, während Interrupts maskiert werden, wird die Inter-
rupt–Verarbeitung nicht ausgeführt, aber der Interrupt wird für den Eingang, den
Intervall–Zeitgeber und den Schnellen Zähler gespeichert. Die Interrupts wer-
den ausgeführt, sobald die Interrupts demaskiert sind.
Demaskieren von Interrupts (C1=200)
Verwenden Sie den INT(89)–Befehl mit C1=200 , um Interrupts wie folgt zu de-
maskieren:

(@)INT(89)
200
000

000

Merker ER: Eine Datenbereichsgrenze wird überschritten.


Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des *DM–
Wortes ist nicht im BCD–Format oder die Datenbereichsgrenze wurde
überschritten).
C1 ist nicht auf 000 bis 004,100 oder 200 gesetzt.
C2 ist nicht auf 0000 bis 000F gesetzt.
INT(89) wurde mit C1=100 oder C1=200 ausgeführt, während ein Inter-
rupt–Programm ausgeführt wurde.
INT(89) wurde mit C1=100 ausgeführt, nachdem schon alle Interrupts
maskiert wurden.
C1=200, wenn bereits alle Interrupts demaskiert wurden.

7-29-2 INTERVAL TIMER (Intervall–Zeitgeber) – STIM(69)


Kontaktplan–Symbol Datenbereiche
C1: Steuerdaten #1
STIM (69) @STIM(69)
000, 003, 006, 010
C1 C1
C2: Steuerdaten #2
C2 C2
IR, SR, AR, DM, HR, TC, LR, #
C3 C3
C3: Steuerdaten #3

IR, SR, AR, DM, HR, TC, LR, #

Hinweis STIM(69) ist ein Erweiterter Befehl in der CPM2A/CPM2C und SRM1(–V2). Der
Funktions–Code 69 ist werkseitig voreingestellt und kann, falls gewünscht, ge-
ändert werden.

Beschränkungen C1 muss auf 000, 003, 006 oder 010 gesetzt sein.
Ist C1=000 oder 003, stellt C3 eine Unterprogrammnummer (BCD–Wert) bis zu
0049 dar.

484
Interrupt–Verarbeitungsbefehle Abschnitt 7-29

Ist C1=006, können keine Konstanten für C2 oder C3 verwendet werden.


Ist C1 = 010, müssen sowohl C2 als auch C3 auf 000 gesetzt werden.
Erläuterungen STIM (69) steuert mit Hilfe von vier Basisfunktionen die Intervall–Zeitgeber:
Starten des Zeitgebers im Wischermodus (einmalig), Starten des Zeitgebers mit
zeitgesteuertem, periodischen Interrupt, Anhalten des Zeitgebers und Lesen
des Zeitgeber–Istwertes. Spezifizieren Sie den Wert von C1 entsprechend dem
in der nachfolgenden Tabelle gezeigten Code, um die jeweilige Funktion auszu-
führen. Sehen Sie Kapitel 2 Besonderheiten für eine detailliertere Beschreibung
der Intervall–Zeitgeber–Interrupts. STIM(69) wird nach der Tabelle in Einzelhei-
ten beschrieben.
C1–Wert Funktion
000 Startet den Wischer–Interrupt–Zeitgeber (einmalig)
003 Startet den zeitgesteuerten Interrupt–Zeitgeber (periodisch)
006 Liest den Zeitgeber–Istwert
010 Stoppt den Zeitgeber

Starten des Setzen Sie C1 auf 000, um den Wischer–Interrupt–Zeitgeber (einmalig) zu akti-
Interrupt–Zeitgebers vieren. Setzen Sie C1 auf 003, um den zeitgesteuerten Interrupt–Zeitgeber (pe-
(C1= 000 oder 003) riodisch) zu starten.
C2, das den Sollwert des Zeitgebers spezifiziert, kann als Konstante eingege-
ben werden oder als Adresse des ersten von zwei Worten, die den entsprechen-
den Sollwert enthalten. Die Einstellungen unterscheiden sich je nach ange-
wandter Methode geringfügig.
C2 = Konstante
Ist C2 eine Konstante, spezifiziert sie den Sollwert des Abwärtszählers als
BCD–Wert. Der Einstellbereich beträgt 0000 bis 9999 (0 bis 9.999 ms). (Die
Zeiteinheit beträgt 1 ms.)
C3 spezifiziert die Unterprogrammnummer: 0000 bis 0049.
C2 = Wortadresse
Ist C2 eine Wortadresse, enthält C2 den Sollwert des Abwärtszählers (BCD–
Wert, 0000 bis 9999).
Der Inhalt von C2+1 spezifiziert die Zeiteinheiten (BCD–Wert, 0005 bis 0320) in
Einheiten von 0,1 ms. so daß es Werte zwischen 0,5 bis 32 ms einnehmen kann.
Der Zeitgeber–Sollwert ist: (Inhalt von C2) Z (Inhalt von C2+1) ms Z 0,1 ms
C3 spezifiziert die Unterprogrammnummer: 0000 bis 0049.
Lesen des Setzen Sie C1 auf 006, um den Zeitgeber–Istwert zu lesen.
Zeitgebers–Istwertes C2 spezifiziert das erste von zwei Zielworten, die die Adressaten der Istwerte
(C1=006)
der Zeitgebers darstellen. C2 enthält den Zählwert des Abwärtszählers (BCD,
0000 bis 9999) und C2+1 die Zeiteinheiten (BCD in 0,1 ms–Einheiten).
C3 spezifiziert das Zielwort, in dem die Zeit gespeichert wird, die seit dem letzten
Dekrementieren des Zeitgebers vergangen ist (BCD in 0,1 ms–Schritten).
Hinweis Die Gesamtzeit, die seit dem Start des Zeitgebers verstrichen ist, berechnet
sich wie folgt:
((Inhalt von C2) Z (Inhalt von C2 +1)) + ((Inhalt von C3) Z 0,1 ms.

Anhalten des Zeitgebers Setzen Sie C1 auf 010, um den Zeitgeber anzuhalten. C2 und C3 haben in die-
(C=010) sem Zusammenhang keine Funktion und sollten auf 000 gesetzt werden.

Merker ER: C1 ist nicht auf 000, 003, 006 oder 010 gesetzt.
Eine spezifizierte Unterprogrammnummer liegt nicht zwischen 0000
und 0049.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwortbe-
reichsgrenze wurde überschritten).
Eine Datenbereichsgrenze wurde überschritten.

485
Kommunikationsbefehle Abschnitt 7-30

7-30 Kommunikationsbefehle
7-30-1 RECEIVE (Empfangen) – RXD(47)
Kontaktplan–Symbol Datenbereiche
D: Erstes Zielwort
RXD(47) @RXD(47)
IR, SR, AR, DM, HR, TC, LR
D D
C: Steuerwort
C C
#
N N
N: Byteanzahl

IR, SR, AR, DM, HR, TC, LR, #

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C und SRM1(–V2) verfügbar.
D und D+(N÷2)–1 müssen sich im gleichen Datenbereich befinden.
Der Datenwortbereich DM 6144 bis DM 6655 kann nicht für D oder N verwendet
werden.
N muss ein BCD–Wert zwischen #0000 und #0256 sein (#0000 bis #0061 in der
Host–Link–Betriebsart).
Erläuterungen Ist die Ausführungsbedingung FALSCH, wird RXD(––) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, liest RXD(––) N Datenbytes, die über die im
Steuerwort spezifizierte Schnittstelle empfangen wurden und speichert die Da-
ten in den Worten D bis D+(N÷2)–1. Es können maximal 256 Datenbytes auf ein-
mal gelesen werden.
Werden weniger als N Bytes empfangen, wird nur die empfangene Anzahl von
Bytes gelesen.
Hinweis Sehen Sie Abschnitt 4-1 Kommunikationsfunktionen für weitere Informationen
über den RXD(47)–Befehl, Kommunikationseinstellungen, usw.

! Vorsicht Werden die empfangenen Daten nicht über den RXD(––)–Befehl gelesen, kann
die SPS nach Übertragung von 256 Bytes keine weiteren Daten mehr empfan-
gen. Nach dem Setzen des EMPFANG–ABGESCHLOSSEN–Merkers (AR
0806 für die RS–232C–Schnittstelle und AR 0814 für die Peripherieschnitt-
stelle) sollten die betreffenden Daten daher möglichst bald gelesen werden.

Steuerwort Der Wert des Steuerwortes spezifiziert die Schnittstelle, von der Daten gelesen,
sowie die Reihenfolge, in der die Daten in den Speicher übertragen werden.
Stellen: 3 2 1 0

Byte–Reihenfolge
0: Die höchstwertigen Bytes zuerst
1: Die geringstwertigen Bytes zuerst
Nicht verwendet (auf Null gesetzt)

Schnittstelle
0: RS-232C–Schnittstelle
1: Peripherieschnittstelle

486
Kommunikationsbefehle Abschnitt 7-30

Die Reihenfolge, in der die Daten in den Speicher übertragen werden, ist vom
Wert der Stelle 0 des Steuerwortes C abhängig. Die acht Datenbytes
12345678... werden folgendermaßen gespeichert:
Stelle 0 = 0 Stelle 0 = 1
MSB LSB MSB LSB
D 1 2 D 2 1
D+1 3 4 D+1 4 3
D+2 5 6 D+2 6 5
D+3 7 8 D+3 8 7

Merker ER: Die Einstellungen in C sind nicht richtig.


N ist größer als 256.
Die SPS–Konfiguration ist nicht auf den Ohne–Protokoll–Modus einge-
stellt.
RXD (47) wird bereits ausgeführt.
AR 08: AR 0806 wird gesetzt, wenn Daten über die RS–232C–Schnittstelle
ohne Fehler empfangen wurden und wird nach der Ausführung von
RXD(47) zurückgesetzt.
AR 0814 wird gesetzt, wenn Daten über die Peripherieschnittstelle
ohne Fehler empfangen wurden und wird nach der Ausführung von
RXD(47) zurückgesetzt.
AR 09: Enthält die Anzahl der Bytes, die über die RS–232C–Schnittstelle emp-
fangen wurden, und wird nach der Ausführung von RXD(47) auf 0000
zurückgesetzt.
AR 10: Enthält die Anzahl der Bytes, die über die Peripherieschnittstelle emp-
fangen wurden, und wird nach der Ausführung von RXD(47) auf 0000
zurückgesetzt.

Hinweis Kommunikationsmerker und Zähler werden durch Spezifikation von 0000 für N
oder über die Schnittstellen–Rücksetzbits (SR 25208 für die Peripherie– und
SR 25209 für die RS–232C–Schnittstelle) zurückgesetzt.

7-30-2 TRANSMIT (Daten senden) – TXD(48)


Kontaktplan–Symbol Datenbereiche
S: Erstes Quellwort
TXD(48) @TXD(48)
IR, SR, AR, DM, HR, TC, LR
S S
C: Steuerwort
C C
#
N N
N: Byteanzahl

IR, SR, AR, DM, HR, TC, LR, #

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C und SRM1(–V2) verfügbar.
S und S+(NP2)–1 müssen sich im gleichen Datenbereich befinden.
Der Datenwortbereich DM 6144 bis DM 6655 kann für S oder N nicht verwendet
werden.
N muss ein BCD–Wert zwischen #0000 und #0256 sein (#0000 bis #0061 in der
Host–Link–Betriebsart).
Erläuterungen Ist die Ausführungsbedingung FALSCH, wird TXD(48) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, liest TXD(48) N Datenbytes von den Worten S

487
Kommunikationsbefehle Abschnitt 7-30

bis zu S+(N÷2)–1, konvertiert diese in ASCII und gibt die Daten über die spezifi-
zierte Schnittstelle aus. Die Funktionsweise von TXD(48) ist von der Betriebsart
(Host–Link bzw. R–232C) abhängig. Daher werden diese einzeln beschrieben.
Hinweis 1. Der Merker AR 0805 wird gesetzt, wenn die SPS Daten über die RS–232C–
Schnittstelle übertragen kann. Ist AR 0813 gesetzt, kann die SPS Daten
über die Peripheriegeräteschnittstelle übertragen.
2. Sehen Sie Abschnitt 4-1 Kommunikationsfunktionen für weitere Informatio-
nen über den RXD(47)–Befehl, Kommunikationseinstellungen, usw.
Host–Link–Betriebsart N muss ein BCD–Wert zwischen #0000 bis #0061 (d.h. bis zu 122 Bytes im
ASCII–Format) enthalten. Der Wert des Steuerwortes bestimmt die Schnitt-
stelle, über die Daten ausgegeben werden (siehe folgende Abbildung).
Stellen: 3 2 1 0

Nicht verwendet (auf 000 gesetzt).

Schnittstelle 0: spezifiziert RS-232C.


1: spezifiziert Peripherieschnittstelle

Die spezifizierte Byteanzahl wird aus S bis S+(N/2)–1 gelesen und über die spe-
zifizierte Schnittstelle übertragen. Die Bytes der nachfolgend dargestellten
Quelldaten werden in der Reihenfolge: 12345678... übertragen.
MSB LSB
S 1 2
S+1 3 4
S+2 5 6
S+3 7 8

Die folgende Abbildung zeigt das Format des von der CPM2A/CPM2C gesen-
deten Host–Link–Befehls (TXD). Präfixe und Suffixe, wie z.B. Teilnehmernum-
mern, Header und Rahmenprüfsumme, werden von der CPM2A/CPM2C auto-
matisch generiert.

@ E X ......... ∗ CR

Stations– Header Daten (max. 122 ASCII–Zeichen) Rahmen Abschluß–


Nummer Code prüfsumme zeichen

RS-232C–Betriebsart N muss ein BCD–Wert zwischen #0000 und #0256 sein. Der Wert des Steuer-
wortes bestimmt die Schnittstelle, über die Daten ausgegeben, sowie die Rei-
henfolge, in der die Daten übertragen werden.
Steuerwort Der Wert des Steuerwortes spezifiziert die Schnittstelle, über die die Daten ge-
sendet sowie die Reihenfolge, in der die Daten übertragen werden.
Stellen: 3 2 1 0

Byte–Reihenfolge
0: Höchstwertige Bytes zuerst
1: Niederwertige Bytes zuerst

Nicht verwendet (auf Null gesetzt).

Schnittstelle
0: spezifiziert RS-232C.
1: spezifiziert Peripherieschnittstelle

488
Kommunikationsbefehle Abschnitt 7-30

Die spezifizierte Anzahl der Bytes wird aus S bis S+(N/2)–1 gelesen und über
die definierte Schnittstelle übertragen.
MSB LSB
S 1 2
S+1 3 4
S+2 5 6
S+3 7 8

Enthält Stelle 0 des Wortes C eine 0, werden die Bytes der zuvor dargestellten
Quelldaten in der Reihenfolge 12345678... übertragen.
Enthält Stelle 0 des Wortes C eine 1, werden die Bytes der zuvor dargestellten
Quelldaten in der Reihenfolge 21436587... übertragen.
Hinweis Werden Start– und Endecodes spezifiziert, muss die gesamte Datenlänge,
einschließlich der Start– und Endecodes, maximal 256 Bytes betragen.

Merker ER: Die Einstellungen in C sind nicht richtig.


N beträgt mehr als 256 für den Ohne–Protokoll–Modus oder mehr als
61 für den für Host–Link–Modus.
Die SPS–Konfiguration ist nicht auf den richtigen Kommunikationsmo-
dus eingestellt.
Indirekt adressiertes DM–Wort ist nicht vorhanden. (Der Inhalt des
*DM–Wortes liegt nicht im BCD–Format vor oder die Datenwortbe-
reichsgrenze wurde überschritten).
TXD(48) wird bereits ausgeführt.
AR 08: AR 0805 wird gesetzt, wenn Daten über die RS–232C–Schnittstelle
übertragen werden können. AR 0813 wird gesetzt, wenn Daten über die
Peripherieschnittstelle übertragen werden können.

7-30-3 CHANGE RS-232C SETUP (RS–232C–Konfiguration ändern) –


STUP(––)
Kontaktplan–Symbol Datenbereiche
N: RS-232C–Spezifikation
STUP(––) @STUP(––)
000
N N
S: Erstes Quellwort
S S
IR, SR, AR, DM, HR, LR, #
– – Der dritte Operand wird ignoriert.

Beschränkungen Dieser Befehl ist nur in der CPM2A/CPM2C und SRM1(–V2) verfügbar.
N muss den Wert 000 besitzen.
S und S+4 müssen sich im gleichen Datenbereich befinden.
(S kann auf #0000 gesetzt werden, um die RS–232C–Schnittstelle auf die Vor-
gabewerte zurückzusetzen.)
STUP(––) kann nicht in einem Unterprogramm ausgeführt werden.
Erläuterungen Ist die Ausführungsbedingung FALSCH, wird STUP(––) nicht ausgeführt. Ist die
Ausführungsbedingung WAHR, ändert STUP(––) die Konfigurationseinstellun-
gen für die integrierte RS–232C–Schnittstelle. Die Einstellungen werden in der
SPS–Konfiguration geändert, aber sie werden nicht in Flash–Speicher ge-

489
Kommunikationsbefehle Abschnitt 7-30

schrieben, bis die SPS in die PROGRAM–Betriebsart umgeschaltet (von der


RUN– oder MONITOR–Betriebsart) oder die SPS aus– und anschließend wie-
der eingeschaltet wird.
In SPS–Systemen der CPM2A/CPM2C und SRM1(–V2) Serien muss N=000
sein, da STUP(––) nur die RS–232C–Einstellungen für die integrierte
RS–232C–Schnittstelle (DM 6645 bis DM 6649) ändern kann.
Wenn S eine Wortadresse ist, wird der Inhalt von S bis S+4 nach DM 6645 bis
DM 6649 kopiert.
Wird S als Konstante #0000 eingegeben, werden die Einstellungen für die inte-
grierte RS–232C–Schnittstelle auf die Vorgabewerte zurückgesetzt.
S Funktion
Wortadresse Der Inhalt von S bis S+4 wird nach DM 6645 bis DM 6649 ko-
piert.
Konstante Die Einstellungen in DM 6645 bis DM 6649 werden auf ihre
(#0000) Standardwerte zurückgesetzt.

Hinweis 1. Der RS–232C–Konfiguration ändern–Merker (SR 25312) ist akti-


viert, während STUP(––) ausgeführt wird; er wird deaktiviert, wenn
STUP(––) beendet ist.
2. In der CPM2A/CPM2C tritt ein Fehler auf und STUP(––) wird nicht ausge-
führt, wenn der Kommunikationsschalter auf der Vorderseite der CPU–Bau-
gruppe eingeschaltet ist. Ist dieser Schalter eingeschaltet, wird die
RS–232C–Kommunikation durch die Vorgabeeinstellungen bestimmt.
Anwendungsbeispiel Das nachfolgende Beispiel zeigt ein Netzwerk, dass den Inhalt des Datenbe-
reichs DM 100 bis DM 0104 in den SPS–Konfigurationsbereich für die
RS–232C–Schnittstelle überträgt.
00000
Adresse Befehl Operanden
@STUP(––)
00000 LD 00000
000
00001 @STUP(––)
DM 0100
000
000
DM 0100
–––

Die Einstellungen werden, wie nachfolgend dargestellt, übertragen. Der


RS–232C–Konfiguration ändern–Merker (SR 25312) wird nach erfolgter Daten-
übertragung zurückgesetzt.
Die folgende Tabelle zeigt die Funktionen der übertragenen Konfigurationsda-
ten.
Quell- Zielwort Inhalt Funktion
wort
DM 0100 DM 6645 1001 Aktiviert die Kommunikationseinstellungen in
DM 0101 und stellt den Kommunikationsmo-
dus auf Ohne–Protokoll ein.
DM 0101 DM 6646 0803 Stellt die folgenden Kommunikationspara-
meter ein:
9.600 Baud, 1 Startbit, 8 Datenbits, 1 Stop-
bit, keine Parität
DM 0102 DM 6647 0000 Keine Übertragungsverzögerung (0 ms)
DM 0103 DM 6648 2000 Aktiviert den End–Code CR,LF.
DM 0104 DM 6649 0000 (Keine Funktion, wenn DM 6648 auf 2000
eingestellt wird.)

Merker ER: Indirekt adressiertes DM–Wort ist nicht vorhanden. (Inhalt des *DM–
Wortes liegt nicht als BCD–Zahl vor oder die Datenbereichsgrenze
wurde überschritten).
Der Schnittstellenbezeichner (N) ist nicht 000.
In der CPM2A/CPM2C ist der Kommunikationsschalter auf der Vorder-
seite der CPU–Baugruppe eingeschaltet.

490
Kommunikationsbefehle Abschnitt 7-30

Ein anderer STUP(––)–Befehl oder die Befehlsabarbeitung wird bereits


ausgeführt.
Das spezifizierte Quellwort überschreitet die Bereichsgrenze.
Der Befehl wird von einem Unterprogramm ausgeführt.
Das SPS–Konfiguration ist schreibgeschützt.

491
Kapitel 8
SPS–Betrieb und –Verarbeitungszeiten
Dieser Abschnitt beschreibt die interne Verarbeitung der CPM1, CPM1A, CPM2A, CPM2C und SRM1 (–V2) sowie die für
die Verarbeitung und Ausführung erforderliche Zeit. Sehen Sie diesen Abschnitt für eine Beschreibung des Zeitverhaltens der
SPS–Funktionen.

8-1 CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . 494


8-1-1 Der CPM1/CPM1A–Zyklus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
8-1-2 CPM1/CPM1A–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
8-1-3 E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
8-1-4 1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
8-1-5 Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
8-1-6 Befehlsausführungszeiten der CPM1/CPM1A . . . . . . . . . . . . . . . . . . . 500
8-2 CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . 505
8-2-1 CPM2A/CPM2C–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
8-2-2 E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
8-2-3 1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
8-2-4 Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
8-2-5 Befehlsausführungszeiten der CPM2A/CPM2C . . . . . . . . . . . . . . . . . . 510
8-3 SRM1(–V2)–Zyklus– und E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
8-3-1 Der SRM1(–V2)–Zyklus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
8-3-2 SRM1(–V2)–Zykluszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
8-3-3 E/A–Reaktionszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
8-3-4 1:1–PC–Link–E/A–Ansprechzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
8-3-5 Interrupt–Verarbeitungszeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
8-3-6 SRM1(-V2)–Befehlsausführungszeiten . . . . . . . . . . . . . . . . . . . . . . . . 525

493
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

8-1 CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit


8-1-1 Der CPM1/CPM1A–Zyklus
Der gesamte Ablauf der CPM1/CPM1A–Verarbeitung ist im folgenden Ablauf-
diagramm dargestellt.

Anlegen der Vers.spannung

Initialisierungsprozesse Initialisierung

Hardware und Programm-


speicher überprüfen

Nein
Überprüfung OK?
Betriebs–
vorgänge
Ja

Zykluszeit–Überwachungszeit
Fehlermerker setzen und
einstellen
Anzeigen aktivieren

ALARM
(blinkt) Anwenderprogramm ausführen
FEHLER oder ALARM?

Nein Programm-
Programmende? ausführung
ERROR–LED
(leuchtet)

Ja

Zykluszeiteinstellung überprüfen
Zy-
Minimale klus-
Nein zeit
Zykluszeit einge-
stellt?

Ja Zykluszeit–
abarbeitung
Warten, bis Mindestzykluszeit
vergangen ist.

Zykluszeit berechnen

Eingangsmerker und Ausgän-


gen auffrischen E/A–Auffri-
schung

Service der Peripherieschnittstellen Service der


Peripherie-
schnittstelle

Hinweis Initialisierungsprozesse beinhalten das Löschen von IR–, SR– und AR–Berei-
chen, das Voreinstellen der Systemzeitgeber und das Überprüfen der E/A–Bau-
gruppen.

494
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

8-1-2 CPM1/CPM1A–Zykluszeit
Die Prozesse, die in einem einzelnen CPM1/CPM1A–Zyklus enthalten sind,
sind in der folgenden Tabelle dargestellt und ihre jeweiligen Verarbeitungszeiten
werden beschrieben.
Prozess Inhalt Erforderliche Zeit
Betriebsvorgang Einstellung des Zykluszeit–Watchdog–Zeitgebers, E/A– 0,6 ms
Bus–Überprüfung, Überprüfung des Programmspeicherbe-
reichs, Uhrauffrischung, Auffrischung der den neuen Funk-
tionen zugewiesenen Bits usw.
Programmausführung Ausführung des Anwenderprogramms Gesamtzeit für die Befehlsausführung
(diese ändert sich in Abhängigkeit von
dem Inhalt des Anwenderprogramms.)
Zykluszeit–Berechnung Bereitschaftsbetrieb (Stand–by) bis zur spezifizierten Zeit, Die Berechnung erfolgt fast unmittelbar
wenn die Mindest–Zykluszeit in der Konfiguration in DM (gilt nicht für den Bereitschaftsbetrieb).
6619 spezifiziert wird.
Berechnung der Zykluszeit.
E/A–Auffrischung Die Eingangsdaten der Eingangsbaugruppen werden in den CPU mit 10 Anschlüsse:0,06 ms
Eingangsbits gespeichert.Die Ausgangsdaten (Ergebnisse CPU mit 20 Anschlüsse:0,06 ms
der Programmausführung) werden in den Ausgangsbits der CPU mit 30 Anschlüsse:0,3 ms
Ausgangsbaugruppen gespeichert. Erweiterungs–E/A–Baugruppen
0,3 ms
Service der Peripherie- Bearbeitung der mit der Peripherieschnittstelle verbunde- min. 0,26 ms, 5% der Zykluszeit oder ein-
schnittstelle nen Geräte. stellbar bis zu 66 ms (sehen Sie den Hin-
weis)

Hinweis Die Prozentwerte können in der Konfiguration (DM 6617) geändert werden.

Zykluszeit und Betrieb Der Einfluss der Zykluszeit auf den CPM1/CPM1A–Betrieb ist in der folgenden
Tabelle dargestellt. Beeinflußt eine lange Zykluszeit den Betrieb, kann entwe-
der die Zykluszeit verringert oder die Ansprechzeit mit Interrupt–Programmen
verbessert werden.
Zykluszeit Betriebsbedingungen
10 ms oder länger Bei Verwendung der Zeitgeber/Zähler TC 004 bis TC 127 wird TIMH(15) möglicherweise mit geringerer Präzi-
sion ausgeführt. (Bei Verwendung von TC 000 bis TC 003 ist ein normaler Betrieb gewährleistet).
20 ms oder länger Die Programmierung ist bei Verwendung des 0,02 s–Taktbits (SR 25401) möglicherweise ungenau.
100 ms oder länger TIM ist evtl. ungenau. Die Programmierung ist bei Verwendung des 0,1 s–Taktbits (SR 25500) möglicher-
weise ungenau. Ein Fehler (Zykluszeit–Überschreitung) wird generiert (SR 25309 wird gesetzt – sehen Sie
Hinweis 1).
120 ms oder länger Der Sollwert der Zyklus–Überwachungszeit wird überschritten und und ein Systemfehler (FALS 9F) generiert,
der den Betrieb stoppt. (Sehen Sie Hinweis 2).
200 ms oder länger Die Programmierung ist bei Verwendung des 0,2 s–Taktbits (SR 25501) möglicherweise ungenau.

Hinweis 1. Die Erkennung der Zykluszeit–Überschreitung kann in der Konfiguration


(DM 6655) deaktiviert werden.
2. Die Zyklus–Überwachungszeit kann in der Konfiguration (DM 6618) geän-
dert werden.
Berechnung der Zykluszeit In diesem Beispiel wird die Zykluszeit für eine CPM1/CPM1A mit 20 Ein–/Aus-
gängen (12 Eingänge und 8 Ausgänge) berechnet. Folgende E/A–Konfigura-
tion wird verwendet:
Eingänge: 1 Wort (00000 bis 00011)
Ausgänge: 1 Wort (01000 bis 01007)
Weiterhin werden folgende Betriebsbedingungen vorausgesetzt:
Programmspeicher: 500 Befehle (nur bestehend aus LD und OUT)
Zykluszeit: Variabel (kein Minimum spezifiziert)

495
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

In diesem Beispiel wird vorausgesetzt, dass die durchschnittliche Verarbei-


tungszeit für einen einzelnen Befehl in dem Anwenderprogramm 2,86 µs be-
trägt. Die Zykluszeiten sind in der nachfolgendenTabelle dargestellt.
Prozess Berechnung Zeit mit Zeit ohne
Programmiergerät Programmiergerät
1. Betriebsvorgänge Fest 0,6 ms 0,6 ms
2. Programmausführung 2,86 × 500 (µs) 1,43 ms 1,43 ms
3. Zykluszeit–Berechnung Vernachlässigbar 0 ms 0 ms
4. E/A–Auffrischung 0,01 × 1 + 0,05 × 1 (ms) 0,06 ms 0,06 ms
5. Service der Peripherie- Mindestzeit 0,26 ms 0 ms
schnittstelle
Zykluszeit (1) + (2) + (3) + (4) + (5) 2,35 ms 2,09 ms

Hinweis 1. Die Zykluszeit der SPS kann über ein Programmiergerät angezeigt werden.
2. Die maximale und die aktuelle Zykluszeit wird in AR 14 und AR 15 ge–spei-
chert.
3. Die Zykluszeit hängt von den tatsächlichen Betriebsbedingungen ab und
stimmt möglicherweise nicht mit dem berechneten Wert überein.

8-1-3 E/A–Ansprechzeit
Die E/A–Ansprechzeit ist die Zeit, die die SPS nach dem Empfang eines Ein-
gangssignals (d.h. nach dem Setzen eines Eingangsbits) zur Überprüfung und
Verarbeitung der Daten sowie zur Ausgabe eines Steuersignals (zur Ausgabe
des Verarbeitungsergebnisses an ein Ausgangsbit) benötigt. Die E/A–An-
sprechzeit ist vom Zeitverhalten und von den Verarbeitungsbedingungen ab-
hängig.
Die minimalen und maximalen E/A–Ansprechzeiten werden nachfolgend dar-
gestellt. Hierzu wird das folgende Beispielprogramm verwendet.
AUSGANG
Eingang

Zur Berechnung der E/A–Ansprechzeiten werden in diesem Beispiel die folgen-


den Bedingungen vorausgesetzt:
Eingang–EIN–Verzögerung: 8 ms (Eing.–Zeitkonstante:
Vorgabeeinstellung)
Überwachungszeit: 1 ms (einschl. E/A–Auffrischung für
CPM1A)
Befehlsausführungs–Zeit: 14 ms
Ausgangs–EIN–Verzögerung: 10 ms
Peripherieschnittstelle: Nicht verwendet
Minimale E/A–Ansprechzeit Die minimale Ansprechzeit ist gegeben, wenn die CPM/CPM1A unmittelbar vor
der Eingangsauffrischung, innerhalb des Zyklus, ein Eingangssignal empfängt.
Diese ist in der folgenden Abbildung dargestellt.
Ein–
gangs–
anschluss Eingang–EIN–Verzögerung (8 ms)

Ein–
gangs-
bit
E/A–Auffrischung Programmausführung und andere E/A–Auffrischung
Vorgänge (15 ms)
Ausgang–EIN–Verzögerung (10 ms)

Aus–
gangs–
anschluss Minimale–E/A–Ansprechzeit = 8+15+10 = 33 ms

496
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

Maximale E/A–Ansprechzeit Die maximale Ansprechzeit ist gegeben, wenn die CPM1/CPM1A unmittelbar
nach der Eingangsauffrischung, innerhalb des Zyklus, ein Eingangssignal emp-
fängt (sehen Sie die folgende Abbildung). In diesem Fall tritt eine Verzögerung
von ungefähr einem Zyklus auf.
Ein–
gangs–
an–
Eingang–EIN–Verzögerung (8 ms)
schluss
Ein–
gangs-
bit
Programmausführung Programmausführung
E/A–Auffrischung und andere E/A–Auffrischung und andere E/A–Auffrischung
Vorgänge (15 ms) Vorgänge (15 ms)

Ausgang–EIN–Verzögerung (10 ms)


Aus-
gangs-
an-
schluss
Maximale E/A–Ansprechzeit = 8+15 × 2+10 = 48 ms

8-1-4 1:1–PC–Link–E/A–Ansprechzeit
Werden zwei CPM1/CPM1A–Steuerungen in der 1:1–Kommunikation verwen-
det, ist die E/A–Ansprechzeit die Zeit vom Anlegen eines Eingangssignals an
die eine CPM1/CPM1A bis zur Ausgabe eines Signals an die andere
CPM1/CPM1A.
Die minimalen und maximalen E/A–Ansprechzeiten werden nachfolgend am
Beispiel der folgenden, auf dem Master und dem Slave ausgeführten Befehle
erläutert. In diesem Beispiel erfolgt die Kommunikation vom Master zum Slave.

Master Slave

Eingang Eingang (LR)


Aus-
gang AUS-
(LR) GANG

Zur Berechnung der E/A–Ansprechzeiten werden in diesem Beispiel die folgen-


den Bedingungen vorausgesetzt: In der SPS der Serie CPM1/CPM1A werden
die LR–Bereichsworte LR 00 bis LR 15 in einer 1:1–Verbindung verwendet und
die Übertragungszeit ist auf 12 ms festgelegt.
Eingang–EIN–Verzögerung: 8 ms (Eing.–Zeitkonstante:
Vorgabeeinstellung)
Master–Zykluszeit: 10 ms
Slave–Zykluszeit: 15 ms
Ausgang–EIN–Verzögerung: 10 ms
Peripherieschnittstelle: Nicht verwendet
Minimale E/A–Ansprechzeit Die minimale Ansprechzeit der CPM1/CPM1A ist unter den folgenden Bedin-
gungen gegeben:
1, 2, 3... 1. Die CPM1/CPM1A empfängt ein Eingangssignal unmittelbar vor der Ein-
gangsauffrischung innerhalb des Zyklus.
2. Die Master/Slave–Übertragung beginnt sofort.

497
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

3. Der Kommunikations–Service des Slave tritt unmittelbar nach Abschluss


der Übertragung ein.

Eingangs– E/A–Auffrischung
anschluss
Eingang–EIN–Verzögerung (8 ms) Betriebssystem, Kommunikation usw.

Ein–
gangsbit
Master

CPU– Programm-
Verarbeitung ausführung

Master–Zykluszeit (10 ms)


Master ⇒ Slave

Übertragungszeit (12 ms)

CPU– Programm-
Verarbeitung ausführung

Ausgang–EIN–Verzögerung
Slave Slave–Zykluszeit (15 ms) (10 ms)

Ausgangs–
anschluss
Min. E/A–Ansprechzeit = 8+10+12+15+10 = 55 ms

Berechnungsformel = Eingang–EIN–Ansprechzeit + die Zykluszeit des Masters


+ Zykluszeit des Slaves + Ausgang–EIN–Ansprechzeit
Maximale E/A–Ansprechzeit Die maximale Ansprechzeit der CPM1/CPM1A ist unter den folgenden Bedin-
gungen gegeben:
1, 2, 3... 1. Die CPM1/CPM1A empfängt ein Eingangssignal unmittelbar nach der Ein-
gangsauffrischung innerhalb des Zyklus.
2. Die Master/Slave–Übertragung beginnt mit einer Verzögerung.
3. Die Übertragung ist unmittelbar nachdem der Slave den Kommunikations–
Service ausgeführt hat, abgeschlossen.
Maximale E/A–Ansprechzeit Eingang–EIN–Ansprechzeit + Zykluszeit des Masters x 2 + Übertragungszeit x
3 + Ausgang–EIN–Ansprechzeit
Eingangs–
anschluss E/A–Auffrischung
Eingang–EIN–Ansprechzeit
Service der Peripherieschnittstelle
Master
Ein–
gangsbit

CPU– Progr.– Progr. Progr.– Progr.–


Verarbeitung ausführ. ausführ. ausführ. ausführ.
Master–Zyklus 1 (Datenübertragung entsprechend Eingang)
Übertra- Übertra-
Master ⇒ Slave gungs- Slave ⇒ Master gungs- Master ⇒ Slave Übertragungszeit
zeit zeit

CPU– Progr.– Progr.– Progr.– Progr.–


Verarbeitung ausführ. ausführ. ausführ. ausführ.
Ausgang–AUS–
Slave–Zyklus 1 Slave–Zyklus 2 Slave–Zykl. 3 Ansprechzeit
Slave
Ausgangs-
anschluss
Maximale E/A–Ansprechzeit = 8 + 10 x 2 + 12 x 3 + 15 x 3 + 10 = 119 (ms)

8-1-5 Interrupt–Verarbeitungszeit
In diesem Abschnitt wird die Verarbeitungszeit von der Ausführung eines Inter-
rupts bis zum Aufruf des Interrupt–Unterprogrammes sowie die Zeit vom Ab-
schluss eines Interrupt–Unterprogrammes bis zur Rückkehr in den Ausgangs-
zustand erläutert. Diese Beschreibung gilt für Eingangs–Interrupts, Intervall–
Zeitgeber–Interrupts und Schneller–Zähler–Interrupts.

498
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

1, 2, 3... 1. Interrupt–Auslösung
2. Interrupt–EIN–Verzögerung
3. Bereitschaft bis zum Abschluss der Interrupt–Maskierungsverarbeitung
4. Wechsel zur Interrupt–Verarbeitung
5. Interrupt–Unterprogramm
6. Rückkehr in den Ausgangszustand
In der folgenden Tabelle sind die Zeiten von der Generierung eines Interrupt–Si-
gnals bis zum Aufruf des Interrupt–Unterprogrammes sowie vom Abschluss des
Interrupt–Unterprogrammes bis zur Rückkehr in den Ausgangszustand aufge-
führt.
Spezifikation Beschreibung Zeit
Interrupt–EIN–Verzögerung Verzögerungszeit vom Setzen des Interrupt–Eingangsbits bis zur Ausführung des 100 µs
Interrupts. Diese ist von weiteren Interrupts unabhängig.
Bereitschaft bis zum Zeit, in der Interrupts auf den Abschluss einer laufenden Verarbeitung warten. Dieses Sehen Sie
Abschluss der Interrupt–Maskie- ist bei der Ausführung einer Maskierungs– die nachfol-
rungsverarbeitung verarbeitung der Fall. Sehen Sie die nachfolgende, ausführlichere Beschreibung. gende Be-
schreibung.
Wechsel zur Interrupt– Dies ist die für den Wechsel zu der Interrupt–Verarbeitung erforderliche Zeit. 30 µs
Verarbeitung
Rückkehr Zeit von der Ausführung der RET(93)–Anweisung bis zur Rückkehr in den unterbro- 30 µs
chenen Programmabschnitt.
Maskierungsverarbeitung
Interrupts werden durch die nachfolgende Verarbeitung maskiert. Die Interrupts
bleiben bis zum Abschluss der Verarbeitung während der angegebenen Zeiten
maskiert.
Generierung und Rücksetzung schwerwiegender Fehler:
Bei der Generierung eines geringfügigen Fehlers und der Speicherung des
Fehlerinhalts in der CPM1 bzw. bei der Rücksetzung eines Fehlers werden
Interrupts für maximal 100 µs bis zum Abschluss der Verarbeitung maskiert.
On–line–Editierung:
Erfolgt während des Betriebs eine On–line–Editierung, werden Interrupts
für maximal 600 ms (d.h., Editierung von DM 6144 bis DM 6655) maskiert.
Während dieses Vorgangs kann die Wartezeit der Systemverarbeitung bis
zu maximal 170 µs betragen.
Beispielberechnung In diesem Beispiel wird die Berechnung der Interrupt–Ansprechzeit (d.h. die Zeit
vom Setzen des Interrupt–Eingangs auf EIN bis zum Start der Interrupt–Verar-
beitungsroutine) bei der Verwendung von Interrupts unter den folgenden Bedin-
gungen erläutert.
Minimale Ansprechzeit
Interrupt–Eingang–EIN–Verzögerung: 100 µs
Interrupt–Maskierungs–Bereitschaftszeit: 0 µs
+ Wechsel zur Interrupt–Verarbeitung: 30 µs
Minimale Ansprechzeit: 130 µs
Maximale Ansprechzeit
(Außer für die On–line–Editierung von DM 6144 bis DM6655)
Interrupt–Eingang–EIN–Verzögerung: 100 µs
Interrupt–Maskierungs–Bereitschaftszeit: 170 µs
+ Wechsel zur Interrupt–Verarbeitung: 30 µs
Maximale Ansprechzeit: 300 µs
Zusätzlich zu der im Beispiel berechneten Ansprechzeit muss die für die Aus-
führung des Interrupt–Unterprogramms erforderliche Zeit sowie eine Zeit von
30 µs für die Rückkehr in den unterbrochenen Programmabschnitt berücksich-
tigt werden.

499
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

8-1-6 Befehlsausführungszeiten der CPM1/CPM1A


Die folgende Tabelle enthält die Ausführungszeiten der CPM1/CPM1A–Be-
fehle.
Basisbefehle
Code AWL–Code
Code EIN–Ausfüh-
us ü Bedingungen
ed gu ge (oben:
(obe min,, unten:
u e max.)
a ) AUS–Ausführungszeit (µs)
rungszeit
it (µs)
( ) RSET IL JMP
--- LD 1,72 Beliebig –––
--- LD NOT
--- AND 1,32
--- AND NOT
--- OR
--- OR NOT
--- AND LD 0,72
--- OR LD
--- OUT 4,0
--- OUT NOT

––– SET 5,8


––– RSET 5,9
––– TIM 10,0
0,0 Konstante für Sollwert 16,2 16,0 6,4
:DM für Sollwert 31,4 31 6,4
––– CNT
C 12,5
,5 Konstante für Sollwert 14,1 6,2 6,6
:DM für Sollwert 29,1 6,2 6,6

Befehle mit Funktionsnummern


Code AWL–Code EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
00 NOP 0,36 Beliebig
e eb g
01 END 10,8
02 IL 4,6 2,6
03 ILC 3,6 3,6
04 JMP 4,3 2,4
05 JME 4,7 4,7
06 FAL 38,5 5,5
07 FALS 5,0 5,4
08 STEP 14,9 11,1
09 SNXT 14,2 7,6
10 SFT Rückset- IL JMP
zung
21,9 Mit 1 Wort–Schieberegister 19,7 2,6 2,6
34,1 Mit 10 Worte–Schieberegister 26,5 2,6 2,6
93,6 Mit 100 Worte–Schieberegister 60,1 2,6 2,6
11 KEEP 6,2 Beliebig Rück- IL JMP
setzung
6,1 3,1 3,1
12 CNTR Rückset- IL JMP
zung
25,8 Konstante für Sollwert 16,8 12,2 12,2
41,2 :DM für Sollwert
13 DIFU 11,8 Beliebig Ver– IL JMP
schie-
bung
10,1 12,2 12,2
14 DIFD 11,0
,0 Beliebig SHIFT IL JMP
10,0 9,9 2,3

500
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

Code AWL–Code EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
15 TIMH Rückset- IL JMP
zung
19,0 Reguläre Ausführung, Konstante für Sollwert 25,7
5, 28,4
8, 15,8
5,8
20,2 Interrupt–Ausführung, Konstante für Sollwert
19,0 Normale Ausführung, :DM für Sollwert 41,2
, 43,6
3,6 15,8
5,8
20,2 Interrupt–Ausführung, :DM für Sollwert
16
6 WSFT
S 29,2 Mit 1 Wort–Schieberegister 5,6
40,7 Mit 10 Worte–Schieberegister
1,42 ms Mit 1024 Worte–Schieberegister bei Verwendung von
:DM
17 ASFT
S 29,6 Verschieben eines Wortes 5,6
50,2 Verschieben von 10 Worten
1,76 ms Verschieben von 1023 Worten mit :DM
20
0 CMP
C 15,8 Vergleichen einer Konstanten mit einem Wort 5,6
17,2 Vergleichen von zwei Worten
46,3 Vergleichen von zwei :DM
21 MOV
O 16,3 Übertragen einer Konstanten auf ein Wort 5,6
17,7 Übertragen eines Wortes auf ein anderes Wort
45,5 Übertragen von :DM auf :DM
22 MVN 16,4 Übertragen einer Konstanten auf ein Wort 5,6
17,5 Übertragen eines Wortes auf ein anderes Wort
45,7 Übertragen von :DM auf :DM
23
3 BIN 31,6 Konvertieren eines Wortes in ein Wort 5,6
45,7 Konvertieren von :DM auf :DM
24 BCD
C 29,5 Konvertieren eines Wortes in ein Wort 5,6
57,3 Konvertieren von :DM auf :DM
25
5 ASL
S 17,3 Verschieben eines Wortes 5,5
31,3 Verschieben von :DM
26
6 ASR
S 16,9 Verschieben eines Wortes 5,5
31,1 Verschieben von :DM
27 ROL
O 14,5 Rotieren eines Wortes 5,5
28,5 Rotieren von :DM
28
8 ROR
O 14,5 Rotieren eines Wortes 5,5
28,5 Rotieren von :DM
29
9 COM
CO 18,1 Invertieren eines Wortes 5,5
32,1 Invertieren von :DM
30 ADD 29,5 Konstante + Wort → Wort 5,6
30,9 Wort + Wort → Wort
72,7 :DM + :DM → :DM
31
3 SUB
SU 29,3 Konstante + Wort → Wort 5,6
30,5 Wort – Wort → Wort
72,5 :DM – :DM → :DM
32
3 MUL
U 49,1 Konstante  Wort → Wort 5,6
50,5 Wort  Wort → Wort
95,1 :DM  :DM → :DM
33 DIV 47,7 Wort ÷ Konstante → Wort 5,6
50,9 Wort ÷ Wort → Wort
94,3 :DM ÷ :DM → :DM
34
3 ANDW 27,1 Konstante “ Wort → Wort 5,6
28,7 Wort “ Wort → Wort
70,7 :DM “ :DM → :DM
35 ORW
O 27,1 Konstante V Wort → Wort 5,6
28,7 Word V word → word
70,7 :DM V :DM → :DM
36 XORW
O 27,1 Konstante V Wort → Wort 5,6
28,7 Wort V Wort → Wort
70,5 :DM V :DM → :DM

501
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

Code AWL–Code EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
37
3 XNRW 27,0 Konstante V Wort → Wort 5,6
28,6 Wort V Wort → Wort
70,5 :DM V :DM → :DM
38 INC
C 17,9 Inkrementieren eines Wortes 5,5
31,9 Inkrementieren von :DM
39 DEC
C 18,3 Dekrementieren eines Wortes 5,5
32,3 Dekrementieren von :DM
40 STC 6,3 Beliebig
g 5,5
41 CLC 6,3 5,5
46
6 MSG
SG 21,5 Meldung in Worten 5,5
35,7 Meldung in :DM
50 ADB 30,5 Konstante + Wort → Wort 5,6
32,1 Wort + Wort → Wort
73,9 :DM + :DM → :DM
51
5 SBB
S 30,9 Konstante – Wort → Wort 5,6
32,7 Wort – Wort → Wort
74,5 :DM – :DM → :DM
52
5 MLB 34,7 Konstante  Wort → Wort 5,6
36,3 Wort  Wort → Wort
80,7 :DM  :DM → :DM
53 DVB 35,1 Wort ÷ Konstante → Wort 5,6
36,7 Wort ÷ Wort → Wort
81,1 :DM ÷ :DM → :DM
54
5 ADDL 48,9 Wort + Wort → Wort 5,6
94,7 :DM + :DM → :DM
55 SUBL
SU 48,9 Wort – Wort → Wort 5,6
94,7 :DM – :DM → :DM
56 MULL
U 138,7 Wort  Wort → Wort 5,6
184,3 :DM  :DM → :DM
57
5 DIVL 136,7 Wort ÷ Wort → Wort 5,6
181,3 :DM ÷ :DM → :DM
60 CMPL
C 30,4 Vergleichen von Worten 5,6
60,8 Vergleichen von :DM
61
6 INI 112,0 Ausführen des wortweisen Vergleichs 5,6
126,0 Ausführen des Vergleichs über:DM
48,0 Ende des wortweisen Vergleichs
48,0 Ende des Vergleichs über :DM
120,0 Istwert–Änderung über ein Wort
128,0 Istwert–Änderung über :DM
46,0 Ende der wortweisen Impulsausgabe
60,0 Ende der Impulsausgabe über :DM
62
6 PRV 62,2 Ausgangszuweisung über ein Wort 5,6
78,0 Ausgangszuweisung über :DM

502
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

Code AWL–Code EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
63 CTBL
C 106,3 Zieltabelle mit einem Ziel in Wort und Start 5,6
120,3 Zieltabelle mit einem Ziel in :DM und Start
775,5 Zieltabelle mit 16 Zielen in Worten und Start
799,5 Zieltabelle mit 16 Zielen in :DM und Start
711,5 Bereichstabelle über Wort und Start
722,5 Bereichstabelle in :DM und Start
91,9 Zielltabelle mit 1 Ziel in Worten
106,3 Zieltabelle mit einem Ziel in :DM
693,5 Zieltabelle mit 16 Zielen in Worten
709,5 Zieltabelle mit 16 Zielen in :DM
607,5 Bereichstabelle in Worten
621,5 Bereichstabelle in :DM
64
6 SPED
S 73,6 Spezifizieren einer Konstante 5,6
75,0 Spezifizieren eines Wortes
88,8 Spezifizieren :DM 5,6
65 PULS
U S 62,0 Spezifizieren eines Wortes 5,6
78,0 Spezifizieren :DM
67
6 BCNT
C 52,6 Zählen eines Wortes 5,6
4,08 ms Zählen von 6656 Worten über :DM
68 BCMP 79,6 Vergleichen einer Konstanten, Ergebnisse an ein 5,6
Wort
80,8 Vergleichen eines Wortes, Ergebnisse an ein Wort
123,2 Vergleichen von :DM, Ergebnisse an :DM
69 STIM
S 47,5 Start des wortweise spezifizierten Intervall–Interrupts 5,6
58,7 :DM-weise spezifizierten Monoflop–Inter-
vall–Interrupt starten
47,9 Start des wortweise spezifizierten periodischen Inter-
rupts
59,1 :DM-weise periodischen Interrupt starten
33,5 Lesen des wortweise spezifizierten Zeitgebers
63,5 :DM–weise spezifizierten Zeitgeber lesen
25,7 Stop des wortweise spezifizierten Zeitgebers
54,1 :DM–weise spezifizierten Zeitgeber anhalten
70
0 XFER 45,5 Übertragen einer Konstanten auf ein Wort 5,6
47,1 Übertragen eines Wortes auf ein Wort
1,78 ms Übertragen von 1024 Worten mit Hilfe von :DM
71 BSET
S 28,1 Kopieren einer Konstanten in ein Wort 5,6
38,3 Kopieren einer Wortkonstante in 10 Worte
1,12 ms Kopieren von :DM in 1024 Worte
73
3 XCHG
C G 30,5 Wort → Wort 5,6
59,1 :DM → :DM
74 SLD
S 25,9 Verschieben eines Wortes 5,6
51,7 Verschieben von 10 Worten
3,02 ms Verschieben von 1024 Worten mit Hilfe von :DM
75
5 SRD
S 25,9 Verschieben eines Wortes 5,6
51,7 Verschieben von 10 Worten
3,02 ms Verschieben von 1024 Worten mit Hilfe von :DM
76
6 MLPX 47,7 Decodierung eines Wortes in ein Wort 5,6
92,7 Decodieren von :DM auf :DM
77 DMPX 59,5 Kodieren eines Wortes in ein Wort 5,6
95,5 Kodieren von :DM auf :DM
78
8 SDEC
S C 51,1 Dekodieren eines Wortes in ein Wort 5,6
96,3 Dekodieren von :DM auf :DM

503
CPM1/CPM1A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-1

Code AWL–Code EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
80 DIST
S 39,1 Kopieren einer Konstanten in ein Wort + ein Wort 5,6
40,9 Kopieren eines Wortes in ein Wort + ein Wort
84,7 Kopieren von :DM auf :DM +:DM
63,4 Kopieren einer Konstanten auf einen Stack
65,0 Kopieren eines Wortes auf einen Stack
109,6 Kopieren von :DM auf einen Stack über :DM
81
8 COLL
CO 42,6 Kopieren einer Konstanten + ein Wort in ein Wort 5,6
43,6 Kopieren eines Wortes + ein Wort in ein Wort
83,4 Kopieren von :DM + :DM auf :DM
78,0 Kopieren eines Wortes + Konstante auf einen FIFO–
Stack
79,2 Kopieren eines Wortes + Wort auf einen FIFO–Stack
1,76 ms Kopieren des :DM + :DM auf einen FIFO–Stapel
über :DM
66,8 Kopieren eines Wortes + Konstante auf einen LIFO–
Stack
68,0 Kopieren eines Wortes + Wort auf einen LIFO–Stack
112,0 Kopieren des :DM + :DM auf einen LIFO–Stapel
über :DM
82
8 MOVB
O 32,5 Übertragen einer Konstanten auf ein Wort 5,6
37,5 Übertragen eines Wortes auf ein anderes Wort
79,1 Übertragen von :DM auf :DM
83 MOVD
O 28,3 Übertragen einer Konstanten auf ein Wort 5,6
33,3 Übertragen eines Wortes auf ein anderes Wort
75,5 Übertragen von :DM auf :DM
84
8 SFTR
S 39,3 Verschieben eines Wortes 5,6
52,9 Verschieben von 10 Worten
1,42 ms Verschieben von 1024 Worten mit Hilfe von :DM
85 TCMP 57,7 Vergleichen einer Konstanten mit Worten der spezifi- 5,6
zierten Tabelle
58,9 Vergleichen eines Wortes mit Worten der spezifizier-
ten Tabelle
101,9 Vergleichen von :DM auf :DM der spezifiziertenTa-
belle
86 ASC
SC 56,7 Wort → Wort 5,6
103,9 :DM → :DM
89 INT 32,3 Wortweise Maskierung 5,6
46,3 Einstellen von Masken über :DM
29,1 Wortweise Interrupt–Rücksetzung
43,1 Interrupts löschen über :DM
27,3 Wortweises Auslesen des Maskierungszustands
41,5 Maskierungsstatus lesen über :DM
29,7 Wortweise Änderung des Zähler–Sollwerts
43,7 Zähler–Sollwert ändern über :DM
15,3 Wortweise Maskierung aller Interrupts
15,3 Maskieren aller Interrupts über :DM
15,9 Wortweise Rücksetzung aller Interrupts
15,9 Rücksetzen aller Interrupts über DM
91 SBS 36,6 Beliebig
g 5,5
92 SBN 1,7 1,7
93 RET 15,0 2,5
97
9 IORF
O 40,0 Auffrischen von IR 000 6,0
142,6 Auffrischen eines Eingangswortes
135,4 Auffrischen eines Ausgangswortes
99 MCRO
C O 74,0 Mit wortweise spezifizierten E/A–Operanden 5,6
116,4 Mit:DM–weise spezifizierten E/A–Operanden

504
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

8-2 CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit


8-2-1 CPM2A/CPM2C–Zykluszeit
Die Prozesse, die in einem einzelnen CPM2A/CPM2C–Zyklus enthalten sind,
sind in der folgenden Tabelle dargestellt und ihre jeweiligen Verarbeitungszeiten
werden beschrieben.
Prozess Inhalt zeitanforderungen
Betriebs– Einstellung des Zykluszeit–Watchdog–Zeitgebers, E/A– 0,3 ms
vorgänge Bus–Überprüfung, Überprüfung des Programmspeicherbe-
reichs, Uhrzeit–Auffrischung, Auffrischung der den neuen
Funktionen zugewiesenen Bits usw.
Programm– Ausführung des Anwenderprogramms Gesamtzeit für die Befehlsausführung (diese ändert
ausführung sich in Abhängigkeit von dem Inhalt des Anwender-
programms.)
Berechnung Automatische Verzögerung bis zur Mindest–Zykluszeit, Unbedeutend, bis auf die Verzögerung selbst, wenn
der Zykluszeit wenn eine Mindest–Zykluszeit in DM 6619 der SPS–Konfi- diese erforderlich ist.
guration eingestellt wurde.
Berechnung der Zykluszeit.
E/A– Ausgangsdaten (Ergebnisse der Programmausführung) CPM2C–CPU–Baugruppe: 0,06 ms
Auffrischung werden in den Ausgangsbits der Ausgangsbaugruppen 20–E/A CPM2A CPU–Baugrupp.: 0,06 ms
gespeichert. 30–E/A CPM2A CPU–Baugrupp.: 0,3 ms
40-E/A CPM2A CPU–Baugrupp.: 0,3 ms
Die Eingangsdaten der Eingangsbaugruppen werden auf
60-E/A CPM2A CPU–Baugrupp.: 0,54 ms
den Eingangsbits gespeichert.
Erweiterungs–E/A–Baugruppen: 0,3 ms
Service der Bearbeitung der mit der RS–232C–Schnittstelle verbunde- Min. 0,55 ms, 5% oder Prozentsatz der Zykluszeit bis
RS–232C– nen Geräte. zu 131 ms
Schnittstelle
(Der Prozentsatz der Zykluszeit, die dem RS–232C–
Service zugewiesen wird, kann in DM 6616 einge-
stellt werden.)
Service der Kommunikationsverarbeitung, wenn ein Programmiergerät Min. 0,55 ms, 5% oder Prozentsatz der Zykluszeit bis
Peripherieschnitt- oder ein Kommunikationsadapter an die Peripherie– zu 131 ms
stelle Schnittstelle angeschlossen wird.
(Der Prozentsatz der Zykluszeit, die dem Peripherie–
Service zugewiesen wird, kann in DM 6617 einge-
stellt werden.)

Zykluszeit und Betrieb Der Einfluss der Zykluszeit auf den CPM2A/CPM2C–Betrieb ist in der folgenden
Tabelle dargestellt. Beeinflußt eine lange Zykluszeit den Betrieb, kann entwe-
der die Zykluszeit verringert oder die Ansprechzeit mit Interrupt–Programmen
verbessert werden.
Zykluszeit Betriebsbedingungen
1 ms oder länger TMHH(––) ist evtl. ungenau, wenn TC 000 bis TC 003 oder TC 008 bis TC 255 verwendet wird (die Funktion
ist bei TC 004 bis TC 007 normal).
10 ms oder länger Bei Verwendung von TC 004 bis TC 255 wird TIMH(15) möglicherweise mit geringerer Präzision ausgeführt.
(Bei Verwendung von TC 000 bis TC 003 ist ein normaler Betrieb gewährleistet).
20 ms oder länger Die Programmierung ist bei Verwendung des 0,02 s–Taktbits (SR 25401) möglicherweise ungenau.
100 ms oder länger TIM ist evtl. ungenau. Die Programmierung ist bei Verwendung des 0,1 s–Taktbits (SR 25500) möglicher-
weise ungenau. Ein Fehler (Zykluszeit–Überschreitung) wird generiert (SR 25309 wird gesetzt).
120 ms oder länger Der Sollwert der Überwachungszeit wird überschritten und und ein Systemfehler (FALS 9F) generiert, der den
Betrieb stoppt.
200 ms oder länger Die Programmierung ist bei Verwendung des 0,2 s–Taktbits (SR 25501) möglicherweise ungenau.

Berechnung der Zykluszeit In diesem Beispiel wird die Zykluszeit für eine CPM2A/CPM2C mit 30 Ein–/Aus-
gängen (18 Eingänge und 12 Ausgänge) berechnet. Folgende E/A–Konfigura-
tion wird verwendet:
18 Eingänge: 2 Worte (00000 bis 00011, 00100 bis 00105)
12 Ausgänge: 2 Worte (01000 bis 01007, 01100 bis 01103)
Weiterhin werden folgende Betriebsbedingungen vorausgesetzt:
Programmspeicher: 500 Befehle (nur bestehend aus LD und OUT)
Zykluszeit: Variabel (kein Minimum spezifiziert)

505
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

In diesem Beispiel wird vorausgesetzt, dass die durchschnittliche Verarbei-


tungszeit für einen einzelnen Befehl in dem Anwenderprogramm 1,26 µs be-
trägt. Die Zykluszeiten sind in der nachfolgendenTabelle dargestellt.
Prozess Berechnung Zeit mit Zeit ohne
Programmiergerät Programmiergerät
1. Betriebsvorgänge Fest 0,3 ms 0,3 ms
2. Programmausführung 1,26 × 500 (µs) 0,6 ms 0,6 ms
3. Zykluszeit–Berechnung Vernachlässigbar 0 ms 0 ms
4. E/A–Auffrischung Fest 0,3 ms (CPM2C: 0,06 ms) 0,3 ms (CPM2C: 0,06 ms)
5. Service der Peripherie- Mindestzeit 0,55 ms 0 ms
schnittstelle
Zykluszeit (1) + (2) + (3) + (4) + (5) 1,75 ms (CPM2C: 1,51 ms 1,2 ms (CPM2C: 0,96 ms)

Hinweis 1. Die Zykluszeit der SPS kann über ein Programmiergerät angezeigt werden.
2. Die maximale und die aktuelle Zykluszeit wird in AR 14 und AR 15 gespei-
chert.
3. Die Zykluszeit hängt von den tatsächlichen Betriebsbedingungen ab und
stimmt möglicherweise nicht mit dem berechneten Wert überein.

8-2-2 E/A–Ansprechzeit
Die E/A–Ansprechzeit ist die Zeit, die die SPS nach dem Empfang eines Ein-
gangssignals (d.h. nach dem Setzen eines Eingangsbits) zur Überprüfung und
Verarbeitung der Daten sowie zur Ausgabe eines Steuersignals (zur Ausgabe
des Verarbeitungsergebnisses an ein Ausgangsbit) benötigt. Die E/A–An-
sprechzeit ist vom Zeitverhalten und den Verarbeitungsbedingungen abhängig.
Die minimalen und maximalen E/A–Ansprechzeiten werden nachfolgend dar-
gestellt. Hierzu wird das folgende Beispielprogramm verwendet.
AUSGANG
Eingang

Zur Berechnung der E/A–Ansprechzeiten werden in diesem Beispiel die folgen-


den Bedingungen vorausgesetzt:
Eingang–EIN–Verzögerung: 10 ms (Eing.Zeitkonstante: Vorgabe–
einstellung)
Überwachungszeit: 1 ms (einschließlich E/A–Auffrischung)
Befehls–Ausführungszeit: 14 ms
Ausgangs–EIN–Verzögerung: 15 ms
Kommunikationsschnittstellen: Nicht verwendet
Minimale E/A–Ansprechzeit Die minimale Ansprechzeit ist gegeben, wenn die CPM2A/CPM2C unmittelbar
vor der Eingangsauffrischung, innerhalb des Zyklus, ein Eingangssignal emp-
fängt. Diese ist in der folgenden Abbildung dargestellt.
Ein-
gangs–
an- Eingang–EIN–Verzögerung (10 ms)
schluss
Ein–
gangs-
bit
E/A–Auffrischung Programmausführung und andere E/A–Auffrischung
Vorgänge (15 ms)
Ausgang–EIN–Verzögerung (10 ms)
Aus-
gangs-
an-
schluss Minimale–E/A–Ansprechzeit = 10+15+15 = 40 ms

Maximale E/A–Ansprechzeit Die maximale Ansprechzeit ist gegeben, wenn die CPM2A/CPM2C unmittelbar
nach der Eingangsauffrischung, innerhalb des Zyklus, ein Eingangssignal emp-

506
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

fängt (sehen Sie die folgende Abbildung). In diesem Fall tritt eine Verzögerung
von ungefähr einem Zyklus auf.
Ein-
gangs-
an- Eingang–EIN–Verzögerung (10 ms)
schluss
Ein–
gangs-
bit
Programmausführung Programmausführung
E/A–Auffrischung und andere E/A–Auffrischung und andere E/A–Auffrischung
Vorgänge (15 ms) Vorgänge (15 ms)

Ausgang–EIN–Verzögerung (10 ms)


Aus-
gangs-
an-
schluss Maximale E/A–Ansprechzeit = 10+15 × 2+15 = 55 ms

8-2-3 1:1–PC–Link–E/A–Ansprechzeit
Sind zwei CPM2A/CPM2C–Steuerungen 1:1 verbunden, ist die E/A–Ansprech-
zeit die Zeit vom Anlegen eines Eingangssignals an die eine CPM2A/CPM2C
bis zur Ausgabe eines Signals an die andere CPM2A/CPM2C.
Die minimalen und maximalen E/A–Ansprechzeiten werden nachfolgend am
Beispiel der folgenden auf dem Master und dem Slave ausgeführten Befehle er-
läutert. In diesem Beispiel erfolgt die Kommunikation vom Master zum Slave.

Master Slave

Ausgang (LR) Eingang (LR) AUSGANG


Eingang

Zur Berechnung der E/A–Ansprechzeiten werden in diesem Beispiel die folgen-


den Bedingungen vorausgesetzt: In der SPS der Serie CPM2A/CPM2C werden
die LR–Bereichsworte LR 00 bis LR 15 in einer 1:1–Verbindung verwendet; die
Übertragungszeit beträgt 12 ms.
Eingang–EIN–Verzögerung: 10 ms (Eingangs–Zeitkonstante:
Vorgabeeinstellung)
Master–Zykluszeit: 10 ms
Slave–Zykluszeit: 15 ms
Ausgang–EIN–Verzögerung: 15 ms
Minimale E/A–Ansprechzeit Die minimale Ansprechzeit der CPM2A/CPM2C ist unter den folgenden Bedin-
gungen gegeben:
1, 2, 3... 1. Die CPM2A/CPM2C empfängt ein Eingangssignal unmittelbar vor der Ein-
gangsauffrischung innerhalb des Zyklus.
2. Die Master/Slave–Übertragung beginnt sofort.

507
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

3. Der Kommunikations–Service des Slave tritt unmittelbar nach Abschluss


der Übertragung ein.

Eingangs– E/A–Auffrischung
anschluss
Eingang–EIN–Verzögerung (10 ms) Betriebsvorgänge, Kommunika-
Ein– tions–Service, etc.
gangs-
Master bit

CPU– Programm-
Verarbeitung ausführung

Master–Zykluszeit (10 ms)


Master ⇒ Slave

Übertragungszeit (12 ms)

CPU– Programm-
Verarbeitung ausführung

Ausgang–EIN–Verzögerung
Slave Slave–Zykluszeit (15 ms) (15 ms)

Ausgangs-
anschluss
Min. E/A–Ansprechzeit = 10+10+12+15+15 = 62 ms

Maximale E/A–Ansprechzeit Die maximale Ansprechzeit der CPM2A/CPM2C ist unter den folgenden Bedin-
gungen gegeben:
1, 2, 3... 1. Die CPM2A/CPM2C empfängt ein Eingangssignal unmittelbar nach der
Eingangsauffrischung innerhalb des Zyklus.
2. Die Master/Slave–Übertragung beginnt mit einer Verzögerung.
3. Die Übertragung ist unmittelbar nachdem der Slave den Kommunikations–
Service ausgeführt hat, abgeschlossen.
Maximale E/A–Ansprechzeit Eingang–EIN–Ansprechzeit + Zykluszeit des Masters × 2 + Übertragungszeit ×
3 + Zykluszeit des Slaves × 2 + Ausgang–EIN–Ansprechzeit
Eingangs–
anschluss E/A–Auffrischung
Eingang–EIN–Ansprechzeit
Service der Peripherieschnittstelle
Master
Ein–
gangs-
bit
CPU– Progr.– Progr.– Progr.– Progr.–
Verarbeitung ausführ. ausführ. ausführ. ausführ.
Master–Zyklus 1 (Datenübertragung entsprechend Eingang)
Übertra- Übertra-
Master ⇒ Slave gungs- Slave ⇒ Master gungs- Master ⇒ Slave Übertragungszeit
zeit zeit

CPU– Progr.– Progr.– Progr.– Progr.–


Verarbeitung ausführ. ausführ. ausführ. ausführ.

Slave–Zyklus 1 Ausgang–AUS–
Slave–Zyklus 2 Slave–Zykl. 3 Ansprechzeit
Slave
Ausgangs-
anschluss

Maximale E/A–Ansprechzeit = 10 + 10 × 2 + 12 × 3 + 15× 2 + 15 = 111 ms

8-2-4 Interrupt–Verarbeitungszeit
In diesem Abschnitt wird die Verarbeitungszeit von der Ausführung eines Inter-
rupts bis zum Aufruf des Interrupt–Unterprogrammes sowie die Zeit vom Ab-
schluss eines Interrupt–Unterprogrammes bis zur Rückkehr in den Ausgangs-
zustand erläutert. Diese Beschreibung gilt für Eingangs–Interrupts, Intervall–
Zeitgeber–Interrupts und Schnelle Zähler–Interrupts.
1, 2, 3... 1. Interrupt–Auslösung

508
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

2. Interrupt–EIN–Verzögerung
3. Bereitschaft bis zum Abschluss der Interrupt–Maskierungsverarbeitung
4. Wechsel zur Interrupt–Verarbeitung
5. Interrupt–Unterprogramm (nur CPM1A/CPM2A/CPM2C)
6. Rückkehr in den Ausgangszustand
In der folgenden Tabelle sind die Zeiten von der Generierung eines Interrupt–Si-
gnals bis zum Aufruf des Interrupt–Unterprogrammes sowie vom Abschluss des
Interrupt–Unterprogrammes bis zur Rückkehr in den Ausgangszustand aufge-
führt.
Spezifikation Beschreibung Zeit
Interrupt–EIN– Verzögerungszeit vom Setzen des Interrupt–Eingangs bis zur Ausführung des Inter- 100 µs
Verzögerung rupts. Diese Verzögerung wirkt sich nicht auf andere Interrupts aus.
Bereitschaft bis zum Wird ein Prozess, der den Interrupt deaktiviert (maskiert), ausgeführt, ist dies die erfor- Sehen Sie
Abschluss der Interrupt– derliche Zeit, damit dieser Prozess beendet wird. die nachfol-
Maskierungsverarbeitung gende Be-
schreibung.
Wechsel zur Interrupt–Verar- Dies ist die für den Wechsel zur Interrupt–Verarbeitung erforderliche Zeit. 30 µs
beitung
Rückkehr Zeit von der Ausführung der RET(93)–Anweisung bis zur Rückkehr in den unterbroche- 30 µs
nen Programmabschnitt.
Maskierungsverarbeitung
Interrupts werden durch die nachfolgende Verarbeitung maskiert. Die Interrupts
bleiben bis zum Abschluss der Verarbeitung während der angegebenen Zeiten
maskiert.
Generierung und Rücksetzung schwerwiegender Fehler:
Bei der Generierung eines geringfügigen Fehlers und der Speicherung des
Fehlerinhalts in der SPS bzw. bei der Rücksetzung eines Fehlers werden
Interrupts für maximal 100 µs maskiert.
On–line–Editierung:
Der Vorgang wird unterbrochen und Interrupts werden für bis zu 600 ms
maskiert (für DM 6144 bis DM 6655), wenn die On–line–Editierung ausge-
führt wird oder die Einstellungen mit STUP(––) während des Vorgangs ge-
ändert werden. Das Programm oder die SPS–Konfiguration kann während
dieser Verzögerung überschrieben werden.
Zusätzlich zur On–line–Editierungs–Verzögerung können Interrupts für bis
zu 170 µs für die Systemverarbeitung maskiert werden.
Beispielberechnung In diesem Beispiel wird die Berechnung der Interrupt–Ansprechzeit (d.h. die Zeit
vom Setzen des Interrupt–Eingangs auf EIN bis zum Start der Interrupt–Verar-
beitungsroutine) bei der Verwendung von Interrupts unter den folgenden Bedin-
gungen erläutert.
Minimale Ansprechzeit
Interrupt–Eingang–EIN–Verzögerung: 100 µs
Interrupt–Maskierungs–Bereitschaftszeit: 0 µs
+ Wechsel zur Interrupt–Verarbeitung: 30 µs
Minimale Ansprechzeit: 130 µs
Maximale Ansprechzeit
(außer für die On–line–Editierung von DM 6144 bis DM 6655)
Interrupt–Eingang–EIN–Verzögerung: 100 µs
Interrupt–Maskierungs–Bereitschaftszeit: 170 µs
+ Wechsel zur Interrupt–Verarbeitung: 30 µs
Maximale Ansprechzeit: 300 µs
Zusätzlich zu der im Beispiel berechneten Ansprechzeit muss die für die Aus-
führung des Interrupt–Unterprogrammes erforderliche Zeit sowie eine Zeit von
30 µs für die Rückkehr in den unterbrochenen Programmabschnitt berücksich-
tigt werden.

509
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

8-2-5 Befehlsausführungszeiten der CPM2A/CPM2C


Die folgende Tabelle enthält die Ausführungszeiten der CPM2A/CPM2C–Be-
fehle.
Basisbefehle
Code AWL EIN–Ausfüh-
us ü Bedingungen
ed gu ge (oben:
(obe min,, unten:
u e max.)
a ) AUS–Ausführungszeit (µs)
rungszeit
it (µs)
( ) RSET IL JMP
--- LD 0,64 Beliebig –––
--- LD NOT
--- AND 0,52
--- AND NOT
--- OR
--- OR NOT
--- AND LD 0,26
--- OR LD
--- OUT 1,88
--- OUT NOT

––– SET 2,58


,58
––– RSET
––– TIM 4,76
, 6 Konstante für Sollwert 7,8 7,6 2,9
:DM für Sollwert 15,6 15,4 2,9
––– CNT
C 4,50
,50 Konstante für Sollwert 6,8 2,9 3,1
:DM für Sollwert 14,5 2,9 3,1

Befehle mit Funktionsnummern


Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
00 NOP 0,15 Beliebig
e eb g
01 END 6,2
02 IL 1,1 2,1
03 ILC 1,6 1,6
04 JMP 0,95 1,8
05 JME 2,1 2,1
06 FAL 20,5 2,5
07 FALS 2,9 2,5
08 STEP 7,3 6,0
09 SNXT 5,1 3,6
10 SFT Rückset- IL JMP
zung
10,4 Mit 1 Wort–Schieberegister 9,2 0,98 0,98
15,3 Mit 10 Worte–Schieberegister 11,9 1,0 1,0
39,6 Mit 53 Worte–Schieberegister 26,2 1,0 1,0
11 KEEP 3,2 Beliebig Rück- IL JMP
setzung
3,1 1,2 1,3
12 CNTR Rückset- IL JMP
zung
10,9 Konstante für Sollwert 7,9 5,5 5,6
18,8 :DM für Sollwert
13 DIFU 5,5 Beliebig Ver– IL JMP
schie-
bung
5,1 4,8 0,96
14 DIFD 5,3 Beliebig Ver– IL JMP
schie-
bung
5,4 4,7 0,97

510
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
15 TIMH Rückset- IL JMP
zung
9,0 Reguläre Ausführung, Konstante für Sollwert 13,0 12,6 6,1
9,6 Interrupt–Ausführung, Konstante für Sollwert 14,4 14,0 7,5
9,8 Normale Ausführung, :DM für Sollwert 20,8 20,5 6,1
10,7 Interrupt–Ausführung, :DM für Sollwert 22,2 22,0 7,5
16
6 WSFT
S 14,0 Mit 1 Wort–Schieberegister 2,6
18,6 Mit 10 Worte–Schieberegister
1,15 ms Mit 2,048 Worte–Schieberegister unter Verwendung
von :DM
17 ASFT
S 13,0 Verschieben eines Wortes 2,6
,6
22,9 Verschieben von 10 Worten
1,51 ms Verschieben von 2,048 Worten über :DM
20
0 CMP
C 7,0 Vergleichen einer Konstanten mit einer Konstanten 2,6
8,3 Vergleichen von zwei Worten
12,1 Vergleichen von zwei :DM
21 MOV
O 7,8 Übertragen einer Konstanten auf ein Wort 2,6
8,4 Übertragen eines Wort auf ein anderes Wort
22,8 Übertragen von :DM auf :DM
22 MVN 7,9 Übertragen einer Konstanten auf ein Wort 2,6
8,4 Übertragen eines Wortes auf ein anderes Wort
22,8 Übertragen von :DM auf :DM
23
3 BIN 15,8 Konvertieren eines Wortes in ein Wort 2,6
30,3 Konvertieren von :DM auf :DM
24 BCD
C 14,6 Konvertieren eines Wortes in ein Wort 2,6
29,0 Konvertieren von :DM auf :DM
25
5 ASL
S 8,6 Verschieben eines Wortes 2,5
15,8 Verschieben von :DM
26
6 ASR
S 8,4 Verschieben eines Wortes 2,5
15,6 Verschieben von :DM
27 ROL
O 7,3 Rotieren eines Wortes 2,5
14,5 Rotieren von :DM
28
8 ROR
O 7,3 Rotieren eines Wortes 2,5
,5
14,5 Rotieren von :DM
29
9 COM
CO 8,9 Invertieren eines Wortes 2,5
16,1 Invertieren von :DM
30 ADD 14,7 Konstante + Konstante → Wort 2,6
16,0 Wort + Wort → Wort
37,6 :DM + :DM → :DM
31
3 SUB
SU 14,6 Konstante – Konstante → Wort 2,6
15,8 Wort – Wort → Wort
37,5 :DM – :DM → :DM
32
3 MUL
U 26,8 Konstante  Konstante ” Wort 2,6
28,3 Wort  Wort → Wort
51,0 :DM  :DM → :DM
33 DIV 25,9 Konstante ÷ Konstante → Wort 2,6
27,5 Wort ÷ Wort → Wort
50,1 :DM ÷ :DM → :DM
34
3 ANDW 12,3 Konstante “ Konstante → Wort 2,6
13,8 Wort “ Wort → Wort
35,4 :DM “ :DM → :DM
35 ORW
O 12,3 Konstante V Konstante → Wort 2,6
13,8 Word V word → word
35,4 :DM V :DM → :DM
36 XORW
O 12,3 Konstante V Konstante → Wort 2,6
13,8 Wort V Wort → Wort
35,4 :DM V :DM → :DM

511
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
37
3 XNRW 12,3 Konstante V Konstante→ Wort 2,6
13,8 Wort V Wort → Wort
35,5 :DM V :DM → :DM
38 INC
C 8,8 Inkrementieren eines Wortes 2,5
15,9 Inkrementieren von :DM
39 DEC
C 8,9 Dekrementieren eines Wortes 2,5
16,1 Dekrementieren von :DM
40 STC 3,0 Beliebig
g 2,5
41 CLC 3,0 2,5
46
6 MSG
SG 9,9 Meldung in Worten 2,5
17,8 Meldung in :DM
47 RXD 71,9 Wortspezifikation, 1 Byte–Eingabe 2,6
,6
314,5 :DM Spezifikation, 256 Byte–Eingabe
48
8 TXD 32,4 Wortspezifikation, 1 Byte–Eingabe, RS–232C 2,6
,6
264,5 :DM–Spezifikation, 256 Byte–Eingabe, RS–232C
27,7 Wortspezifikation, 1 Byte–Eingabe, Host–Link
42,2 :DM–Spezifikation, 256 Byte–Eingabe, Host–Link
50 ADB 14,1 Konstante + Konstante → Wort 2,6
15,6 Wort + Wort → Wort
37,4 :DM + :DM → :DM
51
5 SBB
S 14,4 Konstante – Konstante → Wort 2,6
15,9 Wort – Wort → Wort
37,7 :DM – :DM → :DM
52
5 MLB 16,8 Konstante  Konstante → Wort 2,6
18,5 Wort  Wort ” Wort
41,2 :DM  :DM → :DM
53 DVB 16,9 Konstante ÷ Konstante → Wort 2,6
18,6 Wort ÷ Wort → Wort
41,3 :DM ÷ :DM → :DM
54
5 ADDL 25,3 Wort + Wort → Wort 2,6
48,6 :DM + :DM → :DM
55 SUBL
SU 25,3 Wort – Wort → Wort 2,6
48,6 :DM – :DM → :DM
56 MULL
U 79,1 Wort  Wort → Wort 2,6
102,1 :DM  :DM → :DM
57
5 DIVL 73,9 Wort ÷ Wort → Wort 2,6
98,6 :DM ÷ :DM → :DM
58 BINL 23,9 Konvertieren von Wortdaten in ein Wort 2,6
,6
38,5 Konvertieren von :DM auf :DM
59 BCDL
C 19,1 Konvertieren von Wortdaten in ein Wort 2,6
,6
33,7 Konvertieren von :DM auf :DM
60 CMPL
C 14,8 Vergleichen von Worten 2,6
,6
30,6 Vergleichen von :DM

512
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
61
6 INI 68,8 Schnellen Zähler–Vergleich starten 2,6
,6
12,0 Schnellen Zähler–Vergleich beenden
43,3 Spezifizieren einer Konstanten bei der Änderung ei-
nes Schnellen Zähler–Istwertes
51,8 Spezifizieren :DM bei der Änderung eines Schnellen
Zähler–Istwertes
42,8 Spezifizieren des Inkrementalmodus über Konstante
50,8 Spezifizieren des Inkrementalmodus über :DM
60,1 Impulsausgabe beenden
42,7 Spezifizieren einer Konstanten bei der Änderung des
Impulsausgabe–Istwertes
50,7 Spezifizieren von :DM bei der Änderung eines Im-
pulsausgabe–Istwertes
17,8 Synchronisierte Funktion des schnellen Zählers be-
enden
20,0 Spezifizieren einer Konstanten bei der Änderung ei-
nes Interrupt–Zähler–Istwertes
27,6 Spezifizieren von :DM bei der Änderung eines Inter-
rupt–Zähler–Istwertes
62
6 PRV 36,9 Schnellen Zähler–Istwert über Wort lesen 2,6
,6
44,7 Lesen des Schnellen Zähler–Istwertes :DM
36,6 Spezifizieren des Inkrementalmodus über Wort
44,3 Spezifizieren des Inkrementalmodus über :DM
38,5 Spezifizieren eines Wortes bei der Verwendung der
synchronisierten Ausgabe
46,2 Spezifizieren :DM bei der Verwendung der synchro-
nisierten Ausgabe
20,2 Schnellen Zähler–Impulsausgabestatus über Wort
lesen
27,4 Schnellen Zähler–Impulsausgabestatus über :DM
lesen
24,4 Lesen der Schnellen Zähler–Lesebereichs–Vergleich-
sergebnisse über Wort
32,4 Lesen der Schnellen Zähler–Lesebereichs–Vergleich-
sergebnisse über :DM
39,9 Lesen des Impulsausgabe–Istwertes über Wort
47,8 Lesen des Impulsausgabe–Istwertes über :DM
20,1 Lesen des Interruptzähler–Istwertes über Wort
27,1 Lesen des Interruptzähler–Istwertes über :DM

513
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
63 CTBL 186,0 Speichern einer Zielwert–Vergleichstabelle und Star- 2,6
ten des Vergleichs im Inkrementieren/Dekrementie-
ren–Impulseingangsmodus über Wort
807,5 Speichern einer Zielwert–Vergleichstabelle und Star-
ten des Vergleichs im Inkrementieren/Dekrementie-
ren–Impulseingangsmodus über :DM
185,8 Speichern einer Zielwert–Vergleichstabelle und Star-
ten des Vergleichs im Inkrementierenmodus über
Wort
781,9 Speichern einer Zielwert–Vergleichstabelle und Star-
ten des Vergleichs im Inkrementierenmodus über
:DM
410,0 Speichern einer Bereichs–Vergleichstabelle und Star-
ten des Vergleichs im Inkrementieren/Dekrementie-
ren–Impulseingangsmodus über Wort
418,9 Speichern einer Bereichs–Vergleichstabelle und Star-
ten des Vergleichs im Inkrementieren/Dekrementie-
ren–Impulseingangsmodus über :DM
380,6 Speichern einer Bereichs–Vergleichstabelle und Star-
ten des Vergleichs im Inkrementierenmodus über
Wort
399,7 Speichern einer Bereichs–Vergleichstabelle und Star-
ten des Vergleichs im Inkrementierenmodus über
:DM
183,4 Nur Speichern einer Zielwert–Vergleichstabelle im
Inkrementieren/Dekrementieren–
Impulseingangsmodus über Wort
810,3 Nur Speichern einer Zielwert–Vergleichstabelle im
Inkrementieren/Dekrementieren–
Impulseingangsmodus über :DM
182,4 Nur Speichern einer Zielwert–Vergleichstabelle im
Inkrementierenmodus über Wort
776,3 Nur Speichern einer Zielwert–Vergleichstabelle im
Inkrementierenmodus über :DM
351,0 Nur Speichern einer Bereichs–Vergleichstabelle im
Inkrementieren/Dekrementieren–Impulseingangsmo-
dus über Wort
359,1 Nur Speichern einer Bereichs–Vergleichstabelle im
Inkrementieren/Dekrementieren–Impulseingangsmo-
dus über :DM
331,2 Nur Speichern einer Bereichs–Vergleichstabelle im
Inkrementierenmodus über Wort
335,9 Nur Speichern einer Bereichs–Vergleichstabelle im
Inkrementierenmodus über :DM
64 SPED 44,6 Spezifizieren einer Konstanten in der Unabhängig– 2,6
Betriebsart
53,8 Spezifizieren von :DM in der Unabhängig–Betrieb-
sart
42,9 Spezifizieren einer Konstanten in der Ununterbro-
chen–Impulsausgabebetriebsart
52,0 Spezifizieren von :DM in der Ununterbrochen–Im-
pulsausgabebetriebsart
34,1 Spezifizieren eines Wortes bei der Änderung der Aus-
gangsfrequenz
39,8 Spezifizieren von :DM bei der Änderung der Aus-
gangsfrequenz
65 PULS 38,4 Spezifizieren einer relativen Impulsanzahl über ein 2,6
Wort
46,6 Spezifizieren einer relativen Impulsanzahl über :DM
40,0 Spezifizieren einer absoluten Impulsanzahl über ein
Wort
48,1 Spezifizieren einer absoluten Impulsanzahl über
:DM

514
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
66 SCL 37,9 Spezifizieren eines Parameterwortes; Konstante zu 2,6
Wort
39,2 Spezifizieren eines Parameterwortes; Wort zu Wort
59,9 Spezifizieren eines Parameters :DM ; :DM auf
:DM
67
6 BCNT
C 24,9 Beim Zählen von einem Wort 2,6
,6
4,32 ms Beim Zählen von 2,048 Worten über :DM
68 BCMP 35,3 Vergleichen einer Konstanten, Ergebnisse an ein 2,6
Wort
38,3 Vergleichen eines Wortes, Ergebnisse an ein Wort
58,1 Vergleichen von :DM, Ergebnisse an :DM
69 STIM
S 25,7 Konstanten–spezifizierten Monoflop–Interruptstarten 2,6
,6
47,8 :DM-weise spezifizierten Monoflop–Interrupt starten
25,9 Konstanten–spezifzierten und periodischen Interrupt
starten
47,8 :DM-weise periodischen Interrupt starten
34,0 Konstanten–spezifizierten Zeitgeber lesen
46,4 :DM–weise spezifizierten Zeitgeber lesen
10,6 Anhalten des Zeitgebers
70
0 XFER 21,3 Übertragen einer Konstanten auf ein Wort 2,6
23,8 Übertragen eines Wortes auf ein Wort
1,52 ms Übertragen von 2,048 Worten über :DM
71 BSET
S 13,8 Kopieren einer Konstanten in ein Wort 2,6
14,3 Kopieren eines Wortes in ein Wort
971,1 Kopieren von :DM zu 2,048 Worten
73
3 XCHG
C G 14,5 Wort → Wort 2,6
29,3 :DM → :DM
74 SLD
S 12,3 Verschieben eines Wortes 2,6
23,9 Verschieben von 10 Worten
2,83 ms Verschieben von 2,048 Worten über :DM
75
5 SRD
S 12,3 Verschieben eines Wortes 2,6
23,9 Verschieben von 10 Worten
2,83 ms Verschieben von 2,048 Worten über :DM
76
6 MLPX 16,8 Decodierung eines Wortes in ein Wort 2,6
46,1 Decodieren von :DM auf :DM
77 DMPX 19,7 Kodieren eines Wortes in ein Wort 2,6
52,1 Kodieren von :DM auf :DM
78
8 SDEC
S C 19,8 Dekodieren eines Wortes in ein Wort 2,6
48,3 Dekodieren von :DM auf :DM
80 DIST
S 18,7 Kopieren einer Konstanten in ein Wort + ein Wort 2,6
20,2 Kopieren eines Wortes in ein Wort + ein Wort
43,1 Kopieren von :DM auf :DM + :DM
31,0 Kopieren einer Konstanten auf einen Stack
32,7 Kopieren eines Wortes auf einen Stack
55,9 Kopieren von :DM auf einen Stack über :DM
81 COLL 21,5 Kopieren einer Konstanten und eines Wortes in ein 2,6
Wort
21,9 Kopieren eines Wortes und eines Wortes in ein Wort
42,5 Kopieren von :DM + :DM auf :DM
31,5 Kopieren eines Wortes + Konstante auf einen FIFO–
Stapel
32,0 Kopieren eines Wortes + Wort auf einen FIFO–Stapel
784,7 Kopieren des :DM + :DM auf einen FIFO–Stapel
über :DM
33,6 Kopieren eines Wortes + Konstante auf einen LIFO–
Stapel
34,0 Kopieren eines Wortes + Wort auf einen LIFO–Stapel
57,1 Kopieren des :DM + :DM auf einen LIFO–Stapel
über:DM

515
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
82
8 MOVB
O 17,3 Übertragen einer Konstanten auf ein Wort 2,6
18,0 Übertragen eines Wortes ein anderes Wort
41,7 Übertragen von :DM auf :DM
83 MOVD
O 13,8 Übertragen einer Konstanten auf ein Wort 2,6
16,2 Übertragen eines Wortes ein anderes Wort
38,1 Übertragen von :DM auf :DM
84
8 SFTR
S 22,8 Verschieben eines Wortes 2,6
24,3 Verschieben von 10 Worten
1,15 ms Verschieben von 2,048 Worten über :DM
85 TCMP 27,5 Vergleichen einer Konstanten mit Worten der spezifi- 2,6
zierten Tabelle
28,0 Vergleichen eines Wortes mit Worten der spezifizier-
ten Tabelle
48,3 Vergleichen von :DM auf :DM–Tabelle
86 ASC
SC 19,1 Wort → Wort 2,6
52,2 :DM → :DM
89 INT 22,1 Wortweise Maskierung 2,6
,6
30,1 :DM–weise Maskierung
18,4 Interrupt wortweise löschen
26,4 Interrupt :DM–weise löschen
17,2 Wortweises Auslesen des Maskierungsstatus
24,1 :DM–weises Auslesen des Maskierungsstatus
23,1 Wortweise Änderung des Zähler–Sollwerts
31,1 Zähler–Sollwert ändern über :DM
10,7 Wortweise Maskierung aller Interrupts
10,7 :DM–weise Maskierung aller Interrupts
11,0 Wortweises löschen aller Interrupts
11,0 :DM –weises löschen aller Interrupts
91 SBS 10,8 Beliebig
g 2,6
92 SBN ––– 0,76
93 RET 6,2 1,0
97
9 IORF
O 16,8 Auffrischen von IR 000 2,8
130,7 Auffrischen eines Eingangswortes
110,7 Auffrischen eines Ausgangswortes
99 MCRO
C O 26,1 Mit wortweise spezifizierten E/A–Operanden 2,6
42,3 Mit :DM–weise spezifizierten E/A–Operanden

516
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

Erweiterte Befehle ohne Vorgabe–Funktionscodes


Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
––– ACC 66,5 Spezifizieren eines Wortes in der Unabhängig– und 2,6
Rechts–/Linkslauf–Betriebsart
92,1 Spezifizieren von :DM in der Unabhängig– und
Rechts–/Linkslauf–Betriebsart
66,2 Spezifizieren eines Wortes in der Unabhängig– und
Impuls/Richtungs–Betriebsart
92,2 Spezifizieren von :DM in der Unabhängig– und Im-
puls/Richtungs–Betriebsart
65,5 Ausführen der Wortzuweisung in der Ununterbro-
chen–Rechtslauf– und Rechts–/Linkslauf–Betriebsart
75,0 Ausführen der :DM–Zuweisung in der Ununterbro-
chen–Rechtslauf– und Rechts–/Linkslauf–Betriebsart
45,4 Ändern der Wortzuweisung in der Ununterbrochen–
Rechtslauf– und Rechts–/Linkslauf–Betriebsart
53,8 Ändern der :DM–Zuweisung in der Ununterbro-
chen–Rechtslauf– und Rechts–/Linkslauf–Betriebsart
65,5 Ausführen der Wortzuweisung in der Ununterbro-
chen–Linkslauf– und Rechts–/Linkslauf–Betriebsart
75,0 Ausführen der :DM–Zuweisung in der Ununterbro-
chen–Linkslauf– und Rechts–/Linkslauf–Betriebsart
45,5 Ändern der Wortzuweisung in der Ununterbrochen–
Linkslauf– und Rechts–/Linkslauf–Betriebsart
53,6 Ändern der :DM–Zuweisung in der Ununterbro-
chen–Linkslauf– und Rechts–/Linkslauf–Betriebsart
65,0 Ausführen der Wortzuweisung in der Ununterbro-
chen–Rechtslauf– und Impuls/Richtungs–Betriebsart
74,5 Ausführen der :DM–Zuweisung in der Ununterbro-
chen–Rechtslauf– und Impuls/Richtungs–Betriebsart
45,4 Ändern der Wortzuweisung in der Ununterbrochen–
Rechtslauf– und Impuls/Richtungs–Betriebsart
53,5 Ändern der :DM–Zuweisung in der Ununterbro-
chen–Rechtslauf– und Impuls/Richtungs–Betriebsart
65,4 Ausführen der Wortzuweisung in der Ununterbro-
chen–Linkslauf– und Impuls/Richtungs–Betriebsart
74,8 Ausführen der :DM–Zuweisung in der Ununterbro-
chen–Linkslauf– und Impuls/Richtungs–Betriebsart
45,5 Ändern der Wortzuweisung in der Ununterbrochen–
Linkslauf– und Impuls/Richtungs–Betriebsart
53,6 Ändern der :DM–Zuweisung in der Ununterbro-
chen–Linkslauf– und Impuls/Richtungs–Betriebsart
––– AVG
G 23,2 Durchschnitt für 1 Zyklus (Konstantenzuweisung) 3,2
3,
23,9 Durchschnitt für 1 Zyklus (Wortzuweisung)
84,2 Durchschnitt für 64 Zyklen (:DM–Zuweisung)
––– FCS 27,6 Addieren eines Wortes und Ausgabe an ein Wort 2,6
592,3 Addieren von 999 Worten und Ausgabe an :DM
––– HEX 25,8 Wort → Wort 2,6
72,2 :DM → :DM
––– HMS
S 30,7 Konvertieren eines Wortes in Wort 2,6
,6
45,0 Konvertieren von :DM auf :DM
––– MAX 21,9 Suchen eines Wortes und Ausgabe an ein Wort 2,6
,6
713,9 Suchen von 999 Worten und Ausgabe an :DM
––– MIN 21,9 Suchen eines Wortes und Ausgabe an ein Wort 2,6
,6
713,9 Suchen von 999 Worten und Ausgabe an :DM
––– NEG
G 12,0 Konvertieren einer Konstanten in ein Wort 3,0
12,8 Konvertieren eines Wortes in ein Wort
28,3 Konvertierenvon :DM auf :DM
––– PID 392,5 Erste Ausführung, Wort mit Wort 3,3
418,8 Erste Ausführung, :DM mit :DM
29,3 Weitere Ausführungen, Wort auf Wort
58,7 Weitere Ausführungen, :DM auf :DM

517
CPM2/CPM2A–Zyklus– und E/A–Ansprechzeit Abschnitt 8-2

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
––– PWM 30,3 Konstante für Impulsbreitenverhältnis 2,6
,6
43,4 Wort für Impulsbreitenverhältnis
46,0 :DM für Impulsbreitenverhältnis
––– SCL2
SC 35,1 Parameterwortzuweisung, Wort zu Wort 2,6
,6
59,3 Parameter :DM–Zuweisung, :DM auf :DM
––– SCL3
SC 3 37,1 Parameterwortzuweisung, Wort zu Wort 2,6
,6
62,3 Parameter :DM–Zuweisung, :DM auf :DM
––– SEC
S C 29,8 Beim Konvertieren eines Wortes in Wort 2,6
,6
44,0 Konvertierung von:DM in :DM
––– SRCH
S C 28,9 Suchen eines Wortes und Ausgabe an ein Wort 2,6
,6
1,40 ms :DM–Spezifikation, Durchsuchen von 2,048 Worten
und Ausgabe an :DM
––– STUP
S U 3,42 ms Konstantenspezifikation, Ausführung im ersten Zyklus 2,6
,6
34,1 Konstantenspezifikation, Ausführung im zweiten Zy-
klus oder späterer
3,44 ms :DM–Spezifikation, Ausführung im erster Zyklus
39,8 :DM–Spezifikation, Ausführung im zweiten Zyklus
oder späterer
––– SUM
SU 22,8 Wortaddition und Ausgabe an Wort 2,6
,6
1,44 ms :DM–Spezifikation, 999 Bytes addieren und Aus-
gabe an :DM
––– SYNC
S C 34,6 Konstantenverhältnisspezifikation, bei Ausführung 2,6
,6
35,3 Wortverhältnisspezifikation, bei Ausführung
42,5 :DM–Verhältnisspezifikation, bei Ausführung
25,3 Wortverhältnisspezifikation, bei Änderung
32,6 :DM–Verhältnisspezifikation, bei Änderung
––– TIML Rückset- IL JMP
zung
12,8 Normale Ausführung, Konstantenspezifikation 17,9 17,5 8,1
13,5 Interrupt–Ausführung, Konstantenspezifikation 25,7 25,5 8,1
––– TMHH Rückset- IL JMP
zung
12,3 Normale Ausführung, Konstantenspezifikation 15,6 15,1 7,4
12,7 Interrupt–Ausführung, Konstantenspezifikation 17,2 16,9 9,1
12,7 Normale Ausführung, :DM–Spezifikation 23,6 23,3 7,7
13,6 Interrupt–Ausführung, :DM–Spezifikation 25,1 24,7 9,1
––– ZCP 9,4 Vergleichen einer Konstanten mit einem Konstanten- 2,6
bereich und Ausgabe an Wort
11,8 Vergleichen eines Wortes mit einem Wortbereich und
Ausgabe an Wort
33,4 Vergleichen von :DM mit :DM und Ausgabe an
:DM
––– ZCPL
C 19,5 Vergleichen eines Wortes mit einem Wortbereich 2,6
,6
45,2 Vergleichen von :DM mit :DM

518
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

8-3 SRM1(–V2)–Zyklus– und E/A–Ansprechzeit


8-3-1 Der SRM1(–V2)–Zyklus
Der gesamte Ablauf der SRM1(–V2)–Verarbeitung ist im folgenden Ablaufdia-
gramm dargestellt.

Initialisierung

Betriebs–
vorgänge

CompoBus/S–
Ende abwarten

Eingangs–
auffrischung

Programm-
ausführung

Zy-
klus-
zeit
Zykluszeit-
verarbeitung

Ausgangs–
auffrischung

Service der
RS–232C–
Schnittstelle
Service der
Peripherie-
schnittstelle

Hinweis 1. Die Zykluszeit kann mit Programmiergeräten angezeigt werden.


2. Die maximale und die aktuelle Zykluszeit wird in AR 14 und AR 15 gespei-
chert.
3. Die Änderung der Verarbeitung verursacht, dass sich die Zykluszeiten än-
dern; deshalb stimmen errechnete und aktuelle Werte (für Zykluszeit) nicht
immer überein.

519
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

8-3-2 SRM1(–V2)–Zykluszeit
Die während eines einzelnen SRM1(–V2)–Zyklus ablaufenden Vorgänge sind
in der folgenden Tabelle dargestellt. Darüber hinaus sind die entsprechenden
Verarbeitungszeiten aufgeführt.
Prozess Inhalt zeitanforderungen
Betriebsvorgänge Stellen des Zykluswatchdog–Zeitgebers, UM(Anwenderpro- 0,18 ms
gramm)–Prüfung, usw.
CompoBus/S–Ende Warten auf das Ende der CompoBus/S–Verarbeitung CompoBus/S–Kommunikationszeit
warten
Eingangsauffrischung Die Eingangsdaten der Eingangsbaugruppen werden in die 0,02 ms
Eingangsbits eingelesen.
Programmausführung Ausführung des Anwenderprogramms Gesamtzeit für die Befehlsausführung
(diese ändert sich in Abhängigkeit von
Sehen Sie Abschnitt 8-3-6 SRM1(–V2)–Befehlsausfüh-
dem Inhalt des Anwenderprogramms.)
rungszeit.
Zykluszeit–Berechnung Bereitschaftsbetrieb (Stand–by) bis zur spezifizierten Zeit, Die Berechnung erfolgt fast unmittelbar
wenn die Mindest–Zykluszeit in der Konfiguration in DM (gilt nicht für den Bereitschaftsbetrieb).
6619 spezifiziert wird.
Berechnung der Zykluszeit.
Ausgangsauffrischung Ausgangsdaten (Ergebnisse der Programmausführung) 0,05 ms
werden in die Ausgangsbits geschrieben.
CompoBus/S–Kommunikation wird gestartet.
Service der RS–232C– Bearbeitung der mit der RS–232C–Schnittstelle verbunde- 5% oder Prozentsatz der Zykluszeit, aber
Schnittstelle nen Geräte. immer zwischen 0,55 und 131 ms
(in DM 6616 spezifiziert.)
Service der Peripherie- Bearbeitung der mit der Peripherieschnittstelle verbunde- 5% oder Prozentsatz der Zykluszeit, aber
schnittstelle nen Geräte. immer zwischen 0,55 und 131 ms
(in DM 6617 spezifiziert.)

Minimale Zykluszeit In SPS–Systemen der SRM1(–V2)–Serie wird die CompoBus/S–Kommunika-


tion gestartet, nachdem die Ausgangsauffrischung beendet ist. Infolgedessen
wird, wenn die Betriebsvorgangszeit plus die RS–232C–Schnittstellen–Ser-
vice–Zeit plus die Peripherieschnittstellen–Service–Zeit kürzer ist als die Com-
poBus/S–Kommunikationsreaktionszeit die Verarbeitung ausgesetzt, bis die
CompoBus/S–Kommunikation beendet ist.
Die Mindest–Zykluszeit ist deshalb die CompoBus/S–Kommunikationsreak-
tionszeit plus die Programmausführungs–Zeit plus die Eingangsauffrischungs-
zeit plus die Ausgangsauffrischungszeit. Die CompoBus/S–Kommunikations-
reaktionszeit hängt von der “Maximalanzahl der Teilnehmer” und der “Kommu-
nikationsmodus”–Einstellungen ab, wie im Folgenden dargestellt ist:
Max. Anzahl der Kommunikations– CompoBus/S–
Teilnehmer modus Kommunikationszeit
32
3 Schneller Modus 0,8 ms
Long-Distance–Modus 6,0 ms
16
6 Schneller Modus 0,5 ms
Long-Distance–Modus 4,0 ms

Hinweis Die Maximalanzahl der Teilnehmer und der Kommunikationsmodus werden in


der SPS–Konfiguration (DM 6603) eingestellt.

Zykluszeit und Betrieb Der Einfluss der Zykluszeit auf den SRM1(–V2)–Betrieb ist nachfolgend darge-
stellt. Beeinflußt eine lange Zykluszeit den Betrieb, kann entweder die Zyklus-

520
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

zeit verringert oder die Ansprechzeit mit Interrupt–Programmen verbessert wer-


den.
Zykluszeit Betriebsbedingungen
Min. 10 ms oder länger Bei Verwendung der Zeitgeber/Zähler TC 004 bis TC 127 wird TIMH(15) möglicherweise mit geringerer Präzi-
sion ausgeführt. (Bei Verwendung von TC 000 bis TC 003 ist ein normaler Betrieb gewährleistet).
20 ms oder länger Die Programmierung ist bei Verwendung des 0,02 s–Taktbits (SR 25401) möglicherweise ungenau.
100 ms oder länger TIM ist evtl. ungenau. Die Programmierung ist bei Verwendung des 0,1 s–Taktbits (SR 25500) möglicher-
weise ungenau. Ein Fehler (Zykluszeit–Überschreitung) wird generiert (SR 25309 wird gesetzt – sehen Sie
Hinweis 1).
120 ms oder länger Der Sollwert der Überwachungszeit wird überschritten und und ein Systemfehler (FALS 9F) generiert, der den
Betrieb stoppt (sehen Sie Hinweis 2).
200 ms oder länger Die Programmierung ist bei Verwendung des 0,2 s–Taktbits (SR 25501) möglicherweise ungenau.

Hinweis 1. in der Konfiguration (DM 6655) kann die Erkennung der Zykluszeit–Über-
schreitung deaktiviert werden.
2. Die Zyklus–Überwachungszeit kann in der Konfiguration (DM 6618) geän-
dert werden.
Berechnung der Zykluszeit Nachfolgend ist ein Beispiel für die Berechnung der Zykluszeit aufgeführt.
Folgende Betriebsbedingungen werden vorausgesetzt:
Programmspeicher: 500 Befehle (nur bestehend aus LD und OUT)
Zykluszeit: Variabel (kein Minimum spezifiziert)
RS-232C–Schnittstelle: Nicht verwendet
Max. Anz. Teilnehmer: 32 Teilnehmer und schneller Kommun.modus
(CompoBus/S–Kommunikationszeit
= 0,8 ms)
Peripherie: 0,7 ms
In diesem Beispiel wird vorausgesetzt, dass die durchschnittliche Verarbei-
tungszeit für einen einzelnen Befehl in dem Anwenderprogramm 1,6 µs beträgt.
Die Zykluszeiten sind in der nachfolgendenTabelle dargestellt.
Prozess Berechnung Mit Ohne
Peripherieschnittstelle Peripherieschnittstelle
1. Betriebsvorgang Fest 0,18 ms 0,18 ms
2. CompoBus/S–Ende Sehen Sie die vorhergehende 0,00 ms 0,62 ms
abwarten Seite
3. Eingangsauffrischung Fest 0,02 ms 0,02 ms
4. Programmausführung 1,6 × 500 (µs) 0,8 ms 0,8 ms
5. Zykluszeit–Berechnung Vernachlässigbar 0,00 ms 0,00 ms
6. Ausgangsauffrischung 0,05 ms 0,05 ms
7. Service der RS–232C– Wird nicht benötigt 0,00 ms 0,00 ms
Schnittstelle
8. Service der Peripherie- 5% der Zykluszeit 0,7 ms 0,00 ms
schnittstelle
Zykluszeit (1) + (2) + (3) + ...+ (8) 1,75 ms 1,67 ms

Hinweis 1. Die Zykluszeit der SPS kann über ein Programmiergerät angezeigt werden.
2. Die maximale und die aktuelle Zykluszeit wird in AR 14 und AR 15 gespei-
chert.
3. Die Zykluszeit hängt von den tatsächlichen Betriebsbedingungen ab und
stimmt möglicherweise nicht mit dem berechneten Wert überein.
4. Bei Verwendung der Peripherieschnittstelle gibt es keine “CompoBus/S–
Ende abwarten–Zeit”, da sie immer 0 ist.
5. CompoBus/S–Ende abwarten–Verzögerungszeit = 0,8 – 0,18 – 0 – 0 = 0,62
(CompoBus/S–Kommunikationszeit – Betriebsvorgänge – RS–232C–
Schnittstellen–Service–Zeit – Peripherieschnittstellen–Service–Zeit.

521
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

8-3-3 E/A–Reaktionszeit
Die E/A–Ansprechzeit ist die Zeit, die die SPS nach dem Empfang eines Ein-
gangssignals (d.h. nach dem Setzen eines Eingangsbits) zur Überprüfung und
Verarbeitung der Daten sowie zur Ausgabe eines Steuersignals (zur Ausgabe
des Verarbeitungsergebnisses an ein Ausgangsbit) benötigt.
Die CompoBus/S–Kommunikation wird gestartet, wenn die SRM1(–V2) Auffri-
schungsausführung beendet ist. Der Ein–/Aus–Zustand wird von den Ein-
gangsmodulen während der Eingangsauffrischung gelesen und der Ein–/Aus–
Zustand wird während der Ausgangsauffrischung an die Ausgangsmodule aus-
gegeben. Hierdurch ändert sich die SRM1(–V2)–E/A–Ansprechzeit entspre-
chend der Zykluszeit und dem CompoBus/S–Kommunikations–Zykluszustand
oder dem E/A–Zeitverhalten.
Beispielsberechnungen der E/A–Ansprechzeit sind im Folgenden aufgeführt.
Minimale E/A–Ansprechzeit
Minimale E/A–Ansprechzeit =
Eingang–EIN–Verzögerung + Ausgang–EIN–Verzögerung + CompoBus/S–
Kommunikations–Zykluszeit + SRM1(–V2)–Zykluszeit

Zykluszeit
SRM1(–V2)–Zyklus

Kommunikations- CompoBus/S–
reaktionzeit Zykluszeit

Eingang–EIN–
Verzögerung

Eingang auf dem Slave


Ausgangs–
verzögerung

Ausgang auf dem Slave

Maximale E/A–Ansprechzeit
Maximale E/A–Ansprechzeit =
Eingang–EIN–Verzögerung + Ausgang–EIN–Verzögerung + CompoBus/S–
Kommunikations–Zykluszeit + SRM1(–V2)–Zykluszeit x 2

Zykluszeit
SRM1(–V2)–Zyklus

Kommunikations- CompoBus/S–
reaktionzeit Zykluszeit

Eingang–EIN–
Verzögerung

Eingang auf dem Slave Ausgangs–


verzögerung

Ausgang auf dem Slave

522
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

8-3-4 1:1–PC–Link–E/A–Ansprechzeit
Werden zwei SRM1–Steuerungen mit der 1:1 PC–Link–Kommunikation ver-
wendet, ist die E/A–Ansprechzeit die Zeit vom Anlegen eines Eingangssignals
an die eine SRM1 bis zur Ausgabe eines Signals an die andere SRM1.
Minimale E/A–Ansprechzeit Die minimale Ansprechzeit der SRM1 ist unter den folgenden Bedingungen ge-
geben:
1, 2, 3... 1. Die SRM1(–V2) erhält ein Eingangssignal gleich vor der E/A–Auffri-
schungsphase des Zyklus.
2. Die Master/Slave–Übertragung beginnt sofort.
3. Der Kommunikations–Service des Slaves tritt unmittelbar nach Abschluss
der Übertragung ein.

Eingangs– E/A–Auffrischung
anschluss
Eingang–EIN–Verzögerung (8 ms) Betriebsvorgänge, Kommunikation
usw.
Ein–
gangs-
bit

Programm-
ausführung

Master–Zykluszeit (10 ms)


Master ⇒ Slave

Übertragungszeit (39 ms)

Programm-
ausführung

Ausgang–EIN–Ver-
Slave–Zykluszeit (15 ms) zögerung (10 ms)

Ausgangs–
anschluss
Min. E/A–Ansprechzeit = 8+10+39+15+10 = 82 ms

Maximale E/A–Ansprechzeit Die maximale Ansprechzeit der SRM1(–V2) ist unter den folgenden Bedingun-
gen gegeben:
1, 2, 3... 1. Die SRM1(–V2) erhält ein Eingangssignal gleich nach der E/A–Auffri-
schungsphase des Zyklus.
2. Die Master/Slave–Übertragung beginnt mit einer Verzögerung.

523
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

3. Die Übertragung ist unmittelbar nachdem der Slave den Kommunikations–


Service ausgeführt hat, abgeschlossen.

E/A–Auffrischung
Eingangs–
anschluss Eingang–EIN–Verzögerung (8 ms) Betriebssystem, Kommunikation usw.
Ein–
gangsbit

Programm- Programm-
ausführung ausführung

Master–Zykluszeit (10 ms)

Master ⇒ Slave Slave ⇒ Master Master ⇒ Slave

Übertragungszeit (39 ms × 3)

Programm- Programm-
ausführung ausführung

Ausgang–EIN–Ver-
Slave–Zykluszeit (15 ms) zögerung (10 ms)

Ausgangs-
anschluss

Maximale E/A–Ansprechzeit = 8 + 10 × 2 + 39 × 3 + 15 × 2 + 10 = 185 ms

8-3-5 Interrupt–Verarbeitungszeit
In diesem Abschnitt wird die Verarbeitungszeit von der Ausführung eines Inter-
rupts bis zum Aufruf des Interrupt–Unterprogrammes sowie die Zeit vom Ab-
schluss eines Interrupt–Unterprogrammes bis zur Rückkehr in das Hauptpro-
gramm erläutert. Diese Erklärung gilt für Intervall–Zeitgeber–gesteuerte Inter-
rupts.
1, 2, 3... 1. Interrupt–Auslösung
2. Bereitschaft bis zum Abschluss der Interrupt–Maskierungsverarbeitung
3. Wechsel zur Interrupt–Verarbeitung
4. Interrupt–Unterprogramm
5. Rückkehr in das Hauptprogramm
In der folgenden Tabelle sind die Zeiten von der Generierung eines Interrupt–Si-
gnals bis zum Aufruf des Interrupt–Unterprogrammes sowie vom Abschluss des
Interrupt–Unterprogrammes bis in das Hauptprogramm aufgeführt.
Spezifikation Beschreibung Zeit
Bereitschaft bis zum Zeit, in der Interrupts auf den Abschluss einer laufenden Verarbeitung warten. Dieses Sehen Sie
Abschluss der Interrupt–Maskie- ist bei der Ausführung einer Maskierungs– die nachfol-
rungsverarbeitung verarbeitung der Fall. Sehen Sie die nachfolgende, ausführlichere Beschreibung. gende Be-
schreibung.
Wechsel zur Interrupt–Verarbei- Dies ist die für den Wechsel zu der Interrupt–Verarbeitung erforderliche Zeit. 15 µs
tung
Rückkehr Zeit von der Ausführung der RET(93)–Anweisung bis zur Rückkehr in den unterbro- 15 µs
chenen Programmabschnitt.
Maskierungsverarbeitung
Interrupts werden durch die nachfolgende Verarbeitung maskiert. Die Interrupts
bleiben bis zum Abschluss der Verarbeitung während der angegebenen Zeiten
maskiert.
Generierung und Rücksetzung schwerwiegender Fehler:
Bei der Generierung eines geringfügigen Fehlers und der Speicherung des
Fehlerinhalts in der SRM1(–V2) bzw. bei der Rücksetzung eines Fehlers
werden Interrupts für maximal 100 µs bis zum Abschluss der Verarbeitung
maskiert.

524
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

On–line–Editierung:
Erfolgt während des Betriebs eine On–line–Editierung, werden Interrupts
für maximal 600 ms (d.h., Editierung von DM 6144 bis DM 6655) maskiert.
Zusätzlich kann die Wartezeit der Systemverarbeitung während dieses Vor-
gangs bis zu maximal 170 µs betragen.

8-3-6 SRM1(-V2)–Befehlsausführungszeiten
Die folgende Tabelle enthält die Ausführungszeiten der SRM1(–V2)–Befehle.
Basisbefehle
Code AWL EIN–Ausfüh-
us ü Bedingungen
ed gu ge (oben:
(obe min,, unten:
u e max.)
a ) AUS–Ausführungszeit (µs)
rungszeit
it (µs)
( ) RSET IL JMP
––– LD 0,97 Beliebig
e eb g –––
––– LD NOT 0,97
--- AND 0,77
--- AND NOT
--- OR 0,78 Beliebig –––
--- OR NOT
--- AND LD 0,39 Beliebig –––
--- OR LD
--- OUT 2,2
--- OUT NOT

––– SET 2,7


––– RSET 2,8
––– TIM 5,7
5, Konstante für Sollwert 9,3 9,1 3,5
:DM für Sollwert 17,4 17,2 3,5
––– CNT
C 6,6 Konstante für Sollwert 8,0 3,6 3,8
:DM für Sollwert 16,3 3,6 3,8

Spezialbefehle und Erweiterte Befehle


Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
00 NOP 0,20 Beliebig
e eb g
01 END 4,8
02 IL 2,5 1,4
03 ILC 1,9 1,9
04 JMP 2,2 1,3
05 JME 2,5 2,5
06 FAL 18,4 2,9
07 FALS 3,6 2,9
08 STEP 10,7 9,0
09 SNXT 5,9 4,1
10 SFT 14,5 Rückset- IL JMP
zung
Mit 1 Wort–Schieberegister 11,0 1,4 1,4
21,0 Mit 10 Worte–Schieberegister 14,9 1,4 1,4
49,1 Mit 100 Worte–Schieberegister 30,8 1,4 1,4
11 KEEP 3,0 Beliebig Rück- IL JMP
setzung
3,4 1,6 1,7
12 CNTR 14,8 Rückset- IL JMP
zung
Konstante für Sollwert 9,1 6,6 6,5
23,2 :DM für Sollwert
13 DIFU 6,7 Beliebig Ver– IL JMP
schie-
bung
5,8 5,2 1,3

525
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
14 DIFD 6,4 Beliebig Ver– IL JMP
schie-
bung
5,8 5,7 1,3
15 TIMH 10,3 Rückset- IL JMP
zung
Reguläre Ausführung, Konstante für Sollwert 14,1 13,9 7,0
10,9 Interrupt–Ausführung, Konstante für Sollwert 15,6 15,4 8,5
10,3 Normale Ausführung, :DM für Sollwert 22,8 22,1 7,0
10,9 Interrupt–Ausführung, :DM für Sollwert 23,9 23,6 8,5
16
6 WSFT
S 16,2 Mit 1 Wort–Schieberegister 2,9
23,0 Mit 10 Worte–Schieberegister
712,3 Mit 1024 Worte–Schieberegister bei Verwendung von
:DM
17 ASFT*
S 18,6 Verschieben eines Wortes 3,0
25,9 Verschieben von 10 Worten
865,7 Verschieben von 1023 Worten mit :DM
20
0 CMP
C 9,1 Vergleichen einer Konstanten mit einem Wort 3,0
9,9 Vergleichen von zwei Worten
25,6 Vergleichen von zwei :DM
21 MOV
O 9,1 Übertragen einer Konstanten auf ein Wort 3,0
9,5 Übertragen eines Wortes auf ein anderes Wort
24,9 Übertragen von :DM auf :DM
22 MVN 9,3 Übertragen einer Konstanten auf ein Wort 3,0
9,8 Übertragen eines Wortes auf ein anderes Wort
25,1 Übertragen von :DM auf :DM
23
3 BIN 17,2 Konvertieren eines Wortes in ein Wort 3,0
32,0 Konvertieren von :DM auf :DM
24 BCD
C 15,8 Konvertieren eines Wortes in ein Wort 3,0
30,6 Konvertieren von :DM auf :DM
25
5 ASL
S 9,9 Verschieben eines Wortes 2,9
17,3 Verschieben von :DM
26
6 ASR
S 9,7 Verschieben eines Wortes 3,0
17,2 Verschieben von :DM
27 ROL
O 8,5 Rotieren eines Wortes 2,9
16,1 Rotieren von :DM
28
8 ROR
O 8,5 Rotieren eines Wortes 2,9
,9
16,1 Rotieren von :DM
29
9 COM
CO 10,5 Invertieren eines Wortes 3,0
17,7 Invertieren von :DM
30 ADD 15,9 Konstante + Wort → Wort 3,1
16,4 Wort + Wort → Wort
39,5 :DM + :DM → :DM
31
3 SUB
SU 15,6 Konstante – Wort → Wort 3,0
16,3 Wort – Wort → Wort
38,6 :DM – :DM → :DM
32
3 MUL
U 29,7 Konstante  Wort → Wort 3,0
28,5 Wort  Wort → Wort
51,6 :DM  :DM → :DM
33 DIV 27,2 Wort ÷ Konstante → Wort 2,9
28,5 Wort ÷ Wort → Wort
53,1 :DM ÷ :DM → :DM
34
3 ANDW 14,3 Konstante “ Wort → Wort 2,9
15,2 Wort “ Wort → Wort
37,3 :DM “ :DM → :DM
35 ORW
O 14,3 Konstante V Wort → Wort 2,9
15,2 Word V word → word
37,3 :DM V :DM → :DM

526
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
36 XORW
O 14,3 Konstante V Wort → Wort 2,9
15,2 Wort V Wort → Wort
37,3 :DM V :DM → :DM
37
3 XNRW 14,3 Konstante V Wort → Wort 2,9
15,2 Wort V Wort → Wort
37,3 :DM V :DM → :DM
38 INC
C 9,9 Inkrementieren eines Wortes 2,9
17,3 Inkrementieren von :DM
39 DEC
C 10,2 Dekrementieren eines Wortes 2,9
17,4 Dekrementieren von :DM
40 STC 3,5 Beliebig
g 2,9
41 CLC 3,0 2,9
46
6 MSG
SG 11,3 Meldung in Worten 2,9
19,4 Meldung in :DM
47 RXD* 39,1 Wortspezifikation, 1 Byte–Eingabe 2,9
116,8 :DM Spezifikation, 256 Byte–Eingabe
48
8 TXD* 31,3 Wortspezifikation, 1 Byte–Eingabe, (RS–232C) 2,9
266,5 :DM–Spezifikation, 256 Byte–Eingabe, (RS–232C)
26,7 Wortspezifikation, 1 Byte–Eingabe, Host–Link
34,0 :DM–Spezifikation, 256 Byte–Eingabe, Host–Link
50 ADB 16,8 Konstante + Wort → Wort 3,0
17,6 Wort + Wort → Wort
39,9 :DM + :DM → :DM
51
5 SBB
S 17,0 Konstante – Wort → Wort 3,0
17,8 Wort – Wort → Wort
40,2 :DM – :DM → :DM
52
5 MLB 19,1 Konstante  Wort → Wort 3,0
20,1 Wort  Wort → Wort
43,5 :DM  :DM → :DM
53 DVB 19,5 Wort ÷ Konstante → Wort 3,0
20,4 Wort ÷ Wort → Wort
43,7 :DM ÷ :DM → :DM
54
5 ADDL 26,7 Wort + Wort → Wort 3,0
49,9 :DM + :DM → :DM
55 SUBL
SU 26,8 Wort – Wort → Wort 3,0
49,9 :DM – :DM → :DM
56 MULL
U 81,4 Wort  Wort → Wort 3,0
106,2 :DM  :DM → :DM
57
5 DIVL 76,9 Wort ÷ Wort → Wort 3,0
101,8 :DM ÷ :DM → :DM
60 CMPL
C 16,9 Vergleichen von Worten 2,9
,9
32,9 Vergleichen von :DM
66 SCL*
SC 69,5 Wortspezifikation 3,0
91,5 :DM–Spezifikation
67
6 BCNT*
C 26,9 Zählen eines Wortes 3,0
2,29 ms Zählen von 6656 Worten über :DM
68 BCMP* 41,4 Vergleichen einer Konstanten, Ergebnisse an ein 3,0
Wort
41,9 Vergleichen eines Wortes, Ergebnisse an ein Wort
64,5 Vergleichen von :DM, Ergebnisse an :DM
69 STIM*
S 34,7 Wortweise spezifizierten Monoflop–Interrupt starten 3,0
49,5 :DM–weise spezifizierten Monoflop–Interrupt starten
35,3 Wortweise und periodischen Interrupt starten
50,0 :DM–weise und periodischen Interrupt starten
33,9 Wortweise spezifizierten Zeitgeber lesen
49,5 :DM–weise spezifizierten Zeitgeber lesen
11,4 Wortweise spezifizierten Zeitgeber anhalten

527
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
70
0 XFER 22,9 Übertragen einer Konstanten auf ein Wort 3,0
24,0 Übertragen eines Wortes auf ein Wort
902,0 Übertragen von 1024 Worten mit Hilfe von :DM
71 BSET
S 15,2 Kopieren einer Konstanten in ein Wort 3,0
15,7 Kopieren einer Wortkonstanten in 10 Worte
565,2 Kopieren von :DM in 1024 Worte
73
3 XCHG
C G 16,2 Wort → Wort 3,1
31,5 :DM → :DM
74 SLD
S 13,6 Verschieben eines Wortes 3,0
26,7 Verschieben von 10 Worten
1,54 ms Verschieben von 1024 Worten mit Hilfe von:DM
75
5 SRD
S 13,6 Verschieben eines Wortes 3,0
26,6 Verschieben von 10 Worten
1,54 ms Verschieben von 1024 Worten mit Hilfe von :DM
76
6 MLPX 25,5 Dekodieren eines Wortes in ein Wort 3,0
48,9 Dekodieren von :DM auf :DM
77 DMPX 35,1 Kodieren eines Wortes in ein Wort 3,0
58,1 Kodieren von :DM auf :DM
78
8 SDEC
S C 26,8 Dekodieren eines Wortes in ein Wort 2,9
49,9 Dekodieren von :DM auf :DM
80 DIST
S 21,3 Kopieren einer Konstanten in ein Wort + ein Wort 3,0
21,9 Kopieren eines Wortes in ein Wort + ein Wort
45,7 Kopieren von :DM auf :DM +:DM
34,3 Kopieren einer Konstanten auf einen Stack
35,3 Kopieren eines Wortes auf einen Stack
59,3 Kopieren von :DM auf einen Stack über :DM
81
8 COLL
CO 21,4 Kopieren einer Konstanten + ein Wort in ein Wort 3,0
21,8 Kopieren eines Wortes + ein Wort in ein Wort
44,9 Kopieren von :DM + :DM auf :DM
34,0 Kopieren eines Wortes + Konstante auf einen FIFO–
Stack
33,9 Kopieren eines Wortes + Wort auf einen FIFO–Stack
892,0 Kopieren des :DM + :DM auf einen FIFO–Stapel
über :DM
35,4 Kopieren eines Wortes + Konstante auf einen LIFO–
Stack
36,1 Kopieren eines Wortes + Wort auf einen LIFO–Stack
60,5 Kopieren des :DM + :DM auf einen LIFO–Stapel
über :DM
82
8 MOVB
O 18,2 Übertragen einer Konstanten auf ein Wort 3,0
19,0 Übertragen eines Wortes auf ein anderes Wort
42,1 Übertragen von :DM auf :DM
83 MOVD
O 16,3 Übertragen einer Konstanten auf ein Wort 2,9
17,6 Übertragen eines Wortes auf ein anderes Wort
39,9 Übertragen von :DM auf :DM
84
8 SFTR
S 21,0 Verschieben eines Wortes 3,0
26,9 Verschieben von 10 Worten
718,5 Verschieben von 1024 Worten mit Hilfe von :DM
85 TCMP 30,0 Vergleichen einer Konstanten mit Worten der spezifi- 3,0
zierten Tabelle
30,7 Vergleichen eines Wortes mit Worten der spezifizier-
ten Tabelle
53,1 Vergleichen von :DM auf :DM–Einstelltabelle
86 ASC
SC 30,0 Wort → Wort 3,0
53,7 :DM → :DM
91 SBS 13,2 Beliebig
g 3,0
92 SBN ––– 1,3
93 RET 7,8 1,3

528
SRM1(–V2)–Zyklus– und E/A–Ansprechzeit Abschnitt 8-3

Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
99 MCRO
C O 26,8 Mit wortweise spezifizierten E/A–Operanden 3,0
43,5 Mit :DM–weise spezifizierten E/A–Operanden

Hinweis Die mit einem Sternchen gekennzeichneten Befehle sind Erweiterungsbefehl.

Erweiterte Befehle ohne Vorgabe–Funktionscodes


Code AWL EIN–Ausfüh- Bedingungen (oben: min, unten: max.) AUS–Ausführungszeit (µs)
rungszeit (µs)
––– FCS 23,4 Addieren eines Wortes und Ausgabe an ein Wort 3,0
643,7 Addieren von 999 Worten und Ausgabe an :DM
––– HEX 43,6 DM → DM 3,0
73,5 :DM → :DM
––– NEG
G 46,0 Konvertieren einer Konstanten in ein Wort 3,0
48,0 Konvertieren eines Wortes in ein Wort
65,5 Konvertieren :DM auf :DM
––– PID 420,0 Erste Ausführung Wort mit Wort 3,0
452,0 Erste Ausführung :DM auf :DM
63,0 Weitere Ausführungen Wort zu Wort
84,5 Weitere Ausführungen :DM auf :DM
––– STUP 51,2 Übertragen einer Konstanten an Wort 3,0
58,2 Übertragen eines Wortes an Wort
––– ZCP
C 45,0 Vergleichen einer Konstanten mit einem Wortbereich 3,0
46,5 Vergleichen eines Wortes mit einem Wortbereich
69,0 Vergleichen von :DM auf :DM

529
Kapitel 9
Fehlersuche
Dieses Kapitel beschreibt die Fehlersuche und –behebung der während des SPS–Betriebs auftretenden Hardware– und Soft-
warefehler.

9-1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532


9-2 Fehlermeldung der Programmierkonsole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
9-3 Programmierfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
9-4 Anwenderdefinierte Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
9-5 Betriebsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
9-5-1 Geringfügige Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
9-5-2 Schwerwiegende Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
9-5-3 Weitere Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
9-6 Fehlerprotokoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
9-7 Host–Link–Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
9-8 Ablaufdiagramm zur Fehlerbehebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539

531
Fehlermeldung der Programmierkonsole Abschnitt 9-2

9-1 Einführung
SPS–Fehler können allgemein in die folgenden vier Kategorien eingeteilt wer-
den:
1, 2, 3... 1. Programmeingabe–Fehler
Diese Fehler treten bei der Eingabe eines Programms oder bei der Aktivie-
rung eines Vorgangs auf, der zur Vorbereitung des SPS–Betriebs dient.
2. Programmierfehler
Diese Fehler werden während der Programmüberprüfung über die entspre-
chende Funktion angezeigt.
3. Durch den Anwender definierte Fehler
Der Anwender kann mit Hilfe von drei Befehlen eigene Fehler oder Meldun-
gen definieren. Die Befehle werden ausgeführt, wenn eine besondere Be-
dingung (durch den Anwender definiert) während des Betriebs auftritt.
4. Betriebsfehler
Diese Fehler treten nach Beginn der Programmausführung auf.
a) Geringfügige Fehler:
Der SPS–Betrieb und die Programmausführung werden nach Auftreten
eines oder mehrerer dieser Fehler fortgesetzt.
b) Schwerwiegende Fehler:
Der SPS–Betrieb und die Programmausführung werden nach Auftreten
dieses Fehlers beendet und alle Ausgänge der SPS deaktiviert.
Die LEDs der SPS melden einen SPS–Fehler und zeigen eine Fehlermeldung
oder den entsprechenden Fehlercode auf der Programmierkonsole oder dem
Host–Computer an, sofern dieser angeschlossen ist. Der Fehlercode wird dar-
überhinaus in dem Systemmerkerbereich SR 25300 bis SR 25307 gespeichert.
Für die zuletzt aufgetretenen Fehler wird sowohl der Fehlertyp als auch der Zeit-
punkt ihres Auftretens im SPS–Fehlerprotokollbereich gespeichert. Sehen Sie
Seite 537 für weitere Informationen.
Für die Fehlersuche können Informationen des SR– und AR–Bereiches ver-
wendet werden. Sehen Sie Kapitel 3 Speicherbereiche für weitere Informatio-
nen.
Hinweis Zusätzlich zu den oben beschriebenen Fehlern können Kommunikationsfehler
auftreten, wenn die SPS innerhalb eines Host–Link–Systems eingesetzt wird.
Sehen Sie Seite 539 für weitere Informationen.

9-2 Fehlermeldung der Programmierkonsole


Bei Arbeiten mit der Programmierkonsole können folgende Fehler auftreten.
Beheben Sie die Fehler wie angegeben und setzen Sie den Betrieb fort. Die in
den nachstehenden Anzeigen angegebenen Sternchen werden in der tatsächli-
chen Anzeige durch numerische Daten, normalerweise eine Adresse ersetzt.
Weitere Informationen (Fehler) werden in der CX–Programmer–Programmier-
software angezeigt.
Fehlermeldung Erklärung und Abhilfe
REPL ROM Es wurde versucht, Daten in einem schreibgeschützten Speicher
abzulegen. Bit 00 bis 03 von DM 6602 auf “0” setzen.
PROG OVER Der Befehl auf der letzten Adresse im Speicher ist nicht NOP (00).
Löschen Sie alle unnötigen Befehle am Ende des Programmes.
ADDR OVER Es wurde eine Adresse spezifiziert, die größer als die höchste
Speicheradresse im Programmspeicher ist. Geben Sie eine kleinere
Adresse an.
SET DATA ERR FALS 00 wurde eingegeben, “00” kann jedoch nicht eingegeben werden.
Geben Sie die Daten erneut ein.
I/O NO. ERR Es wurde eine Datenbereichsadresse spezifiziert, die die Grenze des
Datenbereiches überschreitet. Dies ist z.B. der Fall, wenn eine Adresse
zu groß ist. Bestätigen Sie die Bedingungen für den Befehl, und geben
Sie die Adresse erneut ein.

532
Programmierfehler Abschnitt 9-3

9-3 Programmierfehler
Diese Fehler werden bei der Syntaxüberprüfung des Programms erkannt.
Es stehen drei Programmüberprüfungs–Ebenen zur Verfügung. Die ge-
wünschte Ebene, die den zu erkennenden Fehlertyp anzeigen soll, muß an-
gegeben werden. Die folgende Tabelle enthält die Fehlertypen und –anzei-
gen sowie die Erläuterung aller Syntaxfehler. Prüfebene 0 sucht nach A–, B–,
und C–Fehlerarten, Prüfebene 1 nach A– und B–Fehlern und Prüfebene 2
nur nach A–Fehlern.
Fehler der Ebene A Fehlermeldung Erklärung und Abhilfe
????? Das Programm wurde beschädigt und hierdurch ein nicht existierender
Funktionscode erzeugt. Laden Sie das Programm erneut.
CIRCUIT ERR Die Anzahl von Logikblöcken und Logikblock–Befehlen stimmt nicht
überein, d.h. LD oder LD NOT wurde verwendet, um einen Logikblock zu
starten, dessen Ausführungsbedingung bisher von keinem anderen
Befehl verwendet wurde. Es ist ebenso möglich, dass ein
Logikblockbefehl verwendet wurde, der nicht die erforderliche Anzahl
von Logikblöcken besitzt. Überprüfen Sie Ihr Programm.
OPERAND ERR Eine für den Befehl eingegebene Konstante befindet sich nicht innerhalb
der definierten Werte. Ändern Sie die Konstante so, dass sie innerhalb
des richtigen Bereiches liegt.
NO END INSTR Das Programm enthält keinen END(01)–Befehl. Speichern Sie END(01)
auf der Endadresse des Programms.
LOCN ERR Ein Befehl befindet sich im Programm an der falschen Stelle. Überprüfen
Sie die Befehlsbedingungen, und korrigieren Sie das Programm.
JME UNDEFD Es fehlt ein JME(05)–Befehl für einen JMP(04)–Befehl. Korrigieren Sie
die Sprungnummer oder fügen Sie den richtigen JME(05)–Befehl ein.
DUPL Es wurde zweimal dieselbe Sprungnummer oder Unter–
programmnummer verwendet. Korrigieren Sie das Programm, so dass
dieselbe Nummer jeweils nur einmal verwendet wird.
SBN UNDEFD Der SBS(91)–Befehl wurde für eine Unterprogrammnummer
programmiert, die nicht existiert. Korrigieren Sie die
Unterprogrammnummer oder erstellen Sie das erforderliche
Unterprogramm.
STEP ERR STEP(08) mit und STEP(08) ohne Abschnittsnummer (Steuerbit) wurden
falsch verwendet. Überprüfen Sie die STEP(08)–
Programmierbedingungen und korrigieren Sie das Programm.

Fehler der Ebene B Fehlermeldung Erklärung und Abhilfe


IL ILC ERR IL(02) und ILC(03) werden nicht zusammen verwendet. Korrigieren Sie
das Programm, so dass jeder IL(02)– einen entsprechenden
ILC(03)–Befehl besitzt. Das Programm wird trotz dieser Fehlermeldung
fortgesetzt, wenn mehr als ein IL(02)–Befehl demselben ILC(03)–Befehl
zugeordnet wird. Vergewissern Sie sich, dass Ihr Programm, wie
gewünscht, gespeichert wurde, bevor Sie fortfahren.
JMP–JME ERR JMP(04) 00 und JME(05) 00 werden nicht zusammen verwendet.
Vergewissern Sie sich, dass Ihr Programm, wie gewünscht, gespeichert
wurde, bevor Sie fortfahren.
SBN–RET ERR Wird die Adresse von SBN(92) angezeigt, wurden zwei Unterprogramme
mit derselben UnterProgrammnummer spezifiziert. Ändern Sie eine der
UnterProgrammnummern oder löschen Sie eines der Unterprogramme.
Wird die Adresse von RET(93) angezeigt, wurde RET(93) nicht richtig
verwendet. Überprüfen Sie die Bedingungen für RET(93) und korrigieren
Sie das Programm.

Fehler der Ebene C Fehlermeldung Erklärung und Abhilfe


COIL DUPL Das gleiche Bit wird von mehr als einem Befehl (z.B OUT, OUT NOT,
DIFU(13), DIFD(14), KEEP(11), SFT(10)) gesteuert (d.h. auf 1 bzw. 0
gesetzt). Obwohl dies für bestimmte Befehle möglich ist, überprüfen Sie
die Befehlsbedingungen und vergewissern Sie sich, dass das Programm
korrekt ist. Schreiben Sie im anderen Fall das Programm erneut, so dass
jedes Bit von nur einem Befehl gesteuert wird.
JMP UNDEFD JME(05) wurde mit einem JMP(04)–Befehl verwendet, der nicht dieselbe
Sprungnummer besitzt. Fügen Sie einen JMP(04)–Befehl mit derselben
Nummer hinzu oder löschen Sie den nicht verwendeten
JME(05)–Befehl.
SBS UNDEFD Es existiert ein Unterprogramm, das nicht von SBS(91) aufgerufen wird.
Programmieren Sie an der richtigen Stelle einen Unterprogrammaufruf
oder löschen Sie das Unterprogramm, falls es nicht erforderlich ist.

533
Betriebsfehler Abschnitt 9-5

! Vorsicht Erweiterungsbefehle (die den Funktionscode 17, 18, 19, 47, 48, 60...69, 87, 88
und 89 zugewiesen sind) werden nicht überprüft. Es erfolgen keine Programm-
überprüfungen für DM 1024 bis DM 6143 bei SPS–Systemen, die diesen Teil
des DM–Bereichs nicht unterstützt. Auch wenn diese Daten spezifiziert sind,
werden keine Daten gespeichert und die in diesem Bereich gelesenen Daten
sind immer “0000”.

9-4 Anwenderdefinierte Fehler


Dem Anwender stehen vier Befehle zur Verfügung, mit denen er eigene Fehler
bzw. Meldungen definieren kann. Diese Befehle dienen dazu, Meldungen an die
mit der SPS verbundene Programmierkonsole zu senden, wenn ein geringfügi-
ger oder schwerwiegender Fehler auftritt.
MELDUNG – MSG(46) MSG(46) dient dazu, eine Meldung auf der Programmierkonsole anzuzeigen.
Die Meldung, die bis zu 16 Zeichen lang sein kann, wird angezeigt, wenn die
Befehlsausführungsbedingung WAHR ist. Sehen Sie Seite 477 für weitere In-
formationen.
FEHLERALARM – FAL(06) FAL(06) ist ein Befehl, der einen geringfügigen Fehler verursacht. Weitere In-
formationen siehe Seite 359. Die Verwendung des FAL(06)–Befehls hat fol-
gende Auswirkungen:
1, 2, 3... 1. Die ERR/ALM–LED der CPU blinkt. Der SPS–Betrieb wird jedoch fortge-
setzt.
2. Die 2–stellige BCD–FAL–Nummer (01...99) des Befehles wird im System-
merkerbereich SR 25300...SR 25307 gespeichert.
3. Die FAL–Nummer wird im Fehlerprotokollbereich der SPS gespeichert. Die
Zeit des Auftretens wird ebenfalls in CPM2A– und CPM2C–SPS–Systemen
eingetragen, die mit einer internen Uhr ausgestattet sind.
FAL–Nummern können beliebig eingestellt werden, um bestimmte Bedingun-
gen anzuzeigen. Dieselbe kann jedoch nicht gleichzeitig als FAL– und als
FALS–Nummer verwendet werden.
Um einen FAL–Fehler zu löschen, muss die Ursache des Fehlers korrigiert,
FAL00 ausgeführt und der Fehler mit Hilfe der Programmierkonsole oder der
Programmiersoftware gelöscht werden.
SCHWERWIEGENDER FALS(07) ist ein Befehl, der einen schwerwiegenden Fehler verursacht. Sehen
FEHLERALARM – FALS(07) Sie Seite 359 für weitere Informationen. Die Verwendung des FALS(07)–Be-
fehls hat folgende Auswirkungen:
1, 2, 3... 1. Die Programmausführung wird beendet und die Ausgänge zurückgesetzt
(AUS).
2. Die ERR/ALM–Anzeige der CPU leuchtet.
3. Die 2–stellige BCD–FALS–Nummer (01...99) wird im Systemmerkerbe–
reich SR 25300...SR 25307 gespeichert.
4. FAL–Nummern werden im Fehlerprotokollbereich der SPS gespeichert.
Die Zeit des Auftretens wird ebenfalls in SPS–Systemen der CPM2A– und
CPM2C–Serie eingetragen, die mit einer internen Uhr ausgestattet sind.
FAL–Nummern können beliebig eingestellt werden, um bestimmte Bedingun-
gen anzuzeigen. Dieselbe kann jedoch nicht gleichzeitig als FAL– und als
FALS–Nummer verwendet werden.
Um einen FAL–Fehler zu löschen, muß die SPS in die PROGRAM–Betriebsart
umgeschaltet, die Ursache des Fehlers korrigiert und der Fehler mit Hilfe der
Programmierkonsole oder der Programmiersoftware gelöscht werden.

9-5 Betriebsfehler
Zwei Arten von Betriebsfehlern, geringfügige und schwerwiegende Fehler, wer-
den generiert. Nach Auftreten eines geringfügigen Fehlers wird der SPS–Be-

534
Betriebsfehler Abschnitt 9-5

trieb fortgesetzt. Liegt jedoch ein schwerwiegender Fehler vor, wird der Betrieb
beendet.

! Vorsicht Überprüfen Sie alle Fehler, unabhängig davon, ob sie schwerwiegend oder ge-
ringfügig sind. Beseitigen Sie die Fehlerursache so schnell wie möglich, und
schalten Sie die SPS wieder ein. Sehen Sie das CPM1–,CPM2A– oder
CPM2C–Technisches Handbuch für Hardware–Informationen und Program-
mierkonsolen–Funktionen in Bezug auf Fehler. Fehlercode FAL und Fehlerur-
sache werden in der Programmiersoftware CX–Programmer oder SYSWIN bei
der Online–Verbindung angezeigt.

9-5-1 Geringfügige Fehler


Der SPS–Betrieb und die Programmausführung werden nach Auftreten eines
oder mehrerer dieser Fehler fortgesetzt. Dennoch sollte die Ursache des Feh-
lers korrigiert und der Fehler so bald wie möglich gelöscht werden.
Tritt einer dieser Fehler auf, leuchten die POWER– und RUN–LEDs und die
ERR/ALM–LED blinkt.
Fehlermeldung FAL–Nr. Erklärung und Abhilfe
SYS FAIL FAL** 01 bis 99 Ein FAL(06)–Befehl wurde im Programm ausgeführt. Überprüfen Sie die FAL–Nummer, um die
(sehen Sie den Fehlerursache zu ermitteln, korrigieren die Ursache und löschen den Fehler.
Hinweis) 9B Ein Fehler wurde in der Konfiguration der SPS erkannt. Überprüfen Sie die Merker AR 1300 bis
AR 1302 und führen Sie die erforderlichen Korrekturen durch.
AR 1300 gesetzt:
Beim Einschalten der SPS wurde eine fehlerhafte Einstellung in der Konfiguration erkannt
(DM 6600 bis DM 6614). Korrigieren Sie die Einstellungen in der PROGRAM–Betriebsart und
schalten Sie die Versorgungsspannung wieder ein.
AR 1301 gesetzt:
Beim Umschalten in den RUN–Betrieb wurde eine fehlerhafte Einstellung in der Konfiguration
der SPS (DM 6615 bis DM 6644) erkannt. Korrigieren Sie die Einstellungen in der
PROGRAM–Betriebsart und schalten Sie die SPS wieder in den RUN–Betrieb um.
AR 1302 gesetzt:
Während des Betriebs wurde eine fehlerhafte Einstellung in der Konfiguration der SPS erkannt
(DM 6645 bis DM 6655). Korrigieren Sie die Einstellungen und löschen Sie den Fehler.
BATT LOW F7 Fällt die Spannung der CPM2A–BAT01– oder CPM2C–BAT01–Sicherungsbatterie
(nur CPM2A/CPM2C– unter den Mindestspannungspegel, so blinkt die ERR/ALM–Meldeleuchte und SR
SPS–Systeme) 25308 wird gesetzt.
Ersetzen Sie die Batterie.
SCAN TIME OVER F8 Der Watchdog–Timer hat 100 ms überschritten. (SR 25309 ist gesetzt).
Hierdurch wird angezeigt, dass die Programm–Zykluszeit den Maximalwert überschreitet.
Verringern Sie, wenn möglich, die Zykluszeit. (Die SPS–Konfiguration kann eingesellt werden,
um diesen Fehler zu ignorieren.)

Hinweis ** ist 01...99 oder 9B.

535
Betriebsfehler Abschnitt 9-5

9-5-2 Schwerwiegende Fehler


Bei einem schwerwiegenden Fehler wird der SPS–Betrieb und die Programm-
ausführung unterbrochen und alle Ausgänge zurückgesetzt.
Alle CPU–LEDs sind bei einer Unterbrechung der Versorgungsspannung erlo-
schen. Bei allen anderen schwerwiegenden Betriebsfehlern leuchten die
POWER– und ERR/ALM–LEDs. Die RUN–LED ist erloschen.
Fehlermeldung FALS–Nr Erklärung und Abhilfe
Unterbrechung der 00 Die Spannung wurde für mindestens 10 ms unterbrochen. Überprüfen Sie die
Versorgungs– Versorgungsspannung und die Netzleitungen. Schalten Sie diese erneut ein.
spannung
(keine Meldung)
MEMORY ERR F1 AR 1308 gesetzt: Ein nicht spezifizierter Bitbereich ist im Anwenderprogramm vorhanden.
Überprüfen Sie das Programm und korrigieren die Fehler.
AR 1309 gesetzt: Ein Fehler ist im Flash–Speicher aufgetreten. Da die Anzahl der
Speichervorgänge des Flash–Speichers überschritten wurde, muss die
CPU–Baugruppe ersetzt werden.
AR 1310 gesetzt: Ein Prüfsummenfehler ist im Nur–Lesen–DM–Bereich (DM
6144...DM 6599) aufgetreten. Überprüfen und korrigieren Sie die Einstellungen des
Nur–Lesen–DM–Bereiches.
AR 1311 gesetzt: Ein Prüfsummenfehler ist in der Konfiguration aufgetreten. Initialisieren Sie die
gesamte Konfiguration und geben Sie die Daten erneut ein.
AR 1312 gesetzt: Ein Prüfsummenfehler ist im Programm aufgetreten. Überprüfen Sie das
Programm und korrigieren Sie alle erkannten Fehler.
AR 1313 gesetzt: Ein Prüfsummefehler ist im Funktionscode–Zuweisungsbereich des
Erweiterten Befehls aufgetreten. Erweiterte Befehls–Funktionscodes werden auf die
Vorgabeeinstellung zurückgesetzt. Weisen Sie die Funktionscodes erneut zu.
AR 1314 gesetzt: Versorgungsspannungsunterbrechungs–Speicherbereich wurde nicht
gespeichert. Beseitigen Sie den Fehler und setzen Sie die Einstellungen des
Versorgungsspannungsunterbrechungs–Haltebereichs zurück.
AR 1315 gesetzt: Ein Fehler trat in der CompoBus/S–Kommunikation auf. Ersetzen Sie die
CPU–Baugruppe (nur SRM1(–V2)), wenn der Fehler nicht korrigiert werden kann.
NO END INST F0 Die END(01)–Anweisung fehlt im Programm. Schreiben Sie eine END(01)–Anweisung in das
Programmende.
I/O BUS ERR C0 Ein Fehler ist während der Datenübertragung zwischen der CPU–Baugruppe und einer
(sehen Sie Hinweis 1) Erweiterungsbaugruppe oder –E/A–Erweiterungsbaugruppen aufgetreten. Überprüfen Sie das
Anschlusskabel der Baugruppe.
I/O UNIT OVER E1 Es wurden zuviele Erweiterungs– oder E/A–Erweiterungsbaugruppen angeschlossen.
(sehen Sie Hinweis 1) Überprüfen Sie die SPS–Konfiguration.
SYS FAIL FALS** 01 bis 99 Ein FALS(07)–Befehl wurde im Programm ausgeführt. Überprüfen Sie die FALS– Nummer, um
(sehen Sie Hinweis 2) die Fehlerursache zu ermitteln, korrigieren Sie den Fehler und löschen diesen.
9F Die Zykluszeit hat die FALS 9F–Zyklus–Überwachungszeit überschritten (DM 6618). Überprüfen
Sie die Zykluszeit und stellen Sie gegebenenfalls die Zyklus– Überwachungszeit neu ein.

Vorsicht 1. Nur CPM1/CPM1A/CPM2A/CPM2C.


2. ** ist 01...99 oder 9F.

9-5-3 Weitere Fehler


Die PWR–Anzeige leuchtet bei den nachfolgend beschriebenen schwerwie-
genden Fehlern. Ignorieren Sie den Zustand der anderen Anzeigen bis auf die in
der folgenden Tabelle aufgeführten Fälle.
Fehlerstatus FALS–Nr Erklärung und Abhilfe
CompoBus/S Keine Die ERC–Anzeige zeigt einen Fehler in der CompoBus/S–Kommunikation an. Überprüfen
Kommunikations– Sie die Slaves und die Übertragungsleitungen. Starten Sie das System erneut.
fehler
Kommunikationsfehler Keine Tritt ein Kommunikationsfehler an der RS–232C–Schnittstelle auf, so leuchtet die
der RS-232C– COMM–Anzeige nicht mehr und der Fehlermerker (AR 0804) ist gesetzt.
Schnittstelle Überprüfen Sie die Verbindungskabel und starten Sie das System erneut.
Kommunikationsfehler Keine Tritt ein Fehler in der Kommunikation über die Peripherieschnittstelle auf, leuchtet
der Peripherie– die COMM–LED nicht mehr und der Fehlermerker (AR 0812) ist gesetzt.
schnittstellen Überprüfen Sie die Verbindungskabel und starten Sie das System erneut.

536
Fehlerprotokoll Abschnitt 9-6

9-6 Fehlerprotokoll
Die Fehlerprotokoll–Funktion speichert den Code der im SPS–Betrieb auftre-
tenden geringfügigen/schwerwiegenden Fehler, zusammen mit dem Datum
und der Uhrzeit. Sehen Sie Seite 534 für weitere Informationen.
CPM1/CPM1A Bei der CPM1/CPM1A wird der Fehlerprotokollbereich in DM 1000...DM 1021
gespeichert.

DM 1000 Fehlerprotokoll–Zeiger Die Adresse zur Speicherung der nächsten Fehleraufzeichnung wird angezeigt. (0...6)
DM 1001 Fehlerprotokoll– Ein einzelner Fehlereintrag ist wie folgt konfiguriert:
DM 1002 Aufzeichnung 0 Bit 15 8 7 0
DM 1003
Führendes Wort Fehlerklassifizierung Fehlercode
Führendes Wort + 1 00 00
bis Führendes Wort + 2 00 00
Fehlerklassifizierung: 00: Geringfügig
80: Schwerwiegend
DM 1019 Fehlerprotokoll–
DM 1020 Aufzeichnung 6
DM 1021

Speicherverfahren
Die Fehlerprotokoll–Speichermethode wird über die Konfiguration spezifiziert
(DM 6655). Wählen Sie eine der nachfolgend beschriebenen Methoden aus:
1, 2, 3... 1. Sie können die letzten 7 Fehlerprotokoll–Datensätze speichern und ältere
Datensätze löschen. Dies erfolgt durch Verschiebung der Datensätze, wie
nachfolgend dargestellt ist; somit wird der ältere Datensatz (Datensatz 0)
bei Generierung eines neuen Datensatzes gelöscht.
Wird gelöscht
Fehl.protok.–Aufz. 1
Fehl.protok.–Aufz. 2
Alle Datensätze verschoben

Fehl.protok.–Aufz. 6
Fehl.protok.–Aufz. 7
Neue Datensätze hinzugefügt

2. Sie können nur die ersten 7 Fehlerprotokoll–Datensätze speichern. Alle fol-


genden Fehler werden ignoriert.
3. Sie können das Protokoll deaktivieren, so dass keine Aufzeichnungen ge-
speichert werden.
Als Grundeinstellung ist die erste Methode eingestellt. Sehen Sie die Fehlerpro-
tokoll–Konfiguration auf Seite 24 für weitere Informationen.
Fehlerprotokoll löschen
Setzen Sie SR 25214 über ein Programmiergerät auf 1, um das gesamte Feh-
lerprotokoll zu löschen. Nachdem das Fehlerprotokoll gelöscht ist, wird SR
25214 automatisch zurückgesetzt.

537
Fehlerprotokoll Abschnitt 9-6

CPM2A/CPM2C– Bei den SPS der CPM2A/CPM2C–Serie wird der Fehlerprotokollbereich in DM


Fehlerprotokollbereich 2000 bis DM 2021 gespeichert. Bis zu 7 Fehlerdatensätze können gespeichert
werden.

DM 2000 Fehlerprotokoll–Zeiger Zeigt die Anzahl der Datensätze an, die in der Protokollierung gespei-
DM 2021 chert sind (0 bis 7). 0 bedeutet kein gespeicherter Datensatz.
Fehlerprotokoll–
DM 2022 Aufzeichnung 1
Ein einzelner Fehlereintrag ist wie folgt konfi-
DM 2023 (3 Worte)
guriert: 15 8 7 0

Führendes Wort Fehlerklassifizierung Fehlercode


bis Jeder Wert wird
Führendes Wort + 1 Min Sek.
als 2–stelliger
Führendes Wort + 2 Tag Std. BCD–Wert
gespeichert.
DM 2019 Fehlerprotokoll–
Aufzeichnung 7 Fehlerklassifizierung: 00: Geringfügig
DM 2020 80: Schwerwiegend
DM 2021 (3 Worte)

Hinweis Ein Fehlerdatensatz mit einem Fehlercode von 00 wird im Fehlerprotokoll für
Versorgungsspannungsunterbrechungen gespeichert.
Speicherverfahren
Die Fehlerprotokoll–Speichermethode wird über die Konfiguration spezifiziert
(DM 6655). Wählen Sie eine der nachfolgend beschriebenen Methoden aus:
1, 2, 3... 1. Sie können die letzten 7 Fehlerprotokoll–Datensätze speichern. Ältere Da-
tensätze werden ignoriert. Dies erfolgt durch Verschieben der Datensätze,
wie nachfolgend dargestellt ist; somit wird der ältere Datensatz (Datensatz
0) bei Generierung eines neuen Datensatzes gelöscht.
Wird gelöscht
Fehl.protok.–Aufz.1
Fehl.protok.–Aufz 2
Alle Datensätze verschoben

Fehl.protok.–Aufz 6
Fehl.protok.–Aufz 7
Neue Datensätze hinzugefügt

2. Sie können nur die ersten 7 Fehlerprotokoll–Datensätze speichern. Alle fol-


genden Fehler werden ignoriert.
3. Sie können das Protokoll deaktivieren, so dass keine Aufzeichnungen ge-
speichert werden.
Als Grundeinstellung ist die erste Methode eingestellt. Sehen Sie die Fehlerpro-
tokoll–Konfiguration auf Seite 24 für weitere Informationen.
Fehlerprotokoll löschen
Setzen Sie SR 25214 über ein Programmiergerät auf 1, um das gesamte Feh-
lerprotokoll zu löschen. Nachdem das Fehlerprotokoll gelöscht ist, wird SR
25214 automatisch zurückgesetzt.
SRM1 Bei den SPS–Systemen der SRM1(–V2)–Serie wird der Fehlerprotokollbereich
in DM 2000 bis DM 2021 gespeichert.

DM 2000 Fehlerprotokoll–Zeiger Zeigt die Anzahl der Datensätze an, die in der Protokollierung gespei-
DM 2001 Fehl.protok.–Aufz. 1 chert sind (0 bis 7). 0 bedeutet kein gespeicherter Datensatz.
DM 2002 Ein einzelner Fehlereintrag ist wie folgt konfiguriert:
DM 2003 Bit 15 8 7 0
Führendes Wort Fehlerklassifizierung Fehlercode
bis Führendes Wort + 1 00 00
Führendes Wort + 2 00 00
Fehlerklassifizierung: 00: Geringfügig
DM 2019 Fehlerprotokoll– 80: Schwerwiegend
DM 2020 Aufzeichnung 7
DM 2021

538
Ablaufdiagramm zur Fehlerbehebung Abschnitt 9-8

Speicherverfahren
Die Fehlerprotokoll–Speichermethode wird über die Konfiguration spezifiziert
(DM 6655). Wählen Sie eine der nachfolgend beschriebenen Methoden aus:
1, 2, 3... 1. Sie können die letzten 7 Fehlerprotokoll–Datensätze speichern. Ältere Da-
tensätze werden ignoriert. Dies erfolgt durch Verschiebung der Datensätze,
wie nachfolgend dargestellt ist; somit wird der ältere Datensatz (Datensatz
0) bei Generierung eines neuen Datensatzes gelöscht.
Wird gelöscht
Fehl.protok.–Aufz. 1
Fehl.protok–Aufz. 2
Alle Datensätze verschoben

Fehl.protok.–Aufz 6
Fehl.protok.–Aufz 7
Neue Datensätze hinzugefügt

2. Sie können nur die ersten 7 Fehlerprotokoll–Datensätze speichern. Alle fol-


genden Fehler werden ignoriert.
3. Sie können das Protokoll deaktivieren, so dass keine Aufzeichnungen ge-
speichert werden.
Als Grundeinstellung ist die erste Methode eingestellt. Sehen Sie die Fehlerpro-
tokoll–Konfiguration auf Seite 24 für weitere Informationen.
Fehlerprotokoll löschen
Setzen Sie SR 25214 über ein Programmiergerät auf 1, um das gesamte Feh-
lerprotokoll zu löschen. Nachdem das Fehlerprotokoll gelöscht ist, wird SR
25214 automatisch zurückgesetzt.

9-7 Host–Link–Fehler
Sehen Sie Abschnitt 4-3 Host–Link–Kommunikation für eine Beschreibung des
Antwortsformats und der Antwortscodes, die zurückgegeben werden, wenn ein
Befehl nicht durch einen Host–Computer verarbeitet werden kann.

9-8 Ablaufdiagramm zur Fehlerbehebung


Fehlerbehebungsdiagramme befinden sich in den jeweiligen Bedienierhand–
büchern.
CPM1– Sehen Sie Kapitel 5–6 Fehlersuche–Ablaufdiagramme im CPM1–Bediener–
Ablaufdiagramme handbuch.
CPM1A– Sehen Sie Kapitel 5–6 Fehlersuche–Ablaufdiagramme im CPM1A–Bediener-
Ablaufdiagramme handbuch.
CPM2A– Sehen Sie Kapitel 5–6 Fehlersuche–Ablaufdiagramme im CPM2A–Bediener-
Ablaufdiagramme handbuch.
CPM2C– Sehen Sie Kapitel 5–5 Fehlersuche–Ablaufdiagramme im CPM2C–Bediener-
Ablaufdiagramme handbuch.
SRM1– Sehen Sie Kapitel 5–6 Fehlersuche–Ablaufdiagramme im SRM1–Bediener–
Ablaufdiagramme handbuch.

539
Anhang A
Programmierbefehle

Ein SPS–Befehl kann entweder über die entsprechenden Tasten (d.h., LD, AND, OR, NOT) der Programmierkon-
sole oder durch Verwendung der Funktionscodes eingegeben werden. Um einen Befehl über den Funktionscode
einzugeben, drücken Sie die Taste FUN, den Funktionscode und dann WRITE. Sehen Sie die Seiten, auf denen
Programmier– und Befehlseinzelheiten aufgeführt sind.
Code AWL–Code Bezeichnung Funktion Seite
— AND AND Logische UND–Verknüpfung eines spezifizierten Bits mit der gegen- 350
wärtigen Ausführungsbedigung.
— AND LD AND LOAD Logische UND–Verknüpfung der resultierenden Ausführungsbedin- 351
gungen der vorhergehenden Logikblöcke.
— AND NOT AND NOT Logische UND-Verknüpfung des invertierten spezifizierten Bits mit 350
der Ausführungsbedingung.
— CNT COUNTER Ein dekrementierender Zähler. 369
— LD LOAD Definiert den Zustand eines spezifizierten Bits oder Logikblocks als 350
Ausführungsbedingung für die nachfolgenden Befehle (AND LD und
OR LOAD) der Befehlszeile.
— LD NOT LOAD NOT Invertiert den Status eines spezifizierten Bits als Ausführungsbedin- 350
gung für die nachfolgende Befehlszeile.
— OR OR Logische ODER-Verknüpfung eines spezifizierten Bits mit der Aus- 350
führungsbedingung.
— OR LD OR LOAD Logische ODER-Verknüpfung der resultierenden Ausführungsbedin- 351
gungen der vorhergehenden Logikblöcke.
— OR NOT OR NOT Logische ODER-Verknüpfung des invertierten Zustandes des spezifi- 350
zierten Bits mit der Ausführungsbedingung.
— OUT OUTPUT Das Operanden-Bit wird mit der Ausführungsbedingung im WAHR- 352
(Ausgabe) Zustand auf EIN und mit der Ausführungsbedingung im FALSCH-Zu-
stand auf AUS gesetzt.
— OUT NOT OUTPUT NOT Das Operanden-Bit wird mit der Ausführungsbedingung im WAHR- 352
(Negierte Ausgabe) Zustand auf AUS und mit der Ausführungsbedingung im FALSCH-
Zustand auf EIN gesetzt (invertierende Operation).
— RSET RESET Setzt das Operanden–Bit auf AUS, wenn die Ausführungsbedingung 352
(Zurücksetzen) WAHR ist und hat keine Auswirkung auf den Status des Operanden–
Bit, wenn die Ausführungsbedingung FALSCH ist.
— SET SET Setzt das Operanden–Bit auf EIN, wenn die Ausführungsbedingung 352
(Setzen) WAHR ist und hat keine Auswirkung auf den Status des Operanden–
Bit, wenn die Ausführungsbedingung FALSCH ist.
— TIM TIMER Einschaltverzögerter (dekrementierender) Zeitgeber. 363
(Zeitgeber
00 NOP NO OPERATION Nichts wird ausgeführt und die Programmabarbeitung wird mit dem 355
(Keine Bearbeitung) nächsten Befehl fortgesetzt.
01 END END Jeweils am Programmende erforderlich. 355
(Ende)
02 IL INTERLOCK Ist eine Verriegelungsbedingung auf AUS gesetzt, werden alle Aus- 356
(Verriegelung) gänge und Zeitgeber-Istwerte zwischen dem gegenwärtigen IL(02)-
und dem nächsten ILC(03)-Befehl auf AUS gesetzt bzw
bzw. zurückge-
03 ILC INTERLOCK CLEAR setzt. Andere Befehle werden als NOP betrachtet. Die Zähler-Ist- 356
(Verriegelung löschen) werte bleiben erhalten.
04 JMP JUMP Ist die Ausführungsbedingung für den JMP(04)-Befehl FALSCH, 358
(Sprung) werden alle Befehle zwischen JMP(04)
( ) und dem entsprechenden
JME(05) ignoriert und übersprungen.
übersprungen
05 JME JUMP END 358
(Sprungende)
06 (@)FAL FAILURE ALARM AND Generiert einen geringfügigen Fehler und zeigt die entsprechende 359
RESET FAL-Nummer auf der Programmierkonsole an.
(Fehleralarm und Rück-
setzung)
07 FALS SEVERE FAILURE Generiert einen schwerwiegenden Fehler und zeigt die entspre- 359
ALARM chende FALS-Nummer auf der Programmierkonsole an.
(Scherwiegender Fehler-
alarm)
08 STEP STEP DEFINE Bei Verwendung mit einem Steuerbit wird der Anfang eines neuen 360
(Schrittdefinition) Schrittes spezifiziert und der vorhergehende Schritt zurückgesetzt.
Bei Verwendung ohne N wird das Ende der Schrittausführung spezifi-
ziert.
09 SNXT STEP START Wird mit einem Steuerbit verwendet, um das Ende des Schrittes zu 360
(Schrittstart) kennzeichnen, diesen Schritt zurückzusetzen und zu beenden sowie
den nächsten Schritt zu starten.

541
Programmierbefehle Anhang A

Code AWL–Code Bezeichnung Funktion Seite


10 SFT SHIFT REGISTER Erstellt ein Bit-Schieberegister. 379
(Schieberegister)
11 KEEP KEEP Spezifiziert ein Bit, dessen Zustand (0) oder (1) durch den (S)etzen– 353
(Halten) und (R)ücksetzen–Eingang gesteuert wird.
12 CNTR REVERSIBLE COUNTER Der Istwert wird um eins erhöht bzw. vermindert, wenn ein Inkremen- 370
(Umkehrbarer Zähler) tier- oder Dekrementier-Eingangssignal von AUS auf EIN wechselt.
13 DIFU DIFFERENTIATE UP Das spezifizierte Bit wird über eine Zyklusdauer, beginnend mit der 354
(Ausführung bei steigen- steigenden Flanke des Eingangssignals, auf EIN gesetzt.
der Flanke)
14 DIFD DIFFERENTIATE DOWN Das spezifizierte Bit wird über eine Zyklusdauer, beginnend mit der 354
(Ausführung bei fallender fallenden Flanke des Eingangssignals, auf EIN gesetzt.
Flanke)
15 TIMH HIGH–SPEED TIMER Ein Hochgeschwindigkeits–, einschaltverzögerter (dekrementieren- 364
(Schneller Zeitgeber) der) Zeitgeber.
16 (@)WSFT WORD SHIFT Die Daten der Worte vom Startwort bis zum Endwort werden in Wor- 380
(Wort verschieben) teinheiten verschoben, wobei in das Startwort Nullen geschrieben
werden.
17 bis 19 Für Erweiterte Befehle. 154
20 CMP COMPARE Vergleicht den Inhalt von zwei Worten miteinander und gibt das Er- 409
(Vergleichen) gebnis an die GR-, EQ- oder LE-Systemmerker aus.
21 (@)MOV MOVE Verschiebt die Daten des Quellwortes bzw. der -konstante auf das 388
(Übertragen) Zielwort.
22 (@)MVN MOVE NOT Verschiebt die invertierten Daten des Quellwortes bzw. der -kon- 388
(Übertragen Nicht) stante auf das Zielwort.
23 (@)BIN BCD TO BINARY Konvertiert die 4-stelligen BCD-Daten des Quellwortes und gibt die 416
(BCD–BIN–Konvertie– konvertierten Daten über das Ergebniswort als 16 Bit-Binärdaten
rung) aus.
24 (@)BCD BINARY TO BCD Konvertiert die Binärdaten des Quellwortes und gibt die konvertierten 417
(BIN–BCD–Konvertie– Daten über das Ergebniswort als BCD-Daten aus.
rung)
25 (@)ASL ARITHMETIC SHIFT Jedes Bit in einem einzelnen Datenwort wird um ein Bit nach links 381
LEFT verschoben, wobei Bit 15 auf CY verschoben wird.
(Arithmetisches Verschie-
ben nach links)
26 (@)ASR ARITHMETIC SHIFT Jedes Bit in einem einzelnen Datenwort wird um ein Bit nach rechts 381
RIGHT verschoben, wobei Bit 00 auf CY verschoben wird.
(Arithmetisches Verschie-
ben nach rechts)
27 (@)ROL ROTATE LEFT Jedes Bit innerhalb eines einzelnen Datenwortes wird, mit Übertrag 382
(Rotation nach links) (CY), um ein Bit nach links verschoben.
28 (@)ROR ROTATE RIGHT Jedes Bit innerhalb eines einzelnen Datenwortes wird, mit Übertrag 382
(Rotation nach rechts) (CY), um ein Bit nach rechts verschoben.
29 (@)COM COMPLEMENT Invertiert den Bitzustand eines Datenwortes. 457
(KOMPLEMENT)
30 (@)ADD BCD ADD Addiert zwei 4-stellige BCD-Werte und den Inhalt von CY und gibt 434
(BCD–Addition) das Ergebnis an das spezifizierte Ergebniswort aus.
31 (@)SUB BCD SUBTRACT Subtrahiert den 4-stelligen BCD-Subtrahenden und den Inhalt von 435
(BCD–Subtraktion) CY von dem 4-stelligen BCD-Minuenden und gibt das Ergebnis an
das spezifizierte Ergebniswort aus.
32 (@)MUL BCD MUNLTIPLY Multipliziert zwei 4-stellige BCD-Werte und gibt das Ergebnis an die 437
(BCD–Multiplikation) spezifizierten Ergebnisworte aus.
33 (@)DIV BCD DIVIDE Dividiert den 4-stelligen BCD-Dividenden durch den 4-stelligen BCD- 438
(BCD–Division) Divisor und gibt das Ergebnis an die spezifizierten Ergebnisworte
aus.
34 (@)ANDW LOGICAL AND Logische UND-Verknüpfung von zwei 16 Bit-Eingangsworten und 458
(Wortweises logisches setzen der Bits in dem Ergebniswort, wenn die entsprechenden Bits
AND) in den Eingangsworten beide auf EIN gesetzt sind.
35 (@)ORW LOGICAL OR Logische ODER-Verknüpfung von zwei 16 Bit-Eingangsworten und 458
(Wortweises logisches Setzen der Bits in das Ergebniswort, wenn eines oder beide der ent-
OR) sprechenden Bits in den Eingangsworten auf EIN gesetzt ist/sind.
36 (@)XORW EXCLUSIVE OR Exklusive ODER-Verknüpfung von zwei 16 Bit-Eingangsworten und 459
(Wortweises Exklusiv OR) Setzen der Bits in dem Ergebniswort, wenn sich die entsprechenden
Bits in den Eingangsworten nicht im gleichen Zustand befinden.
37 (@)XNRW EXCLUSIVE NOR Exklusive NOR-Verknüpfung von zwei 16 Bit-Eingangsworten und 460
Wortweises Exklusiv Setzen der Bits in dem Ergebniswort, wenn sich die entsprechenden
NOR) Bits in den Eingangsworten im gleichen Zustand befinden.
38 (@)INC BCD INCREMENT Inkrementiert den Wert eines 4-stelligen BCD-Wortes um 1. 460
(BCD–Wert inkrementie-
ren)
39 (@)DEC BCD DECREMENT Dekrementiert den Wert eines 4-stelligen BCD-Wortes um 1. 461
(BCD–Wert dekrementie-
ren)

542
Programmierbefehle Anhang A

Code AWL–Code Bezeichnung Funktion Seite


40 (@)STC SET CARRY Setzt den Übertragsmerker (d.h. CY wird auf EIN gesetzt). 434
(Übertragsmerker setzen)
41 (@)CLC CLEAR CARRY Setzt den Übertragsmerker zurück (d.h. CY wird auf AUS gesetzt). 434
(Übertragsmerker zurück-
setzen)
46 (@)MSG MESSAGE Gibt eine 16 Zeichen–umfassende Meldung an eine Programmier- 477
(Meldung anzeigen) konsole aus.
47 bis 48 Für Erweiterte Befehle. 154
50 (@)ADB BINARY ADD Addiert zwei 4-stellige Hexadezimal-Werte und den Inhalt von CY 444
(Binäare Addition) und gibt das Ergebnis an das spezifizierte Ergebniswort aus.
51 (@)SBB BINARY SUBTRACT Subtrahiert den 4-stelligen Hexadezimal-Subtrahenden und den In- 445
(BINÄRE Subtraktion) halt von CY von dem 4-stelligen Hexadezimal-Minuenden und gibt
das Ergebnis an das spezifizierte Ergebniswort aus.
52 (@)MLB BINARY MULTIPLY Multipliziert zwei 4-stellige Hexadezimal-Werte miteinander und gibt 446
(Binäre Multiplikation) das Ergebnis an die spezifizierten Ergebnisworte aus.
53 (@)DVB BINARY DIVIDE Dividiert den 4-stelligen Hexadezimal-Dividenden durch den 4-stel- 447
(Binäre Division) ligen Divisor und gibt das Ergebnis an die spezifizierten Ergebnis-
worte aus.
54 (@)ADDL DOUBLE BCD ADD Addiert zwei 8-stellige Werte (je zwei Worte) und den Inhalt von CY 440
(Doppelwort–BCD–Addi- und gibt das Ergebnis an die spezifizierten Ergebnisworte aus.
tion)
55 (@)SUBL DOUBLE BCD SUB- Subtrahiert den 8-stelligen BCD-Subtrahenden und den Inhalt von 441
TRACT CY von einem 8-stelligen BCD-Minuenden und gibt das Ergebnis an
(Doppelwort–BCD–Sub- die spezifizierten Ergebnisworte aus.
traktion)
56 (@)MULL DOUBLE BCD MULTIPLY Multipliziert zwei 8-stellige BCD-Werte miteinander und gibt das Er- 442
(Doppelwort–BCD–Multi- gebnis an die spezifizierten Ergebnisworte aus.
plikation)
57 (@)DIVL DOUBLE BCD DIVIDE Dividiert den 8-stelligen BCD-Dividenden durch einen 8-stelligen 443
(Doppelwort–BCD–Divi- BCD-Divisor und gibt das Ergebnis an die spezifizierten Ergebnis-
sion) worte aus.
58 (@)BINL DOUBLE BCD TO Konvertiert den BCD-Wert der beiden aufeinanderfolgenden Quell- 418
DOUBLE BINARY worte in das Binärformat und gibt die konvertierten Daten an die bei-
(BCD–Doppelwort zu Bi- den aufeinanderfolgenden Ergebnisworte aus. (Nur CPM2)
när–Doppelwort)
59 (@)BCDL DOUBLE BINARY TO Konvertiert den Binärwert der beiden aufeinanderfolgenden Quell- 418
DOUBLE BCD worte in BCD-Daten und gibt die konvertierten Daten an die beiden
(Binär–Doppelwort zu aufeinanderfolgenden Ergebnisworte aus.
BCD–Doppelwort) (Nur CPM2)
60 bis 69 Für Erweiterte Befehle. 154
70 (@)XFER BLOCK TRANSFER Verschiebt den Inhalt mehrerer, aufeinanderfolgender Quellworte auf 389
(Blockübertragung) einander folgende Zielworte.
71 (@)BSET BLOCK SET Kopiert den Inhalt eines Wortes oder einer Konstanten auf mehrere, 390
(Blockeinstellung) aufeinanderfolgenden Worte.
73 (@)XCHG DATA EXCHANGE Vertauscht den Inhalt von zwei Worten. 391
(Datenaustausch)
74 (@)SLD ONE DIGIT SHIFT LEFT Verschiebt alle Daten zwischen dem Startwort und dem Endwort um 383
(Eine Stelle nach links eine Ziffer (vier Bits) nach links.
verschieben)
75 (@)SRD ONE DIGIT SHIFT RIGHT Verschiebt alle Daten zwischen dem Startwort und dem Endwort um 384
(Eine Stelle nach rechts eine Ziffer (vier Bits) nach rechts.
verschieben)
76 (@)MLPX 4-TO-16 DECODER Konvertiert maximal vier Hexadezimal-Ziffern des Quellwortes in 419
(4–in–16–Dekoder) Dezimalwerte zwischen 0 und 15 und setzt das/die der Position ent-
sprechende(n) Bit(s) des/der Ergebnisworte(s) auf EIN.
77 (@)DMPX 16-TO-4 ENCODER Bestimmt die Position des äußersten, linken, auf EIN gesetzten Bits 421
(16–in–4–Dekoder) des/der Quellworte(s) und setzt das/die entsprechenden Bit(s) der
spezifizierten Ziffer des Ergebniswortes auf EIN.
78 (@)SDEC 7-SEGMENT DECODER Konvertiert die Hexadezimalwerte des Quellwortes in 7-Segment-An- 423
(Dekodierung für 7–Seg- zeigedaten.
ment–Anzeige)
80 (@)DIST SINGLE WORT DISTRI- Kopiert ein Quelldaten-Wort in das Zielwort, dessen Adresse durch 392
BUTE das Zielbasis-Wort und den Offset spezifiziert wird.
(Einzelwort verteilen)
81 (@)COLL DATA COLLECT Liest Daten aus dem Quellwort und speichert diese im Zielwort. 393
(Daten sammeln)
82 (@)MOVB MOVE BIT Überträgt das spezifizierte Bit des Quellwortes oder der Konstanten 395
(Bit übertragen) in das spezifizierte Bit des Zielwortes.
83 (@)MOVD MOVE DIGIT Verschiebt den hexadezimalen Inhalt von bis zu vier spezifizierten 396
(Ziffer übertragen) Quellziffern des Quellwortes auf die bis zu vier spezifizierten Zielzif-
fern.

543
Programmierbefehle Anhang A

Code AWL–Code Bezeichnung Funktion Seite


84 (@)SFTR REVERSIBLE SHIFT RE- Verschiebt die Bits des spezifizierten Wortes bzw. der spezifizierten 385
GISTER Wortfolge nach links bzw. rechts.
(Umkehrbares Schiebere-
gister)
85 (@)TCMP TABLE COMPARE Vergleicht einen 4-stelligen Hexadezimalwert mit aus 16 Worten be- 410
(Tabellenvergleich) stehenden Tabellen.
86 (@)ASC ASCII CONVERT Konvertiert die Hexadezimalwerte des Quellwortes in 8-stellige 426
(ASCII–Konvertierung) ASCII-Werte, beginnend mit der äußersten linken oder rechten Hälfte
des ersten Zielwortes.
87 bis 89 Für Erweiterte Befehle. 154
91 (@)SBS SUBROUTINE ENTRY Aufruf und Ausführung des Unterprogrammes N. 462
(Unterprogrammaufruf)
92 SBN SUBROUTINE DEFINE Markiert den Anfang des Unterprogrammes N. 464
(Unterprogrammanfang)
93 RET RETURN Markiert das Ende eines Unterprogrammes und gibt die Steuerung 464
(Unterprogrammende) an das Hauptprogramm zurück.
97 (@)IORF I/O REFRESH Frischt alle E/A-Worte zwischen dem Anfangs- und Endwort auf. 478
(E/A–Auffrischung) Kann nicht mit der SRM1(–V2) verwendet werden.
99 (@)MCRO MACRO Ruft ein E/A-Worte ersetzendes Unterprogramm auf und führt dieses 464
(Makro) aus.

Erweiterte Befehle
Die folgende Tabelle enthält die Befehlen, die als Erweiterte Befehle in den SPS–Systemen der CPM2A–,
CPM2C– und SRM1(–V2)–Serie betrachtet werden können. Der Funktionscode für standardmäßig zugewiesene
Befehle ist ebenfalls aufgeführt.
Code AWL–Code Bezeichnung Funktion CPU– Seite
Baugruppe
17 (@)ASFT ASYNCHRONOUS SHIFT Erstellt ein Schieberegister, das den Inhalt zweier Alle 386
REGISTER benachbarter Worte austauscht.
(Asynchrones Schieberegi-
ster)
47 (@)RXD RECEIVE Empfängt Daten über eine Kommunikationsschnitt- Alle 486
(Empfangen) stelle.
48 (@)TXD TRANSMIT Sendet Daten über eine Kommunikationsschnitt- Alle 487
(Übertragen) stelle.
60 CMPL DOUBLE COMPARE Vergleicht zwei 8-stellige Hexadezimal-Werte mitein- Alle 413
(Doppelwort–Vergleich) ander.
61 (@)INI MODE CONTROL Beginnt und stoppt Zähloperationen, vergleicht und Alle 374
(Zählersteuerung) ändert Zähler-Istwerte und stoppt Impulsausgaben.
62 (@)PRV HIGH-SPEED COUNTER PV Liest Istwerte und Statusdaten des Schnellen Zäh- CPM2A/ 376
READ lers. CPM2C
(Schnellen Zähler–Istwert ein-
lesen)
63 (@)CTBL COMPARISON TABLE LOAD Vergleicht Zähler-Istwerte und erstellt eine Ver- CPM2A/ 371
(Vergleichstabelle) gleichstabelle. CPM2C
64 (@)SPED SPEED OUTPUT Ausgabe von Impulsen mit der spezifizierten Fre- CPM2A/ 467
(Geschwindigkeitsausgabe) quenz. (10 Hz bis 10 kHz in 10 Hz-Schritten). Die CPM2C
Impulsfrequenz kann während der Ausgabe geändert
werden.
65 (@)PULS SET PULSES Ausgabe einer spezifizierten Anzahl von Impulsen CPM2A/ 466
(Impulsausgabe) mit der spezifizierten Frequenz. Die Ausgabe kann CPM2C
erst unterbrochen werden, nachdem die eingestellte
Anzahl von Impulsen ausgegeben wurde.
66 (@)SCL SCALING Führt eine Skalierung des berechneten Wertes aus. CPM2 397
(Skalierung) SRM1–V2
Verwenden Sie die Programmierkonsole oder CX–
Programmer/SYSWIN, um auf diesen Befehl für die
SRM1(–V2) zuzugreifen.
67 (@)BCNT BIT COUNTER Zählt alle Bits, die in einem Block mit spezifizierter Alle 479
(Bit–Zähler) Wortanzahl auf EIN gesetzt sind.
68 (@)BCMP BLOCK COMPARE Ermittelt, ob sich der Wert eines Wortes innerhalb Alle 411
(Blockvergleich) von 16 Grenzwerten befindet (untere und obere
Grenzwerte werden spezifiziert).
69 (@)STIM INTERVAL TIMER Steuert Interval-Zeitgeber, die für zeitgesteuerte In- Alle 484
(Intervall–Zeitgeber) terrupts verwendet werden.

544
Programmierbefehle Anhang A

Code AWL–Code Bezeichnung Funktion CPU– Seite


Baugruppe
89 (@)INT INTERRUPT CONTROL Steuert Interrupt-Funktionen wie das Maskieren und CPM2A/ 481
(Interrupt–Steuerung) Ausmaskieren von Interrupts. CPM2C/
CPM1
--- (@)ACC ACCELERATION CONTROL ACC(--) steuert zusammen mit PULS(--) die Erhö- CPM2A/ 470
(Beschleunigungs– hung bzw. Verringerung von Impulsfrequenzen, die CPM2C
steurung) über 2 Impulsausgänge ausgegeben werden.
--- AVG AVERAGE VALUE Addiert die spezifizierte Anzahl von Hexadezimal- CPM2A/ 453
(Durchschnittwert) Werten und berechnet den Mittelwert. Rundet auf die CPM2C
nächste Ganzzahl ab.
--- (@)FCS FCS CALCULATE Berechnet die Check–Summe für die mit einem Host Außer CPM1 479
(Rahmen–Prüfsumme) Link-Befehl gesendeten Daten und wandelt diese in alle anderen
ASCII–Zeichen um.
--- (@)HEX ASCII-TO-HEXADECIMAL Konvertiert ASCII-Daten in Hexadezimal-Daten. Alle 428
(ASCII–in–Hex)
--- (@)HMS SECONDS TO HOURS Konvertiert Sekunden in Stunden und Minuten. CPM2A/ 431
(Sekunden in Stunden) CPM2C
--- (@)MAX FIND MAXIMUM Findet den Maximalwert innerhalb eines spezifizier- CPM2A/ 449
(Finde Maximum) ten Speicherbereiches und speichert diesen Wert in CPM2C
einem anderen Wort.
--- (@)MIN FIND MINIMUM Findet den Minimalwert innerhalb eines spezifizierten CPM2A/ 451
(Finde Minimum) Speicherbereiches und speichert diesen Wert in ei- CPM2C
nem anderen Wort.
--- (@)NEG 2’S COMPLEMENT Erstellt für den vierstelligen hexadezimalen Inhalt der Alle 432
(2er–Komplement) Quellwort-Adresse das Zweierkomplement und spei-
(Aber nur für
chert das Ergebnis in R.
Version 2 der
SRM1)
--- PID PID CONTROL Führt eine PID-Regelung mit Hilfe spezifizierter Para- Alle 403
(PID–Regelung) meter durch.
(Aber nur für
Version 2 der
SRM1)
--- (@)PWM PULSE WITH VARIABLE Gibt Impulse mit dem spezifizierten Tastverhältnis CPM2A/ 473
DUTY RATIO (0% bis 99%) über den Impulsausgang 10.00 oder CPM2C
(Impulsausgabe mit variablem 10.01 aus.
Tastverhältnis)
--- (@)SCL2 SIGNED BINARY TO BCD Konvertiert linear einen vorzeichenbehafteten, 4-stel- CPM2A/ 399
SCALING liger Hexadezimalwert in einen 4-stelligen BCD-Wert. CPM2C
(Vorzeichenbehafteten
Binärwert in BCD–Wert
konvertieren)
--- (@)SCL3 BCD TO SIGNED BINARY Konvertiert linear einen 4-stelligen BCD-Wert in ei- CPM2A/ 401
SCALING nen vorzeichenbehafteten 4-stelligen Hexadezimal- CPM2C
(BCD–Wert in wert.
vorzeichnebehafteten
Binärwert konvertieren)
--- (@)SEC HOURS TO SECONDS Konvertiert Stunden und Minuten in Sekunden. CPM2A/ 430
(Stunden–in–Sekunden) CPM2C
--- (@)SRCH DATA SEARCH Durchsucht den spezifizierten Speicherbereich nach CPM2A/ 448
(Datenbereiche durchsuchen) den spezifizierten Daten und gibt die Wortadresse CPM2C
des Wortes innerhalb des Bereiches aus, in dem die
gesuchten Daten gespeichert sind.
--- (@)STUP CHANGE RS-232C SETUP Ändert die Kommunikationsparameter in der SPS– Außer CPM1 489
(RS–232C–Konfiguration Konfiguration für eine spezifizierte Schnittstelle. alle anderen
ändern)
--- (@)SUM SUM CALCULATE Berechnet die Summe des Inhaltes der Worte eines CPM2A/ 455
(Summe) spezifizierten Speicherbereiches. CPM2C
--- SYNC SYNCHRONIZED PULSE Multipliziert eine Eingangs–Impulsfrequenz mit einem CPM2A/ 475
CONTROL festen Skalierfaktor und gibt die Impulse über den CPM2C
(Synchronisierte spezifizierten Ausgang mit der resultierenden Fre-
Impulsausgabe) quenz aus.
--- TIML LONG TIMER Ein dekrementierender Einschalt–Verzögerungszeit- CPM2A/ 367
(Langer Zeitgeber) geber mit einem Sollwert von bis zu 99.990 s CPM2C
--- TMHH VERY HIGH-SPEED TIMER Ein schneller, dekrementierender Einschalt–Verzöge- CPM2A/ 366
(Sehr schneller Zeitgeber) rungszeitgeber, der Zeiten in 1 ms–Einheiten zählt. CPM2C

545
Programmierbefehle Anhang A

Code AWL–Code Bezeichnung Funktion CPU– Seite


Baugruppe
--- ZCP AREA RANGE COMPARE Vergleicht ein Wort mit einem Bereich, der durch Außer CPM1 414
(Bereichsvergleich) obere und untere Grenzen definiert ist und setzt er- alle anderen
gebnisabhängig die GR-, EQ- und LE-Merker.
(Aber nur für
Version 2 der
SRM1)
--- ZCPL DOUBLE AREA RANGE Vergleicht einen 8-stelligen Wert mit einem Bereich, CPM2A/ 415
COMPARE der durch untere und obere Grenzen definiert ist und CPM2C
(Doppelwort–Bereichsvergleic setzt ergebnisabhängig die GR-, EQ- und LE-Merker.
h)

546
Anhang B
Fehler– und arithmetischen Merker

Die folgende Tabelle enthält Befehle, die die ER, CY–, GR-, LE- und EQ-Merker beeinflussen. Der ER-Merker wird
im allgemeinen gesetzt, wenn Operandendaten außerhalb des erforderlichen Bereiches liegen. Der CY-Merker
kennzeichnet die Ergebnisse von Rechen- oder Datenverschiebeoperationen. Der GT-Merker zeigt an, daß ein
Vergleichswert größer ist als festgelegte Werte. Der LT-Merker kennzeichnet kleinere und der EQ-Merker gleich-
große Werte. Darüber hinaus wird der EQ-Merker gesetzt, wenn das Ergebnis einer Rechenoperation Null ist.
Sehen Sie Kapitel 7 Befehlssatz für weitere Informationen.
Die senkrechten Pfeile in der Tabelle kennzeichnen Merker, die, entsprechend des Befehlsergebnisses, gesetzt
oder rückgesetzt werden.
Kontaktplan-Befehle sowie die Befehle TIM und CNT werden bei gesetztem ER-Merker ausgeführt. Die mit einem
senkrechten Pfeil unter der Spalte ER gekennzeichneten Befehle jedoch nicht. Alle anderen Merker der Tabelle
werden bei gesetztem ER-Merker nicht gesetzt.
Die nicht aufgeführten Befehle beeinflussen die in der Tabelle aufgeführten Merker nicht. Hier wird nur die nicht-
flankengesteuerte Version jedes Befehls dargestellt, Befehle mit flankengesteuerter Ausführung beeinflussen die
Merker jedoch in derselben Weise.
Die ER-, CY-, GT-, LT- und EQ-Merker werden rückgesetzt, wenn END(01) ausgeführt wird. Ihr Status kann also
nicht durch die Programmierkonsole überwacht werden.
Der Status der ER–, CY–, GT–, LT– und EQ–Merker wird von der Ausführungsbedingung beeinflußt. Wird ein sie
beeinflußender Befehl ausgeführt, so ändert sich ihr Status. Befehle mit flankengesteuerter Ausführung werden
jedoch nur einmal bei einem Wechsel ihrer Ausführungsbedingung ausgeführt (bei einem Wechsel von EIN auf
AUS oder von AUS auf EIN). Sie werden erst wieder bei der nächsten spezifizierten Änderung ihrer Ausführungs-
bedingung ausgeführt. Der Status der ER–, CY–, GT–, LT– und EQ–Merker wird somit von einem Befehl mit flan-
kengesteuerter Ausführung nur beeinflußt, wenn sich die Ausführungsbedingung ändert und wird nicht während
der Überwachung, in der keine Befehle ausgeführt werden, d.h., wenn der spezifizierte Wechsel nicht in der Aus-
führungsbedingung eintritt. Wird ein Befehl mit flankengesteuerter Ausführung nicht ausgeführt, ändert sich der
Status der ER–, CY–, GT–, LT– und EQ–Merker nicht und behält den vom letzten ausgeführten Befehl generierten
Status.
Befehle 25503 (ER) 25504 (CY) 25505 (GR) 25506 (EQ) 25507 (LE) 25402 (N) Seite
TIM Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt 363
CNT 369
END(01) AUS AUS AUS AUS AUS AUS 355
STEP(08) Unbeeinflußt Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß 360
SNXT(09) 360
CNTR(12) 370
TIMH(15) 364
WSFT(16) 380
CMP(20) Unbeeinflußt Unbeeinflußt 409
MOV(21) Unbeeinflußt Unbeeinflußt Unbeeinflußt 388
MVN(22) 388
BIN(23) AUS 416
BCD(24) Unbeeinflußt 417
ASL(25) Unbeeinflußt Unbeeinflußt 381
ASR(26) AUS 381
ROL(27) 382
ROR(28) 382
COM(29) Unbeeinflußt Unbeeinflußt Unbeeinflußt 457
ADD(30) Unbeeinflußt 434
SUB(31) 435

547
Fehler– und arithmetischen Merker Anhang B

Befehle 25503 (ER) 25504 (CY) 25505 (GR) 25506 (EQ) 25507 (LE) 25402 (N) Seite
MUL(32) Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt 437
DIV(33) 438
ANDW(34) 458
ORW(35) 458
XORW(36) 459
XNRW(37) 460
INC(38) Unbeeinflußt 460
DEC(39) 461
STC(40) Unbeeinflußt
U bee uß EIN Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß 434
CLC(41) AUS 434
MSG(46) Unbeeinflußt 477
ADB(50) Unbeeinflußt Unbeeinflußt 444
SBB(51) 445
MLB(52) Unbeeinflußt Unbeeinflußt Unbeeinflußt 446
DVB(53) Unbeeinflußt Unbeeinflußt Unbeeinflußt 447
ADDL(54) Unbeeinflußt 440
SUBL(55) 441
MULL(56) Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt 442
DIVL(57) 443
BINL(58) AUS 418
BCDL(59) Unbeeinflußt 418
XFER(70) Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt 389
BSET(71) 390
XCHG(73) Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt 391
SLD(74) 383
SRD(75) 384
MLPX(76) 419
DMPX(77) 421
SDEC(78) 423
DIST(80) Unbeeinflußt Unbeeinflußt Unbeeinflußt 392
COLL(81) 393
MOVB(82) Unbeeinflußt Unbeeinflußt 395
MOVD(83) 396
SFTR(84) Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt 385
TCMP(85) Unbeeinflußt 410
ASC(86) Unbeeinflußt 426
SBS(91) 462
MCRO(99) 464

548
Fehler– und arithmetischen Merker Anhang B

Erweiterte Befehle (CPM2A/CPM2C und SRM1(–V2))


Befehle 25503 (ER) 25504 (CY) 25505 (GR) 25506 (EQ) 25507 (LE) 25402 (N) Seite
ASFT(17) Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß Unbeeinflußt
U bee uß 386
RXD(47) 486
TXD(48) 487
CMPL(60) 413
INI(61) Unbeeinflußt Unbeeinflußt Unbeeinflußt Unbeeinflußt 374
PRV(62) 376
CTBL(63) 371
SPED(64) 467
PULS(65) 466
SCL(66) Unbeeinflußt 397
BCNT(67) 479
BCMP(68) Unbeeinflußt 411
STIM(69) 484
INT(89) 481
SRCH(––) 448
MAX(––) 449
MIN(––) 451
HMS(––) Unbeeinflußt
U bee uß 431
NEG(––)* 432
SEC(––) 430
SUM(––) 455
FCS(––) Unbeeinflußt U bee uß
Unbeeinflußt 479
HEX(––) Unbeeinflußt 428
AVG(––) 453
PID(––) 403
ZCP(––) Unbeeinflußt 414

*Hinweis Je nach den Konvertierungsergebnissen kann NEG(––) ebenfalls den Zustand des Unterlauf-Merkers
(SR 25405) beeinflussen.

Erweiterte Befehle (nur CPM2A/CPM2C)


Befehle 25503 (ER) 25504 (CY) 25505 (GR) 25506 (EQ) 25507 (LE) Seite
PWM(––) Unbeeinflußt
U bee uß Unbeeinflußt Unbeeinflußt Unbeeinflußt 473
ZCPL(––) 415
ACC(––) 470
SCL2(––) Unbeeinflußt Unbeeinflußt 399
SCL3(––) Unbeeinflußt
U bee uß 401
SYNC(––) 401

549
Anhang C
Speicherbereiche

CPM1/CPM1A–Datenbereiche
Datenbereich–Struktur
Die folgenden Datenbereiche können in der CPM1/CPM1A verwendet werden.
Datenbereich Worte Bits Kommentare
E/A– Eingangs– IR 000 bis IR 009 IR 00000 bis IR 00915 Diese Bits können den externen E/A–Klemmen
Bereich1 Bereich (10 Worte) (160 Bits) zugewiesen
g werden.
Ausgangs– IR 010 bis IR 019 IR 01000 bis IR 01915
Bereich (10 Worte) (160 Bits)
Arbeits– IR 200 bis IR 231 IR 20000 bis IR 23115 Arbeitsmerker können innerhalb des Programms
bereich (32 Worte) (512 Bits) beliebig verwendet werden.
SR (Systemmerker–be- SR 232 bis SR 255 SR 23200 bis SR 25515 Diese Systemmerker besitzen spezielle Funktio-
reich) (24 Worte) (384 Bits) nen, z.B. als Merker– und Steuerbits.
TR (Temporärer --- TR 0 bis TR 7 Diese Merker dienen zur temporären Speiche-
Merkerbereich) (8 Bits) rung des EIN/AUS–Zustandes in Programmver-
zweigungen.
HR–Bereich2 HR 00 bis HR 19 HR 0000 bis HR 1915 Diese Merker speichern Daten und behalten ih-
(20 Worte) (320 Bits) ren Zustand (gesetzt/rückgesetzt) auch nach
Ausschalten der Versorgungsspannung.
AR–Bereich2 AR 00 bis AR 15 AR 0000 bis AR 1515 Diese Systemmerker besitzen spezielle Funktio-
(16 Worte) (256 Bits) nen, z.B. als Merker– und Steuerbits.
LR1 LR 00 bis LR 15 LR 0000 bis LR 1515 Wird zur 1:1-Datenübertragung mit einer anderen
(Schnittstellenmerker– (16 Worte) (256 Bits) SPS verwendet.
bereich
Zeitgeber–/ TC 000 bis TC 127 (Zeitgeber–/Zähler–Nr.)3 Für Zeitgeber und Zähler werden die Nummern
Zählerbereich2 aus dem selben Bereich verwendet.
DM Lesen/ DM 0000 bis DM 0999 --- In diesem Bereich erfolgt der Datenzugriff wort-
(Daten- Schreiben2 DM 1022 bis DM 1023 weise. Die Worte werden auch beim Ausschalten
merker- (1002 Worte) der Versorgungsspannung aufrecht erhalten.
b i h)
bereich)
Fehler– DM 1000 bis DM 1021 --- Wird verwendet, um den Fehlercode der aufge-
protokoll2 (22 Worte) tretenen Fehler zu speichern. Diese Worte kön-
nen als normale Lese–/Schreib–DM verwendet
werden, wenn die Fehlerprotokoll–Funktion nicht
angewendet wird.
Nur Lesen4 DM 6144 bis DM 6599 --- Können nicht vom Programm überschrieben wer-
(456 Worte) den.
SPS–Konfi- DM 6600 bis DM 6655 --- Speichert verschiedene Steuerparameter von
guration4 (56 Worte) SPS–Operationen.

Hinweis 1. IR– und LR–Bits, denen keine bestimmte Funktionen zugewiesen sind, können als Arbeitsmerker
verwendet werden.
2. Der Inhalt des HR–, AR–, Zähler– und DM–Schreib–/Lese–Bereichs wird bei einem Stromausfall
über einen Kondensator nullspannungssicher beibehalten. Die Sicherungszeit variiert mit der Um-
gebungstemperatur; bei 25_C versorgt der Kondensator den Speicher 20 Tage. Überschreitet die
Dauer der Versorgungsspannungs–Untebrrechung die Sicherungszeit, wird der Speicherinhalt ge-
löscht und AR1314 aktiviert. (Dieser Merker wird eingeschaltet, wenn Daten nicht mehr durch den
eingebauten Kondensator beibehalten werden können.) In Abschnitt 2-1-2 Merkmale des Techni-
schen Handbuches der CPM1 finden Sie hierzu eine Graphik mit der Gegenüberstellung von Spei-
cherzeit und Temperatur.
3. Beim Zugriff auf einen Istwert werden TC–Worte als Wortdaten verwendet. Beim Zugriff auf Fertig-
merker als Bitdaten.
4. Daten in DM 6144 bis DM 6655 können vom Programm nicht überschrieben aber über ein Pro-
grammiergerät geändert werden.

SR–Bereich
Diese Bits dienen hauptsächlich als Merker bei CPM1/CPM1A–Betrieb oder sie enthalten Ist– und Sollwerte für
verschiedene Funktionen. Die Funktionen des SR–Bereichs sind in der nachstehenden Tabelle beschrieben.
Hinweis “Nur Lese”–Worte und –Bits werden beim SPS–Betrieb als Status gelesen, aber sie können nicht über
den Kontaktplan gesetzt werden. ”Nicht verwendete”–Bits und Worte werden ebenfalls nur gelesenen.

551
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Lesen/ Seite


Speichern
SR 232 00 bis 15 Eingabebereich der Makrofunktion Lesen/ 151
bis Enthält den Eingabeoperand für MCRO(99). Speichern
SR 235 (Kann als Arbeitsmerker verwendet werden, wenn MCRO(99) nicht verwendet
wird.)
SR 236 00 bis 15 Ausgabebereich der Makrofunktion
bis Enthält den Ausgabeoperand für MCRO(99).
SR 239 (Kann als Arbeitsmerker verwendet werden, wenn MCRO(99) nicht verwendet
wird.)
SR 240 00 bis 15 Eingangsgesteuerter Interrupt 0–Sollwert, im Zählmodus 75
Sollwert, wenn Eingangsgesteuerter Interrupt 0 im Zählmodus verwendet wird
(4–stelliger Hexadezimalwert, 0000 bis FFFF).
(Wird der eingangsgesteuerte Interrupt 0 nicht im Zählmodus verwendet, können
diese Merker als Arbeitsmerker eingesetzt werden).
SR 241 00 bis 15 Eingangsgesteuerter Interrupt 1–Sollwert, im Zählmodus
Sollwert, wenn Eingangsgesteuerter Interrupt 1 im Zählmodus verwendet wird
(4–stelliger Hexadezimalwert, 0000 bis FFFF).
(Wird der eingangsgesteuerte Interrupt 1 nicht im Zählmodus verwendet, können
diese Merker als Arbeitsmerker eingesetzt werden).
SR 242 00 bis 15 Eingangsgesteuerter Interrupt 2–Sollwert, im Zählmodus
Sollwert, wenn Eingangsgesteuerter Interrupt 2 im Zählmodus verwendet wird
(4–stelliger Hexadezimalwert, 0000 bis FFFF).
(Wird der eingangsgesteuerte Interrupt 2 nicht im Zählmodus verwendet, können
diese Merker als Arbeitsmerker eingesetzt werden).
SR 243 00 bis 15 Eingangsgesteuerter Interrupt 3–Sollwert, im Zählmodus
Sollwert, wenn Eingangsgesteuerter Interrupt 3 im Zählmodus verwendet wird
(4–stelliger Hexadezimalwert, 0000 bis FFFF).
(Wird der eingangsgesteuerte Interrupt 3 nicht im Zählmodus verwendet, können
diese Merker als Arbeitsmerker eingesetzt werden)
SR 244 00 bis 15 Eingangsgesteuerter Interrupt 0–Istwert minus 1, im Zählmodus Nur Lesen 76
Zähler–Istwert minus 1, wenn der eingangsgesteuerte Interrupt 0 im Zählmodus
verwendet wird (4–stelliger Hexadezimalwert).
SR 245 00 bis 15 Eingangsgesteuerter Interrupt 1–Zähler–Istwert minus 1, im Zählmodus
Zähler–Istwert minus 1, wenn der eingangsgesteuerte Interrupt 1 im Zählmodus
verwendet wird (4–stelliger Hexadezimalwert).
SR 246 00 bis 15 Eingangsgesteuerter Interrupt 2–Zähler–Istwert minus 1, im Zählmodus
Zähler–Istwert minus 1, wenn der eingangsgesteuerte Interrupt 2 im Zählmodus
verwendet wird (4–stelliger Hexadezimalwert).
SR 247 00 bis 15 Eingangsgesteuerter Interrupt 3 Zähler–Istwert minus 1, im Zählmodus
Zähler–Istwert minus 1, wenn der eingangsgesteuerte Interrupt 3 im Zählmodus
verwendet wird (4–stelliger Hexadezimalwert).
SR 248, 00 bis 15 Istwert–Bereich des Schnellen Zählers 82
SR 249 Kann als Arbeitsmerker verwendet werden, wenn der Schnelle Zähler nicht verwen-
det wird.
SR 250 00 bis 15 Werteingabe–Poti 0 145
Wird zur Speicherung des 4–stelligen BCD–Sollwertes (0000 bis 0200) von Wert-
eingabe–Poti 0 verwendet.
SR 251 00 bis 15 Werteingabe–Poti 1
Wird zur Speicherung des 4–stelligen BCD–Sollwertes (0000 bis 0200) von Wert-
eingabe–Poti 1 verwendet.

552
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Lesen/ Seite


Speichern
SR 252 00 Schneller Zähler–Rücksetzmerker Lesen/ 83
Speichern
01 bis 07 Nicht verwendet
08 Peripherieschnittstellen–Rücksetzmerker Lesen/ 251
Aktivieren Sie diesen Merker zur Rücksetzung der Peripherieschnittstelle(nicht Speichern
gültig, wenn ein Programmiergerät angeschlossen ist.) Er wird nach beendeter
Rücksetzung automatisch deaktiviert.
09 Nicht verwendet
10 SPS–Konfigurations–Rücksetzmerker Lesen/ 2
Aktivieren Sie diesen Merker zur Rücksetzung der Konfiguration (DM 6600 bis DM Speichern
6655). Er wird nach beendeter Rücksetzung automatisch deaktiviert. (Hierzu muss
sich die SPS in der PROGRAM–Betriebsart befinden.)
11 Zwangssetzungsstatus–Systemhaftmerker(sehen Sie den Hinweis.) 20
GESETZT: Der Zustand der zwangsweise gesetzen/rückgesetzten Mer-
ker wird beim Umschalten von der PROGRAM– in die MONI-
TOR–Betriebsart aufrechterhalten.
RÜCKGESETZT: Der Zustand der zwangsweise gesetzten/rückgesetzten Mer-
ker wird beim Umschalten von der PROGRAM– in die MONI-
TOR–Betriebsart aufgehoben.
Über eine SPS–Konfigurationseinstellung kann der Status dieses Bits nach dem
Abschalten der SPS–Versorgungsspannung aufrechterhalten werden.
12 E/A–Systemhaftmerker (sehen Sie den Hinweis.) 20
GESETZT: Der Zustand von IR– und LR–Merkern wird am Anfang und
Ende des Betriebs aufrechterhalten.
RÜCKGESETZT: Der Zustand von IR– und LR–Merker wird am Anfang und
Ende des Betriebs zurückgesetzt.
Über eine SPS–Konfigurationseinstellung kann der Status dieses Bits nach dem
Abschalten der SPS–Versorgungsspannung aufrechterhalten werden.
13 Nicht verwendet
14 Fehlerprotokoll löschen–Systemmerker Lesen/ 537
Aktivieren Sie diesen Merker zum Löschen des Fehlerprotokolls. Er wird nach dem Speichern
Löschen automatisch zurückgesetzt.
15 Nicht verwendet
SR 253 00 bis 07 FAL–Fehlercode Nur Lesen 359
Bei einem Fehler wird der betreffende Fehlercode (2–stellig) in diesem Bereich
gespeichert. Bei der Ausführung von FAL(06) bzw. FALS(07) wird dieser Bereich
zur Speicherung der FAL–Nummer verwendet. Bei der Ausführung eines FAL
00–Befehls bzw. beim Löschen des Fehlers über ein Programmiergerät wird dieses
Wort auf 00 zurückgesetzt.
08 Nicht verwendet
09 Zykluszeit überschritten–Merker Nur Lesen ---
Dieser Merker wird bei einer Überschreitung der Zykluszeit (d.h. bei einer Zyklus-
zeit von mehr als 100 ms) gesetzt.
10 bis 12 Nicht verwendet
13 Immer–EIN–Merker Nur
u Lesen
ese ---
14 Immer–AUS–Merker ---
15 Erster–Zyklus–Merker ---
Dieser Merker wird zu Beginn des Betriebs für die Dauer eines Zyklus gesetzt.
SR 254
S 5 00 1 Minute–Taktimpuls (30 Sekunden EIN, 30 Sekunden AUS) ---
01 0,02 Sekunden–Taktimpuls (0,01 Sekunden EIN, 0,01 Sekunden AUS) ---
02 Negativ(N)–Merker ---
03 bis 05 Nicht verwendet
06 Flankenausführungs–Überwachung beendet–Merker Nur Lesen 154
Dieser Merker wird nach Beendigung der Flankenausführungs–Überwachung ge-
setzt.
07 STEP(08)–Ausführungs–Merker 360
Dieser Merker wird nur am Anfang der auf STEP(08) basierenden Verarbeitung für
die Dauer eines Zyklus gesetzt.
08 bis 15 Nicht verwendet

553
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Lesen/ Seite


Speichern
SR 255
S 55 00 0,1 Sekunden–Taktimpuls (0,05 Sekunden EIN, 0,05 Sekunden AUS) Nur
u Lesen
ese ---
01 0,2 Sekunden–Taktimpuls (0,1 Sekunden EIN, 0,1 Sekunden AUS) ---
02 1,0 Sekunden–Taktimpuls (0,5 Sekunden EIN, 0,5 Sekunden AUS) ---
03 Befehlsausführungsfehler(ER)–Merker ---
Dieser Merker wird während der Befehlsausführung bei einem Fehler gesetzt.
04 Übertrags(CY)–Merker ---
Dieser Merker wird gesetzt, wenn in dem Ergebnis einer Befehlsausführung ein
Übertrag auftritt.
05 GRÖßER(GR)–Merker ---
Dieser Merker wird gesetzt, wenn das Ergebnis eines Vergleichs GRÖßER ist.
06 GLEICH(EQ)–Merker ---
Dieser Merker wird gesetzt, wenn das Ergebnis eines Vergleichs GLEICH oder das
Ergebnis einer Befehlsausführung 0 ist.
07 KLEINER(LE)–Merker ---
Dieser Merker wird gesetzt, wenn das Ergebnis eines Vergleichs KLEINER ist.
08 bis 15 Nicht verwendet

Hinweis DM 6601 in der SPS–Konfiguration kann gesetzt werden, um den vorhergehenden Status des E/A–Sy-
stemhaftmerkers (SR 25212) und den des Zwangssetzungsstatus–Haftmerkers (SR 25211) nach dem
Ausschalten der Versorgungsspannung beizubehalten. Liegt jedoch keine Versorgungsspannung für
einen längeren Zeitraum als die Sicherungszeit an, wird der Status gelöscht. Sehen Sie für Einzelheiten
bezüglich der Sicherungszeit das CPM1Aoder CPM1–Bedienerhandbuch. Sehen Sie Abschnitt 1-1-2
CPM1–/CPM1A–SPS–Konfigurationseinstellungen für Einzelheiten zur SPS–Konfiguration.

AR–Bereich
Diese Bits dienen hauptsächlich als Merker für den CPM1/CPM1A–Betrieb. Diese Merker behalten auch dann
ihren Zustand bei, wenn die Versorgungsspannung der CPM1/CPM1A abgeschaltet wurde oder bei Betriebsbe-
ginn oder –ende.
Wort(e) Bit(s) Kommentare Seite
AR 00, 00 bis 15 Nicht verwendet
AR 01
AR 02
0 00 Erweiterungsbaugruppen–Fehlermerker für 1. Baugruppe Dieser
ese Merkere e wird
daaktiviert,
e , ---
01 Erweiterungsbaugruppen–Fehlermerker für 2. Baugruppe wenn ein i F
Fehler
hl iin d
der ent-
t
(Wird nicht von der CPM1 CPU–Baugruppe ohne “–V1”–Zusatz sprechenden Baugruppe
verwendet.) auftritt.

02 Erweiterungsbaugruppen–Fehlermerker für 3. Baugruppe


(Wird nicht von der CPM1 CPU–Baugruppe ohne “–V1”–Zusatz
verwendet.)
03 bis 07 Nicht verwendet
08 bis 11 Anzahl der angeschlossenen E/A–Baugruppen. ---
12 bis 15 Nicht verwendet
AR 03 bis 00 bis 15 Nicht verwendet
AR 07
AR 08 00 bis 07 Nicht verwendet
08 bis 11 Programmiergeräte–Fehlercode 252
0: Normale Beendigung
1: Paritätsfehler
2: Rahmenfehler
3: Überlauffehler
12 Programmiergeräte–Fehlermerker
13 bis 15 Nicht verwendet
AR 09 00 bis 15 Nicht verwendet
AR 10 00 bis 15 Ausschaltzähler (4–stelliger BCD–Wert) ---
Zählt, wie oft die Versorgungsspannung ausgeschaltet wurde.
Geben Sie zur Rücksetzung des Zählers ”0000” über ein Programmiergerät ein.

554
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Seite


AR 11 00 bis 07 Schneller Zähler–Bereichsvergleichs-Merkers 85
00 GESETZT: Zähler–Istwert befindet sich innerhalb Vergleichsbereich 1
01 GESETZT: Zähler–Istwert befindet sich innerhalb Vergleichsbereich 2
02 GESETZT: Zähler–Istwert befindet sich innerhalb Vergleichsbereich 3
03 GESETZT: Zähler–Istwert befindet sich innerhalb Vergleichsbereich 4
04 GESETZT: Zähler–Istwert befindet sich innerhalb Vergleichsbereich 5
05 GESETZT: Zähler–Istwert befindet sich innerhalb Vergleichsbereich 6
06 GESETZT: Zähler–Istwert befindet sich innerhalb Vergleichsbereich 7
07 GESETZT: Zähler–Istwert befindet sich innerhalb Vergleichsbereich 8
08 bis 14 Nicht verwendet
15 Impuls–Ausgangszustand ---
GESETZT: unterbrochen
RÜCKGESETZT: Impulsausgabe
AR 12 00 bis 15 Nicht verwendet
AR 13 00 SPS–Konfigurationsfehler beim Einschalten–Merker 535
Dieser Merker wird bei einem Fehler in DM 6600 bis DM 6614 gesetzt (Teil des Konfigurationsbe-
reichs, der beim Einschalten gelesen wird).
01 Einschalt–SPS–Konfigurations–Fehlermerker
Dieser Merker wird bei einem Fehler in DM 6615 bis DM 6644 gesetzt (Teil des Konfigurationsbe-
reichs, der zu Beginn des Betriebs gelesen wird).
02 RUN–SPS–Konfigurations–Fehlermerker
Dieser Merker wird bei einem Fehler in DM 6645 bis DM 6655 gesetzt (Teil des Konfigurationsbe-
reichs, der immer gelesen wird).
03, 04 Nicht verwendet
05 Zykluszeit zu lang–Merker ---
Dieser Merker wird gesetzt, wenn die aktuelle Zykluszeit die in DM 6619 spezifizierte Zykluszeit
überschreitet.
06, 07 Nicht verwendet
08 Speicherbereich–Spezifikation–Fehlermerker ---
Wird auf EIN gesetzt, wenn eine nicht vorhandene Datenbereichs–Adresse im Programm spezifi-
ziert wird.
09 Flash–Speicher–Fehlermerker ---
Wird bei einem Fehler im Flash–Speicher auf EIN gesetzt.
10 DM–Nur lesen–Fehlermerker (Sehen Sie Hinweis 3.) 536
Wird auf EIN gesetzt, wenn im DM–Nur–Lese–Bereich (DM 6144 bis DM 6599) ein Prüfsummen-
fehler auftritt und dieser Bereich initialisiert wird.
11 SPS–Konfigurations–Fehlermerker
Wird bei einem Prüfsummenfehler im SPS–Konfigurationsbereich auf EIN gesetzt.
12 Programm–Fehlermerker ---
Dieser Merker wird bei einem Prüfsummenfehler in dem UM (Programmspeicher)–Bereich oder
bei der Ausführung eines falschen Befehls gesetzt.
13 Nicht verwendet
14 Datenspeicher–Fehlermerker ---
Wird aktiviert, wenn die Spannung wieder eingeschaltet wird, nachdem die Daten nicht über den
eingebauten Kondensator aufrechtgehalten werden konnten. Der eingebaute Kondensator er-
möglicht die Nullspannungssicherung der Daten der folgenden Bereiche:
DM–Bereich (schreib–/lesefähig: DM 0000 bis 0999 und DM 1022 bis 1023)
HR–Bereich (HR 00 bis 19)
Zählerbereich (CNT 000 bis 127)
SR–Bereich, Wort 252, Bit 11, 12 (wenn die SPS–Konfiguration in DM 6601 eingestellt wurde,
um den Status zu erhalten)
AR–Bereich, Wort 10 (Ausschaltzähler)
Betriebsart (wenn die SPS–Konfiguration in DM 6600 DM eingestellt wurde, die letzte, vor dem
Spannungsausfall verwendete Betriebsart nach der Rückkehr der Versorgungsspannung fortzu-
setzen)
Falls keine Daten in den oben aufgeführten Bereichen gespeichert werden können:
Die DM–, Fehlerprotokoll–, HR–, Zähler–, SR(Wort 252, Bit 11 und 12)– und AR(Wort 10)–Berei-
che werden gelöscht.
Die Betriebsart wechselt zu PROGRAM.
(Sehen Sie für Einzelheiten bezüglich der Sicherungszeit das CPM1A–Bedienerhandbuch.)
15 Nicht verwendet

555
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Seite


AR 14 00 bis 15 Maximale Zykluszeit (4–stelliger BCD–Wert) (sehen Sie Hinweis 1) 519
Die längste Zykluszeit seit dem Beginn des Betriebs wird gespeichert. Sie wird zu Beginn und
nicht am Ende des Betriebs gelöscht.
In Abhängigkeit von der Einstellung der Überwachungszeit (DM 6618) wird eine der folgenden
Zeiteinheiten verwendet: Vorgabe: 0,1 ms; 10 ms–Einstellung: 0,1 ms; 100 ms–Einstellung: 1 ms;
1 s–Einstellung: 10 ms
AR 15 00 bis 15 Aktuelle Zykluszeit (4–stelliger BCD–Wert) (sehen Sie Hinweis 1)
Die letzte Zykluszeit während des Betriebs wird gespeichert. Die aktuelle Zykluszeit wird nach
Ende des Betriebs in der STOP–Betriebsart nicht gelöscht.
In Abhängigkeit von der Einstellung der Überwachungszeit (DM 6618) wird eine der folgenden
Zeiteinheiten verwendet: Vorgabe: 0,1 ms; 10 ms–Einstellung: 0,1 ms; 100 ms–Einstellung: 1 ms;
1 s–Einstellung: 10 ms

Hinweis 1. Die Angaben sind wie folgt, je nach der Einheiteneinstellung der Zyklus–Überwachungszeit
(DM 6618):
Anfänglicher Status: 0,1 ms–Einheit
Bei Einstellung der 10 ms–Einheit: 0,1 ms–Einheit
Bei Einstellung der 100 ms–Einheit: 1 ms–Einheit
Bei Einstellung der 1 s–Einheit: 10 ms–Einheit
2. Bereiche, die nicht verwendet werden können, werden gelöscht, wenn die Spannung wieder einge-
schaltet wird.
3. Der Inhalt von AR 10 wird vom eingebauten Kondensator abgesichert. Liegt jedoch keine Versor-
gungsspannung für einen längeren Zeitraum als die Sicherungszeit an, wird der Inhalt gelöscht.
Sehen Sie für Einzelheiten bezüglich der Sicherungszeit das CPM1Aoder CPM1–Bedienerhand-
buch.

CPM2A/CPM2C–Speicherbereiche
Datenbereich–Struktur
Die folgenden Datenbereiche können in der CPM2A/CPM2C verwendet werden.
Datenbereich Worte Bits Kommentare
E/A– Eingangs– IR 000 bis IR 009 IR 00000 bis IR 00915 Diese Bits können den externen E/A–Klemmen
Bereich1 bereich (10 Worte) (160 Bits) g
zugewiesen werden.
Ausgangs– IR 010 bis IR 019 IR 01000 bis IR 01915
bereich (10 Worte) (160 Bits)
Arbeits– IR 020 bis IR 049 IR 02000 bis IR 04915 Arbeitsmerker können innerhalb des Programms
bereich IR 200 bis IR 227 IR 20000 bis IR 22715 beliebig verwendet werden.
(58 Worte) (928 Bit)
SR (Systemmerker–be- SR 228 bis SR 255 SR 22800 bis SR 25515 Diese Systemmerker besitzen spezielle Funktio-
reich) (28 Worte) (448 Bits) nen, z.B. als Merker– und Steuerbits.
TR (Temporärer --- TR 0 bis TR 7 Diese Bits dienen zur temporären Speicherung
Merkerbereich) (8 Bits) des EIN/AUS–Zustandes in Programmverzwei-
gungen.
HR–Bereich2 HR 00 bis HR 19 HR 0000 bis HR 1915 Diese Bits speichern Daten und behalten ihren
(20 Worte) (320 Bits) Zustand (gesetzt/rückgesetzt) auch nach Aus-
schalten der Versorgungsspannung.
AR–Bereich2 AR 00 bis AR 23 AR 0000 bis AR 2315 Diese Systemmerker besitzen spezielle Funktio-
(24 Worte) (384 Bits) nen, z.B. als Merker– und Steuerbits.
LR1 LR 00 bis LR 15 LR 0000 bis LR 1515 Wird zur 1:1-Datenübertragung mit einer anderen
(Schnittstellenmerker– (16 Worte) (256 Bits) SPS verwendet.
bereich1
Zeitgeber–/ TC 000 bis TC 255 (Zeitgeber–/Zähler–Nr.)3 Für Zeitgeber und Zähler werden Nummern aus
Zählerbereich2 dem selben Bereich verwendet.
DM Lesen/ DM 0000 bis DM 1999 --- In diesem Bereich erfolgt der Datenzugriff wort-
(Daten- Schreiben2 DM 2022 bis DM 2047 weise. Die Worte werden auch beim Ausschalten
merker- (2,026 Worte) der Versorgungsspannung aufrecht erhalten.
b i h)
bereich)
Fehler– DM 2000 bis DM 2021 --- Wird verwendet, um den Fehlercode der aufge-
protokoll2 (22 Worte) tretenen Fehler zu speichern. Diese Worte kön-
nen als normale Lese–/Schreib–DM verwendet
werden, wenn die Fehlerprotokoll–Funktion nicht
angewendet wird.
Nur Lesen4 DM 6144 bis DM 6599 --- Können nicht vom Programm überschrieben wer-
(456 Worte) den.
SPS–Konfi- DM 6600 bis DM 6655 --- Speichert verschiedene Steuerparameter von
guration4 (56 Worte) SPS–Operationen.

556
Speicherbereiche Anhang C

Hinweis 1. IR– und LR–Worte, die keiner bestimmten Funktion zugewiesen sind, können als Arbeitsworte ver-
wendet werden.
2. Der Inhalt des HR–, AR–, Zähler– und DM–Schreib/Lese–Bereichs wird durch die Batterie der
CPU–Baugruppe abgesichert. Wird die Batterie entfernt oder fällt diese aus, gehen die Daten die-
ser Bereiche verloren und werden auf die Standardwerte zurückgesetzt. (In der CPM2C–CPU–
Baugruppen ohne Batterie werden diese Bereiche durch einen Kondensator nullspannungssicher
gespeichert. Bei einer Temperatur von 25_C hält der Kondensator den Speicher für 10 Tage auf-
recht.)
3. Wird eine TC–Nummer als Wortoperand verwendet, greift sie auf den Istwert des Zeitgebers oder
Zählers zu; wird diese als Bitoperand verwendet, greift sie auf den Fertigmerker zu.
4. Daten in DM 6144 bis DM 6655 können vom Programm nicht überschrieben aber über ein Pro-
grammiergerät geändert werden. Das Programm und die Daten in DM 6144 bis DM 6655 werden
im Flash–Speicher abgesichert.

SR–Bereich
Diese Bits dienen hauptsächlich als Merker beim CPM2A/CPM2C–Betrieb oder sie enthalten Ist– und Sollwerte
für verschiedene Funktionen. Die Funktionen des SR–Bereichs werden in der nachstehenden Tabelle erläutert.

Hinweis “Nur Lese”–Worte und –Bits werden beim SPS–Betrieb als Status gelesen aber sie können nicht über
den Kontaktplan geschrieben werden. ”Nicht verwendete”–Bits und Worte werden ebenfalls nur gele-
senen.

Wort(e) Bit(s) Kommentare Lesen/ Seite


Speichern
SR 228, 00 bis 15 Impulsausgabe–Istwert 0 Nur Lesen 101
SR 229 Enthält den Impulsausgabe–Istwert (–16.777.215 bis 16.777.215). SR 22915 fun-
giert als das Vorzeichenbit; ein negativer Wert wird angezeigt, wenn SR 22915
gesetzt ist.
(Die gleichen Istwertdaten können sofort mit PRV(62) gelesen werden.)
Nur der Impulsausgabe–Istwert 0 wird für ACC(––) verwendet.
SR 230, 00 bis 15 Impulsausgabe–Istwert 1
SR 231 Enthält den Impulsausgabe–Istwert (–16.777.215 bis 16.777.215). SR 23115 fun-
giert als Vorzeichenbit; ein negativer Wert wird angezeigt, wenn SR 23115 gesetzt
ist.
(Die gleichen Istwertdaten können sofort mit PRV(62) gelesen werden.)
SR 232 00 bis 15 Eingangsbereich der Makrofunktion Lesen/ 151
bis Enthält den Eingangsoperand für MCRO(99). Speichern
SR 235 (Kann als Arbeitsmerker verwendet werden, wenn MCRO(99) nicht verwendet
wird.)
SR 236 00 bis 15 Ausgangsbereich der Makrofunktion
bis Enthält den Ausgangsoperand für MCRO(99).
SR 239 (Kann als Arbeitsmerker verwendet werden, wenn MCRO(99) nicht verwendet
wird.)
SR 240 00 bis 15 Sollwert für Interrupt–Eingang 00003 im Zählmodus 67
Sollwert bei Verwendung von Interrupt–Eingang 00003 im Zählmodus (4–stelliger
Hexadezimalwert, 0000 bis FFFF).
(Wird Interrupt–Eingang 00003 nicht im Zählmodus verwendet, können diese Mer-
ker als Arbeitsmerker eingesetzt werden).
SR 241 00 bis 15 Sollwert bei Interrupt–Eingang 00004 im Zählmodus
Sollwert bei Verwendung von Interrupt–Eingang 00004 im Zählmodus (4–stelliger
Hexadezimalwert, 0000 bis FFFF).
(Wird Interrupt–Eingang 00004 nicht im Zählmodus verwendet, können diese Mer-
ker als Arbeitsmerker eingesetzt werden).
SR 242 00 bis 15 Sollwert bei Interrupt–Eingang 00005 im Zählmodus
Sollwert bei Verwendung von Interrupt–Eingang 00005 im Zählmodus (4–stelliger
Hexadezimalwert, 0000 bis FFFF).
(Wird Interrupt–Eingang 00005 nicht im Zählmodus verwendet, können diese Mer-
ker als Arbeitsmerker eingesetzt werden).
SR 243 00 bis 15 Sollwert bei Interrupt–Eingang 00006 im Zählmodus
Sollwert bei Verwendung von Interrupt–Eingang 00006 im Zählmodus (4–stelliger
Hexadezimalwert, 0000 bis FFFF).
(Wird Interrupt–Eingang 00006 nicht im Zählmodus verwendet, können diese Mer-
ker als Arbeitsmerker eingesetzt werden).
(Eingang 00006 ist in CPM2C–CPU–Baugruppen mit 10 E/A–Anschlüssen nicht
vorhanden.)

557
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Lesen/ Seite


Speichern
SR 244 00 bis 15 Interrupt–Eingang 00003–Istwert im Zählmodus Nur Lesen 69
Zähler–Sollwert bei Verwendung von Interrupt–Eingang 00003 im Zählmodus
(4–stelliger Hexadezimalwert, 0000 bis FFFF).
SR 245 00 bis 15 Interrupt–Eingang 00004–Istwert im Zählmodus
Zähler–Sollwert bei Verwendung von Interrupt–Eingang 00004 im Zählmodus
(4–stelliger Hexadezimalwert, 0000 bis FFFF).
SR 246 00 bis 15 Interrupt–Eingang 00005–Istwert im Zählmodus
Zähler–Sollwert bei Verwendung von Interrupt–Eingang 00005 im Zählmodus
(4–stelliger Hexadezimalwert, 0000 bis FFFF).
SR 247 00 bis 15 Interrupt–Eingang 00006–Istwert im Zählmodus
Zähler–Sollwert bei Verwendung von Interrupt–Eingang 00006 im Zählmodus
(4–stelliger Hexadezimalwert, 0000 bis FFFF).
(Eingang 00006 ist in CPM2C–CPU–Baugruppen mit 10 E/A–Anschlüssen nicht
vorhanden.)
SR 248, 00 bis 15 Istwert–Bereich des Schnellen Zählers 54
SR 249 Kann als Arbeitsmerker verwendet werden, wenn der Schnelle Zähler nicht verwen-
det wird.
SR 250 00 bis 15 Einstellung Werteingabe–Poti 0 (nur CPM2A–SPS–Systeme) 145
Wird zur Speicherung des 4–stelligen BCD–Sollwertes (0000 bis 0200) von Wert-
eingabe–Poti 0 verwendet.
SR 251 00 bis 15 Einstellung Werteingabe–Poti 1 (nur CPM2A–SPS–Systeme)
Wird zur Speicherung des 4–stelligen BCD–Sollwertes (0000 bis 0200) von Wert-
eingabe–Poti 1 verwendet.
SR 252 00 Rücksetzmerker Schneller–Zähler 0 Lesen/ 46
Speichern
01 bis 03 Nicht verwendet
04 Impulsausgang 0–Istwert–Rücksetzmerker Lesen/ 91
Aktivieren Sie diesen Merker, um den Istwert von Impulsausgang 0 zurückzusetzen. Speichern
05 Impulsausgang 1–Istwert–Rücksetzmerker
Aktivieren Sie diesen Merker, um den Istwert von Impulsausgang 1 zurückzusetzen.
06, 07 Nicht verwendet
08 Peripherieschnittstellen–Rücksetzmerker Lesen/ ---
Durch das Setzen dieses Merkers wird die Peripherieschnittstelle zurückge- Speichern
setzt.Nach Beendigung der Rücksetzung wird der Merker automatisch zurückge-
setzt.
09 RS–232C–Schnittstellen–Rücksetzmerker ---
Durch das Setzen dieses Merkers wird die RS–232C–Schnittstelle zurückgesetzt.
Nach Beendigung der Rücksetzung wird der Merker automatisch zurückgesetzt.
10 SPS–Konfigurations–Rücksetzmerker 2
Durch das Setzen dieses Merkers wird die Initialisierung der Konfiguration (DM
6600 bis DM 6655) durchgeführt. Er wird nach beendeter Initialisierung automatisch
deaktiviert. (Hierzu muss sich die SPS in der PROGRAM–Betriebsart befinden.)
11 Zwangssetzungsstatus–Systemhaftmerker (sehen Sie den Hinweis) 20
GESETZT: Der Zustand der zwangsweise gesetzen/rückgesetzten Mer-
ker wird beim Umschalten zwischen der PROGRAM– und
MONITOR–Betriebsart aufrechterhalten.
RÜCKGESETZT: Der Zustand der zwangsweise gesetzten/rückgesetzten Mer-
ker wird beim Umschalten zwischen der PROGRAM– und
MONITOR–Betriebsart aufgehoben.
Die Konfiguration kann so eingestellt werden, dass der Status dieses Merkers auch
nach dem Abschalten der SPS–Versorgungsspannung aufrechterhalten wird.
12 E/A–Systemhaftmerker (sehen Sie den Hinweis) 20
GESETZT: Der Zustand der IR– und LR–Merker wird am Anfang und
Ende des Betriebs aufrechterhalten.
RÜCKGESETZT: IR– und LR–Merker werden am Anfang und Ende des Be-
triebs zurückgesetzt.
Die Konfiguration kann so eingestellt werden, dass der Status dieses Merkers auch
nach dem Abschalten der SPS–Versorgungsspannung aufrechterhalten wird.
13 Nicht verwendet
14 Fehlerprotokoll löschen–Systemmerker Lesen/ 537
Dieser Merker wird zum Löschen des Fehlerprotokolls gesetzt. Er wird nach dem Speichern
Beenden automatisch zurückgesetzt.
15 Nicht verwendet

558
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Lesen/ Seite


Speichern
SR 253 00 bis 07 FAL–Fehlercode Nur 359
Bei einem Fehler wird der betreffende Fehlercode (2–stellige Zahl) in diesem Be- Lesen
reich gespeichert. Bei der Ausführung von FAL(06) bzw. FALS(07) wird dieser Be-
reich zur Speicherung der FAL–Nummer verwendet. Bei der Ausführung eines FAL
00–Befehls bzw. beim Löschen des Fehlers über ein Programmiergerät wird dieses
Wort auf 00 zurückgesetzt.
08 Batteriefehlermerker ---
Wird aktiviert, wenn die Spannung der CPU–Baugruppen–Sicherungsbatterie zu
niedrig ist.
09 Merker für Zykluszeit–Überschreitung ---
Dieser Merker wird bei einer Überschreitung der Zykluszeit (d.h. bei einer Zyklus-
zeit von mehr als 100 ms) gesetzt.
10,11 Nicht verwendet
12 RS–232C–Konfiguration ändern–Merker Nur ---
Wird aktiviert, wenn die Einstellungen der RS–232C–Schnittstelle geändert werden. Lesen
13 Merker ständig auf EIN gesetzt Nur
u ---
14 Merker ständig auf AUS gesetzt L
Lesen ---
15 Erster–Zyklus–Merker ---
Dieser Merker wird zu Beginn des Betriebs für die Dauer eines Zyklus gesetzt.
SR 254
S 5 00 1–Minute–Taktimpuls (30 Sekunden EIN, 30 Sekunden AUS) ---
01 0,02–Sekunden–Taktimpuls (0,01 Sekunden EIN, 0,01 Sekunden AUS) ---
02 Negativ(N)–Merker ---
03 Nicht verwendet
04 Überlauf(OF)–Merker Nur ---
Wird aktiviert, wenn ein Überlauf in einer vorzeichenbehafteten Binärwert–Berech- Lesen
nung auftritt.
05 Unterlauf(UF)–Merker ---
Wird aktiviert, wenn ein Unterlauf in einer vorzeichenbehafteten Binärwert–Berech-
nung auftritt.
06 Flankenausführung abgeschlossen–Merker 154
Dieser Merker wird nach Beendigung der flankengesteuerten Ausführung gesetzt.
07 STEP(08)–Ausführungs–Merker 360
Dieser Merker wird nur am Anfang der auf STEP(08) basierenden Verarbeitung für
die Dauer eines Zyklus gesetzt.
08 bis 15 Nicht verwendet
SR 255
S 55 00 0,1–Sekunden–Taktimpuls (0,05 Sekunden EIN, 0,05 Sekunden AUS) Nur
u ---
01 0,2–Sekunden–Taktimpuls (0,1 Sekunden EIN, 0,1 Sekunden AUS) L
Lesen ---
02 1,0–Sekunden–Taktimpuls (0,5 Sekunden EIN, 0,5 Sekunden AUS) ---
03 Befehlsausführungs–Fehler(ER)–Merker ---
Dieser Merker wird bei einem Fehler während der Befehlsausführung, gesetzt.
04 Übertrags(CY)–Merker ---
Dieser Merker wird gesetzt, wenn in dem Ergebnis einer Befehlsausführung ein
Übertrag auftritt.
05 GRÖßER(GR)–Merker ---
Dieser Merker wird gesetzt, wenn das Ergebnis eines Vergleichs GRÖßER ist.
06 GLEICH(EQ)–Merker ---
Dieser Merker wird gesetzt, wenn das Ergebnis eines Vergleichs GLEICH ist oder
das Ergebnis einer Befehlsausführung 0 ist.
07 KLEINER(LE)–Merker ---
Dieser Merker wird gesetzt, wenn das Ergebnis eines Vergleichs KLEINER ist.
08 bis 15 Nicht verwendet

Hinweis DM 6601 in der SPS–Konfiguration kann gesetzt werden, um den vorhergehenden Status des Zwangs-
setzungsstatus–Systemhaftmerkers (SR 25211) und den des E/A–Systemhaftmerker (SR 25212)
nach dem Ausschalten der Versorgungsspannung aufrechtzuerhalten. Sehen Sie Abschnitt 1-1-3
CPM2A–/CPM2C–SPS–Konfigurationseinstellungen für Einzelheiten zur SPS–Konfiguration.

AR–Bereich
Diese Bits dienen hauptsächlich als Merker bei dem CPM2A/CPM2C–Betrieb. Diese Merker behalten auch dann
ihren Zustand, wenn die Versorgungsspannung der CPM2A/CPM2C abgeschaltet wurde oder bei Betriebsbeginn
oder –ende.

559
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Seite


AR 00, 00 bis 15 Nicht verwendet
AR 01
AR 02
0 00 Erweiterungsbaugruppen–Fehlermerker für 1. Baugruppe Dieser
ese Merkere e wird
daaktiviert,
e , ---
01 Erweiterungsbaugruppen–Fehlermerker für 2. Baugruppe wenn ein i F
Fehler
hl iin d
der ent-
t
sprechenden Baugruppe
02 Erweiterungsbaugruppen–Fehlermerker für 3. Baugruppe auftritt.
03 Erweiterungsbaugruppen–Fehlermerker für 4. Baugruppe
(wird nicht von der CPM2A verwendet)
04 Erweiterungsbaugruppen–Fehlermerker für 5. Baugruppe
(wird nicht von der CPM2A verwendet)
05 bis 07 Nicht verwendet
08 bis 11 Anzahl der angeschlossenen Erweiterungs– und E/A–Erweiterungsbaugruppen ---
12 bis 15 Nicht verwendet
AR 03 bis 00 bis 15 Nicht verwendet
AR 07
AR 08 00 bis 03 RS–232C–Schnittstellen–Fehlercode 230,
0: Normale Beendigung 238
1: Paritätsfehler
2: Rahmenfehler
3: Überlauffehler
04 RS–232C–Kommunikations–Fehlermerker
Dieser Merker wird bei einem RS–232C–Kommunikationsfehler gesetzt.
05 RS–232C–Sendebereit–Merker
Wird aktiviert, wenn die SPS bereit zum Senden von Daten ist. (Ohne Protokoll und nur Host–
Link)
06 RS–232C–Empfang beendet–Merker
Wird aktiviert, wenn die SPS das Lesen der Daten beendet hat. (Nur Ohne Protokoll)
07 RS–232C–Empfangsüberlaufmerker
Wird aktiviert, wenn ein Überlauf vorgekommen ist. (Nur Ohne Protokoll)
08 bis 11 Peripherieschnittstellen–Fehlercode
0: Normale Beendigung
1: Paritätsfehler
2: Rahmenfehler
3: Überlauffehler
12 Peripherieschnittstellen–Kommunikationsfehlermerker
Dieser Merker wird bei einem Peripherieschnittstellen–Kommunikationsfehler gesetzt.
13 Peripherieschnittstellen–Sendebereit–Merker
Wird aktiviert, wenn die SPS bereit zum Senden von Daten ist. (Ohne Protokoll und nur Host–
Link)
14 Peripherieschnittstellen–Empfang beendet–Merker
Wird aktiviert, wenn die SPS das Lesen der Daten beendet hat. (Nur Ohne Protokoll)
15 Peripherieschnittstellen–Empfangsüberlaufmerker
Wird aktiviert, wenn ein Überlauf vorgekommen ist. (Nur Ohne Protokoll)
AR 09 00 bis 15 RS–232C–Schnittstellen–Empfangszähler 238
4–stelliger BCD–Wert (nur gültig bei Verwendung der Ohne Protokoll–Kommunikation)
AR 10 00 bis 15 Peripherieschnittstellen–Empfangszähler (4–stelliger BCD–Wert) 238
Nur gültig bei der Ohne Protokoll–Kommunikation.

560
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Seite


AR 11 00 bis 07 Bereichs-Vergleichs-Merker des schnellen Zählers 55
00 GESETZT: Istwert-Zähler befindet sich innerhalb Vergleichsbereich 1
(Hinweis 1)
01 GESETZT: Istwert-Zähler befindet sich innerhalb Vergleichsbereich 2
02 GESETZT: Istwert-Zähler befindet sich innerhalb Vergleichsbereich 3
03 GESETZT: Istwert-Zähler befindet sich innerhalb Vergleichsbereich 4
04 GESETZT: Istwert-Zähler befindet sich innerhalb Vergleichsbereich 5
05 GESETZT: Istwert-Zähler befindet sich innerhalb Vergleichsbereich 6
06 GESETZT: Istwert-Zähler befindet sich innerhalb Vergleichsbereich 7
07 GESETZT: Istwert-Zähler befindet sich innerhalb Vergleichsbereich 8
08 Schneller Zähler–Vergleich
GESETZT: wird ausgeführt
RÜCKGESETZT: angehalten
09 Schneller Zähler Istwert–Über–/Unterlaufmerker
GESETZT: Ein Über–/Unterlauf ist aufgetreten
RÜCKGESETZT: Normaler Betrieb
10 Nicht verwendet
11 Impulsausgang 0–Ausgangsstatus 98
GESETZT: Impulsausgang 0 beschleunigt oder bremst ab.
RÜCKGESETZT: Impulsausgang 0 arbeitet mit einer konstanten Rate.
12 Impulsausgang 0–Überlauf/Unterlaufmerker
GESETZT: Ein Über–/Unterlauf ist aufgetreten
RÜCKGESETZT: Normaler Betrieb
13 Impulsausgang 0–Impulsanzahl eingestellt–Merker
GESETZ: Impulsanzahl wurde eingestellt.
RÜCKGESETZT: Impulsanzahl wurde nicht eingestellt.
14 Impulsausgang 0–Impulsausgabe beendet–Merker
GESETZT: Beendet
RÜCKGESEZT: Nicht beendet
15 Impulsausgang 0–Ausgangsstatus
GESETZT: Impulsausgabe
RÜCKGESETZT: gestoppt
AR 12 00 bis 11 Nicht verwendet
(Hinweis 1) 12 Impulsausgang 1–Überlauf/Unterlaufmerker 98
GESETZT: ein Über–/Unterlauf ist aufgetreten
RÜCKGESETZT: normaler Betrieb
13 Impulsausgang 1–Impulsanzahl eingestellt–Merker
GESETZT: Impulsanzahl wurde eingestellt.
RÜCKGESETZT: Impulsanzahl wurde nicht eingestellt.
14 Impulsausgang 1–Impulsausgabe beendet–Merker
GESETZT: beendet
RÜCKGESETZT: nicht beendet
15 Impulsausgang 1–Ausgabestatus
GESETZT: Impulsausgabe.
RÜCKGESETZT: gestoppt

561
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Seite


AR 13 00 Merker für Konfigurationsbereichsfehler beim Einschalten 535
Dieser Merker wird bei einem Fehler in DM 6600 bis DM 6614 gesetzt (Teil des Konfigurations-
bereichs, der beim Einschalten gelesen wird).
01 Merker für Konfigurationsbereichsfehler zu Beginn des Betriebs
Dieser Merker wird bei einem Fehler in DM 6615 bis DM 6644 gesetzt (Teil des Konfigurations-
bereichs, der zu Beginn des Betriebs gelesen wird).
02 Merker für Konfigurationsbereichsfehler im Betrieb
Dieser Merker wird bei einem Fehler in DM 6645 bis DM 6655 gesetzt (Teil des Konfigurations-
bereichs, der immer gelesen wird).
03, 04 Nicht verwendet
05 Zykluszeit zu lang–Merker ---
Dieser Merker wird gesetzt, wenn die gegenwärtige Zykluszeit die in DM 6619 spezifizierte
Zykluszeit überschreitet.
06, 07 Nicht verwendet
08 Speicherbereich–Spezifikation–Fehlermerker ---
Wird auf EIN gesetzt, wenn eine nicht vorhandene Datenbereichs–Adresse im Programm spe-
zifiziert wird.
09 Flash–Speicher–Fehlermerker ---
Wird bei einem Fehler im Flash–Speicher auf EIN gesetzt.
10 Fehlermerker des Nur–Lese–DM–Bereichs 536
Wird auf EIN gesetzt, wenn im Nur–Lese–DM–Bereich (DM 6144 bis DM 6599) ein Prüfsum-
menfehler eintritt und dieser Bereich initialisiert wird.
11 SPS–Konfigurations–Fehlermerker
Wird bei einem Prüfsummenfehler im SPS–Konfigurationsbereich auf EIN gesetzt.
12 Merker für ungültiges Programm ---
Dieser Merker wird bei einem Prüfsummenfehler in dem UM (Programmspeicher)–Bereich oder
bei der Ausführung eines falschen Befehls gesetzt.
13 Erweiterte Befehle–Bereichsfehler–Merker
Dieser Merker wird gesetzt, wenn ein Prüfsummenfehler im Erweiterte Befehle–Zuweisungsbereich auf-
getreten ist. Der Erweiterte Befehle–Zuweisungen werden auf die Vorgabeeinstellungen zurückgesetzt.
14 Datenspeicher–Fehlermerker ---
Wird aktiviert, wenn Daten nicht über die Sicherungsbatterie aufrechterhalten werden können.
Die folgenden Worte werden normalerweise über die Batterie nullspannungssicher gespeichert:
DM Lese/Schreib–Worte (DM 0000 bis DM 1999 und DM 2022 bis DM 2047), Fehlerprotokoll
(DM 2000 bis DM 2021), HR–Bereich, Zählerbereich, SR 25511, SR 25512 (wenn DM 6601 auf
E/A–Speicher halten beim Einschalten eingestellt wurde), AR 23, Betriebsart (wenn DM 6600
DM eingestellt wird, um die vorhergehende Betriebsart zu verwenden) und Uhrworte (AR 17 bis
AR 21, für CPU–Baugruppen mit Uhren).
Können die obenstehenden Worte nicht beibehalten werden, werden alle Daten gelöscht, mit
der Ausnahme, dass AR 2114 gesetzt wird. Die CPU–Baugruppe beginnt den Betrieb in der
PROGRAM–Betriebsart, wenn DM 6600 gesetzt wird, um die vorhergehende Betriebsart zu
verwenden. (Wird DM 6604 DM gesetzt, um einen Fehler zu generieren, beginnt die SPS in
jedem Fall den Betrieb in der PROGRAM–Betriebsart.)
15 Nicht verwendet
AR 14 00 bis 15 Maximale Zykluszeit (4–stelliger BCD–Wert, sehen Sie den Hinweis 3) 505
Die längste Zykluszeit seit Beginn des Betriebs wird gespeichert. Der Merker wird nicht ge-
löscht, wenn der Betrieb abbricht, aber er wird gelöscht, wenn Betrieb fortgesetzt wird.
AR 15 00 bis 15 Aktuelle Zykluszeit (4–stelliger BCD–Wert, sehen Sie Hinweis 3)
Die jeweils letzte Zykluszeit wird während des Betriebs gespeichert. Die aktuelle Zykluszeit
wird am Ende des Betriebs nicht gelöscht.
AR 16 00 bis 15 Nicht verwendet
AR 17 00 bis 07 Minute(00 bis 59, BCD–Wert) 158
(Sehen
(S h SiSie
08 bis 15 Stunde(00 bis 23, BCD–Wert)
Hinweis 2)
AR 18 00 bis 07 Sekunde(00 bis 59, BCD–Wert)
(Sehen
(S h SiSie
08 bis 15 Minute(00 bis 59, BCD–Wert)
Hinweis 2)
AR 19 00 bis 07 Stunde(00 bis 23, BCD–Wert)
(Sehen
(S h SiSie
08 bis 15 Tag des Monats(01 bis 31, BCD–Wert)
Hinweis 2)
AR 20 00 bis 07 Monat(01 bis 12, BCD–Wert)
(Sehen
(S h SiSie
08 bis 15 Jahr(00 bis 99, BCD–Wert)
Hinweis 2)

562
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Seite


AR 21 00 bis 07 Wochentag (00 bis 06, BCD–Wert) 158
00: Sonntag 01: Montag 02: Dienstag 03: Mittwoch
(Sehen Sie
04: Donnerstag 05: Freitag 06: Samstag
Hinweis 2)
08 bis 12 Nicht verwendet
13 30–Sekunden–Kompensationsmerker 158
Dieser Merker wird aktiviert, um die nächste Minute auf–/abzurunden. Bei 00 bis 29 Sekunden
werden die Sekunden auf 00 gestellt und der Rest der Zeiteinstellung bleibt unverändert. Bei 30
bis 59 Sekunden werden die Sekunden auf 00 gestellt und die Zeit wird um eine Minute inkre-
mentiert.
14 Uhr stoppen–Merker
Aktivieren Sie dieses Bit, um die Uhr anzuhalten. Die Zeit/das Datum kann überschrieben wer-
den, während dieser Merker gesetzt ist.
15 Uhrzeit einstellen–Merker
Aktivieren Sie, um die Zeit/das Datum zu ändern, AR 2114 und schreiben Sie die/das neue
Zeit/Datum (stellen Sie sicher, dass AR 2114 gesetzt bleibt); setzten Sie dann diesen Merker,
um die neue Zeit–/Datumseinstellung zu aktivieren. Die Uhr läuft wieder an und sowohl
AR 2114 als auch AR 2115 werden automatisch zurückgesetzt.
AR 22 00 bis 15 Nicht verwendet
AR 23 00 bis 15 Ausschaltzähler (4–stellige BCD–Zahl) ---
Zählt, wie oft die Versorgungsspannung ausgeschaltet wurde.
Geben Sie zur Rücksetzung des Zählers ”0000” über ein Programmiergerät ein.

Hinweis 1. Die gleichen Daten können sofort mit PRV(62) gelesen werden.
2. Die Uhrzeit und das Datum können eingestellt werden, während AR 2114 gesetzt ist. Die neue Ein-
stellung tritt in Kraft, wenn AR 2115 aktiviert wird. (AR 2114 und AR 2115 werden automatisch zu-
rückgesetzt, wenn die neue Einstellung wirksam wird.)
Diese Worte enthalten 0000 in CPM2C CPU–Baugruppen, die nicht mit der Uhrfunktion ausgestat-
tet sind.
3. Die Einheiten für die maximale und aktuelle Zykluszeit werden durch die Einstellung in Bit 08 bis 15
von DM 6618 bestimmt. Eine Einstellung von 00 spezifiziert 0,1 ms–Einheit, 01 spezifiziert 0,1 ms–
Einheit, 02 spezifiziert 1 ms–Einheit und 03 spezifiziert 10 ms–Einheit.

563
Speicherbereiche Anhang C

SRM1–Datenbereich
Datenbereich–Struktur
Die folgenden Datenbereiche können in der SRM1 verwendet werden.
Datenbereich Worte Bits Kommentare
E/A– Eingangs– IR 000 bis IR 007 IR 00000 bis IR 00715 Diese Bits sind den externen E/A–Modulen zuge-
Bereich1 Bereich (8 Worte) (128 Bits) ordnet. Der EIN/AUS–Zustand der E/A–Bits ent-
spricht dem EIN/AUS–Zustand der Ein–/Aus-
gänge.
Ausgangs– IR 010 bis IR 017 IR 01000 bis IR 01715 (Wird der CompoBus/S in der 128 Bit–Betriebsart
Bereich (8 Worte) (128 Bits) verwendet, können IR 004 bis IR 007 und IR 014
bis IR 017 als Arbeitsmerker verwendet werden.)
Arbeits– IR 008 bis IR 009 IR 00800 bis IR 00915 Arbeitsmerker können innerhalb des Programms
bereich IR 018 bis IR 019 IR 01800 bis IR 01915 beliebig verwendet werden. IR 232 bis IR 239
IR 200 bis IR 239 IR 20000 bis IR 23915 werden jedoch als MAKRO–Eingangsbereich
(44 Worte) (704 Bit) benötigt, wenn MCRO(99) verwendet wird.
SR (Systemmerker–be- SR 240 bis SR 255 SR 24000 bis SR 25507 Diese Bits speichern Merker und Sollwerte/Ist-
reich) (16 Worte) (248 Bits) werte für den SRM1–Betrieb. Sehen Sie SR–Be-
reich.
TR (Temporärer --- TR 0 bis TR 7 In einem komplizierten Kontaktplan werden diese
Merkerbereich) (8 Bits) Bits für die Zwischenspeicherung des EIN/AUS–
Zustands in Programmverzweigungen intern ver-
wendet. Sie werden nur in AWL dargestellt. Diese
temporären Bits können nicht innerhalb des sel-
ben Blocks verwendet werden. Bei unterschiedli-
chen Blöcken können jedoch einige verwendet
werden. Der EIN/AUS–Zustand dieser Bits kann
nicht mit der Überwachungsfunktion eines Pro-
grammiergerätes überwacht werden.
HR–Bereich2 HR 00 bis HR 19 HR 0000 bis HR 1915 Diese Haftmerker speichern Daten und behalten
(20 Worte) (320 Bits) ihren Zustand (gesetzt/rückgesetzt) auch nach
dem Ausschalten der Versorgungsspannung oder
bei Betriebsbeginn oder –ende bei. Sie werden
wie Hilsbits verwendet.
AR–Bereich2 AR 00 bis AR 15 AR 0000 bis AR 1515 Diese Systemmerker besitzen spezielle Funktio-
(16 Worte) (256 Bits) nen, z.B. als Merker– und Steuerbits. AR 04 bis
07 werden als Slave–Bits verwendet. Sehen Sie
AR–Bereich.
LR1 LR 00 bis LR 15 LR 0000 bis LR 1515 Wird für die 1:1–Datenübertragung mit einer an-
(Schnittstellenmerker– (16 Worte) (256 Bits) deren SRM1, CQM1H oder C200H usw. verwen-
bereich det.
Zeitgeber–/ TC 000 bis TC 127 (Zeitgeber–/Zähler–Nr.)3 Zeitgeber und Zähler verwenden die TIM–,
Zählerbereich2 TIMH(15)–, CNT– and CNTR(12)–Befehle. Für
Zeitgeber und Zähler werden Nummern aus dem
selben Bereich verwendet.
Für die Istwerte des Zeitgebers/Zählers müssen
die Zeitgeber–/Zähler–Nummern als Worte spezi-
fiziert werden. Die Daten des Zählers bleiben
auch nach Abschalten der SRM1–Versorgungs-
spannung oder bei Betriebsbeginn oder –ende
gespeichert.
Werden die Zeitgeber/Zähler als Fertig–Merker
behandelt, müssen die Nummern als Bitdaten
spezifiziert werden.
DM Lesen/ DM 0000 bis DM 1999 --- In diesem Bereich erfolgt der Datenzugriff wort-
(Daten- Schreiben2 (2.000 Worte) weise. Die Worte werden auch beim Ausschalten
merker- der Versorgungsspannung oder bei Beginn oder
bereich) Abschalten des Betriebes aufrechterhalten.
Die Lese–/Schreib–Bereiche können beliebig in-
nerhalb des Programms gelesen und beschrie-
ben werden.
Fehler– DM 2000 bis DM 2021 --- Speichert Zeitpunkt und Fehlercode. Sehen Sie
Protokoll4 (22 Worte) Abschnitt 7-5 Codierung von Befehlen.
Nur Lesen4 DM 6144 bis DM 6599 --- Können nicht vom Programm überschrieben wer-
(456 Worte) den.
SPS–Konfi- DM 6600 bis DM 6655 --- Speichert verschiedene Steuerparameter von
guration4 (56 Worte) SPS–Operationen.

Hinweis 1. IR– und LR–Bits, die keiner bestimmten Funktion zugewiesen sind, können als Arbeitsmerker ver-
wendet werden.

564
Speicherbereiche Anhang C

2. Der Inhalt des HR–, LR–, Zähler– und DM–Schreib–/Lese–Bereichs wird bei einem Stromausfall
über einen Kondensator nullspannungssicher beibehalten. Die Sicherungszeit variiert mit der Um-
gebungstemperatur; bei 25_C versorgt der Kondensator den Speicher 20 Tage. In Abschnitt 2-1-2
Merkmale des Technischen Handbuches der SRM1 finden Sie dazu eine Graphik mit der Gegen-
überstellung von Speicherzeit und Temperatur.
3. Beim Zugriff auf einen Istwert werden TC–Worte als Wortdaten verwendet. Beim Zugriff auf Fertig–
Merker als Bitdaten.
4. Die Daten in DM 6144 bis DM 6655 können vom Programm nicht überschrieben aber über ein Pro-
grammiergerät geändert werden.

SR–Bereich
Diese Bits dienen hauptsächlich als Merker bei SRM1–Betrieb oder sie enthalten Ist– und Sollwerte für verschie-
dene Funktionen. Die Funktionen des SR–Bereichs werden in der nachstehenden Tabelle erläutert.
Hinweis “Nur Lese”–Worte und –Bits werden beim SPS–Betrieb als Status gelesen aber sie können nicht über
den Kontaktplan gesetzt werden. ”Nicht verwendete”–Bits und Worte werden ebenfalls nur gelesenen.

Wort(e) Bit(s) Kommentare Lesen/ Seite


Spei-
chern
SR 240 00 bis 15 Nicht verwendet
bis
SR 247
SR 248, 00 bis 15 Reserviert.
SR 249
SR 250, 00 bis 15 Nicht verwendet
SR 251
SR 252
S 5 00 Nicht verwendet (wird vom System verwendet)
01 bis 07 Nicht verwendet
08 Rücksetzmerker für Peripherieschnittstelle Lesen/ 251
Dieser Merker wird zur Rücksetzung der Peripherieschnittstelle gesetzt (Nicht gültig, Spei-
wenn ein Programmiergerät angeschlossen ist.) Nach der Rücksetzung wird der Mer- chern
ker automatisch zurückgesetzt.
09 Rücksetzmerker für RS–232C–Schnittstelle
Wird nach der Rücksetzung automatisch zurückgesetzt.
10 SPS–Konfigurations–Rücksetzmerker 2
Dieser Merker wird zur Initialisierung der Konfiguration (DM 6600 bis DM 6655) ge-
setzt. Er wird nach beendeter Rücksetzung automatisch deaktiviert. (Hierzu muss
sich die SPS in der PROGRAM–Betriebsart befinden.)
11 Zwangssetzungsstatus–Systemhaftmerker 20
GESETZT: Der Zustand der zwangsweise gesetzen/rückgesetzten Merker
wird beim Umschalten von der PROGRAM– in die MONITOR–
Betriebsart aufrechterhalten.
RÜCKGESETZT: Der Zustand der zwangsweise gesetzten/rückgesetzten Merker
wird beim Umschalten von der PROGRAM– in die MONITOR–
Betriebsart aufgehoben.
12 E/A–Systemhaftmerker 20
RÜCKGESETZT: IR– und LR–Merker werden am Anfang und Ende des Betriebs
zurückgesetzt.
GESETZT: Der Zustand der IR– und LR–Merker wird am Anfang und Ende
des Betriebs aufrechterhalten.
13 Nicht verwendet
14 Fehlerprotokoll löschen–Systemmerker Lesen/ 537
Dieser Merker wird zum Löschen des Fehlerprotokolls gesetzt. Er wird nach dem Spei-
Beenden automatisch zurückgesetzt. chern
15 Nicht verwendet

565
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Lesen/ Seite


Spei-
chern
SR 253 00 bis 07 FAL–Fehlercode Nur Le- 359
Bei einem Fehler wird der betreffende Fehlercode (2–stellig) in diesem Bereich ge- sen
speichert. Bei der Ausführung von FAL(06) bzw. FALS(07) wird dieser Bereich zur
Speicherung der FAL–Nummer verwendet. Bei der Ausführung eines FAL 00–Befehls
bzw. beim Löschen des Fehlers über ein Programmiergerät wird dieses Wort auf 00
zurückgesetzt.
08 Nicht verwendet
09 Merker für Zykluszeit–Überschreitung Nur Le- ---
Dieser Merker wird bei einer Überschreitung der Zykluszeit gesetzt. sen
10 bis 11 Nicht verwendet
12 RS–232C–Konfiguration ändern–Merker Nur Le-
Wird aktiviert, wenn die Einstellungen der RS–232C–Schnittstelle geändert werden. sen
13 Merker ständig auf EIN gesetzt Nur
u Le-
e ---
14 Merker ständig auf AUS gesetzt sen ---
15 Erster–Zyklus–Merker ---
Dieser Merker wird zu Beginn des Betriebs für die Dauer eines Zyklus gesetzt.
SR 254
S 5 00 1–Minute–Taktimpuls (30 Sekunden EIN, 30 Sekunden AUS) ---
01 0,02–Sekunden–Taktimpuls (0,01 Sekunden EIN, 0,01 Sekunden AUS) ---
02 Negativ(N)–Merker ---
03 Nicht verwendet
04 Überlauf–Merker Nur
u Le-
e ---
05 Unterlauf–Merker sen ---
06 Merker für den Abschluss der Flankenüberwachung 154
Dieser Merker wird nach der Flankenüberwachung gesetzt.
07 STEP(08)–Ausführungs–Merker 360
Dieser Merker wird nur am Anfang der auf STEP(08) basierenden Verarbeitung für die
Dauer eines Zyklus gesetzt.
08 bis 15 Nicht verwendet
SR 255
S 55 00 0,1–Sekunden–Taktimpuls (0,05 Sekunden EIN, 0,05 Sekunden AUS) Nur
u Le-
e ---
01 0,2–Sekunden–Taktimpuls (0,1 Sekunden EIN, 0,1 Sekunden AUS) sen ---
02 1,0–Sekunden–Taktimpuls (0,5 Sekunden EIN, 0,5 Sekunden AUS) ---
03 Befehlsausführungs–Fehler(ER)–Merker ---
Dieser Merker wird bei einem Fehler, während der Befehlsausführung, gesetzt.
04 Übertrags(CY)–Merker ---
Dieser Merker wird gesetzt, wenn in dem Ergebnis einer Befehlsausführung ein Über-
trag auftritt.
05 GRÖßER(GR)–Merker ---
Dieser Merker wird gesetzt, wenn das Ergebnis eines Vergleichs GRÖßER ist.
06 GLEICH(EQ)–Merker ---
Dieser Merker wird gesetzt, wenn das Ergebnis eines Vergleichs GLEICH ist oder das
Ergebnis einer Befehlsausführung 0 ist.
07 KLEINER(LE)–Merker ---
Dieser Merker wird gesetzt, wenn das Ergebnis eines Vergleichs KLEINER ist.
08 bis 15 Nicht verwendet

AR–Bereich

Diese Bits dienen hauptsächlich als Merker für den SRM1–Betrieb. Diese Merker behalten auch dann ihren Zu-
stand bei, wenn die Versorgungsspannung der SRM1 abgeschaltet wurde oder bei Betriebsbeginn oder –ende.

Wort(e) Bit(s) Kommentare Seite


AR 00, 00 bis 15 Nicht verwendet
AR 01
AR 02
0 00 bis 07 Nicht verwendet
08 bis 11 Nicht verwendet (wird vom System verwendet)
12 bis 15 Nicht verwendet
AR 03 00 bis 15 Nicht verwendet
AR 04 bis 00 bis 15 Slave–Zustands–Merker ---
AR 07

566
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Seite


AR 08 00 bis 03 RS-232C–Fehler–Code (1-stellige Zahl) ---
0: Normale Beendigung
1: Paritätsfehler
2: Rahmenfehler
3: Überlauffehler
04 RS-232C–Kommunikationsfehler ---
05 RS–232C–Übertragung freigegeben–Merker ---
Nur gültig bei Verwendung der Host–Link, Ohne Protokoll–Kommunikation.
06 RS–232C–Empfang beendet–Merker ---
Nur gültig bei der Ohne Protokoll–Kommunikation.
07 RS–232C–Empfangsüberlaufmerker ---
Nur gültig bei der Ohne Protokoll–Kommunikation.
08 bis 11 Programmiergeräte–Fehlercode 252
0: Normale Beendigung
1: Paritätsfehler
2: Rahmenfehler
3: Überlauffehler
12 Programmiergeräte–Fehlermerker
13 Programmiergerät–Übertragung freigegeben–Merker ---
Nur gültig bei Host–Link, Ohne Protokoll–Kommunikation.
14 Programmiergeräte–Empfang beendet–Merker ---
Nur gültig bei Ohne Protokoll–Kommunikation.
15 Programmiergeräte–Empfangsüberlauf–Merker ---
Nur gültig bei Ohne Protokoll–Kommunikation.

AR 09 00 bis 15 Wird die Ohne Protokoll–Kommunikationsbetriebsart verwendet: ---


RS–232C–Empfangszähler (4–stelliger BCD–Wert)
Wird die 1:n–NT–Link–Kommunikationsbetriebsart verwendet (nur –V2): ---
Kommunikation mit NT–Merker (Bit 00 bis 07 sind Merker für die NTs 0 bis 7.)
Registrierte NT–Merker (Bit 08 bis 15 sind Merker für die NTs 0 bis 7.)

AR 10 00 bis 15 Peripherieschnittstellen–Empfangszähler (4–stelliger BCD–Wert) ---


Nur gültig für die Ohne Protokoll–Kommunikation.

AR 11 00 bis 15 Ausschaltzähler (4–stellige BCD–Zahl) ---


Zählt, wie oft die Versorgungsspannung ausgeschaltet wurde.
Geben Sie zur Rücksetzung des Zählers ”0000” über ein Programmiergerät ein.

AR 12 00 bis 15 Nicht verwendet

AR 13 00 Merker für Konfigurationsbereichsfehler beim Einschalten 535


Dieser Merker wird bei einem Fehler in DM 6600 bis DM 6614 gesetzt (Teil des Konfigurationsbe-
reichs, der beim Einschalten gelesen wird).
01 Merker für Konfigurationsbereichsfehler zu Beginn des Betriebs
Dieser Merker wird bei einem Fehler in DM 6615 bis DM 6644 gesetzt (Teil des Konfigurationsbe-
reichs, der zu Beginn des Betriebs gelesen wird).
02 Merker für Konfigurationsbereichsfehler im Betrieb
Dieser Merker wird bei einem Fehler in DM 6645 bis DM 6655 gesetzt (Teil des Konfigurationsbe-
reichs, der immer gelesen wird).
03, 04 Nicht verwendet
05 Merker für lange Zykluszeit ---
Dieser Merker wird gesetzt, wenn die tatsächliche Zykluszeit die in DM 6619 spezifizierte Zyklus-
zeit überschreitet.
06 Wird bei vollem Programmspeicher (UM) auf EIN gesetzt. ---
07 Wird auf EIN gesetzt, wenn andere Befehle als in der Programmier–Software verwendet werden. ---
08 Speicherbereich–Spezifikation–Fehlermerker ---
Wird auf EIN gesetzt, wenn eine nicht vorhandene Datenbereichs–Adresse im Programm spezifi-
ziert wird.
09 Flash–Speicher–Fehlermerker ---
Wird bei einem Fehler im Flash–Speicher auf EIN gesetzt.
10 Fehlermerker des Nur–Lese–DM–Bereichs 536
Wird auf EIN gesetzt, wenn im Nur–Lese–DM–Bereich (DM 6144 bis DM 6599) ein Prüfsummen-
fehler auftritt und dieser Bereich initialisiert wird.
11 SPS–Konfigurations–Fehlermerker
Wird bei einem Prüfsummenfehler im SPS–Konfigurationsbereich auf EIN gesetzt.
12 Merker für ungültiges Programm ---
Dieser Merker wird bei einem Prüfsummenfehler in dem UM (Programmspeicher)–Bereich oder
bei der Ausführung eines falschen Befehls gesetzt.
13 Nicht verwendet (Gelöscht, wenn die Versorgungsspannung wieder eingeschaltet wird.)

567
Speicherbereiche Anhang C

Wort(e) Bit(s) Kommentare Seite


AR 13 14 Datenspeicher–Fehlermerker
Wird aktiviert, wenn die Versorgungspannung wieder eingeschaltet wird, falls die Daten der folgenden Be-
reiche nicht gesichert werden konnten.
DM–Bereich (schreib–/lesefähig), HR–Bereich, CNT–Bereich, SR 252, Bit 11, 12 (wenn DM 6601 in der
SPS–Konfiguration gesetzt wurde, um den Status aufrecht zu erhalten), Fehlerprotokoll, Betriebsart (wenn
DM 6600 in der SPS–Konfiguration gesetzt wurde, um die vor dem Spannungsausfall verwendete Betriebs-
art fortzusetzen).
(Sehen Sie für Einzelheiten bezüglich der Sicherungszeit das SRM1–Bedienerhandbuch.)
Falls keine Daten in den oben aufgeführten Bereiche gespeichert werden konnten:
DM (schreib–/lesefähig), Fehlerprotokoll, HR– und CNT–Bereiche sowie SR 252, Bit 11 und 12 werden
gelöscht. Die Betriebsart wechselt zu PROGRAM.
15 SRM1–CompoBus/S–Kommunikations–Fehlermerker ---
AR 14 00 bis 15 Maximale Zykluszeit (4–stelliger BCD–Wert) 505
Die längste Zykluszeit seit Beginn des Betriebs wird gespeichert. Sie wird nicht am Ende des
Betriebs gelöscht sondern erst bei Beginn.
In Abhängigkeit von der Einstellung der Überwachungszeit (DM 6618) wird eine der folgenden
Zeiteinheiten verwendet:Vorgabe: 0,1 ms; 10 ms–Einstellung: 0,1 ms; 100 ms–Einstellung: 1 ms;
1 s–Einstellung: 10 ms
AR 15 00 bis 15 Aktuelle Zykluszeit (4–stelliger BCD–Wert)
Die jeweils letzte Zykluszeit wird während des Betriebs gespeichert. Die aktuelle Zykluszeit wird
am Ende des Betriebs nicht gelöscht.
In Abhängigkeit von der Einstellung der Überwachungszeit (DM 6618) wird eine der folgenden
Zeiteinheiten verwendet:Vorgabe: 0,1 ms; 10 ms–Einstellung: 0,1 ms; 100 ms–Einstellung: 1 ms;
1 s–Einstellung: 10 ms

568
Anhang D
E/A–Zuweisung

Systembezeichnung Hersteller
ese e Prüfer
üe Genehmigt
Ge e g von
o
SPS–Modell Blatt–Nr.

IR_____ Baugruppen–Nr.: Modell: IR_____ Baugruppen–Nr.: Modell:


00 00
01 01
02 02
03 03
04 04
05 05
06 06
07 07
08 08
09 09
10 10
11 11
12 12
13 13
14 14
15 15
IR_____ Baugruppen–Nr.: Modell: IR_____ Baugruppen–Nr.: Modell:
00 00
01 01
02 02
03 03
04 04
05 05
06 06
07 07
08 08
09 09
10 10
11 11
12 12
13 13
14 14
15 15

569
Anhang E
Programm–Codierblatt

Systembezeichnung Hersteller
ese e Prüfer
üe Genehmigt
Ge e g von
o
SPS Diagramm–Nr.

Adresse Befehl Funktions– Operanden


code
0 0
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
2 0
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
3 0
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8

571
Programm–Codierblatt Anhang E

Adresse Befehl Funktions– Operanden


code
3 9
4 0
4 1
4 2
4 3
4 4
4 5
4 6
4 7
4 8
4 9
5 0
5 1
5 2
5 3
5 4
5 5
5 6
5 7
5 8
5 9
6 0
6 1
6 2
6 3
6 4
6 5
6 6
6 7
6 8
6 9
7 0
7 1
7 2
7 3
7 4
7 5
7 6
7 7
7 8
7 9
8 0
8 1
8 2
8 3

572
Programm–Codierblatt Anhang E

Adresse Befehl Funktions– Operanden


code
8 4
8 5
8 6
8 7
8 8
8 9
9 0
9 1
9 2
9 3
9 4
9 5
9 6
9 7
9 8
9 9

573
Anhang F
Liste der FAL– Nummern

Systembezeichnung Hersteller Prüfer Genehmigt


g von
SPS–Modell Diagramm–Nr.

FAL– FAL–Inhalt Behebende Maßnahmen FAL– FAL–Inhalt Behebende Maßnahmen


Nr. Nr.
00 35
01 36
02 37
03 38
04 39
05 40
06 41
07 42
08 43
09 44
10 45
11 46
12 47
13 48
14 49
15 50
16 51
17 52
18 53
19 54
20 55
21 56
22 57
23 58
24 59
25 60
26 61
27 62
28 63
29 64
30 65
31 66
32 67
33 68
34 69

575
Liste der FAL– Nummern Anhang F

FAL– FAL–Inhalt Behebende Maßnahmen FAL– FAL–Inhalt Behebende Maßnahmen


Nr. Nr.
70 85
71 86
72 87
73 88
74 89
75 90
76 91
77 92
78 93
79 94
80 95
81 96
82 96
83 97
84 99

576
Anhang G
Erweiteter ASCII–Code

Die folgenden Funktions dienen zur Ausgabe von Zeichen an die Programmierkonsole oder Daten–Zugriffs-
konsole unter Verwendung des MSG(46)–Befehls. Sehen Sie dazu die Seite 477.

Vier äußersten linken Bits

EP
Vier äußersten rechten Bits

577
Index
BCMP(68), 411
Nummern BCNT(67), 479
1:1–PC–Link BIN(23), 416
CPM1/CPM1A, 212 BINL(58), 418
CPM2A/CPM2C, 243 BSET(71), 390
SRM1, 258 CLC(41), 434
7–Segement–Anzeige, Konvertierung der Daten, 423 CMP(20), 409
CMPL(60), 413
CNT, 369
A CNTR(12), 370
COLL(81), 393
Analog–Eingangsbaugruppen, Mittelwertfunktion, 174 COM(29), 457
Analog-Eingangsbaugruppen, Schaltung offen-Erfassungs- CTBL(63), 371
funktion, 174 DEC(39), 461
analoge Ausgänge, 163 , 175 DIFD(14), 331 , 354–363
Analoge Ausgangsbaugruppen, Ausgabebereich, 172 Verwendung in Sprüngen, 358
Verwendung von Verriegelungen, 356
Analoge E/A–Baugruppen, 142
DIFU(13), 331 , 354–363
für CPM1A/CPM2A, 160 , 169
Verwendung in Sprüngen, 358
analoge E/A–Funktionen, 142 , 160 , 169 Verwendung von Verriegelungen, 356
analoge Werteinstellungen, 145 DIST(80), 392
Analogeingänge, 163 , 175 DIV(33), 438
Analogeingangs–Baugruppen, Eingangsbereich, 170 DIVL(57), 443
DMPX(77), 421
Anweisungsvorrat, INI(61), 127
DVB(53), 447
Anzeige, für Temperaturfühler–Baugruppen, 196 END(01), 317 , 355
Anzeigen, CompoBus/S–LED–Anzeigen, 203 FAL(06), 359
arithmetische Merker, 154 , 341 FALS(07), 359
FCS(––), 479
ASCII, Konvertierung der Daten, 426 , 428
HEX(––), 428
Ausführungsbedingung, Definition, 312 HMS(––), 431
Ausgangsbit HTS(65), 430
Steuerung der EIN/AUS–Zeit, 352 IL(02), 327 , 356–357
Steuerung des Zustandes, 332 ILC(03), 327 , 356–357
Ausgangsbits, Steuerung des Status, 331 INC(38), 460
AWL, Konvertierung, 312–330 INI(61), 374
INT(89), 77 , 481
IORF(97), 478
B JME(05), 358
JMP(04), 358
Befehle JMP(04) und JME(05), 329
Ausführungszeiten KEEP(11), 353
CPM1/CPM1A, 500 in Steuerung des Bitzustandes, 332
CPM2A/CPM2C, 510 LD, 314 , 350
SRM1, 525 LD NOT, 314 , 350
AWL, Kontaktplan, 348 MAX(––), 449
Befehlssatz–Listen, 345 MCRO (99), 151
Erweiterung, 154 MCRO(99), 464
rechte Hand–Befehle, Programmierung mehrerer, 325 MIN(––), 451
Unterprogramme, 462 MLB(52), 446
Befehle mit flankengesteuerter Ausführung, 342 MLPX(76), 419
Funktions–Codes, 340 MOV(21), 388
Befehlsatz, KOP–Befehle, 314 MOVB(82), 395
MOVD(83), 396
Befehlssatz, 541
MSG(46), 477
ACC(––), 470
MUL(32), 437
ADB(50), 444
MULL(56), 442
ADD(30), 434
MVN(22), 388
ADDL(54), 439
NOP(00), 355
AND, 314 , 350
NOT, 312
kombiniert mit OR, 315
Operanden, 311
AND LD, 317 , 351
OR, 315 , 350
kombinieren mit OR LD, 320
kombiniert mit AND, 315
Verwendung in Logik–Blöcken, 319
OR LD, 318 , 351
AND NOT, 314 , 350
kombinieren mit AND LD, 320
ANDW(34), 458
Verwendung in Logik–Blöcken, 320
ASC(86), 426
OR NOT, 315 , 350
ASFT(17), 386
ORW(35), 458
ASL(25), 381
OUT, 316 , 352
ASR(26), 381
OUT NOT, 316 , 352
AVG(––), 453
PID(––), 403
BCD(24), 417
PRV(62), 376
BCDL(59), 418

579
Index

PULS(65), 126
PWM(––), 473 E
RESET, 331 E/A–Ansprechzeit
RET(93), 464 CPM1/CPM1A. See Zeitverhalten
ROL(27), 382 CPM2A/CPM2C. See Zeitverhalten
ROR(28), 382 Kommunikation in einem 1:1–PC–Link–Verbund
RSET, 352–353 CPM2A/CPM2C, 507
RXD (47), 232 SRM1, 523
RXD(47), 255 , 486 Kommunikation in einem 1:1–Verbund, CPM1/CPM1A, 497
SBB(51), 445 SRM1. See Zeitverhalten
SBN(92), 26 , 71 , 464 E/A–Punkte, Auffrischung, 478
SBS(91), 462
Eingänge, mit Impulsspeicherung, 147
SCL(66), 397
SCL2(––), 399 Eingangs–Betriebsart, Wahl, 131
SCL3(––), 401 Eingangs–Zeitkonstanten, SPS–Konfigurationseinstellungen,
SDEC(78), 423 22
SET, 331 , 352–353 Eingangsmodus, CPM2A/CPM2C, 44
SFT(10), 379 Einschalt–Betriebsart, SPS–Konfigurationseinstellungen, 19
SFTR(84), 385
Einstellschaltungen, 145
SLD(74), 383
SNXT(09), 360 Einstellungen
SPED(64), 126 , 467 ändern, 2
SRCH(––), 448 Basisbetrieb
SRD(75), 384 Haltebit–Status, 20
STC(40), 434 Start–Betriebsart, 19
STEP(08), 360 E/A–Betrieb, 19
STIM(69), 484 Schnittstellen–Service–Zykluszeit, 22
STUP(––), 489 Schnittstellen–Zykluszeit, 21
SUB(31), 435 E/A–Vorgänge, Schnittstellen–Service–Zykluszeit, 21
SUBL(55), 441 Kommunikation, 208
SUM(––), 455 Host–Link
SYNC(––), 475 CPM1/CPM1A, 210 , 214
TCMP(85), 410 SRM1, 248
Terminologie, 311 Vorgabe, 2
TIM, 363 Erweiterte Befehle, 346 , 347
TIMH(15), 364 Erweiterungsbaugruppen, Einsatz, 159
Verwendung in Sprüngen, 359 Erweiterungsbefehl, 544
TIML(––), 367
TMHH(––), 366 Erweiterungsbefehle, Funktionscodes, 154
Verwendung in Sprüngen, 359
TXD (48), 232
TXD(48), 255 , 487 F
WSFT(16), 380 FAL(06), 534
XCHG(73), 391 FAL–Bereich, 359
XFER(70), 389
FALS(07), 534
XNRW(37), 460
XORW(36), 459 Fehler
ZCP(––), 414 Allgemein, 532
ZCPL(––), 415 andere, 536
anwenderdefinierte Fehler, 534
Bereichscode, 167 , 179
fatal, 536
Bereichsvergleichs–Interrupts, CPM2A/CPM2C, 47 Fehlerrate von Impulsausgängen, 141
Betrieb, Einfluss der Zykluszeit, 495 , 505 , 520 geringfügiger, 535
Binärdaten, vorzeichenbehafteter Binärwert, 153 Kommunikation, 536
Programmier–, 533
binäre Daten mit Vorzeichen, 153
Programmierkonsolen–Betrieb, 532
Bits, steuern, 351 Programmierung von Meldungen, 477
Blockprüfsumme. See Rahmen, FCS Rücksetzen, 359
SPS–Konfiguration, 3
Typen, 532
C Fehler–Codes, Programmierung, 359
CompoBus/S E/A–Link–Baugruppe, 143 Fehlermeldungen, Programmierung, 477
CompoBus/S E/A–Link–Module, Anwendung, 202 Fehlerprotokoll, SPS–Konfigurationseinstellung, 24
CompoBus/S–E/A–Link–Module, 202 Fehlerprotokollbereich, 534
CompoBus/S–E/A–Master–Funktionen, 143 Flankenauswertung, Funktion, 154
CompoBus/S–E/A–Slave–Funktionen, 143 , 202 Flankenüberwachung, 154
Funktion –Codes, 340
D Funktionen
CPM1–/CPM1A–interne Verarbeitung, Ablaufdiagramm, 494
Daten
Berechnungsstandards, 141 SRM1–interne Verarbeitung, Ablaufdiagramm, 519
dekrementieren, 461 Funktionscodes
inkrementieren, 460 Erweiterte Befehle, 346 , 347
Dekrementieren. See Daten

580
Index

Erweiterungsbefehle, 154 , 156 Maskierung


CPM1/CPM1A, 499
CPM2A/CPM2C, 509
H SRM1, 524
Haltebit–Status, SPS–Konfigurationseinstellungen, 20 Zeitverhalten
CPM1/CPM1A, 498
Host–Link CPM2A/CPM2C, 508
CPM1/CPM1A, 210 , 214 SRM1, 524
SRM1, 248
Interrupts
Host–Link–Befehle CPM1/CPM1A
**, 283 Arten, 71
FK, 277 Ausmaskieren, 78
IC, 284 Eingangsgesteuerte Interrupts, 73
KC, 278 Eingangsgesteuerter Interrupt–Modus, 74
KR, 276 Einstellung der Modi, 74
KS, 275 Intervall–Zeitgeber, 34 , 78
MF, 274 zeitgesteuerter Interrupt–Modus, 79
MM, 279 Maskierung, 77
MS, 272 Schneller Zähler, 40 , 80
QQ, 281 Überlauf und Unterlauf, 82
R#, 268 Zählermodus, 76
R$, 269 CPM2A/CPM2C, 27
RC, 261 Arten, 26
RD, 263 Demaskierung, 31 , 32
RG, 262 Eingangsgesteuerte Interrupts, 27
RH, 261 Einstellmodi, 31
RJ, 263 Intervall–Zeitgeber, zeitgesteuerter Interrupt–Modus, 36
RL, 261 Maskierung, 31
RP, 280 Reihenfolge der Prioritäten, 27
RR, 260 Wählen des zuverwendenden Interrupts, 46
SC, 273 Demaskieren, 484
TS, 279 Maskierung, maskieren, 32
W#, 270 Schneller Zähler, Programmierung, 51 , 84
W$, 271 SRM1
WC, 266 Arten, 88
WD, 267 Intervall–Zeitgeber, 88
WG, 266 zeitgesteuerter Interrupt–Modus, 89
WH, 265 Steuerung, 481
WJ, 268
WL, 265 Interval–Zeitgeber–gesteuerte Interrupts
WP, 280 CPM1/CPM1A, 34 , 78
WR, 264 SRM1, 88
XZ, 283 Istwert, Zeitgeber und Zähler, 363
Host–Schnittstellenbefehle, EX, 283 IW, CNTR(12), 370

I K
Impulsausgabe Kommunikation
Fehler/Verzögerungen, 141 1:1–NT–Link
festes Taktverhältnis, 95 CPM2A/CPM2C, 240
mit Eingangsfrequenz synchronisiert, 129 , 475 SRM1, 256
variables Taktverhältnis, 106 1:1–PC–Link
Impulsausgabefunktionen CPM1/CPM1A, 212
CPM1A, 125 CPM2A/CPM2C, 243
CPM2A/CPM2C, 91 SRM1, 258
1:n–NT–Link, SRM1, 257
indirekte Adressierung, 341 Fehler, 536
INI (61), 127 Host–Link
Initialisierungsprozesse, CPM1/CPM1A, 494 CPM1/CPM1A, 210 , 214
Inkrementieren, 460 SRM1, 248
Modi, 208
instruction set
NT–Link, (CPM1/CPM1A), 211
NEG(––), 432
Verdrahtung, 209
PULS(65), 466
Kommunikation in einem 1:1–PC–Link–Verbund, E/A–An-
INT(89), 77 sprechzeit
Interrupt–Funktionen CPM2A/CPM2C, 507
CPM1/CPM1A, 71 SRM1, 523
CPM2A/CPM2C, 26 Kommunikation in einem 1:1–Verbund, E/A–Ansprechzeit,
SRM1(–V2), 88 CPM1/CPM1A, 497
Interrupt–Signal, CPM1/CPM1A, 73 Kommunikationsfunktionen, 207
Interrupt–Signal (Zählmodus), CPM2A/CPM2C, 61 Kommunikationsschalter, Einstellung
Interrupt–Verarbeitung CPM2A, 233 , 241 , 245
Berechnung der Ansprechzeit CPM2C, 234 , 242 , 246
CPM1/CPM1A, 499 Konstanten, Operanden, 341
CPM2A/CPM2C, 509

581
Index

Kontaktplan
Befehle P
Format, 340 PC–Link, CPM2A/CPM2C, 243
kombinieren, AND LD and OR LD, 320 Peripherieschnittstelle, Servicezeit, 21
Steuerung des Bitzustandes
Peripherieschnittstellen–Abarbeitungszeit, SPS–Konfiguration-
Verwendung von KEEP(11), 332 seinstellung, 21
Verwendung von OUT und OUT NOT, 352
Kombination von Logikblöcken, 321 Positionierung, 121
Konvertierung in eine AWL, 312–330 Programm–Schreibschutz, SPS–Konfigurationseinstellungen,
Schreibweise, 340 20
Steuerung des Bitzustandes Programme
Verwendung von DIFU(13) and DIFD(14), 354–363 Ausführung, 336
Verwendung von DIFU(13) und DIFD(14), 331 Überprüfung, check levels, 533
Verwendung von KEEP(11), 353–354 Programmierung
Verwendung von OUT und OUT NOT, 316 Befehlen, 541
Verwendung von SET und RESET, 331 Fehler, 533
Verwendung von SET und RSET, 352–353 für die Temperaturüberwachung, 191
Struktur, 311 Interrupts, 51 , 84
über GPC, FIT, LSS oder SYSWIN anzeigen, 311 Schneller Zähler, CPM2A/CPM2C, 51 , 84
Verwendung von Logik–Blöcken, 317 Schreiben, 310
Verzeigung, 325 spezielle Anforderungen, 154
Verzweigung Sprünge, 329
IL(02) and ILC(03), 327 Vorbereitung der Daten in den Datenbereichen, 390
mittels TR–Bits, 326 Vorsichtsmaßnahmen, 335
Kontaktplanbefehle, 350–351 Programmspeicher, Struktur, 313
Prüfsumme, Berechnung der Rahmenprüfsumme, 479
L PULS(65), 126

Logik–Block–Befehle, Konvertierung in einen Mnemonik–


Code, 317–324 R
Logik–Blöcken. See Kontaktplan
Rahmen, FCS, 221
Rahmenprüfsumme, Berechnung mit FCS(––), 479
M rechte Hand–Befehle, Programmierung. See Befehle
Makrofunktion, Unterprogramm. See Programmierung RS–232–Schnittstelle, Servicezeit (CQM1/SRM1), 21
Makrofunktionen, Unterprogramme, Programmierung, 151 RS–232C
Kommunikation
Maskierung
Empfang, SRM1, 252
CPM1/CPM1A–Interrupt–Verarbeitung, 499
Empfangen, CPM2A/CPM2C, 239
CPM2A/CPM2C–Interrupt–Verarbeitung, 509
Senden, CPM2A/CPM2C, 238
SRM1–Interrupt–Verarbeitung, 524
Übertragung, SRM1, 251
MCRO(99), 151 Steuerbits, SRM1, 252
Meldungen, Programmierung, 477 RS-232C–Schnittstellen–Servicezeit, SPS–Konfigurationseins-
Merker tellungen, 21
arithmetische, Programmierbeispiele, 410 , 414 RXD(47), 232 , 255
CY
Einstellung, 434
Rücksetzen, 434
Fehler– und arithmetische, 547
S
SBN(92), 26 , 71
Mittelwertfunktion, 174
Schaltung offen-Erfassungsfunktion, 174
MSG(46), 534
Schneller Zähler, CPM2A/CPM2C, 39
Schneller Zähler–Interrupts, CPM1/CPM1A, 40 , 80
N Schreibschutz des Programms, SPS–Konfigurationseinstellun-
NOT, Definition, 312 gen, 20
NT–Link serielle Kommunikation, CPM2A/CPM2C, 231
CPM1/CPM1A, 211 SPED(64), 126
CPM2A/CPM2C, 240 Speicherbereiche
SRM1, 256 , 257 AR–Bereichbits
(CPM2A/CPM2C), 559
SRM1, 566
O Merker und Steuerbits
Öffner/Schließer–Bedingung, Definition, 312 CPM1/CPM1A, 551
CPM2A/CPM2C, 557
Ohne Protokoll–Kommunikation SRM1, 565
CPM2A/CPM2C, 231 Struktur
Programmbeispiel, 237 , 256
(SRM1), 288
Sendemerker, 233 CPM1/CPM1A, 286 , 551
SRM1, 251 CPM2A/CPM2C, 287 , 556
Übertragungsdaten–Konfiguration, 232 , 255 SRM1, 564
Übertragungsmerker, 255
Sprünge, 358–359
Operanden, 340
Anforderungen, 340 Sprungnummern, 358
mögliche Zuweisungen, 340 SPS–Konfiguration. See Einstellungen
Operandenbit, 312

582
Index

SPS–Konfigurationseinstellungen Lesen der Zeit, 158


CPM1/CPM1A, 3 , 8 Zeitgeber
SRM1 (-V2), 15 Bedingungen für das Zurücksetzen
SW TMHH(––), 366
CNTR(12), 370 TML(––), 368
Zeitgeber und Zähler, 363 Rücksetzbedingungen, 364
synchronisierte Impulsausgabe, 475 Zeitverhalten
synchronisierte Impulssteuerung, 129 Basisbefehle
Fehler/Verzögerungen, 141 CPM1/CPM1A, 500
CPM2A/CPM2C, 510
SRM1, 525
T Befehlsausführung
CPM1/CPM1A. See instruction
Taktverhältnis CPM2A/CPM2C. See instruction
Impulsausgaben mit festem Taktverhältnis, 95 SRM1. See Befehl
variable Taktverhältnis–Impulsausgaben, 106 CPM1/CPM1A–Zykluszeit, 495
TC–Nummer, 362 CPM2A/CPM2C–Zykluszeit, 505
Temperaturfühler–Baugruppen, 142 , 181 E/A–Ansprechzeit
Temperaturfühler–Eingangsfunktionen, 142 CPM1/CPM1A, 496
CPM2A/CPM2C, 506
Tipp–Betrieb, 123
SRM1, 522
CPM2A/CPM2C, 104
Interrupt–Verarbeitung
TR–Bits, Verwendung in Verzweigungen, 326 CPM2A/CPM2C, 508
TXD (48), 232 , 255 CQM1, 498
SRM1, 524
Spezialbefehle
U CPM1/CPM1A, 500
Überprüfungsebenen, Programmüberprüfungen, 533 CPM2A/CPM2C, 510 , 517
SRM1, 525 , 529
Uhr, 158 SRM1–Zykluszeit, 520
Unterprogramm, Interrupt–Unterprogramme, 26 Zielwert–Vergleichstabelle, CPM2A/CPM2C, 51
Unterprogramm–Nummer, 464 Zuweiser, Definition, 340
Zwei-Dezimalstellen–Anzeige, 196
V Zyklusüberwachungszeit, SPS–Konfigurationseinstellung, 21
Verriegelungen, 356–357 Zykluszeit
Verwendung von Selbsthaltemerker, 332 CPM1/CPM1A
Auswirkungen auf Vorgänge, 495
Verschachtelung, Unterprogrammen, 463
Berechnung, 495
vorzeichenbehaftete Binärwert–Daten, 153 Prozesse, 495
CPM2A/CPM2C
Auswirkungen auf Vorgänge, 505
Z Berechnung, 505
Zähler Prozesse, 505
Programmierung von erweiterten Zeitgebern, 370 SRM1
Rücksetzbedingungen, 369 , 371 Auswirkungen auf die Operationen, 520
Umkehrbarer Zähler, 370 Berechnung, 520
Zählmodus–Interrupts, CPM2A/CPM2C, 61 Prozesse, 520
Zeit Zykluszeit (min), SPS–Konfigurationseinstellung, 22
Einstellung der Zeit, 158

583

Das könnte Ihnen auch gefallen